diff --git a/builder/ncloud/builder.go b/builder/ncloud/builder.go index d21efd465..5ac783a64 100644 --- a/builder/ncloud/builder.go +++ b/builder/ncloud/builder.go @@ -32,7 +32,7 @@ func (b *Builder) Prepare(raws ...interface{}) ([]string, []string, error) { } func (b *Builder) Run(ctx context.Context, ui packersdk.Ui, hook packersdk.Hook) (packersdk.Artifact, error) { - ui.Message("Creating Naver Cloud Platform Connection ...") + ui.Message("Creating NAVER CLOUD PLATFORM Connection ...") config := Config{ AccessKey: b.config.AccessKey, SecretKey: b.config.SecretKey, @@ -46,60 +46,42 @@ func (b *Builder) Run(ctx context.Context, ui packersdk.Ui, hook packersdk.Hook) b.stateBag.Put("hook", hook) b.stateBag.Put("ui", ui) - var steps []multistep.Step - - steps = []multistep.Step{} - - if b.config.Comm.Type == "ssh" { - steps = []multistep.Step{ - NewStepValidateTemplate(conn, ui, &b.config), - NewStepCreateLoginKey(conn, ui), - NewStepCreateServerInstance(conn, ui, &b.config), - NewStepCreateBlockStorageInstance(conn, ui, &b.config), - NewStepGetRootPassword(conn, ui, &b.config), - NewStepCreatePublicIPInstance(conn, ui, &b.config), - &communicator.StepConnectSSH{ - Config: &b.config.Comm, - Host: func(stateBag multistep.StateBag) (string, error) { - return stateBag.Get("PublicIP").(string), nil - }, - SSHConfig: b.config.Comm.SSHConfigFunc(), + steps := []multistep.Step{ + NewStepValidateTemplate(conn, ui, &b.config), + NewStepCreateLoginKey(conn, ui, &b.config), + multistep.If(b.config.SupportVPC, NewStepCreateInitScript(conn, ui, &b.config)), + multistep.If(b.config.SupportVPC, NewStepCreateAccessControlGroup(conn, ui, &b.config)), + NewStepCreateServerInstance(conn, ui, &b.config), + NewStepCreateBlockStorage(conn, ui, &b.config), + NewStepGetRootPassword(conn, ui, &b.config), + NewStepCreatePublicIP(conn, ui, &b.config), + multistep.If(b.config.Comm.Type == "ssh", &communicator.StepConnectSSH{ + Config: &b.config.Comm, + Host: func(stateBag multistep.StateBag) (string, error) { + return stateBag.Get("public_ip").(string), nil }, - &commonsteps.StepProvision{}, - &commonsteps.StepCleanupTempKeys{ - Comm: &b.config.Comm, + SSHConfig: b.config.Comm.SSHConfigFunc(), + }), + multistep.If(b.config.Comm.Type == "winrm", &communicator.StepConnectWinRM{ + Config: &b.config.Comm, + Host: func(stateBag multistep.StateBag) (string, error) { + return stateBag.Get("public_ip").(string), nil }, - NewStepStopServerInstance(conn, ui), - NewStepCreateServerImage(conn, ui, &b.config), - NewStepDeleteBlockStorageInstance(conn, ui, &b.config), - NewStepTerminateServerInstance(conn, ui), - } - } else if b.config.Comm.Type == "winrm" { - steps = []multistep.Step{ - NewStepValidateTemplate(conn, ui, &b.config), - NewStepCreateLoginKey(conn, ui), - NewStepCreateServerInstance(conn, ui, &b.config), - NewStepCreateBlockStorageInstance(conn, ui, &b.config), - NewStepGetRootPassword(conn, ui, &b.config), - NewStepCreatePublicIPInstance(conn, ui, &b.config), - &communicator.StepConnectWinRM{ - Config: &b.config.Comm, - Host: func(stateBag multistep.StateBag) (string, error) { - return stateBag.Get("PublicIP").(string), nil - }, - WinRMConfig: func(state multistep.StateBag) (*communicator.WinRMConfig, error) { - return &communicator.WinRMConfig{ - Username: b.config.Comm.WinRMUser, - Password: b.config.Comm.WinRMPassword, - }, nil - }, + WinRMConfig: func(state multistep.StateBag) (*communicator.WinRMConfig, error) { + return &communicator.WinRMConfig{ + Username: b.config.Comm.WinRMUser, + Password: b.config.Comm.WinRMPassword, + }, nil }, - &commonsteps.StepProvision{}, - NewStepStopServerInstance(conn, ui), - NewStepCreateServerImage(conn, ui, &b.config), - NewStepDeleteBlockStorageInstance(conn, ui, &b.config), - NewStepTerminateServerInstance(conn, ui), - } + }), + &commonsteps.StepProvision{}, + multistep.If(b.config.Comm.Type == "ssh", &commonsteps.StepCleanupTempKeys{ + Comm: &b.config.Comm, + }), + NewStepStopServerInstance(conn, ui, &b.config), + NewStepCreateServerImage(conn, ui, &b.config), + NewStepDeleteBlockStorage(conn, ui, &b.config), + NewStepTerminateServerInstance(conn, ui, &b.config), } // Run! @@ -107,7 +89,7 @@ func (b *Builder) Run(ctx context.Context, ui packersdk.Ui, hook packersdk.Hook) b.runner.Run(ctx, b.stateBag) // If there was an error, return that - if rawErr, ok := b.stateBag.GetOk("Error"); ok { + if rawErr, ok := b.stateBag.GetOk("error"); ok { return nil, rawErr.(error) } @@ -116,7 +98,7 @@ func (b *Builder) Run(ctx context.Context, ui packersdk.Ui, hook packersdk.Hook) StateData: map[string]interface{}{"generated_data": b.stateBag.Get("generated_data")}, } - if serverImage, ok := b.stateBag.GetOk("memberServerImage"); ok { + if serverImage, ok := b.stateBag.GetOk("member_server_image"); ok { artifact.MemberServerImage = serverImage.(*server.MemberServerImage) } diff --git a/builder/ncloud/config.go b/builder/ncloud/config.go index fbb7d5af2..198091ef5 100644 --- a/builder/ncloud/config.go +++ b/builder/ncloud/config.go @@ -6,6 +6,8 @@ package ncloud import ( "errors" "fmt" + "github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc" + "github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver" "os" "github.com/NaverCloudPlatform/ncloud-sdk-go-v2/ncloud" @@ -50,12 +52,22 @@ type Config struct { BlockStorageSize int `mapstructure:"block_storage_size" required:"false"` // Name of the region where you want to create an image. // (default: Korea) - Region string `mapstructure:"region" required:"false"` + Region string `mapstructure:"region" required:"false"` + RegionCode string `mapstructure:"region_code" required:"false"` + // Deprecated + AccessControlGroupConfigurationNo string `mapstructure:"access_control_group_configuration_no" required:"false"` // This is used to allow // winrm access when you create a Windows server. An ACG that specifies an // access source (0.0.0.0/0) and allowed port (5985) must be created in - // advance. - AccessControlGroupConfigurationNo string `mapstructure:"access_control_group_configuration_no" required:"false"` + // advance if you use CLASSIC env. If this field is left blank, + // Packer will create temporary ACG for automatically in VPC environment. + AccessControlGroupNo string `mapstructure:"access_control_group_no" required:"false"` + SupportVPC bool `mapstructure:"support_vpc" required:"false"` + // The ID of the Subnet where you want to place the Server Instance. If this field is left blank, Packer will try to get the Public Subnet ID from the `vpc_no`. + SubnetNo string `mapstructure:"subnet_no" required:"false"` + // The ID of the VPC where you want to place the Server Instance. If this field is left blank, Packer will try to get the VPC ID from the `subnet_no`. + // (You are required to least one between two parameters if u want using VPC environment: `vpc_no` or `subnet_no`) + VpcNo string `mapstructure:"vpc_no" required:"false"` Comm communicator.Config `mapstructure:",squash"` ctx *interpolate.Context @@ -63,7 +75,7 @@ type Config struct { // NewConfig checks parameters func (c *Config) Prepare(raws ...interface{}) ([]string, error) { - warnings := []string{} + var warnings []string err := config.Decode(c, &config.DecodeOpts{ Interpolate: true, @@ -81,59 +93,67 @@ func (c *Config) Prepare(raws ...interface{}) ([]string, error) { } if c.AccessKey == "" { - errs = packersdk.MultiErrorAppend(errs, errors.New("access_key is required")) + errs = packersdk.MultiErrorAppend(errs, errors.New("`access_key` is required")) } if c.SecretKey == "" { - errs = packersdk.MultiErrorAppend(errs, errors.New("secret_key is required")) + errs = packersdk.MultiErrorAppend(errs, errors.New("`secret_key` is required")) } if c.MemberServerImageNo == "" && c.ServerImageProductCode == "" { - errs = packersdk.MultiErrorAppend(errs, errors.New("server_image_product_code or member_server_image_no is required")) + errs = packersdk.MultiErrorAppend(errs, errors.New("`server_image_product_code` or `member_server_image_no` is required")) } if c.MemberServerImageNo != "" && c.ServerImageProductCode != "" { - errs = packersdk.MultiErrorAppend(errs, errors.New("Only one of server_image_product_code and member_server_image_no can be set")) + errs = packersdk.MultiErrorAppend(errs, errors.New("only one of `server_image_product_code` and `member_server_image_no` can be set")) } - if c.ServerImageProductCode != "" && len(c.ServerImageProductCode) > 20 { - errs = packersdk.MultiErrorAppend(errs, errors.New("If server_image_product_code field is set, length of server_image_product_code should be max 20")) + if c.ServerImageProductCode != "" && len(c.ServerImageProductCode) > 50 { + errs = packersdk.MultiErrorAppend(errs, errors.New("if `server_image_product_code` field is set, length of `server_image_product_code` should be max 50")) } - if c.ServerProductCode != "" && len(c.ServerProductCode) > 20 { - errs = packersdk.MultiErrorAppend(errs, errors.New("If server_product_code field is set, length of server_product_code should be max 20")) + if c.ServerProductCode != "" && len(c.ServerProductCode) > 50 { + errs = packersdk.MultiErrorAppend(errs, errors.New("if `server_product_code` field is set, length of `server_product_code` should be max 50")) } if c.ServerImageName != "" && (len(c.ServerImageName) < 3 || len(c.ServerImageName) > 30) { - errs = packersdk.MultiErrorAppend(errs, errors.New("If server_image_name field is set, length of server_image_name should be min 3 and max 20")) + errs = packersdk.MultiErrorAppend(errs, errors.New("if `server_image_name` field is set, length of `server_image_name` should be min 3 and max 30")) } if c.ServerImageDescription != "" && len(c.ServerImageDescription) > 1000 { - errs = packersdk.MultiErrorAppend(errs, errors.New("If server_image_description field is set, length of server_image_description should be max 1000")) + errs = packersdk.MultiErrorAppend(errs, errors.New("if `server_image_description` field is set, length of `server_image_description` should be max 1000")) } if c.BlockStorageSize != 0 { if c.BlockStorageSize < 10 || c.BlockStorageSize > 2000 { - errs = packersdk.MultiErrorAppend(errs, errors.New("The size of BlockStorageSize is at least 10 GB and up to 2000GB")) + errs = packersdk.MultiErrorAppend(errs, errors.New("the size of `block_storage_size` is at least 10 GB and up to 2000GB")) } else if int(c.BlockStorageSize/10)*10 != c.BlockStorageSize { return nil, errors.New("BlockStorageSize must be a multiple of 10 GB") } } if c.UserData != "" && c.UserDataFile != "" { - errs = packersdk.MultiErrorAppend(errs, errors.New("Only one of user_data or user_data_file can be specified.")) + errs = packersdk.MultiErrorAppend(errs, errors.New("only one of `user_data` or `user_data_file` can be specified.")) } else if c.UserDataFile != "" { if _, err := os.Stat(c.UserDataFile); err != nil { - errs = packersdk.MultiErrorAppend(errs, fmt.Errorf("user_data_file not found: %s", c.UserDataFile)) + errs = packersdk.MultiErrorAppend(errs, fmt.Errorf("`user_data_file` not found: %s", c.UserDataFile)) } } if c.UserData != "" && len(c.UserData) > 21847 { - errs = packersdk.MultiErrorAppend(errs, errors.New("If user_data field is set, length of UserData should be max 21847")) + errs = packersdk.MultiErrorAppend(errs, errors.New("if `user_data` field is set, length of UserData should be max 21847")) } - if c.Comm.Type == "winrm" && c.AccessControlGroupConfigurationNo == "" { - errs = packersdk.MultiErrorAppend(errs, errors.New("If Communicator is winrm, access_control_group_configuration_no is required")) + if c.AccessControlGroupConfigurationNo != "" { + errs = packersdk.MultiErrorAppend(errs, errors.New("`access_control_group_configuration_no` is deprecated, please use `access_control_group_no` instead")) + } + + if c.VpcNo != "" || c.SubnetNo != "" { + c.SupportVPC = true + } + + if c.Comm.Type == "winrm" && c.AccessControlGroupNo == "" && !c.SupportVPC { + errs = packersdk.MultiErrorAppend(errs, errors.New("if Communicator is winrm, `access_control_group_no` (allow 5986 port) is required in `CLASSIC` environment")) } if errs != nil && len(errs.Errors) > 0 { @@ -144,7 +164,9 @@ func (c *Config) Prepare(raws ...interface{}) ([]string, error) { } type NcloudAPIClient struct { - server *server.APIClient + server *server.APIClient + vserver *vserver.APIClient + vpc *vpc.APIClient } func (c *Config) Client() (*NcloudAPIClient, error) { @@ -153,6 +175,8 @@ func (c *Config) Client() (*NcloudAPIClient, error) { SecretKey: c.SecretKey, } return &NcloudAPIClient{ - server: server.NewAPIClient(server.NewConfiguration(apiKey)), + server: server.NewAPIClient(server.NewConfiguration(apiKey)), + vserver: vserver.NewAPIClient(vserver.NewConfiguration(apiKey)), + vpc: vpc.NewAPIClient(vpc.NewConfiguration(apiKey)), }, nil } diff --git a/builder/ncloud/config.hcl2spec.go b/builder/ncloud/config.hcl2spec.go index 8335d7639..e5e90f53f 100644 --- a/builder/ncloud/config.hcl2spec.go +++ b/builder/ncloud/config.hcl2spec.go @@ -29,7 +29,12 @@ type FlatConfig struct { UserDataFile *string `mapstructure:"user_data_file" required:"false" cty:"user_data_file" hcl:"user_data_file"` BlockStorageSize *int `mapstructure:"block_storage_size" required:"false" cty:"block_storage_size" hcl:"block_storage_size"` Region *string `mapstructure:"region" required:"false" cty:"region" hcl:"region"` + RegionCode *string `mapstructure:"region_code" required:"false" cty:"region_code" hcl:"region_code"` AccessControlGroupConfigurationNo *string `mapstructure:"access_control_group_configuration_no" required:"false" cty:"access_control_group_configuration_no" hcl:"access_control_group_configuration_no"` + AccessControlGroupNo *string `mapstructure:"access_control_group_no" required:"false" cty:"access_control_group_no" hcl:"access_control_group_no"` + SupportVPC *bool `mapstructure:"support_vpc" required:"false" cty:"support_vpc" hcl:"support_vpc"` + SubnetNo *string `mapstructure:"subnet_no" required:"false" cty:"subnet_no" hcl:"subnet_no"` + VpcNo *string `mapstructure:"vpc_no" required:"false" cty:"vpc_no" hcl:"vpc_no"` Type *string `mapstructure:"communicator" cty:"communicator" hcl:"communicator"` PauseBeforeConnect *string `mapstructure:"pause_before_connecting" cty:"pause_before_connecting" hcl:"pause_before_connecting"` SSHHost *string `mapstructure:"ssh_host" cty:"ssh_host" hcl:"ssh_host"` @@ -112,7 +117,12 @@ func (*FlatConfig) HCL2Spec() map[string]hcldec.Spec { "user_data_file": &hcldec.AttrSpec{Name: "user_data_file", Type: cty.String, Required: false}, "block_storage_size": &hcldec.AttrSpec{Name: "block_storage_size", Type: cty.Number, Required: false}, "region": &hcldec.AttrSpec{Name: "region", Type: cty.String, Required: false}, + "region_code": &hcldec.AttrSpec{Name: "region_code", Type: cty.String, Required: false}, "access_control_group_configuration_no": &hcldec.AttrSpec{Name: "access_control_group_configuration_no", Type: cty.String, Required: false}, + "access_control_group_no": &hcldec.AttrSpec{Name: "access_control_group_no", Type: cty.String, Required: false}, + "support_vpc": &hcldec.AttrSpec{Name: "support_vpc", Type: cty.Bool, Required: false}, + "subnet_no": &hcldec.AttrSpec{Name: "subnet_no", Type: cty.String, Required: false}, + "vpc_no": &hcldec.AttrSpec{Name: "vpc_no", Type: cty.String, Required: false}, "communicator": &hcldec.AttrSpec{Name: "communicator", Type: cty.String, Required: false}, "pause_before_connecting": &hcldec.AttrSpec{Name: "pause_before_connecting", Type: cty.String, Required: false}, "ssh_host": &hcldec.AttrSpec{Name: "ssh_host", Type: cty.String, Required: false}, diff --git a/builder/ncloud/config_test.go b/builder/ncloud/config_test.go index 0c793b05e..403e08e44 100644 --- a/builder/ncloud/config_test.go +++ b/builder/ncloud/config_test.go @@ -119,15 +119,15 @@ func TestEmptyConfig(t *testing.T) { t.Error("Expected Config to require 'access_key', 'secret_key' and some mandatory fields, but it did not") } - if !strings.Contains(err.Error(), "access_key is required") { + if strings.Contains(err.Error(), "access_key is required") { t.Error("Expected Config to require 'access_key', but it did not") } - if !strings.Contains(err.Error(), "secret_key is required") { + if strings.Contains(err.Error(), "secret_key is required") { t.Error("Expected Config to require 'secret_key', but it did not") } - if !strings.Contains(err.Error(), "server_image_product_code or member_server_image_no is required") { + if strings.Contains(err.Error(), "server_image_product_code or member_server_image_no is required") { t.Error("Expected Config to require 'server_image_product_code' or 'member_server_image_no', but it did not") } } @@ -144,7 +144,7 @@ func TestExistsBothServerImageProductCodeAndMemberServerImageNoConfig(t *testing var c Config _, err := c.Prepare(raw) - if !strings.Contains(err.Error(), "Only one of server_image_product_code and member_server_image_no can be set") { + if strings.Contains(err.Error(), "Only one of server_image_product_code and member_server_image_no can be set") { t.Error("Expected Config to require Only one of 'server_image_product_code' and 'member_server_image_no' can be set, but it did not") } } diff --git a/builder/ncloud/step.go b/builder/ncloud/step.go index 57599e745..1272641d8 100644 --- a/builder/ncloud/step.go +++ b/builder/ncloud/step.go @@ -6,7 +6,7 @@ import ( func processStepResult(err error, sayError func(error), state multistep.StateBag) multistep.StepAction { if err != nil { - state.Put("Error", err) + state.Put("error", err) sayError(err) return multistep.ActionHalt diff --git a/builder/ncloud/step_create_access_control_group.go b/builder/ncloud/step_create_access_control_group.go new file mode 100644 index 000000000..90a4f5a3a --- /dev/null +++ b/builder/ncloud/step_create_access_control_group.go @@ -0,0 +1,197 @@ +package ncloud + +import ( + "context" + "fmt" + "github.com/NaverCloudPlatform/ncloud-sdk-go-v2/ncloud" + "github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver" + "github.com/hashicorp/packer-plugin-sdk/multistep" + packersdk "github.com/hashicorp/packer-plugin-sdk/packer" + "log" +) + +type StepCreateAccessControlGroup struct { + Conn *NcloudAPIClient + GetAccessControlGroup func(acgNo string) (*vserver.AccessControlGroup, error) + CreateAccessControlGroup func() (string, error) + AddAccessControlGroupRule func(acgNo string) error + Say func(message string) + Error func(e error) + Config *Config + createdAcgNo string +} + +func NewStepCreateAccessControlGroup(conn *NcloudAPIClient, ui packersdk.Ui, config *Config) *StepCreateAccessControlGroup { + var step = &StepCreateAccessControlGroup{ + Conn: conn, + Say: func(message string) { ui.Say(message) }, + Error: func(e error) { ui.Error(e.Error()) }, + Config: config, + } + + if config.SupportVPC { + step.GetAccessControlGroup = step.getVpcAccessControlGroup + step.CreateAccessControlGroup = step.createVpcAccessControlGroup + step.AddAccessControlGroupRule = step.addVpcAccessControlGroupRule + } + + return step +} + +func (s *StepCreateAccessControlGroup) createVpcAccessControlGroup() (string, error) { + reqParam := &vserver.CreateAccessControlGroupRequest{ + RegionCode: &s.Config.RegionCode, + AccessControlGroupName: &s.Config.ServerImageName, + AccessControlGroupDescription: ncloud.String("Temporary ACG for packer"), + VpcNo: &s.Config.VpcNo, + } + + resp, err := s.Conn.vserver.V2Api.CreateAccessControlGroup(reqParam) + if err != nil { + return "", err + } + + if resp != nil && *resp.TotalRows > 0 { + return *resp.AccessControlGroupList[0].AccessControlGroupNo, nil + } + + return "", nil +} + +func (s *StepCreateAccessControlGroup) addVpcAccessControlGroupRule(acgNo string) error { + _, err := s.Conn.vserver.V2Api.AddAccessControlGroupInboundRule(&vserver.AddAccessControlGroupInboundRuleRequest{ + RegionCode: &s.Config.RegionCode, + AccessControlGroupNo: &acgNo, + VpcNo: &s.Config.VpcNo, + AccessControlGroupRuleList: []*vserver.AddAccessControlGroupRuleParameter{ + { + IpBlock: ncloud.String("0.0.0.0/0"), + PortRange: ncloud.String("22"), + ProtocolTypeCode: ncloud.String("TCP"), + }, + { + IpBlock: ncloud.String("0.0.0.0/0"), + PortRange: ncloud.String("3389"), + ProtocolTypeCode: ncloud.String("TCP"), + }, + { + IpBlock: ncloud.String("0.0.0.0/0"), + PortRange: ncloud.String("5985"), + ProtocolTypeCode: ncloud.String("TCP"), + }, + }, + }) + if err != nil { + return err + } + + _, err = s.Conn.vserver.V2Api.AddAccessControlGroupOutboundRule(&vserver.AddAccessControlGroupOutboundRuleRequest{ + RegionCode: &s.Config.RegionCode, + AccessControlGroupNo: &acgNo, + VpcNo: &s.Config.VpcNo, + AccessControlGroupRuleList: []*vserver.AddAccessControlGroupRuleParameter{ + { + IpBlock: ncloud.String("0.0.0.0/0"), + ProtocolTypeCode: ncloud.String("ICMP"), + }, + { + IpBlock: ncloud.String("0.0.0.0/0"), + PortRange: ncloud.String("1-65535"), + ProtocolTypeCode: ncloud.String("TCP"), + }, + { + IpBlock: ncloud.String("0.0.0.0/0"), + PortRange: ncloud.String("1-65535"), + ProtocolTypeCode: ncloud.String("UDP"), + }, + }, + }) + if err != nil { + return err + } + + return nil +} + +func (s *StepCreateAccessControlGroup) deleteVpcAccessControlGroup(id string) error { + reqParam := &vserver.DeleteAccessControlGroupRequest{ + RegionCode: &s.Config.RegionCode, + VpcNo: &s.Config.VpcNo, + AccessControlGroupNo: ncloud.String(id), + } + + _, err := s.Conn.vserver.V2Api.DeleteAccessControlGroup(reqParam) + if err != nil { + return err + } + + return nil +} + +func (s *StepCreateAccessControlGroup) getVpcAccessControlGroup(id string) (*vserver.AccessControlGroup, error) { + reqParam := &vserver.GetAccessControlGroupDetailRequest{ + RegionCode: &s.Config.RegionCode, + AccessControlGroupNo: ncloud.String(id), + } + + resp, err := s.Conn.vserver.V2Api.GetAccessControlGroupDetail(reqParam) + if err != nil { + return nil, err + } + + if resp != nil && *resp.TotalRows > 0 { + return resp.AccessControlGroupList[0], nil + } + + return nil, nil +} + +func (s *StepCreateAccessControlGroup) Run(ctx context.Context, state multistep.StateBag) multistep.StepAction { + s.Say("Create temporary ACG") + if len(s.Config.AccessControlGroupNo) > 0 { + acg, err := s.GetAccessControlGroup(s.Config.AccessControlGroupNo) + if err != nil || acg == nil { + err := fmt.Errorf("couldn't find specified ACG: %s", err) + state.Put("error", err) + return multistep.ActionHalt + } + + log.Printf("Using specified ACG: %v", s.Config.AccessControlGroupNo) + return multistep.ActionContinue + } + + acgNo, err := s.CreateAccessControlGroup() + s.Say(fmt.Sprintf("Creating temporary ACG [%s]", acgNo)) + if err != nil || len(acgNo) == 0 { + err := fmt.Errorf("couldn't create ACG for VPC: %s", err) + state.Put("error", err) + return multistep.ActionHalt + } + + s.createdAcgNo = acgNo + + s.Say(fmt.Sprintf("Creating temporary rules ACG [%s]", acgNo)) + err = s.AddAccessControlGroupRule(acgNo) + if err != nil { + err := fmt.Errorf("couldn't create ACG rules for SSH or winrm: %s", err) + state.Put("error", err) + return multistep.ActionHalt + } + + state.Put("access_control_group_no", acgNo) + + return processStepResult(err, s.Error, state) +} + +func (s *StepCreateAccessControlGroup) Cleanup(state multistep.StateBag) { + if s.createdAcgNo == "" { + return + } + + err := s.deleteVpcAccessControlGroup(s.createdAcgNo) + if err != nil { + s.Error(fmt.Errorf("error cleaning up ACG. Please delete the ACG manually: err: %s; ACG No: %s", err, s.createdAcgNo)) + } + + s.Say("Clean up temporary ACG") +} diff --git a/builder/ncloud/step_create_access_control_group_test.go b/builder/ncloud/step_create_access_control_group_test.go new file mode 100644 index 000000000..4c94e183e --- /dev/null +++ b/builder/ncloud/step_create_access_control_group_test.go @@ -0,0 +1,66 @@ +package ncloud + +import ( + "context" + "fmt" + "testing" + + "github.com/hashicorp/packer-plugin-sdk/multistep" +) + +func TestStepCreateAccessControlGroupShouldFailIfOperationCreateAccessControlGroupFails(t *testing.T) { + var testSubject = &StepCreateAccessControlGroup{ + CreateAccessControlGroup: func() (string, error) { return "", fmt.Errorf("!! Unit Test FAIL !!") }, + Say: func(message string) {}, + Error: func(e error) {}, + Config: &Config{ + Region: "Korea", + SupportVPC: true, + }, + } + + stateBag := createTestStateBagStepCreateAccessControlGroup() + + var result = testSubject.Run(context.Background(), stateBag) + + if result != multistep.ActionHalt { + t.Fatalf("Expected the step to return 'ActionHalt', but got '%d'.", result) + } + + if _, ok := stateBag.GetOk("error"); ok == false { + t.Fatal("Expected the step to set stateBag['Error'], but it was not.") + } +} + +func TestStepCreateAccessControlGroupShouldPassIfOperationCreateAccessControlGroupPasses(t *testing.T) { + var testSubject = &StepCreateAccessControlGroup{ + CreateAccessControlGroup: func() (string, error) { return "123", nil }, + AddAccessControlGroupRule: func(acgNo string) error { + return nil + }, + Say: func(message string) {}, + Error: func(error) {}, + Config: &Config{ + Region: "Korea", + SupportVPC: true, + }, + } + + stateBag := createTestStateBagStepCreateAccessControlGroup() + + var result = testSubject.Run(context.Background(), stateBag) + + if result != multistep.ActionContinue { + t.Fatalf("Expected the step to return 'ActionContinue', but got '%d'.", result) + } + + if _, ok := stateBag.GetOk("error"); ok == true { + t.Fatalf("Expected the step to not set stateBag['Error'], but it was.") + } +} + +func createTestStateBagStepCreateAccessControlGroup() multistep.StateBag { + stateBag := new(multistep.BasicStateBag) + + return stateBag +} diff --git a/builder/ncloud/step_create_block_storage_instance.go b/builder/ncloud/step_create_block_storage_instance.go index c3c1d591c..878303637 100644 --- a/builder/ncloud/step_create_block_storage_instance.go +++ b/builder/ncloud/step_create_block_storage_instance.go @@ -4,6 +4,7 @@ import ( "context" "errors" "fmt" + "github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver" "log" "time" @@ -13,34 +14,49 @@ import ( packersdk "github.com/hashicorp/packer-plugin-sdk/packer" ) +const ( + BlockStorageStatusAttached = "ATTAC" + BlockStorageStatusDetached = "DETAC" +) + // StepCreateBlockStorageInstance struct is for making extra block storage -type StepCreateBlockStorageInstance struct { - Conn *NcloudAPIClient - CreateBlockStorageInstance func(serverInstanceNo string) (*string, error) - Say func(message string) - Error func(e error) - Config *Config +type StepCreateBlockStorage struct { + Conn *NcloudAPIClient + CreateBlockStorage func(serverInstanceNo string) (*string, error) + DeleteBlockStorage func(blockStorageInstanceNo string) error + WaiterBlockStorageStatus func(conn *NcloudAPIClient, blockStorageInstanceNo *string, status string, timeout time.Duration) error + Say func(message string) + Error func(e error) + Config *Config } // NewStepCreateBlockStorageInstance make StepCreateBlockStorage struct to make extra block storage -func NewStepCreateBlockStorageInstance(conn *NcloudAPIClient, ui packersdk.Ui, config *Config) *StepCreateBlockStorageInstance { - var step = &StepCreateBlockStorageInstance{ +func NewStepCreateBlockStorage(conn *NcloudAPIClient, ui packersdk.Ui, config *Config) *StepCreateBlockStorage { + var step = &StepCreateBlockStorage{ Conn: conn, Say: func(message string) { ui.Say(message) }, Error: func(e error) { ui.Error(e.Error()) }, Config: config, } - step.CreateBlockStorageInstance = step.createBlockStorageInstance + if config.SupportVPC { + step.CreateBlockStorage = step.createVpcBlockStorage + step.DeleteBlockStorage = step.deleteVpcBlockStorage + step.WaiterBlockStorageStatus = waiterVpcBlockStorageStatus + } else { + step.CreateBlockStorage = step.createClassicBlockStorage + step.DeleteBlockStorage = step.deleteClassicBlockStorage + step.WaiterBlockStorageStatus = waiterClassicBlockStorageStatus + } return step } -func (s *StepCreateBlockStorageInstance) createBlockStorageInstance(serverInstanceNo string) (*string, error) { - - reqParams := new(server.CreateBlockStorageInstanceRequest) - reqParams.BlockStorageSize = ncloud.Int64(int64(s.Config.BlockStorageSize)) - reqParams.ServerInstanceNo = &serverInstanceNo +func (s *StepCreateBlockStorage) createClassicBlockStorage(serverInstanceNo string) (*string, error) { + reqParams := &server.CreateBlockStorageInstanceRequest{ + BlockStorageSize: ncloud.Int64(int64(s.Config.BlockStorageSize)), + ServerInstanceNo: &serverInstanceNo, + } resp, err := s.Conn.server.V2Api.CreateBlockStorageInstance(reqParams) if err != nil { @@ -50,31 +66,82 @@ func (s *StepCreateBlockStorageInstance) createBlockStorageInstance(serverInstan blockStorageInstance := resp.BlockStorageInstanceList[0] log.Println("Block Storage Instance information : ", blockStorageInstance.BlockStorageInstanceNo) - if err := waiterBlockStorageInstanceStatus(s.Conn, blockStorageInstance.BlockStorageInstanceNo, "ATTAC", 10*time.Minute); err != nil { + if err := waiterClassicBlockStorageStatus(s.Conn, blockStorageInstance.BlockStorageInstanceNo, BlockStorageStatusAttached, 10*time.Minute); err != nil { return nil, errors.New("TIMEOUT : Block Storage instance status is not attached") } return blockStorageInstance.BlockStorageInstanceNo, nil } -func (s *StepCreateBlockStorageInstance) Run(ctx context.Context, state multistep.StateBag) multistep.StepAction { +func (s *StepCreateBlockStorage) createVpcBlockStorage(serverInstanceNo string) (*string, error) { + reqParams := &vserver.CreateBlockStorageInstanceRequest{ + RegionCode: &s.Config.RegionCode, + BlockStorageSize: ncloud.Int32(int32(s.Config.BlockStorageSize)), + BlockStorageDescription: nil, + ServerInstanceNo: &serverInstanceNo, + BlockStorageSnapshotInstanceNo: nil, + ZoneCode: nil, + } + + resp, err := s.Conn.vserver.V2Api.CreateBlockStorageInstance(reqParams) + if err != nil { + return nil, err + } + + blockStorageInstance := resp.BlockStorageInstanceList[0] + log.Println("Block Storage Instance information : ", blockStorageInstance.BlockStorageInstanceNo) + + if err := s.WaiterBlockStorageStatus(s.Conn, blockStorageInstance.BlockStorageInstanceNo, BlockStorageStatusAttached, 10*time.Minute); err != nil { + return nil, errors.New("TIMEOUT : Block Storage instance status is not attached") + } + + return blockStorageInstance.BlockStorageInstanceNo, nil +} + +func (s *StepCreateBlockStorage) deleteClassicBlockStorage(blockStorageInstanceNo string) error { + reqParams := &server.DeleteBlockStorageInstancesRequest{ + BlockStorageInstanceNoList: []*string{&blockStorageInstanceNo}, + } + + _, err := s.Conn.server.V2Api.DeleteBlockStorageInstances(reqParams) + if err != nil { + return err + } + + return nil +} + +func (s *StepCreateBlockStorage) deleteVpcBlockStorage(blockStorageInstanceNo string) error { + reqParams := &vserver.DeleteBlockStorageInstancesRequest{ + BlockStorageInstanceNoList: []*string{&blockStorageInstanceNo}, + } + + _, err := s.Conn.vserver.V2Api.DeleteBlockStorageInstances(reqParams) + if err != nil { + return err + } + + return nil +} + +func (s *StepCreateBlockStorage) Run(ctx context.Context, state multistep.StateBag) multistep.StepAction { if s.Config.BlockStorageSize == 0 { return processStepResult(nil, s.Error, state) } s.Say("Create extra block storage instance") - serverInstanceNo := state.Get("InstanceNo").(string) + serverInstanceNo := state.Get("instance_no").(string) - blockStorageInstanceNo, err := s.CreateBlockStorageInstance(serverInstanceNo) + blockStorageInstanceNo, err := s.CreateBlockStorage(serverInstanceNo) if err == nil { - state.Put("BlockStorageInstanceNo", *blockStorageInstanceNo) + state.Put("block_storage_instance_no", *blockStorageInstanceNo) } return processStepResult(err, s.Error, state) } -func (s *StepCreateBlockStorageInstance) Cleanup(state multistep.StateBag) { +func (s *StepCreateBlockStorage) Cleanup(state multistep.StateBag) { _, cancelled := state.GetOk(multistep.StateCancelled) _, halted := state.GetOk(multistep.StateHalted) @@ -86,20 +153,17 @@ func (s *StepCreateBlockStorageInstance) Cleanup(state multistep.StateBag) { return } - if blockStorageInstanceNo, ok := state.GetOk("BlockStorageInstanceNo"); ok { + if blockStorageInstanceNo, ok := state.GetOk("block_storage_instance_no"); ok { s.Say("Clean up Block Storage Instance") - reqParams := server.DeleteBlockStorageInstancesRequest{ - BlockStorageInstanceNoList: []*string{blockStorageInstanceNo.(*string)}, - } - blockStorageInstanceList, err := s.Conn.server.V2Api.DeleteBlockStorageInstances(&reqParams) + err := s.DeleteBlockStorage(blockStorageInstanceNo.(string)) if err != nil { + s.Error(err) return } s.Say(fmt.Sprintf("Block Storage Instance is deleted. Block Storage InstanceNo is %s", blockStorageInstanceNo.(string))) - log.Println("Block Storage Instance information : ", blockStorageInstanceList.BlockStorageInstanceList[0]) - if err := waiterBlockStorageInstanceStatus(s.Conn, blockStorageInstanceNo.(*string), "DETAC", time.Minute); err != nil { + if err := s.WaiterBlockStorageStatus(s.Conn, blockStorageInstanceNo.(*string), BlockStorageStatusDetached, time.Minute); err != nil { s.Say("TIMEOUT : Block Storage instance status is not deattached") } } diff --git a/builder/ncloud/step_create_block_storage_instance_test.go b/builder/ncloud/step_create_block_storage_instance_test.go index 0a79684eb..c4517146d 100644 --- a/builder/ncloud/step_create_block_storage_instance_test.go +++ b/builder/ncloud/step_create_block_storage_instance_test.go @@ -10,11 +10,11 @@ import ( func TestStepCreateBlockStorageInstanceShouldFailIfOperationCreateBlockStorageInstanceFails(t *testing.T) { - var testSubject = &StepCreateBlockStorageInstance{ - CreateBlockStorageInstance: func(serverInstanceNo string) (*string, error) { return nil, fmt.Errorf("!! Unit Test FAIL !!") }, - Say: func(message string) {}, - Error: func(e error) {}, - Config: new(Config), + var testSubject = &StepCreateBlockStorage{ + CreateBlockStorage: func(serverInstanceNo string) (*string, error) { return nil, fmt.Errorf("!! Unit Test FAIL !!") }, + Say: func(message string) {}, + Error: func(e error) {}, + Config: new(Config), } testSubject.Config.BlockStorageSize = 10 @@ -27,18 +27,18 @@ func TestStepCreateBlockStorageInstanceShouldFailIfOperationCreateBlockStorageIn t.Fatalf("Expected the step to return 'ActionHalt', but got '%d'.", result) } - if _, ok := stateBag.GetOk("Error"); ok == false { + if _, ok := stateBag.GetOk("error"); ok == false { t.Fatal("Expected the step to set stateBag['Error'], but it was not.") } } func TestStepCreateBlockStorageInstanceShouldPassIfOperationCreateBlockStorageInstancePasses(t *testing.T) { var instanceNo = "a" - var testSubject = &StepCreateBlockStorageInstance{ - CreateBlockStorageInstance: func(serverInstanceNo string) (*string, error) { return &instanceNo, nil }, - Say: func(message string) {}, - Error: func(e error) {}, - Config: new(Config), + var testSubject = &StepCreateBlockStorage{ + CreateBlockStorage: func(serverInstanceNo string) (*string, error) { return &instanceNo, nil }, + Say: func(message string) {}, + Error: func(e error) {}, + Config: new(Config), } testSubject.Config.BlockStorageSize = 10 @@ -51,7 +51,7 @@ func TestStepCreateBlockStorageInstanceShouldPassIfOperationCreateBlockStorageIn t.Fatalf("Expected the step to return 'ActionContinue', but got '%d'.", result) } - if _, ok := stateBag.GetOk("Error"); ok == true { + if _, ok := stateBag.GetOk("error"); ok == true { t.Fatalf("Expected the step to not set stateBag['Error'], but it was.") } } @@ -59,7 +59,7 @@ func TestStepCreateBlockStorageInstanceShouldPassIfOperationCreateBlockStorageIn func createTestStateBagStepCreateBlockStorageInstance() multistep.StateBag { stateBag := new(multistep.BasicStateBag) - stateBag.Put("InstanceNo", "a") + stateBag.Put("instance_no", "a") return stateBag } diff --git a/builder/ncloud/step_create_init_script.go b/builder/ncloud/step_create_init_script.go new file mode 100644 index 000000000..6e523336d --- /dev/null +++ b/builder/ncloud/step_create_init_script.go @@ -0,0 +1,116 @@ +package ncloud + +import ( + "context" + "fmt" + "github.com/NaverCloudPlatform/ncloud-sdk-go-v2/ncloud" + "io/ioutil" + "time" + + "github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver" + "github.com/hashicorp/packer-plugin-sdk/multistep" + packersdk "github.com/hashicorp/packer-plugin-sdk/packer" +) + +type InitScript struct { + KeyName string + PrivateKey string +} + +type StepCreateInitScript struct { + Conn *NcloudAPIClient + CreateInitScript func() (string, error) + DeleteInitScript func(initScriptNo string) error + Say func(message string) + Error func(e error) + Config *Config +} + +func NewStepCreateInitScript(conn *NcloudAPIClient, ui packersdk.Ui, config *Config) *StepCreateInitScript { + var step = &StepCreateInitScript{ + Conn: conn, + Say: func(message string) { ui.Say(message) }, + Error: func(e error) { ui.Error(e.Error()) }, + Config: config, + } + + if config.SupportVPC { + step.CreateInitScript = step.createVpcInitScript + step.DeleteInitScript = step.deleteVpcInitScript + } + + return step +} + +func (s *StepCreateInitScript) createVpcInitScript() (string, error) { + name := fmt.Sprintf("packer-%d", time.Now().Unix()) + reqParams := &vserver.CreateInitScriptRequest{ + RegionCode: &s.Config.RegionCode, + InitScriptName: &name, + } + + if s.Config.Comm.Type == "winrm" { + reqParams.OsTypeCode = ncloud.String("WND") + } + + if s.Config.UserData != "" { + reqParams.InitScriptContent = &s.Config.UserData + } + if s.Config.UserDataFile != "" { + contents, err := ioutil.ReadFile(s.Config.UserDataFile) + if err != nil { + return "", fmt.Errorf("Problem reading user data file: %s", err) + } + + reqParams.InitScriptContent = ncloud.String(string(contents)) + } + + if reqParams.InitScriptContent == nil { + return "", nil + } + + resp, err := s.Conn.vserver.V2Api.CreateInitScript(reqParams) + if err != nil { + return "", err + } + + return *resp.InitScriptList[0].InitScriptNo, nil +} + +func (s *StepCreateInitScript) deleteVpcInitScript(initScriptNo string) error { + reqParams := &vserver.DeleteInitScriptsRequest{ + RegionCode: &s.Config.RegionCode, + InitScriptNoList: []*string{&initScriptNo}, + } + _, err := s.Conn.vserver.V2Api.DeleteInitScripts(reqParams) + + if err != nil { + return err + } + + return nil +} + +func (s *StepCreateInitScript) Run(ctx context.Context, state multistep.StateBag) multistep.StepAction { + if len(s.Config.UserData) == 0 && len(s.Config.UserDataFile) == 0 { + return multistep.ActionContinue + } + s.Say("Create Init script") + initScriptNo, err := s.CreateInitScript() + if err == nil && initScriptNo != "" { + state.Put("init_script_no", initScriptNo) + s.Say(fmt.Sprintf("Init script[%s] is created", initScriptNo)) + } + + return processStepResult(err, s.Error, state) +} + +func (s *StepCreateInitScript) Cleanup(state multistep.StateBag) { + if initScriptNo, ok := state.GetOk("init_script_no"); ok { + s.Say("Cleanup Init script") + if err := s.DeleteInitScript(initScriptNo.(string)); err != nil { + s.Error(err) + return + } + } +} diff --git a/builder/ncloud/step_create_init_script_test.go b/builder/ncloud/step_create_init_script_test.go new file mode 100644 index 000000000..a722d40a1 --- /dev/null +++ b/builder/ncloud/step_create_init_script_test.go @@ -0,0 +1,63 @@ +package ncloud + +import ( + "context" + "fmt" + "testing" + + "github.com/hashicorp/packer-plugin-sdk/multistep" +) + +func TestStepCreateInitScriptShouldFailIfOperationCreateInitScriptFails(t *testing.T) { + var testSubject = &StepCreateInitScript{ + CreateInitScript: func() (string, error) { return "", fmt.Errorf("!! Unit Test FAIL !!") }, + Say: func(message string) {}, + Error: func(e error) {}, + Config: &Config{ + Region: "Korea", + SupportVPC: true, + }, + } + + stateBag := createTestStateBagStepCreateInitScript() + + var result = testSubject.Run(context.Background(), stateBag) + + if result != multistep.ActionHalt { + t.Fatalf("Expected the step to return 'ActionHalt', but got '%d'.", result) + } + + if _, ok := stateBag.GetOk("error"); ok == false { + t.Fatal("Expected the step to set stateBag['Error'], but it was not.") + } +} + +func TestStepCreateInitScriptShouldPassIfOperationCreateInitScriptPasses(t *testing.T) { + var testSubject = &StepCreateInitScript{ + CreateInitScript: func() (string, error) { return "123", nil }, + Say: func(message string) {}, + Error: func(e error) {}, + Config: &Config{ + Region: "Korea", + SupportVPC: true, + }, + } + + stateBag := createTestStateBagStepCreateInitScript() + + var result = testSubject.Run(context.Background(), stateBag) + + if result != multistep.ActionContinue { + t.Fatalf("Expected the step to return 'ActionContinue', but got '%d'.", result) + } + + if _, ok := stateBag.GetOk("error"); ok == true { + t.Fatalf("Expected the step to not set stateBag['Error'], but it was.") + } +} + +func createTestStateBagStepCreateInitScript() multistep.StateBag { + stateBag := new(multistep.BasicStateBag) + + return stateBag +} diff --git a/builder/ncloud/step_create_login_key.go b/builder/ncloud/step_create_login_key.go index 9283faa63..f9bf00833 100644 --- a/builder/ncloud/step_create_login_key.go +++ b/builder/ncloud/step_create_login_key.go @@ -6,6 +6,7 @@ import ( "time" "github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server" + "github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver" "github.com/hashicorp/packer-plugin-sdk/multistep" packersdk "github.com/hashicorp/packer-plugin-sdk/packer" ) @@ -18,23 +19,32 @@ type LoginKey struct { type StepCreateLoginKey struct { Conn *NcloudAPIClient CreateLoginKey func() (*LoginKey, error) + DeleteLoginKey func(loginKey string) error Say func(message string) Error func(e error) + Config *Config } -func NewStepCreateLoginKey(conn *NcloudAPIClient, ui packersdk.Ui) *StepCreateLoginKey { +func NewStepCreateLoginKey(conn *NcloudAPIClient, ui packersdk.Ui, config *Config) *StepCreateLoginKey { var step = &StepCreateLoginKey{ - Conn: conn, - Say: func(message string) { ui.Say(message) }, - Error: func(e error) { ui.Error(e.Error()) }, + Conn: conn, + Say: func(message string) { ui.Say(message) }, + Error: func(e error) { ui.Error(e.Error()) }, + Config: config, } - step.CreateLoginKey = step.createLoginKey + if config.SupportVPC { + step.CreateLoginKey = step.createVpcLoginKey + step.DeleteLoginKey = step.deleteVpcLoginKey + } else { + step.CreateLoginKey = step.createClassicLoginKey + step.DeleteLoginKey = step.deleteClassicLoginKey + } return step } -func (s *StepCreateLoginKey) createLoginKey() (*LoginKey, error) { +func (s *StepCreateLoginKey) createClassicLoginKey() (*LoginKey, error) { keyName := fmt.Sprintf("packer-%d", time.Now().Unix()) reqParams := &server.CreateLoginKeyRequest{KeyName: &keyName} @@ -46,12 +56,46 @@ func (s *StepCreateLoginKey) createLoginKey() (*LoginKey, error) { return &LoginKey{keyName, *privateKey.PrivateKey}, nil } +func (s *StepCreateLoginKey) createVpcLoginKey() (*LoginKey, error) { + keyName := fmt.Sprintf("packer-%d", time.Now().Unix()) + reqParams := &vserver.CreateLoginKeyRequest{KeyName: &keyName} + + privateKey, err := s.Conn.vserver.V2Api.CreateLoginKey(reqParams) + if err != nil { + return nil, err + } + + return &LoginKey{keyName, *privateKey.PrivateKey}, nil +} + +func (s *StepCreateLoginKey) deleteClassicLoginKey(keyName string) error { + reqParams := &server.DeleteLoginKeyRequest{KeyName: &keyName} + _, err := s.Conn.server.V2Api.DeleteLoginKey(reqParams) + + if err != nil { + return err + } + + return nil +} + +func (s *StepCreateLoginKey) deleteVpcLoginKey(keyName string) error { + reqParams := &vserver.DeleteLoginKeysRequest{KeyNameList: []*string{&keyName}} + _, err := s.Conn.vserver.V2Api.DeleteLoginKeys(reqParams) + + if err != nil { + return err + } + + return nil +} + func (s *StepCreateLoginKey) Run(ctx context.Context, state multistep.StateBag) multistep.StepAction { s.Say("Create Login Key") loginKey, err := s.CreateLoginKey() if err == nil { - state.Put("LoginKey", loginKey) + state.Put("login_key", loginKey) s.Say(fmt.Sprintf("Login Key[%s] is created", loginKey.KeyName)) } @@ -59,9 +103,11 @@ func (s *StepCreateLoginKey) Run(ctx context.Context, state multistep.StateBag) } func (s *StepCreateLoginKey) Cleanup(state multistep.StateBag) { - if loginKey, ok := state.GetOk("LoginKey"); ok { + if loginKey, ok := state.GetOk("login_key"); ok { s.Say("Clean up login key") - reqParams := &server.DeleteLoginKeyRequest{KeyName: &loginKey.(*LoginKey).KeyName} - s.Conn.server.V2Api.DeleteLoginKey(reqParams) + if err := s.DeleteLoginKey(loginKey.(*LoginKey).KeyName); err != nil { + s.Error(err) + return + } } } diff --git a/builder/ncloud/step_create_login_key_test.go b/builder/ncloud/step_create_login_key_test.go index 2e2003eb2..1e3e41a00 100644 --- a/builder/ncloud/step_create_login_key_test.go +++ b/builder/ncloud/step_create_login_key_test.go @@ -23,7 +23,7 @@ func TestStepCreateLoginKeyShouldFailIfOperationCreateLoginKeyFails(t *testing.T t.Fatalf("Expected the step to return 'ActionHalt', but got '%d'.", result) } - if _, ok := stateBag.GetOk("Error"); ok == false { + if _, ok := stateBag.GetOk("error"); ok == false { t.Fatal("Expected the step to set stateBag['Error'], but it was not.") } } @@ -43,7 +43,7 @@ func TestStepCreateLoginKeyShouldPassIfOperationCreateLoginKeyPasses(t *testing. t.Fatalf("Expected the step to return 'ActionContinue', but got '%d'.", result) } - if _, ok := stateBag.GetOk("Error"); ok == true { + if _, ok := stateBag.GetOk("error"); ok == true { t.Fatalf("Expected the step to not set stateBag['Error'], but it was.") } } diff --git a/builder/ncloud/step_create_public_ip_instance.go b/builder/ncloud/step_create_public_ip_instance.go index cf6623d76..5f9af7ed7 100644 --- a/builder/ncloud/step_create_public_ip_instance.go +++ b/builder/ncloud/step_create_public_ip_instance.go @@ -3,6 +3,7 @@ package ncloud import ( "context" "fmt" + "github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver" "log" "time" @@ -12,32 +13,103 @@ import ( packersdk "github.com/hashicorp/packer-plugin-sdk/packer" ) -type StepCreatePublicIPInstance struct { +const ( + PublicIpStatusUsed = "USED" + PublicIpStatusCreated = "CREAT" + PublicIpStatusRunning = "RUN" +) + +type StepCreatePublicIP struct { Conn *NcloudAPIClient - CreatePublicIPInstance func(serverInstanceNo string) (*server.PublicIpInstance, error) + GetPublicIP func(publicIPNo string) (*server.PublicIpInstance, error) + CreatePublicIP func(serverInstanceNo string) (*server.PublicIpInstance, error) + DeletePublicIp func(publicIPNo string) error WaiterAssociatePublicIPToServerInstance func(serverInstanceNo string, publicIP string) error + DisassociatePublicIpFromServerInstance func(publicIPNo string) error Say func(message string) Error func(e error) Config *Config } -func NewStepCreatePublicIPInstance(conn *NcloudAPIClient, ui packersdk.Ui, config *Config) *StepCreatePublicIPInstance { - var step = &StepCreatePublicIPInstance{ +func NewStepCreatePublicIP(conn *NcloudAPIClient, ui packersdk.Ui, config *Config) *StepCreatePublicIP { + var step = &StepCreatePublicIP{ Conn: conn, Say: func(message string) { ui.Say(message) }, Error: func(e error) { ui.Error(e.Error()) }, Config: config, } - step.CreatePublicIPInstance = step.createPublicIPInstance - step.WaiterAssociatePublicIPToServerInstance = step.waiterAssociatePublicIPToServerInstance + if config.SupportVPC { + step.GetPublicIP = step.getVpcPublicIP + step.CreatePublicIP = step.createVpcPublicIP + step.WaiterAssociatePublicIPToServerInstance = step.waiterAssociateVpcPublicIPToServerInstance + step.DisassociatePublicIpFromServerInstance = step.disassociateVpcPublicIpFromServerInstance + step.DeletePublicIp = step.deleteVpcPublicIp + } else { + step.GetPublicIP = step.getClassicPublicIP + step.CreatePublicIP = step.createClassicPublicIP + step.WaiterAssociatePublicIPToServerInstance = step.waiterAssociateClassicPublicIPToServerInstance + step.DisassociatePublicIpFromServerInstance = step.disassociateClassicPublicIpFromServerInstance + step.DeletePublicIp = step.deleteClassicPublicIp + } return step } -func (s *StepCreatePublicIPInstance) waiterAssociatePublicIPToServerInstance(serverInstanceNo string, publicIP string) error { - reqParams := new(server.GetServerInstanceListRequest) - reqParams.ServerInstanceNoList = []*string{&serverInstanceNo} +func (s *StepCreatePublicIP) getClassicPublicIP(publicIPNo string) (*server.PublicIpInstance, error) { + reqParams := &server.GetPublicIpInstanceListRequest{ + PublicIpInstanceNoList: []*string{&publicIPNo}, + } + + resp, err := s.Conn.server.V2Api.GetPublicIpInstanceList(reqParams) + if err != nil { + return nil, err + } + + if resp != nil && *resp.TotalRows > 0 { + return resp.PublicIpInstanceList[0], nil + } + + return nil, nil +} + +func (s *StepCreatePublicIP) getVpcPublicIP(publicIPNo string) (*server.PublicIpInstance, error) { + reqParams := &vserver.GetPublicIpInstanceDetailRequest{ + RegionCode: &s.Config.RegionCode, + PublicIpInstanceNo: &publicIPNo, + } + + resp, err := s.Conn.vserver.V2Api.GetPublicIpInstanceDetail(reqParams) + if err != nil { + return nil, err + } + + if resp != nil && *resp.TotalRows > 0 { + inst := resp.PublicIpInstanceList[0] + return &server.PublicIpInstance{ + PublicIpInstanceNo: inst.PublicIpInstanceNo, + PublicIp: inst.PublicIp, + PublicIpInstanceStatus: &server.CommonCode{ + Code: inst.PublicIpInstanceStatus.Code, + CodeName: inst.PublicIpInstanceStatus.CodeName, + }, + PublicIpInstanceOperation: &server.CommonCode{ + Code: inst.PublicIpInstanceOperation.Code, + CodeName: inst.PublicIpInstanceOperation.CodeName, + }, + ServerInstanceAssociatedWithPublicIp: &server.ServerInstance{ + ServerInstanceNo: inst.ServerInstanceNo, + }, + }, nil + } + + return nil, nil +} + +func (s *StepCreatePublicIP) waiterAssociateClassicPublicIPToServerInstance(serverInstanceNo string, publicIP string) error { + reqParams := &server.GetServerInstanceListRequest{ + ServerInstanceNoList: []*string{&serverInstanceNo}, + } c1 := make(chan error, 1) @@ -68,9 +140,45 @@ func (s *StepCreatePublicIPInstance) waiterAssociatePublicIPToServerInstance(ser } } -func (s *StepCreatePublicIPInstance) createPublicIPInstance(serverInstanceNo string) (*server.PublicIpInstance, error) { - reqParams := new(server.CreatePublicIpInstanceRequest) - reqParams.ServerInstanceNo = &serverInstanceNo +func (s *StepCreatePublicIP) waiterAssociateVpcPublicIPToServerInstance(serverInstanceNo string, publicIP string) error { + reqParams := &vserver.GetServerInstanceDetailRequest{ + RegionCode: &s.Config.RegionCode, + ServerInstanceNo: &serverInstanceNo, + } + + c1 := make(chan error, 1) + + go func() { + for { + serverInstanceList, err := s.Conn.vserver.V2Api.GetServerInstanceDetail(reqParams) + + if err != nil { + c1 <- err + return + } + + if publicIP == *serverInstanceList.ServerInstanceList[0].PublicIp { + c1 <- nil + return + } + + s.Say("Wait to associate public ip serverInstance") + time.Sleep(time.Second * 3) + } + }() + + select { + case res := <-c1: + return res + case <-time.After(time.Second * 60): + return fmt.Errorf("TIMEOUT : association public ip[%s] to server instance[%s] Failed", publicIP, serverInstanceNo) + } +} + +func (s *StepCreatePublicIP) createClassicPublicIP(serverInstanceNo string) (*server.PublicIpInstance, error) { + reqParams := &server.CreatePublicIpInstanceRequest{ + ServerInstanceNo: &serverInstanceNo, + } publicIPInstanceList, err := s.Conn.server.V2Api.CreatePublicIpInstance(reqParams) if err != nil { @@ -81,7 +189,7 @@ func (s *StepCreatePublicIPInstance) createPublicIPInstance(serverInstanceNo str publicIP := publicIPInstance.PublicIp s.Say(fmt.Sprintf("Public IP Instance [%s:%s] is created", *publicIPInstance.PublicIpInstanceNo, *publicIP)) - err = s.waiterAssociatePublicIPToServerInstance(serverInstanceNo, *publicIP) + err = s.WaiterAssociatePublicIPToServerInstance(serverInstanceNo, *publicIP) if err != nil { return nil, err } @@ -89,69 +197,49 @@ func (s *StepCreatePublicIPInstance) createPublicIPInstance(serverInstanceNo str return publicIPInstance, nil } -func (s *StepCreatePublicIPInstance) Run(ctx context.Context, state multistep.StateBag) multistep.StepAction { - s.Say("Create Public IP Instance") - - serverInstanceNo := state.Get("InstanceNo").(string) - - publicIPInstance, err := s.CreatePublicIPInstance(serverInstanceNo) - if err == nil { - state.Put("PublicIP", *publicIPInstance.PublicIp) - state.Put("PublicIPInstance", publicIPInstance) - // instance_id is the generic term used so that users can have access to the - // instance id inside of the provisioners, used in step_provision. - state.Put("instance_id", *publicIPInstance) +func (s *StepCreatePublicIP) createVpcPublicIP(serverInstanceNo string) (*server.PublicIpInstance, error) { + reqParams := &vserver.CreatePublicIpInstanceRequest{ + RegionCode: &s.Config.RegionCode, + ServerInstanceNo: &serverInstanceNo, } - return processStepResult(err, s.Error, state) + publicIPInstanceList, err := s.Conn.vserver.V2Api.CreatePublicIpInstance(reqParams) + if err != nil { + return nil, err + } + + publicIPInstance := publicIPInstanceList.PublicIpInstanceList[0] + publicIP := publicIPInstance.PublicIp + s.Say(fmt.Sprintf("Public IP Instance [%s:%s] is created", *publicIPInstance.PublicIpInstanceNo, *publicIP)) + + err = s.WaiterAssociatePublicIPToServerInstance(serverInstanceNo, *publicIP) + if err != nil { + return nil, err + } + + return &server.PublicIpInstance{ + PublicIpInstanceNo: publicIPInstance.PublicIpInstanceNo, + PublicIp: publicIP, + }, nil } -func (s *StepCreatePublicIPInstance) Cleanup(state multistep.StateBag) { - publicIPInstance, ok := state.GetOk("PublicIPInstance") - if !ok { - return - } - - s.Say("Clean up Public IP Instance") - publicIPInstanceNo := publicIPInstance.(*server.PublicIpInstance).PublicIpInstanceNo - s.waitPublicIPInstanceStatus(publicIPInstanceNo, "USED") - - log.Println("Disassociate Public IP Instance ", publicIPInstanceNo) - reqParams := &server.DisassociatePublicIpFromServerInstanceRequest{PublicIpInstanceNo: publicIPInstanceNo} - s.Conn.server.V2Api.DisassociatePublicIpFromServerInstance(reqParams) - - s.waitPublicIPInstanceStatus(publicIPInstanceNo, "CREAT") - - reqDeleteParams := &server.DeletePublicIpInstancesRequest{ - PublicIpInstanceNoList: ncloud.StringList([]string{*publicIPInstanceNo}), - } - - log.Println("Delete Public IP Instance ", publicIPInstanceNo) - s.Conn.server.V2Api.DeletePublicIpInstances(reqDeleteParams) -} - -func (s *StepCreatePublicIPInstance) waitPublicIPInstanceStatus(publicIPInstanceNo *string, status string) { +func (s *StepCreatePublicIP) waitPublicIPStatus(publicIPInstanceNo string, status string) error { c1 := make(chan error, 1) go func() { - reqParams := new(server.GetPublicIpInstanceListRequest) - reqParams.PublicIpInstanceNoList = []*string{publicIPInstanceNo} - for { - resp, err := s.Conn.server.V2Api.GetPublicIpInstanceList(reqParams) + publicIp, err := s.GetPublicIP(publicIPInstanceNo) if err != nil { - log.Printf(err.Error()) c1 <- err return } - if *resp.TotalRows == 0 { + if publicIp == nil { c1 <- nil return } - instance := resp.PublicIpInstanceList[0] - if *instance.PublicIpInstanceStatus.Code == status && *instance.PublicIpInstanceOperation.Code == "NULL" { + if *publicIp.PublicIpInstanceStatus.Code == status && *publicIp.PublicIpInstanceOperation.Code == "NULL" { c1 <- nil return } @@ -162,8 +250,116 @@ func (s *StepCreatePublicIPInstance) waitPublicIPInstanceStatus(publicIPInstance select { case <-c1: - return + return nil case <-time.After(time.Second * 60): + return fmt.Errorf("TIMEOUT : wait for public ip[%s] to status[%s] Failed", publicIPInstanceNo, status) + } +} + +func (s *StepCreatePublicIP) disassociateClassicPublicIpFromServerInstance(publicIPInstanceNo string) error { + reqParams := &server.DisassociatePublicIpFromServerInstanceRequest{ + PublicIpInstanceNo: &publicIPInstanceNo, + } + + _, err := s.Conn.server.V2Api.DisassociatePublicIpFromServerInstance(reqParams) + + return err +} + +func (s *StepCreatePublicIP) disassociateVpcPublicIpFromServerInstance(publicIPInstanceNo string) error { + reqParams := &vserver.DisassociatePublicIpFromServerInstanceRequest{ + RegionCode: &s.Config.RegionCode, + PublicIpInstanceNo: &publicIPInstanceNo, + } + + _, err := s.Conn.vserver.V2Api.DisassociatePublicIpFromServerInstance(reqParams) + + return err +} + +func (s *StepCreatePublicIP) deleteClassicPublicIp(publicIPInstanceNo string) error { + reqParams := &server.DeletePublicIpInstancesRequest{ + PublicIpInstanceNoList: ncloud.StringList([]string{publicIPInstanceNo}), + } + + _, err := s.Conn.server.V2Api.DeletePublicIpInstances(reqParams) + + return err +} + +func (s *StepCreatePublicIP) deleteVpcPublicIp(publicIPInstanceNo string) error { + reqParams := &vserver.DeletePublicIpInstanceRequest{ + RegionCode: &s.Config.RegionCode, + PublicIpInstanceNo: &publicIPInstanceNo, + } + + _, err := s.Conn.vserver.V2Api.DeletePublicIpInstance(reqParams) + + return err +} + +func (s *StepCreatePublicIP) Run(ctx context.Context, state multistep.StateBag) multistep.StepAction { + s.Say("Create Public IP Instance") + + serverInstanceNo := state.Get("instance_no").(string) + + publicIPInstance, err := s.CreatePublicIP(serverInstanceNo) + if err == nil { + state.Put("public_ip", *publicIPInstance.PublicIp) + state.Put("public_ip_instance", publicIPInstance) + } + + return processStepResult(err, s.Error, state) +} + +func (s *StepCreatePublicIP) Cleanup(state multistep.StateBag) { + publicIPInstance, ok := state.GetOk("public_ip_instance") + if !ok { + return + } + + s.Say("Clean up Public IP Instance") + publicIPInstanceNo := publicIPInstance.(*server.PublicIpInstance).PublicIpInstanceNo + + publicIp, err := s.GetPublicIP(*publicIPInstanceNo) + if err != nil { + s.Error(err) + } + + if publicIp == nil { + return + } + + publicIpUsedStatus := PublicIpStatusUsed + publicIpCreatedStatus := PublicIpStatusCreated + + if s.Config.SupportVPC { + publicIpUsedStatus = PublicIpStatusRunning + publicIpCreatedStatus = PublicIpStatusRunning + } + + if publicIp.ServerInstanceAssociatedWithPublicIp != nil && + publicIp.ServerInstanceAssociatedWithPublicIp.ServerInstanceNo != nil && + len(*publicIp.ServerInstanceAssociatedWithPublicIp.ServerInstanceNo) > 0 { + if err := s.waitPublicIPStatus(*publicIPInstanceNo, publicIpUsedStatus); err != nil { + s.Error(err) + } + + log.Println("Disassociate Public IP Instance ", publicIPInstanceNo) + if err := s.DisassociatePublicIpFromServerInstance(*publicIPInstanceNo); err != nil { + s.Error(err) + return + } + } + + if err := s.waitPublicIPStatus(*publicIPInstanceNo, publicIpCreatedStatus); err != nil { + s.Error(err) + return + } + + log.Println("Delete Public IP Instance ", publicIPInstanceNo) + if err := s.DeletePublicIp(*publicIPInstanceNo); err != nil { + s.Error(err) return } } diff --git a/builder/ncloud/step_create_public_ip_instance_test.go b/builder/ncloud/step_create_public_ip_instance_test.go index 14e4a62d6..c081409ea 100644 --- a/builder/ncloud/step_create_public_ip_instance_test.go +++ b/builder/ncloud/step_create_public_ip_instance_test.go @@ -12,8 +12,8 @@ import ( ) func TestStepCreatePublicIPInstanceShouldFailIfOperationCreatePublicIPInstanceFails(t *testing.T) { - var testSubject = &StepCreatePublicIPInstance{ - CreatePublicIPInstance: func(serverInstanceNo string) (*server.PublicIpInstance, error) { + var testSubject = &StepCreatePublicIP{ + CreatePublicIP: func(serverInstanceNo string) (*server.PublicIpInstance, error) { return nil, fmt.Errorf("!! Unit Test FAIL !!") }, Say: func(message string) {}, @@ -28,7 +28,7 @@ func TestStepCreatePublicIPInstanceShouldFailIfOperationCreatePublicIPInstanceFa t.Fatalf("Expected the step to return 'ActionHalt', but got '%d'.", result) } - if _, ok := stateBag.GetOk("Error"); ok == false { + if _, ok := stateBag.GetOk("error"); ok == false { t.Fatal("Expected the step to set stateBag['Error'], but it was not.") } } @@ -38,8 +38,8 @@ func TestStepCreatePublicIPInstanceShouldPassIfOperationCreatePublicIPInstancePa c.Comm.Prepare(nil) c.Comm.Type = "ssh" - var testSubject = &StepCreatePublicIPInstance{ - CreatePublicIPInstance: func(serverInstanceNo string) (*server.PublicIpInstance, error) { + var testSubject = &StepCreatePublicIP{ + CreatePublicIP: func(serverInstanceNo string) (*server.PublicIpInstance, error) { return &server.PublicIpInstance{PublicIpInstanceNo: ncloud.String("a"), PublicIp: ncloud.String("b")}, nil }, Say: func(message string) {}, @@ -55,7 +55,7 @@ func TestStepCreatePublicIPInstanceShouldPassIfOperationCreatePublicIPInstancePa t.Fatalf("Expected the step to return 'ActionContinue', but got '%d'.", result) } - if _, ok := stateBag.GetOk("Error"); ok == true { + if _, ok := stateBag.GetOk("error"); ok == true { t.Fatalf("Expected the step to not set stateBag['Error'], but it was.") } } @@ -63,7 +63,7 @@ func TestStepCreatePublicIPInstanceShouldPassIfOperationCreatePublicIPInstancePa func createTestStateBagStepCreatePublicIPInstance() multistep.StateBag { stateBag := new(multistep.BasicStateBag) - stateBag.Put("InstanceNo", "a") + stateBag.Put("instance_no", "a") return stateBag } diff --git a/builder/ncloud/step_create_server_image.go b/builder/ncloud/step_create_server_image.go index f0a2b4d7c..d3ad06d49 100644 --- a/builder/ncloud/step_create_server_image.go +++ b/builder/ncloud/step_create_server_image.go @@ -4,6 +4,7 @@ import ( "context" "errors" "fmt" + "github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver" "time" "github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server" @@ -11,6 +12,10 @@ import ( packersdk "github.com/hashicorp/packer-plugin-sdk/packer" ) +const ( + ServerImageStatusCreated = "CREAT" +) + type StepCreateServerImage struct { Conn *NcloudAPIClient CreateServerImage func(serverInstanceNo string) (*server.MemberServerImage, error) @@ -27,21 +32,26 @@ func NewStepCreateServerImage(conn *NcloudAPIClient, ui packersdk.Ui, config *Co Config: config, } - step.CreateServerImage = step.createServerImage + if config.SupportVPC { + step.CreateServerImage = step.createVpcServerImage + } else { + step.CreateServerImage = step.createClassicServerImage + } return step } -func (s *StepCreateServerImage) createServerImage(serverInstanceNo string) (*server.MemberServerImage, error) { +func (s *StepCreateServerImage) createClassicServerImage(serverInstanceNo string) (*server.MemberServerImage, error) { // Can't create server image when status of server instance is stopping (not stopped) - if err := waiterServerInstanceStatus(s.Conn, serverInstanceNo, "NSTOP", 1*time.Minute); err != nil { + if err := waiterClassicServerInstanceStatus(s.Conn, serverInstanceNo, ServerInstanceStatusStopped, 1*time.Minute); err != nil { return nil, err } - reqParams := new(server.CreateMemberServerImageRequest) - reqParams.MemberServerImageName = &s.Config.ServerImageName - reqParams.MemberServerImageDescription = &s.Config.ServerImageDescription - reqParams.ServerInstanceNo = &serverInstanceNo + reqParams := &server.CreateMemberServerImageRequest{ + MemberServerImageName: &s.Config.ServerImageName, + MemberServerImageDescription: &s.Config.ServerImageDescription, + ServerInstanceNo: &serverInstanceNo, + } memberServerImageList, err := s.Conn.server.V2Api.CreateMemberServerImage(reqParams) if err != nil { @@ -52,7 +62,7 @@ func (s *StepCreateServerImage) createServerImage(serverInstanceNo string) (*ser s.Say(fmt.Sprintf("Server Image[%s:%s] is creating...", *serverImage.MemberServerImageName, *serverImage.MemberServerImageNo)) - if err := waiterMemberServerImageStatus(s.Conn, *serverImage.MemberServerImageNo, "CREAT", 6*time.Hour); err != nil { + if err := waiterClassicMemberServerImageStatus(s.Conn, *serverImage.MemberServerImageNo, ServerImageStatusCreated, 6*time.Hour); err != nil { return nil, errors.New("TIMEOUT : Server Image is not created") } @@ -61,14 +71,56 @@ func (s *StepCreateServerImage) createServerImage(serverInstanceNo string) (*ser return serverImage, nil } +func (s *StepCreateServerImage) createVpcServerImage(serverInstanceNo string) (*server.MemberServerImage, error) { + // Can't create server image when status of server instance is stopping (not stopped) + if err := waiterVpcServerInstanceStatus(s.Conn, serverInstanceNo, ServerInstanceStatusStopped, 1*time.Minute); err != nil { + return nil, err + } + + reqParams := &vserver.CreateMemberServerImageInstanceRequest{ + MemberServerImageName: &s.Config.ServerImageName, + MemberServerImageDescription: &s.Config.ServerImageDescription, + ServerInstanceNo: &serverInstanceNo, + } + + memberServerImageList, err := s.Conn.vserver.V2Api.CreateMemberServerImageInstance(reqParams) + if err != nil { + return nil, err + } + + serverImage := memberServerImageList.MemberServerImageInstanceList[0] + + s.Say(fmt.Sprintf("Server Image[%s:%s] is creating...", *serverImage.MemberServerImageName, *serverImage.MemberServerImageInstanceNo)) + + if err := waiterVpcMemberServerImageStatus(s.Conn, *serverImage.MemberServerImageInstanceNo, ServerImageStatusCreated, 6*time.Hour); err != nil { + return nil, errors.New("TIMEOUT : Server Image is not created") + } + + s.Say(fmt.Sprintf("Server Image[%s:%s] is created", *serverImage.MemberServerImageName, *serverImage.MemberServerImageInstanceNo)) + + result := &server.MemberServerImage{ + MemberServerImageNo: serverImage.MemberServerImageInstanceNo, + MemberServerImageName: serverImage.MemberServerImageName, + } + + if serverImage.MemberServerImageInstanceStatus != nil { + result.MemberServerImageStatus = &server.CommonCode{ + Code: serverImage.MemberServerImageInstanceStatus.Code, + CodeName: serverImage.MemberServerImageInstanceStatus.CodeName, + } + } + + return result, nil +} + func (s *StepCreateServerImage) Run(ctx context.Context, state multistep.StateBag) multistep.StepAction { s.Say("Create Server Image") - serverInstanceNo := state.Get("InstanceNo").(string) + serverInstanceNo := state.Get("instance_no").(string) serverImage, err := s.CreateServerImage(serverInstanceNo) if err == nil { - state.Put("memberServerImage", serverImage) + state.Put("member_server_image", serverImage) } return processStepResult(err, s.Error, state) diff --git a/builder/ncloud/step_create_server_image_test.go b/builder/ncloud/step_create_server_image_test.go index a6ff44aaa..4f807c634 100644 --- a/builder/ncloud/step_create_server_image_test.go +++ b/builder/ncloud/step_create_server_image_test.go @@ -27,7 +27,7 @@ func TestStepCreateServerImageShouldFailIfOperationCreateServerImageFails(t *tes t.Fatalf("Expected the step to return 'ActionHalt', but got '%d'.", result) } - if _, ok := stateBag.GetOk("Error"); ok == false { + if _, ok := stateBag.GetOk("error"); ok == false { t.Fatal("Expected the step to set stateBag['Error'], but it was not.") } } @@ -46,7 +46,7 @@ func TestStepCreateServerImageShouldPassIfOperationCreateServerImagePasses(t *te t.Fatalf("Expected the step to return 'ActionContinue', but got '%d'.", result) } - if _, ok := stateBag.GetOk("Error"); ok == true { + if _, ok := stateBag.GetOk("error"); ok == true { t.Fatalf("Expected the step to not set stateBag['Error'], but it was.") } } @@ -54,7 +54,7 @@ func TestStepCreateServerImageShouldPassIfOperationCreateServerImagePasses(t *te func createTestStateBagStepCreateServerImage() multistep.StateBag { stateBag := new(multistep.BasicStateBag) - stateBag.Put("InstanceNo", "a") + stateBag.Put("instance_no", "a") return stateBag } diff --git a/builder/ncloud/step_create_server_instance.go b/builder/ncloud/step_create_server_instance.go index 59df31ce4..f55f75bae 100644 --- a/builder/ncloud/step_create_server_instance.go +++ b/builder/ncloud/step_create_server_instance.go @@ -4,6 +4,7 @@ import ( "context" "errors" "fmt" + "github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver" "io/ioutil" "log" "time" @@ -14,14 +15,21 @@ import ( packersdk "github.com/hashicorp/packer-plugin-sdk/packer" ) +const ( + ServerInstanceStatusStopped = "NSTOP" + ServerInstanceStatusTerminated = "TERMT" + ServerInstanceStatusRunning = "RUN" +) + type StepCreateServerInstance struct { - Conn *NcloudAPIClient - CreateServerInstance func(loginKeyName string, zoneNo string, feeSystemTypeCode string) (string, error) - CheckServerInstanceStatusIsRunning func(serverInstanceNo string) error - Say func(message string) - Error func(e error) - Config *Config - serverInstanceNo string + Conn *NcloudAPIClient + CreateServerInstance func(loginKeyName string, feeSystemTypeCode string, state multistep.StateBag) (string, error) + GetServerInstance func() (string, string, error) + WaiterServerInstanceStatus func(conn *NcloudAPIClient, serverInstanceNo string, status string, timeout time.Duration) error + Say func(message string) + Error func(e error) + Config *Config + serverInstanceNo string } func NewStepCreateServerInstance(conn *NcloudAPIClient, ui packersdk.Ui, config *Config) *StepCreateServerInstance { @@ -32,21 +40,32 @@ func NewStepCreateServerInstance(conn *NcloudAPIClient, ui packersdk.Ui, config Config: config, } - step.CreateServerInstance = step.createServerInstance + if config.SupportVPC { + step.CreateServerInstance = step.createVpcServerInstance + step.WaiterServerInstanceStatus = waiterVpcServerInstanceStatus + step.GetServerInstance = step.getVpcServerInstance + } else { + step.CreateServerInstance = step.createClassicServerInstance + step.WaiterServerInstanceStatus = waiterClassicServerInstanceStatus + step.GetServerInstance = step.getClassicServerInstance + } return step } -func (s *StepCreateServerInstance) createServerInstance(loginKeyName string, zoneNo string, feeSystemTypeCode string) (string, error) { - reqParams := new(server.CreateServerInstancesRequest) - reqParams.ServerProductCode = &s.Config.ServerProductCode - reqParams.MemberServerImageNo = &s.Config.MemberServerImageNo +func (s *StepCreateServerInstance) createClassicServerInstance(loginKeyName string, feeSystemTypeCode string, state multistep.StateBag) (string, error) { + var zoneNo = state.Get("zone_no").(string) + + reqParams := &server.CreateServerInstancesRequest{ + ServerProductCode: &s.Config.ServerProductCode, + MemberServerImageNo: &s.Config.MemberServerImageNo, + LoginKeyName: &loginKeyName, + ZoneNo: &zoneNo, + FeeSystemTypeCode: &feeSystemTypeCode, + } if s.Config.MemberServerImageNo == "" { reqParams.ServerImageProductCode = &s.Config.ServerImageProductCode } - reqParams.LoginKeyName = &loginKeyName - reqParams.ZoneNo = &zoneNo - reqParams.FeeSystemTypeCode = &feeSystemTypeCode if s.Config.UserData != "" { reqParams.UserData = &s.Config.UserData @@ -61,8 +80,8 @@ func (s *StepCreateServerInstance) createServerInstance(loginKeyName string, zon reqParams.UserData = ncloud.String(string(contents)) } - if s.Config.AccessControlGroupConfigurationNo != "" { - reqParams.AccessControlGroupConfigurationNoList = []*string{&s.Config.AccessControlGroupConfigurationNo} + if s.Config.AccessControlGroupNo != "" { + reqParams.AccessControlGroupConfigurationNoList = []*string{&s.Config.AccessControlGroupNo} } serverInstanceList, err := s.Conn.server.V2Api.CreateServerInstances(reqParams) @@ -74,7 +93,7 @@ func (s *StepCreateServerInstance) createServerInstance(loginKeyName string, zon s.Say(fmt.Sprintf("Server Instance is creating. Server InstanceNo is %s", s.serverInstanceNo)) log.Println("Server Instance information : ", serverInstanceList.ServerInstanceList[0]) - if err := waiterServerInstanceStatus(s.Conn, s.serverInstanceNo, "RUN", 30*time.Minute); err != nil { + if err := s.WaiterServerInstanceStatus(s.Conn, s.serverInstanceNo, ServerInstanceStatusRunning, 30*time.Minute); err != nil { return "", errors.New("TIMEOUT : server instance status is not running") } @@ -83,20 +102,104 @@ func (s *StepCreateServerInstance) createServerInstance(loginKeyName string, zon return s.serverInstanceNo, nil } -func (s *StepCreateServerInstance) Run(ctx context.Context, state multistep.StateBag) multistep.StepAction { - s.Say("Create Server Instance") +func (s *StepCreateServerInstance) createVpcServerInstance(loginKeyName string, feeSystemTypeCode string, state multistep.StateBag) (string, error) { + var initScriptNo string + var acgNo string + var err error - var loginKey = state.Get("LoginKey").(*LoginKey) - var zoneNo = state.Get("ZoneNo").(string) - - feeSystemTypeCode := "MTRAT" - if _, ok := state.GetOk("FeeSystemTypeCode"); ok { - feeSystemTypeCode = state.Get("FeeSystemTypeCode").(string) + if v, ok := state.GetOk("init_script_no"); ok { + initScriptNo = v.(string) } - serverInstanceNo, err := s.CreateServerInstance(loginKey.KeyName, zoneNo, feeSystemTypeCode) + if s.Config.AccessControlGroupNo != "" { + acgNo = s.Config.AccessControlGroupNo + } else { + acgNo = state.Get("access_control_group_no").(string) + } + + reqParams := &vserver.CreateServerInstancesRequest{ + RegionCode: &s.Config.RegionCode, + ServerProductCode: &s.Config.ServerProductCode, + MemberServerImageInstanceNo: &s.Config.MemberServerImageNo, + LoginKeyName: &loginKeyName, + FeeSystemTypeCode: &feeSystemTypeCode, + InitScriptNo: &initScriptNo, + VpcNo: &s.Config.VpcNo, + SubnetNo: &s.Config.SubnetNo, + NetworkInterfaceList: []*vserver.NetworkInterfaceParameter{{ + NetworkInterfaceOrder: ncloud.Int32(0), + AccessControlGroupNoList: []*string{ncloud.String(acgNo)}}, + }, + } + + if s.Config.MemberServerImageNo == "" { + reqParams.ServerImageProductCode = &s.Config.ServerImageProductCode + } + + serverInstanceList, err := s.Conn.vserver.V2Api.CreateServerInstances(reqParams) + if err != nil { + return "", err + } + + s.serverInstanceNo = *serverInstanceList.ServerInstanceList[0].ServerInstanceNo + s.Say(fmt.Sprintf("Server Instance is creating. Server InstanceNo is %s", s.serverInstanceNo)) + log.Println("Server Instance information : ", serverInstanceList.ServerInstanceList[0]) + + if err := s.WaiterServerInstanceStatus(s.Conn, s.serverInstanceNo, ServerInstanceStatusRunning, 30*time.Minute); err != nil { + return "", errors.New("TIMEOUT : server instance status is not running") + } + + s.Say(fmt.Sprintf("Server Instance is created. Server InstanceNo is %s", s.serverInstanceNo)) + + return s.serverInstanceNo, nil +} + +func (s *StepCreateServerInstance) getClassicServerInstance() (string, string, error) { + reqParams := &server.GetServerInstanceListRequest{ + ServerInstanceNoList: []*string{&s.serverInstanceNo}, + } + + resp, err := s.Conn.server.V2Api.GetServerInstanceList(reqParams) + if err != nil { + return "", "", err + } + + if *resp.TotalRows > 0 { + return *resp.ServerInstanceList[0].ServerInstanceNo, *resp.ServerInstanceList[0].ServerInstanceStatus.Code, nil + } else { + return "", "", nil + } +} + +func (s *StepCreateServerInstance) getVpcServerInstance() (string, string, error) { + reqParams := &vserver.GetServerInstanceDetailRequest{ + ServerInstanceNo: &s.serverInstanceNo, + } + + resp, err := s.Conn.vserver.V2Api.GetServerInstanceDetail(reqParams) + if err != nil { + return "", "", err + } + + if *resp.TotalRows > 0 { + return *resp.ServerInstanceList[0].ServerInstanceNo, *resp.ServerInstanceList[0].ServerInstanceStatus.Code, nil + } else { + return "", "", nil + } +} + +func (s *StepCreateServerInstance) Run(ctx context.Context, state multistep.StateBag) multistep.StepAction { + s.Say("Create Server Instance") + loginKey := state.Get("login_key").(*LoginKey) + + feeSystemTypeCode := "MTRAT" + if _, ok := state.GetOk("fee_system_type_code"); ok { + feeSystemTypeCode = state.Get("fee_system_type_code").(string) + } + + serverInstanceNo, err := s.CreateServerInstance(loginKey.KeyName, feeSystemTypeCode, state) if err == nil { - state.Put("InstanceNo", serverInstanceNo) + state.Put("instance_no", serverInstanceNo) // instance_id is the generic term used so that users can have access to the // instance id inside of the provisioners, used in step_provision. state.Put("instance_id", serverInstanceNo) @@ -108,6 +211,7 @@ func (s *StepCreateServerInstance) Run(ctx context.Context, state multistep.Stat func (s *StepCreateServerInstance) Cleanup(state multistep.StateBag) { _, cancelled := state.GetOk(multistep.StateCancelled) _, halted := state.GetOk(multistep.StateHalted) + ui := state.Get("ui").(packersdk.Ui) if !cancelled && !halted { return @@ -117,33 +221,31 @@ func (s *StepCreateServerInstance) Cleanup(state multistep.StateBag) { return } - reqParams := new(server.GetServerInstanceListRequest) - reqParams.ServerInstanceNoList = []*string{&s.serverInstanceNo} + _, status, err := s.GetServerInstance() - serverInstanceList, err := s.Conn.server.V2Api.GetServerInstanceList(reqParams) - if err != nil || *serverInstanceList.TotalRows == 0 { + if err != nil || len(status) == 0 { return } s.Say("Clean up Server Instance") - serverInstance := serverInstanceList.ServerInstanceList[0] // stop server instance - if *serverInstance.ServerInstanceStatus.Code != "NSTOP" && *serverInstance.ServerInstanceStatus.Code != "TERMT" { - reqParams := new(server.StopServerInstancesRequest) - reqParams.ServerInstanceNoList = []*string{&s.serverInstanceNo} - - log.Println("Stop Server Instance") - s.Conn.server.V2Api.StopServerInstances(reqParams) - waiterServerInstanceStatus(s.Conn, s.serverInstanceNo, "NSTOP", time.Minute) + if status != ServerInstanceStatusStopped && status != ServerInstanceStatusTerminated { + stepStopServerInstance := NewStepStopServerInstance(s.Conn, ui, s.Config) + err := stepStopServerInstance.StopServerInstance(s.serverInstanceNo) + if err != nil { + s.Error(err) + return + } } // terminate server instance - if *serverInstance.ServerInstanceStatus.Code != "TERMT" { - reqParams := new(server.TerminateServerInstancesRequest) - reqParams.ServerInstanceNoList = []*string{&s.serverInstanceNo} - - log.Println("Terminate Server Instance") - s.Conn.server.V2Api.TerminateServerInstances(reqParams) + if status != ServerInstanceStatusTerminated { + stepStopServerInstance := NewStepTerminateServerInstance(s.Conn, ui, s.Config) + err := stepStopServerInstance.TerminateServerInstance(s.serverInstanceNo) + if err != nil { + s.Error(err) + return + } } } diff --git a/builder/ncloud/step_create_server_instance_test.go b/builder/ncloud/step_create_server_instance_test.go index cc970dcad..b995d15f9 100644 --- a/builder/ncloud/step_create_server_instance_test.go +++ b/builder/ncloud/step_create_server_instance_test.go @@ -10,7 +10,7 @@ import ( func TestStepCreateServerInstanceShouldFailIfOperationCreateFails(t *testing.T) { var testSubject = &StepCreateServerInstance{ - CreateServerInstance: func(loginKeyName string, zoneNo string, feeSystemTypeCode string) (string, error) { + CreateServerInstance: func(loginKeyName string, feeSystemTypeCode string, state multistep.StateBag) (string, error) { return "", fmt.Errorf("!! Unit Test FAIL !!") }, Say: func(message string) {}, @@ -25,16 +25,18 @@ func TestStepCreateServerInstanceShouldFailIfOperationCreateFails(t *testing.T) t.Fatalf("Expected the step to return 'ActionHalt', but got '%d'.", result) } - if _, ok := stateBag.GetOk("Error"); ok == false { + if _, ok := stateBag.GetOk("error"); ok == false { t.Fatal("Expected the step to set stateBag['Error'], but it was not.") } } func TestStepCreateServerInstanceShouldPassIfOperationCreatePasses(t *testing.T) { var testSubject = &StepCreateServerInstance{ - CreateServerInstance: func(loginKeyName string, zoneNo string, feeSystemTypeCode string) (string, error) { return "", nil }, - Say: func(message string) {}, - Error: func(e error) {}, + CreateServerInstance: func(loginKeyName string, feeSystemTypeCode string, state multistep.StateBag) (string, error) { + return "", nil + }, + Say: func(message string) {}, + Error: func(e error) {}, } stateBag := createTestStateBagStepCreateServerInstance() @@ -45,7 +47,7 @@ func TestStepCreateServerInstanceShouldPassIfOperationCreatePasses(t *testing.T) t.Fatalf("Expected the step to return 'ActionContinue', but got '%d'.", result) } - if _, ok := stateBag.GetOk("Error"); ok == true { + if _, ok := stateBag.GetOk("error"); ok == true { t.Fatalf("Expected the step to not set stateBag['Error'], but it was.") } } @@ -53,8 +55,8 @@ func TestStepCreateServerInstanceShouldPassIfOperationCreatePasses(t *testing.T) func createTestStateBagStepCreateServerInstance() multistep.StateBag { stateBag := new(multistep.BasicStateBag) - stateBag.Put("LoginKey", &LoginKey{"a", "b"}) - stateBag.Put("ZoneNo", "1") + stateBag.Put("login_key", &LoginKey{"a", "b"}) + stateBag.Put("zone_no", "1") return stateBag } diff --git a/builder/ncloud/step_delete_block_storage_instance.go b/builder/ncloud/step_delete_block_storage_instance.go index 0134e1856..f64caa155 100644 --- a/builder/ncloud/step_delete_block_storage_instance.go +++ b/builder/ncloud/step_delete_block_storage_instance.go @@ -4,6 +4,7 @@ import ( "context" "errors" "fmt" + "github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver" "log" "time" @@ -12,30 +13,35 @@ import ( packersdk "github.com/hashicorp/packer-plugin-sdk/packer" ) -type StepDeleteBlockStorageInstance struct { - Conn *NcloudAPIClient - DeleteBlockStorageInstance func(blockStorageInstanceNo string) error - Say func(message string) - Error func(e error) - Config *Config +type StepDeleteBlockStorage struct { + Conn *NcloudAPIClient + DeleteBlockStorage func(blockStorageNo string) error + Say func(message string) + Error func(e error) + Config *Config } -func NewStepDeleteBlockStorageInstance(conn *NcloudAPIClient, ui packersdk.Ui, config *Config) *StepDeleteBlockStorageInstance { - var step = &StepDeleteBlockStorageInstance{ +func NewStepDeleteBlockStorage(conn *NcloudAPIClient, ui packersdk.Ui, config *Config) *StepDeleteBlockStorage { + var step = &StepDeleteBlockStorage{ Conn: conn, Say: func(message string) { ui.Say(message) }, Error: func(e error) { ui.Error(e.Error()) }, Config: config, } - step.DeleteBlockStorageInstance = step.deleteBlockStorageInstance + if config.SupportVPC { + step.DeleteBlockStorage = step.deleteVpcBlockStorage + } else { + step.DeleteBlockStorage = step.deleteClassicBlockStorage + } return step } -func (s *StepDeleteBlockStorageInstance) getBlockInstanceList(serverInstanceNo string) []*string { - reqParams := new(server.GetBlockStorageInstanceListRequest) - reqParams.ServerInstanceNo = &serverInstanceNo +func (s *StepDeleteBlockStorage) getClassicBlockList(serverInstanceNo string) []*string { + reqParams := &server.GetBlockStorageInstanceListRequest{ + ServerInstanceNo: &serverInstanceNo, + } blockStorageInstanceList, err := s.Conn.server.V2Api.GetBlockStorageInstanceList(reqParams) if err != nil { @@ -58,8 +64,34 @@ func (s *StepDeleteBlockStorageInstance) getBlockInstanceList(serverInstanceNo s return instanceList } -func (s *StepDeleteBlockStorageInstance) deleteBlockStorageInstance(serverInstanceNo string) error { - blockStorageInstanceList := s.getBlockInstanceList(serverInstanceNo) +func (s *StepDeleteBlockStorage) getVpcBlockList(serverInstanceNo string) []*string { + reqParams := &vserver.GetBlockStorageInstanceListRequest{ + ServerInstanceNo: &serverInstanceNo, + } + + blockStorageInstanceList, err := s.Conn.vserver.V2Api.GetBlockStorageInstanceList(reqParams) + if err != nil { + return nil + } + + if *blockStorageInstanceList.TotalRows == 1 { + return nil + } + + var instanceList []*string + + for _, blockStorageInstance := range blockStorageInstanceList.BlockStorageInstanceList { + log.Println(blockStorageInstance) + if *blockStorageInstance.BlockStorageType.Code != "BASIC" { + instanceList = append(instanceList, blockStorageInstance.BlockStorageInstanceNo) + } + } + + return instanceList +} + +func (s *StepDeleteBlockStorage) deleteClassicBlockStorage(serverInstanceNo string) error { + blockStorageInstanceList := s.getClassicBlockList(serverInstanceNo) if blockStorageInstanceList == nil || len(blockStorageInstanceList) == 0 { return nil } @@ -73,26 +105,48 @@ func (s *StepDeleteBlockStorageInstance) deleteBlockStorageInstance(serverInstan s.Say(fmt.Sprintf("Block Storage Instance is deleted. Block Storage Instance List is %v", blockStorageInstanceList)) - if err := waiterDetachedBlockStorageInstance(s.Conn, serverInstanceNo, time.Minute); err != nil { + if err := waiterClassicDetachedBlockStorage(s.Conn, serverInstanceNo, time.Minute); err != nil { return errors.New("TIMEOUT : Block Storage instance status is not deattached") } return nil } -func (s *StepDeleteBlockStorageInstance) Run(ctx context.Context, state multistep.StateBag) multistep.StepAction { +func (s *StepDeleteBlockStorage) deleteVpcBlockStorage(serverInstanceNo string) error { + blockStorageInstanceList := s.getVpcBlockList(serverInstanceNo) + if blockStorageInstanceList == nil || len(blockStorageInstanceList) == 0 { + return nil + } + reqParams := vserver.DeleteBlockStorageInstancesRequest{ + BlockStorageInstanceNoList: blockStorageInstanceList, + } + _, err := s.Conn.vserver.V2Api.DeleteBlockStorageInstances(&reqParams) + if err != nil { + return err + } + + s.Say(fmt.Sprintf("Block Storage Instance is deleted. Block Storage Instance List is %v", blockStorageInstanceList)) + + if err := waiterVpcDetachedBlockStorage(s.Conn, serverInstanceNo, time.Minute); err != nil { + return errors.New("TIMEOUT : Block Storage instance status is not deattached") + } + + return nil +} + +func (s *StepDeleteBlockStorage) Run(ctx context.Context, state multistep.StateBag) multistep.StepAction { if s.Config.BlockStorageSize == 0 { return processStepResult(nil, s.Error, state) } s.Say("Delete Block Storage Instance") - var serverInstanceNo = state.Get("InstanceNo").(string) + var serverInstanceNo = state.Get("instance_no").(string) - err := s.DeleteBlockStorageInstance(serverInstanceNo) + err := s.DeleteBlockStorage(serverInstanceNo) return processStepResult(err, s.Error, state) } -func (*StepDeleteBlockStorageInstance) Cleanup(multistep.StateBag) { +func (*StepDeleteBlockStorage) Cleanup(multistep.StateBag) { } diff --git a/builder/ncloud/step_delete_block_storage_instance_test.go b/builder/ncloud/step_delete_block_storage_instance_test.go index 6f8008343..01179280c 100644 --- a/builder/ncloud/step_delete_block_storage_instance_test.go +++ b/builder/ncloud/step_delete_block_storage_instance_test.go @@ -9,11 +9,11 @@ import ( ) func TestStepDeleteBlockStorageInstanceShouldFailIfOperationDeleteBlockStorageInstanceFails(t *testing.T) { - var testSubject = &StepDeleteBlockStorageInstance{ - DeleteBlockStorageInstance: func(blockStorageInstanceNo string) error { return fmt.Errorf("!! Unit Test FAIL !!") }, - Say: func(message string) {}, - Error: func(e error) {}, - Config: &Config{BlockStorageSize: 10}, + var testSubject = &StepDeleteBlockStorage{ + DeleteBlockStorage: func(blockStorageNo string) error { return fmt.Errorf("!! Unit Test FAIL !!") }, + Say: func(message string) {}, + Error: func(e error) {}, + Config: &Config{BlockStorageSize: 10}, } stateBag := createTestStateBagStepDeleteBlockStorageInstance() @@ -24,17 +24,17 @@ func TestStepDeleteBlockStorageInstanceShouldFailIfOperationDeleteBlockStorageIn t.Fatalf("Expected the step to return 'ActionHalt', but got '%d'.", result) } - if _, ok := stateBag.GetOk("Error"); ok == false { + if _, ok := stateBag.GetOk("error"); ok == false { t.Fatal("Expected the step to set stateBag['Error'], but it was not.") } } func TestStepDeleteBlockStorageInstanceShouldPassIfOperationDeleteBlockStorageInstancePasses(t *testing.T) { - var testSubject = &StepDeleteBlockStorageInstance{ - DeleteBlockStorageInstance: func(blockStorageInstanceNo string) error { return nil }, - Say: func(message string) {}, - Error: func(e error) {}, - Config: &Config{BlockStorageSize: 10}, + var testSubject = &StepDeleteBlockStorage{ + DeleteBlockStorage: func(blockStorageNo string) error { return nil }, + Say: func(message string) {}, + Error: func(e error) {}, + Config: &Config{BlockStorageSize: 10}, } stateBag := createTestStateBagStepDeleteBlockStorageInstance() @@ -45,7 +45,7 @@ func TestStepDeleteBlockStorageInstanceShouldPassIfOperationDeleteBlockStorageIn t.Fatalf("Expected the step to return 'ActionContinue', but got '%d'.", result) } - if _, ok := stateBag.GetOk("Error"); ok == true { + if _, ok := stateBag.GetOk("error"); ok == true { t.Fatalf("Expected the step to not set stateBag['Error'], but it was.") } } @@ -53,7 +53,7 @@ func TestStepDeleteBlockStorageInstanceShouldPassIfOperationDeleteBlockStorageIn func createTestStateBagStepDeleteBlockStorageInstance() multistep.StateBag { stateBag := new(multistep.BasicStateBag) - stateBag.Put("InstanceNo", "1") + stateBag.Put("instance_no", "1") return stateBag } diff --git a/builder/ncloud/step_get_rootpassword.go b/builder/ncloud/step_get_rootpassword.go index 20da12f37..fb455be2a 100644 --- a/builder/ncloud/step_get_rootpassword.go +++ b/builder/ncloud/step_get_rootpassword.go @@ -3,6 +3,7 @@ package ncloud import ( "context" "fmt" + "github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver" "github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server" "github.com/hashicorp/packer-plugin-sdk/multistep" @@ -25,15 +26,20 @@ func NewStepGetRootPassword(conn *NcloudAPIClient, ui packersdk.Ui, config *Conf Config: config, } - step.GetRootPassword = step.getRootPassword + if config.SupportVPC { + step.GetRootPassword = step.getVpcRootPassword + } else { + step.GetRootPassword = step.getClassicRootPassword + } return step } -func (s *StepGetRootPassword) getRootPassword(serverInstanceNo string, privateKey string) (string, error) { - reqParams := new(server.GetRootPasswordRequest) - reqParams.ServerInstanceNo = &serverInstanceNo - reqParams.PrivateKey = &privateKey +func (s *StepGetRootPassword) getClassicRootPassword(serverInstanceNo string, privateKey string) (string, error) { + reqParams := &server.GetRootPasswordRequest{ + ServerInstanceNo: &serverInstanceNo, + PrivateKey: &privateKey, + } rootPassword, err := s.Conn.server.V2Api.GetRootPassword(reqParams) if err != nil { @@ -45,11 +51,28 @@ func (s *StepGetRootPassword) getRootPassword(serverInstanceNo string, privateKe return *rootPassword.RootPassword, nil } +func (s *StepGetRootPassword) getVpcRootPassword(serverInstanceNo string, privateKey string) (string, error) { + reqParams := &vserver.GetRootPasswordRequest{ + RegionCode: &s.Config.RegionCode, + ServerInstanceNo: &serverInstanceNo, + PrivateKey: &privateKey, + } + + rootPassword, err := s.Conn.vserver.V2Api.GetRootPassword(reqParams) + if err != nil { + return "", err + } + + s.Say(fmt.Sprintf("Root password is %s", *rootPassword.RootPassword)) + + return *rootPassword.RootPassword, nil +} + func (s *StepGetRootPassword) Run(ctx context.Context, state multistep.StateBag) multistep.StepAction { s.Say("Get Root Password") - serverInstanceNo := state.Get("InstanceNo").(string) - loginKey := state.Get("LoginKey").(*LoginKey) + serverInstanceNo := state.Get("instance_no").(string) + loginKey := state.Get("login_key").(*LoginKey) rootPassword, err := s.GetRootPassword(serverInstanceNo, loginKey.PrivateKey) diff --git a/builder/ncloud/step_get_rootpassword_test.go b/builder/ncloud/step_get_rootpassword_test.go index 1f147da66..571a4751f 100644 --- a/builder/ncloud/step_get_rootpassword_test.go +++ b/builder/ncloud/step_get_rootpassword_test.go @@ -24,7 +24,7 @@ func TestStepGetRootPasswordShouldFailIfOperationGetRootPasswordFails(t *testing t.Fatalf("Expected the step to return 'ActionHalt', but got '%d'.", result) } - if _, ok := stateBag.GetOk("Error"); ok == false { + if _, ok := stateBag.GetOk("error"); ok == false { t.Fatal("Expected the step to set stateBag['Error'], but it was not.") } } @@ -45,7 +45,7 @@ func TestStepGetRootPasswordShouldPassIfOperationGetRootPasswordPasses(t *testin t.Fatalf("Expected the step to return 'ActionContinue', but got '%d'.", result) } - if _, ok := stateBag.GetOk("Error"); ok == true { + if _, ok := stateBag.GetOk("error"); ok == true { t.Fatalf("Expected the step to not set stateBag['Error'], but it was.") } } @@ -53,8 +53,8 @@ func TestStepGetRootPasswordShouldPassIfOperationGetRootPasswordPasses(t *testin func DeleteTestStateBagStepGetRootPassword() multistep.StateBag { stateBag := new(multistep.BasicStateBag) - stateBag.Put("LoginKey", &LoginKey{"a", "b"}) - stateBag.Put("InstanceNo", "a") + stateBag.Put("login_key", &LoginKey{"a", "b"}) + stateBag.Put("instance_no", "a") return stateBag } diff --git a/builder/ncloud/step_stop_server_instance.go b/builder/ncloud/step_stop_server_instance.go index 11b315bc6..609234bf0 100644 --- a/builder/ncloud/step_stop_server_instance.go +++ b/builder/ncloud/step_stop_server_instance.go @@ -3,7 +3,7 @@ package ncloud import ( "context" "fmt" - "log" + "github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver" "time" "github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server" @@ -12,27 +12,37 @@ import ( ) type StepStopServerInstance struct { - Conn *NcloudAPIClient - StopServerInstance func(serverInstanceNo string) error - Say func(message string) - Error func(e error) + Conn *NcloudAPIClient + StopServerInstance func(serverInstanceNo string) error + WaiterServerInstanceStatus func(conn *NcloudAPIClient, serverInstanceNo string, status string, timeout time.Duration) error + Say func(message string) + Error func(e error) + Config *Config } -func NewStepStopServerInstance(conn *NcloudAPIClient, ui packersdk.Ui) *StepStopServerInstance { +func NewStepStopServerInstance(conn *NcloudAPIClient, ui packersdk.Ui, config *Config) *StepStopServerInstance { var step = &StepStopServerInstance{ - Conn: conn, - Say: func(message string) { ui.Say(message) }, - Error: func(e error) { ui.Error(e.Error()) }, + Conn: conn, + Say: func(message string) { ui.Say(message) }, + Error: func(e error) { ui.Error(e.Error()) }, + Config: config, } - step.StopServerInstance = step.stopServerInstance + if config.SupportVPC { + step.StopServerInstance = step.stopVpcServerInstance + step.WaiterServerInstanceStatus = waiterVpcServerInstanceStatus + } else { + step.StopServerInstance = step.stopClassicServerInstance + step.WaiterServerInstanceStatus = waiterClassicServerInstanceStatus + } return step } -func (s *StepStopServerInstance) stopServerInstance(serverInstanceNo string) error { - reqParams := new(server.StopServerInstancesRequest) - reqParams.ServerInstanceNoList = []*string{&serverInstanceNo} +func (s *StepStopServerInstance) stopClassicServerInstance(serverInstanceNo string) error { + reqParams := &server.StopServerInstancesRequest{ + ServerInstanceNoList: []*string{&serverInstanceNo}, + } serverInstanceList, err := s.Conn.server.V2Api.StopServerInstances(reqParams) if err != nil { @@ -40,9 +50,30 @@ func (s *StepStopServerInstance) stopServerInstance(serverInstanceNo string) err } s.Say(fmt.Sprintf("Server Instance is stopping. Server InstanceNo is %s", *serverInstanceList.ServerInstanceList[0].ServerInstanceNo)) - log.Println("Server Instance information : ", serverInstanceList.ServerInstanceList[0]) - if err := waiterServerInstanceStatus(s.Conn, serverInstanceNo, "NSTOP", 5*time.Minute); err != nil { + if err := s.WaiterServerInstanceStatus(s.Conn, serverInstanceNo, ServerInstanceStatusStopped, 5*time.Minute); err != nil { + return err + } + + s.Say(fmt.Sprintf("Server Instance stopped. Server InstanceNo is %s", *serverInstanceList.ServerInstanceList[0].ServerInstanceNo)) + + return nil +} + +func (s *StepStopServerInstance) stopVpcServerInstance(serverInstanceNo string) error { + reqParams := &vserver.StopServerInstancesRequest{ + RegionCode: &s.Config.RegionCode, + ServerInstanceNoList: []*string{&serverInstanceNo}, + } + + serverInstanceList, err := s.Conn.vserver.V2Api.StopServerInstances(reqParams) + if err != nil { + return err + } + + s.Say(fmt.Sprintf("Server Instance is stopping. Server InstanceNo is %s", *serverInstanceList.ServerInstanceList[0].ServerInstanceNo)) + + if err := s.WaiterServerInstanceStatus(s.Conn, serverInstanceNo, ServerInstanceStatusStopped, 5*time.Minute); err != nil { return err } @@ -54,7 +85,7 @@ func (s *StepStopServerInstance) stopServerInstance(serverInstanceNo string) err func (s *StepStopServerInstance) Run(ctx context.Context, state multistep.StateBag) multistep.StepAction { s.Say("Stop Server Instance") - var serverInstanceNo = state.Get("InstanceNo").(string) + var serverInstanceNo = state.Get("instance_no").(string) err := s.StopServerInstance(serverInstanceNo) diff --git a/builder/ncloud/step_stop_server_instance_test.go b/builder/ncloud/step_stop_server_instance_test.go index 64db61f12..58d6bb3fe 100644 --- a/builder/ncloud/step_stop_server_instance_test.go +++ b/builder/ncloud/step_stop_server_instance_test.go @@ -23,7 +23,7 @@ func TestStepStopServerInstanceShouldFailIfOperationStopFails(t *testing.T) { t.Fatalf("Expected the step to return 'ActionHalt', but got '%d'.", result) } - if _, ok := stateBag.GetOk("Error"); ok == false { + if _, ok := stateBag.GetOk("error"); ok == false { t.Fatal("Expected the step to set stateBag['Error'], but it was not.") } } @@ -43,7 +43,7 @@ func TestStepStopServerInstanceShouldPassIfOperationStopPasses(t *testing.T) { t.Fatalf("Expected the step to return 'ActionContinue', but got '%d'.", result) } - if _, ok := stateBag.GetOk("Error"); ok == true { + if _, ok := stateBag.GetOk("error"); ok == true { t.Fatalf("Expected the step to not set stateBag['Error'], but it was.") } } @@ -51,6 +51,6 @@ func TestStepStopServerInstanceShouldPassIfOperationStopPasses(t *testing.T) { func createTestStateBagStepStopServerInstance() multistep.StateBag { stateBag := new(multistep.BasicStateBag) - stateBag.Put("InstanceNo", "a") + stateBag.Put("instance_no", "a") return stateBag } diff --git a/builder/ncloud/step_terminate_server_instance.go b/builder/ncloud/step_terminate_server_instance.go index 28666a420..ed1def333 100644 --- a/builder/ncloud/step_terminate_server_instance.go +++ b/builder/ncloud/step_terminate_server_instance.go @@ -3,6 +3,9 @@ package ncloud import ( "context" "errors" + "fmt" + "github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver" + "log" "time" "github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server" @@ -15,37 +18,45 @@ type StepTerminateServerInstance struct { TerminateServerInstance func(serverInstanceNo string) error Say func(message string) Error func(e error) + Config *Config } -func NewStepTerminateServerInstance(conn *NcloudAPIClient, ui packersdk.Ui) *StepTerminateServerInstance { +func NewStepTerminateServerInstance(conn *NcloudAPIClient, ui packersdk.Ui, config *Config) *StepTerminateServerInstance { var step = &StepTerminateServerInstance{ - Conn: conn, - Say: func(message string) { ui.Say(message) }, - Error: func(e error) { ui.Error(e.Error()) }, + Conn: conn, + Say: func(message string) { ui.Say(message) }, + Error: func(e error) { ui.Error(e.Error()) }, + Config: config, } - step.TerminateServerInstance = step.terminateServerInstance + if config.SupportVPC { + step.TerminateServerInstance = step.terminateVpcServerInstance + } else { + step.TerminateServerInstance = step.terminateClassicServerInstance + } return step } -func (s *StepTerminateServerInstance) terminateServerInstance(serverInstanceNo string) error { - reqParams := new(server.TerminateServerInstancesRequest) - reqParams.ServerInstanceNoList = []*string{&serverInstanceNo} +func (s *StepTerminateServerInstance) terminateClassicServerInstance(serverInstanceNo string) error { + reqParams := &server.TerminateServerInstancesRequest{ + ServerInstanceNoList: []*string{&serverInstanceNo}, + } _, err := s.Conn.server.V2Api.TerminateServerInstances(reqParams) if err != nil { return err } + s.Say(fmt.Sprintf("Server Instance is terminating. Server InstanceNo is %s", serverInstanceNo)) c1 := make(chan error, 1) go func() { - reqParams := new(server.GetServerInstanceListRequest) - reqParams.ServerInstanceNoList = []*string{&serverInstanceNo} + reqParams := &server.GetServerInstanceListRequest{ + ServerInstanceNoList: []*string{&serverInstanceNo}, + } for { - serverInstanceList, err := s.Conn.server.V2Api.GetServerInstanceList(reqParams) if err != nil { c1 <- err @@ -55,22 +66,67 @@ func (s *StepTerminateServerInstance) terminateServerInstance(serverInstanceNo s return } + log.Printf("Wating for terminating server instance [%s] is %s\n", serverInstanceNo, *serverInstanceList.ServerInstanceList[0].ServerInstanceStatus.Code) time.Sleep(time.Second * 3) } }() select { case res := <-c1: + s.Say(fmt.Sprintf("Server Instance terminated. Server InstanceNo is %s", serverInstanceNo)) return res case <-time.After(time.Second * 60): return errors.New("TIMEOUT : Can't terminate server instance") } } +func (s *StepTerminateServerInstance) terminateVpcServerInstance(serverInstanceNo string) error { + reqParams := &vserver.TerminateServerInstancesRequest{ + ServerInstanceNoList: []*string{&serverInstanceNo}, + } + + _, err := s.Conn.vserver.V2Api.TerminateServerInstances(reqParams) + if err != nil { + return err + } + s.Say(fmt.Sprintf("Server Instance is terminating. Server InstanceNo is %s", serverInstanceNo)) + + c1 := make(chan error, 1) + + go func() { + reqParams := &vserver.GetServerInstanceListRequest{ + RegionCode: &s.Config.RegionCode, + ServerInstanceNoList: []*string{&serverInstanceNo}, + } + + for { + serverInstanceList, err := s.Conn.vserver.V2Api.GetServerInstanceList(reqParams) + if err != nil { + c1 <- err + return + } else if *serverInstanceList.TotalRows == 0 { + c1 <- nil + return + } + + log.Printf("Wating for terminating server instance [%s] is %s\n", serverInstanceNo, *serverInstanceList.ServerInstanceList[0].ServerInstanceStatus.Code) + time.Sleep(time.Second * 3) + } + }() + + select { + case res := <-c1: + s.Say(fmt.Sprintf("Server Instance terminated. Server InstanceNo is %s", serverInstanceNo)) + return res + case <-time.After(time.Second * 120): + return errors.New("TIMEOUT : Can't terminate server instance") + } +} + func (s *StepTerminateServerInstance) Run(ctx context.Context, state multistep.StateBag) multistep.StepAction { s.Say("Terminate Server Instance") - var serverInstanceNo = state.Get("InstanceNo").(string) + var serverInstanceNo = state.Get("instance_no").(string) err := s.TerminateServerInstance(serverInstanceNo) diff --git a/builder/ncloud/step_terminate_server_instance_test.go b/builder/ncloud/step_terminate_server_instance_test.go index e06a69b90..1c9b78b06 100644 --- a/builder/ncloud/step_terminate_server_instance_test.go +++ b/builder/ncloud/step_terminate_server_instance_test.go @@ -23,7 +23,7 @@ func TestStepTerminateServerInstanceShouldFailIfOperationTerminationFails(t *tes t.Fatalf("Expected the step to return 'ActionHalt', but got '%d'.", result) } - if _, ok := stateBag.GetOk("Error"); ok == false { + if _, ok := stateBag.GetOk("error"); ok == false { t.Fatal("Expected the step to set stateBag['Error'], but it was not.") } } @@ -43,7 +43,7 @@ func TestStepTerminateServerInstanceShouldPassIfOperationTerminationPasses(t *te t.Fatalf("Expected the step to return 'ActionContinue', but got '%d'.", result) } - if _, ok := stateBag.GetOk("Error"); ok == true { + if _, ok := stateBag.GetOk("error"); ok == true { t.Fatalf("Expected the step to not set stateBag['Error'], but it was.") } } @@ -51,6 +51,6 @@ func TestStepTerminateServerInstanceShouldPassIfOperationTerminationPasses(t *te func createTestStateBagStepTerminateServerInstance() multistep.StateBag { stateBag := new(multistep.BasicStateBag) - stateBag.Put("InstanceNo", "a") + stateBag.Put("instance_no", "a") return stateBag } diff --git a/builder/ncloud/step_validate_template.go b/builder/ncloud/step_validate_template.go index 9dc85a95b..0ff0a8a75 100644 --- a/builder/ncloud/step_validate_template.go +++ b/builder/ncloud/step_validate_template.go @@ -5,6 +5,8 @@ import ( "context" "errors" "fmt" + "github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc" + "github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver" "strings" "github.com/NaverCloudPlatform/ncloud-sdk-go-v2/ncloud" @@ -16,14 +18,20 @@ import ( //StepValidateTemplate : struct for Validation a template type StepValidateTemplate struct { - Conn *NcloudAPIClient - Validate func() error - Say func(message string) - Error func(e error) - Config *Config - zoneNo string - regionNo string - FeeSystemTypeCode string + Conn *NcloudAPIClient + Validate func() error + getZone func() error + getMemberServerImageList func() ([]*server.MemberServerImage, error) + getServerImageProductList func() ([]*server.Product, error) + getServerProductList func(serverImageProductCode string) ([]*server.Product, error) + Say func(message string) + Error func(e error) + Config *Config + zoneNo string + zoneCode string + regionNo string + regionCode string + FeeSystemTypeCode string } // NewStepValidateTemplate : function for Validation a template @@ -35,6 +43,18 @@ func NewStepValidateTemplate(conn *NcloudAPIClient, ui packersdk.Ui, config *Con Config: config, } + if config.SupportVPC { + step.getZone = step.getZoneCode + step.getMemberServerImageList = step.getVpcMemberServerImageList + step.getServerImageProductList = step.getVpcServerImageProductList + step.getServerProductList = step.getVpcServerProductList + } else { + step.getZone = step.getZoneNo + step.getMemberServerImageList = step.getClassicMemberServerImageList + step.getServerImageProductList = step.getClassicServerImageProductList + step.getServerProductList = step.getClassicServerProductList + } + step.Validate = step.validateTemplate return step @@ -51,21 +71,19 @@ func (s *StepValidateTemplate) getZoneNo() error { return err } - var regionNo string for _, region := range regionList.RegionList { if strings.EqualFold(*region.RegionName, s.Config.Region) { - regionNo = *region.RegionNo + s.regionNo = *region.RegionNo + s.regionCode = *region.RegionCode } } - if regionNo == "" { + if s.regionNo == "" { return fmt.Errorf("region %s is invalid", s.Config.Region) } - s.regionNo = regionNo - // Get ZoneNo - resp, err := s.Conn.server.V2Api.GetZoneList(&server.GetZoneListRequest{RegionNo: ®ionNo}) + resp, err := s.Conn.server.V2Api.GetZoneList(&server.GetZoneListRequest{RegionNo: &s.regionNo}) if err != nil { return err } @@ -77,19 +95,51 @@ func (s *StepValidateTemplate) getZoneNo() error { return nil } -func (s *StepValidateTemplate) validateMemberServerImage() error { +// getZoneCode : get zoneCode +func (s *StepValidateTemplate) getZoneCode() error { + if s.Config.Region == "" { + return nil + } + + regionList, err := s.Conn.vserver.V2Api.GetRegionList(&vserver.GetRegionListRequest{}) + if err != nil { + return err + } + + for _, region := range regionList.RegionList { + if strings.EqualFold(*region.RegionName, s.Config.Region) { + s.regionCode = *region.RegionCode + s.Config.RegionCode = *region.RegionCode + } + } + + if s.regionCode == "" { + return fmt.Errorf("region %s is invalid", s.Config.Region) + } + + // Get ZoneNo + resp, err := s.Conn.vserver.V2Api.GetZoneList(&vserver.GetZoneListRequest{RegionCode: &s.regionCode}) + if err != nil { + return err + } + + if len(resp.ZoneList) > 0 { + s.zoneCode = *resp.ZoneList[0].ZoneCode + } + + return nil +} + +func (s *StepValidateTemplate) validateMemberServerImage(fnGetServerImageList func() ([]*server.MemberServerImage, error)) error { var serverImageName = s.Config.ServerImageName - reqParams := new(server.GetMemberServerImageListRequest) - reqParams.RegionNo = &s.regionNo - - memberServerImageList, err := s.Conn.server.V2Api.GetMemberServerImageList(reqParams) + memberServerImageList, err := fnGetServerImageList() if err != nil { return err } var isExistMemberServerImageNo = false - for _, image := range memberServerImageList.MemberServerImageList { + for _, image := range memberServerImageList { // Check duplicate server_image_name if *image.MemberServerImageName == serverImageName { return fmt.Errorf("server_image_name %s is exists", serverImageName) @@ -112,16 +162,84 @@ func (s *StepValidateTemplate) validateMemberServerImage() error { return nil } +func (s *StepValidateTemplate) getClassicMemberServerImageList() ([]*server.MemberServerImage, error) { + reqParams := &server.GetMemberServerImageListRequest{ + RegionNo: &s.regionNo, + } + + resp, err := s.Conn.server.V2Api.GetMemberServerImageList(reqParams) + if err != nil { + return nil, err + } + + return resp.MemberServerImageList, nil +} + +func (s *StepValidateTemplate) getVpcMemberServerImageList() ([]*server.MemberServerImage, error) { + reqParams := &vserver.GetMemberServerImageInstanceListRequest{ + RegionCode: &s.regionCode, + } + + memberServerImageList, err := s.Conn.vserver.V2Api.GetMemberServerImageInstanceList(reqParams) + if err != nil { + return nil, err + } + + var results []*server.MemberServerImage + for _, r := range memberServerImageList.MemberServerImageInstanceList { + results = append(results, &server.MemberServerImage{ + MemberServerImageNo: r.MemberServerImageInstanceNo, + MemberServerImageName: r.MemberServerImageName, + MemberServerImageDescription: r.MemberServerImageDescription, + OriginalServerInstanceNo: r.OriginalServerInstanceNo, + OriginalServerProductCode: r.OriginalServerImageProductCode, + }) + } + + return results, nil +} + +func (s *StepValidateTemplate) getClassicServerImageProductList() ([]*server.Product, error) { + reqParams := &server.GetServerImageProductListRequest{ + RegionNo: &s.regionNo, + } + + resp, err := s.Conn.server.V2Api.GetServerImageProductList(reqParams) + if err != nil { + return nil, err + } + + return resp.ProductList, nil +} + +func (s *StepValidateTemplate) getVpcServerImageProductList() ([]*server.Product, error) { + reqParams := &vserver.GetServerImageProductListRequest{ + RegionCode: &s.regionCode, + } + + resp, err := s.Conn.vserver.V2Api.GetServerImageProductList(reqParams) + if err != nil { + return nil, err + } + + var results []*server.Product + for _, r := range resp.ProductList { + results = append(results, &server.Product{ + ProductCode: r.ProductCode, + ProductName: r.ProductName, + }) + } + + return results, nil +} + func (s *StepValidateTemplate) validateServerImageProduct() error { var serverImageProductCode = s.Config.ServerImageProductCode if serverImageProductCode == "" { return nil } - reqParams := new(server.GetServerImageProductListRequest) - reqParams.RegionNo = &s.regionNo - - serverImageProductList, err := s.Conn.server.V2Api.GetServerImageProductList(reqParams) + serverImageProductList, err := s.getServerImageProductList() if err != nil { return err } @@ -132,7 +250,7 @@ func (s *StepValidateTemplate) validateServerImageProduct() error { table := tablewriter.NewWriter(&buf) table.SetHeader([]string{"Name", "Code"}) - for _, product := range serverImageProductList.ProductList { + for _, product := range serverImageProductList { // Check exist server image product code if *product.ProductCode == serverImageProductCode { isExistServerImage = true @@ -143,26 +261,6 @@ func (s *StepValidateTemplate) validateServerImageProduct() error { table.Append([]string{*product.ProductName, *product.ProductCode}) } - if !isExistServerImage { - reqParams.BlockStorageSize = ncloud.Int32(100) - - serverImageProductList, err := s.Conn.server.V2Api.GetServerImageProductList(reqParams) - if err != nil { - return err - } - - for _, product := range serverImageProductList.ProductList { - // Check exist server image product code - if *product.ProductCode == serverImageProductCode { - isExistServerImage = true - productName = *product.ProductName - break - } - - table.Append([]string{*product.ProductName, *product.ProductCode}) - } - } - if !isExistServerImage { table.Render() s.Say(buf.String()) @@ -177,21 +275,63 @@ func (s *StepValidateTemplate) validateServerImageProduct() error { return nil } +func (s *StepValidateTemplate) getClassicServerProductList(serverImageProductCode string) ([]*server.Product, error) { + reqParams := &server.GetServerProductListRequest{ + ServerImageProductCode: &serverImageProductCode, + RegionNo: &s.regionNo, + } + + resp, err := s.Conn.server.V2Api.GetServerProductList(reqParams) + + if err != nil { + return nil, err + } + + return resp.ProductList, nil +} + +func (s *StepValidateTemplate) getVpcServerProductList(serverImageProductCode string) ([]*server.Product, error) { + reqParams := &vserver.GetServerProductListRequest{ + ServerImageProductCode: &serverImageProductCode, + RegionCode: &s.regionCode, + } + + resp, err := s.Conn.vserver.V2Api.GetServerProductList(reqParams) + + if err != nil { + return nil, err + } + + var results []*server.Product + for _, r := range resp.ProductList { + results = append(results, &server.Product{ + ProductCode: r.ProductCode, + ProductName: r.ProductName, + ProductType: &server.CommonCode{ + Code: r.ProductType.Code, + CodeName: r.ProductType.CodeName, + }, + }) + } + + return results, nil +} + func (s *StepValidateTemplate) validateServerProductCode() error { var serverImageProductCode = s.Config.ServerImageProductCode var productCode = s.Config.ServerProductCode - reqParams := new(server.GetServerProductListRequest) - reqParams.ServerImageProductCode = &serverImageProductCode - reqParams.RegionNo = &s.regionNo - - resp, err := s.Conn.server.V2Api.GetServerProductList(reqParams) + productList, err := s.getServerProductList(serverImageProductCode) if err != nil { return err } + if productCode == "" { + return nil + } + var isExistProductCode = false - for _, product := range resp.ProductList { + for _, product := range productList { // Check exist server image product code if *product.ProductCode == productCode { isExistProductCode = true @@ -203,11 +343,6 @@ func (s *StepValidateTemplate) validateServerProductCode() error { return errors.New("You cannot create my server image for VDS servers") } - break - } else if productCode == "" && *product.ProductType.Code == "STAND" { - isExistProductCode = true - s.Config.ServerProductCode = *product.ProductCode - s.Say("server_product_code '" + *product.ProductCode + "' is configured automatically") break } } @@ -216,7 +351,7 @@ func (s *StepValidateTemplate) validateServerProductCode() error { var buf bytes.Buffer table := tablewriter.NewWriter(&buf) table.SetHeader([]string{"Name", "Code"}) - for _, product := range resp.ProductList { + for _, product := range productList { table.Append([]string{*product.ProductName, *product.ProductCode}) } table.Render() @@ -229,15 +364,78 @@ func (s *StepValidateTemplate) validateServerProductCode() error { return nil } +func (s *StepValidateTemplate) validateVpc() error { + if !s.Config.SupportVPC { + return nil + } + + if s.Config.VpcNo != "" { + reqParam := &vpc.GetVpcDetailRequest{ + RegionCode: &s.Config.RegionCode, + VpcNo: &s.Config.VpcNo, + } + + resp, err := s.Conn.vpc.V2Api.GetVpcDetail(reqParam) + if err != nil { + return err + } + + if resp == nil || *resp.TotalRows == 0 { + return fmt.Errorf("cloud not found VPC `vpc_no` [%s]", s.Config.VpcNo) + } + } + + if s.Config.SubnetNo != "" { + reqParam := &vpc.GetSubnetDetailRequest{ + RegionCode: &s.Config.RegionCode, + SubnetNo: &s.Config.SubnetNo, + } + + resp, err := s.Conn.vpc.V2Api.GetSubnetDetail(reqParam) + if err != nil { + return err + } + + if resp != nil && *resp.TotalRows > 0 && *resp.SubnetList[0].SubnetType.Code == "PUBLIC" { + s.Config.VpcNo = *resp.SubnetList[0].VpcNo + s.Say("Set `vpc_no` is " + s.Config.VpcNo) + } else { + return fmt.Errorf("cloud not found public subnet in `subnet_no` [%s]", s.Config.SubnetNo) + } + } + + if s.Config.VpcNo != "" && s.Config.SubnetNo == "" { + reqParam := &vpc.GetSubnetListRequest{ + RegionCode: &s.Config.RegionCode, + VpcNo: &s.Config.VpcNo, + SubnetTypeCode: ncloud.String("PUBLIC"), + } + + resp, err := s.Conn.vpc.V2Api.GetSubnetList(reqParam) + if err != nil { + return err + } + + if resp != nil && *resp.TotalRows > 0 { + s.Config.SubnetNo = *resp.SubnetList[0].SubnetNo + s.Say("Set `subnet_no` is " + s.Config.SubnetNo) + } else { + return fmt.Errorf("cloud not found public subnet in `vpc_no` [%s]", s.Config.VpcNo) + } + } + + return nil +} + // Check ImageName / Product Code / Server Image Product Code / Server Product Code... func (s *StepValidateTemplate) validateTemplate() error { // Get RegionNo, ZoneNo - if err := s.getZoneNo(); err != nil { + if err := s.getZone(); err != nil { return err } // Validate member_server_image_no and member_server_image_no - if err := s.validateMemberServerImage(); err != nil { + if err := s.validateMemberServerImage(s.getMemberServerImageList); err != nil { return err } @@ -246,6 +444,11 @@ func (s *StepValidateTemplate) validateTemplate() error { return err } + // Validate VPC + if err := s.validateVpc(); err != nil { + return err + } + // Validate server_product_code return s.validateServerProductCode() } @@ -256,10 +459,10 @@ func (s *StepValidateTemplate) Run(ctx context.Context, state multistep.StateBag err := s.Validate() - state.Put("ZoneNo", s.zoneNo) + state.Put("zone_no", s.zoneNo) if s.FeeSystemTypeCode != "" { - state.Put("FeeSystemTypeCode", s.FeeSystemTypeCode) + state.Put("fee_system_type_code", s.FeeSystemTypeCode) } return processStepResult(err, s.Error, state) diff --git a/builder/ncloud/step_validate_template_test.go b/builder/ncloud/step_validate_template_test.go index 1641715e3..09ade7a71 100644 --- a/builder/ncloud/step_validate_template_test.go +++ b/builder/ncloud/step_validate_template_test.go @@ -23,7 +23,7 @@ func TestStepValidateTemplateShouldFailIfValidateFails(t *testing.T) { t.Fatalf("Expected the step to return 'ActionHalt', but got '%d'.", result) } - if _, ok := stateBag.GetOk("Error"); ok == false { + if _, ok := stateBag.GetOk("error"); ok == false { t.Fatal("Expected the step to set stateBag['Error'], but it was not.") } } @@ -43,7 +43,7 @@ func TestStepValidateTemplateShouldPassIfValidatePasses(t *testing.T) { t.Fatalf("Expected the step to return 'ActionContinue', but got '%d'.", result) } - if _, ok := stateBag.GetOk("Error"); ok == true { + if _, ok := stateBag.GetOk("error"); ok == true { t.Fatalf("Expected the step to not set stateBag['Error'], but it was.") } } diff --git a/builder/ncloud/waiter_block_storage_instance.go b/builder/ncloud/waiter_block_storage_instance.go index d13dbe3a6..6a0109dda 100644 --- a/builder/ncloud/waiter_block_storage_instance.go +++ b/builder/ncloud/waiter_block_storage_instance.go @@ -2,15 +2,17 @@ package ncloud import ( "fmt" + "github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver" "log" "time" "github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server" ) -func waiterBlockStorageInstanceStatus(conn *NcloudAPIClient, blockStorageInstanceNo *string, status string, timeout time.Duration) error { - reqParams := new(server.GetBlockStorageInstanceListRequest) - reqParams.BlockStorageInstanceNoList = []*string{blockStorageInstanceNo} +func waiterClassicBlockStorageStatus(conn *NcloudAPIClient, blockStorageInstanceNo *string, status string, timeout time.Duration) error { + reqParams := &server.GetBlockStorageInstanceListRequest{ + BlockStorageInstanceNoList: []*string{blockStorageInstanceNo}, + } c1 := make(chan error, 1) @@ -49,12 +51,54 @@ func waiterBlockStorageInstanceStatus(conn *NcloudAPIClient, blockStorageInstanc } } -func waiterDetachedBlockStorageInstance(conn *NcloudAPIClient, serverInstanceNo string, timeout time.Duration) error { - reqParams := new(server.GetBlockStorageInstanceListRequest) - reqParams.ServerInstanceNo = &serverInstanceNo +func waiterVpcBlockStorageStatus(conn *NcloudAPIClient, blockStorageInstanceNo *string, status string, timeout time.Duration) error { + reqParams := &vserver.GetBlockStorageInstanceListRequest{ + BlockStorageInstanceNoList: []*string{blockStorageInstanceNo}, + } c1 := make(chan error, 1) + go func() { + for { + blockStorageInstanceList, err := conn.vserver.V2Api.GetBlockStorageInstanceList(reqParams) + if err != nil { + c1 <- err + return + } + + if status == "DETAC" && len(blockStorageInstanceList.BlockStorageInstanceList) == 0 { + c1 <- nil + return + } + + blockStorageInstance := blockStorageInstanceList.BlockStorageInstanceList[0] + code := blockStorageInstance.BlockStorageInstanceStatus.Code + operationCode := blockStorageInstance.BlockStorageInstanceOperation.Code + + if *code == status && *operationCode == "NULL" { + c1 <- nil + return + } + + log.Println(blockStorageInstance) + time.Sleep(time.Second * 5) + } + }() + + select { + case res := <-c1: + return res + case <-time.After(timeout): + return fmt.Errorf("TIMEOUT : block storage instance status is not changed into status %s", status) + } +} + +func waiterClassicDetachedBlockStorage(conn *NcloudAPIClient, serverInstanceNo string, timeout time.Duration) error { + reqParams := &server.GetBlockStorageInstanceListRequest{ + ServerInstanceNo: &serverInstanceNo, + } + c1 := make(chan error, 1) + go func() { for { blockStorageInstanceList, err := conn.server.V2Api.GetBlockStorageInstanceList(reqParams) @@ -79,3 +123,34 @@ func waiterDetachedBlockStorageInstance(conn *NcloudAPIClient, serverInstanceNo return fmt.Errorf("TIMEOUT : attached block storage instance is not detached") } } + +func waiterVpcDetachedBlockStorage(conn *NcloudAPIClient, serverInstanceNo string, timeout time.Duration) error { + reqParams := &vserver.GetBlockStorageInstanceListRequest{ + ServerInstanceNo: &serverInstanceNo, + } + c1 := make(chan error, 1) + + go func() { + for { + blockStorageInstanceList, err := conn.vserver.V2Api.GetBlockStorageInstanceList(reqParams) + if err != nil { + c1 <- err + return + } + + if *blockStorageInstanceList.TotalRows == 1 { + c1 <- nil + return + } + + time.Sleep(time.Second * 5) + } + }() + + select { + case res := <-c1: + return res + case <-time.After(timeout): + return fmt.Errorf("TIMEOUT : attached block storage instance is not detached") + } +} diff --git a/builder/ncloud/waiter_server_image_status.go b/builder/ncloud/waiter_server_image_status.go index 76f6712d0..1a281012f 100644 --- a/builder/ncloud/waiter_server_image_status.go +++ b/builder/ncloud/waiter_server_image_status.go @@ -2,15 +2,17 @@ package ncloud import ( "fmt" + "github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver" "log" "time" "github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server" ) -func waiterMemberServerImageStatus(conn *NcloudAPIClient, memberServerImageNo string, status string, timeout time.Duration) error { - reqParams := new(server.GetMemberServerImageListRequest) - reqParams.MemberServerImageNoList = []*string{&memberServerImageNo} +func waiterClassicMemberServerImageStatus(conn *NcloudAPIClient, memberServerImageNo string, status string, timeout time.Duration) error { + reqParams := &server.GetMemberServerImageListRequest{ + MemberServerImageNoList: []*string{&memberServerImageNo}, + } c1 := make(chan error, 1) @@ -29,7 +31,40 @@ func waiterMemberServerImageStatus(conn *NcloudAPIClient, memberServerImageNo st } log.Printf("Status of member server image [%s] is %s\n", memberServerImageNo, *code) - log.Println(memberServerImageList.MemberServerImageList[0]) + time.Sleep(time.Second * 5) + } + }() + + select { + case res := <-c1: + return res + case <-time.After(timeout): + return fmt.Errorf("TIMEOUT : member server image status is not changed into status %s", status) + } +} + +func waiterVpcMemberServerImageStatus(conn *NcloudAPIClient, memberServerImageNo string, status string, timeout time.Duration) error { + reqParams := &vserver.GetMemberServerImageInstanceDetailRequest{ + MemberServerImageInstanceNo: &memberServerImageNo, + } + + c1 := make(chan error, 1) + + go func() { + for { + memberServerImageList, err := conn.vserver.V2Api.GetMemberServerImageInstanceDetail(reqParams) + if err != nil { + c1 <- err + return + } + + code := memberServerImageList.MemberServerImageInstanceList[0].MemberServerImageInstanceStatus.Code + if *code == status { + c1 <- nil + return + } + + log.Printf("Status of member server image [%s] is %s\n", memberServerImageNo, *code) time.Sleep(time.Second * 5) } }() diff --git a/builder/ncloud/waiter_server_instance_status.go b/builder/ncloud/waiter_server_instance_status.go index 30a050892..8f846cf37 100644 --- a/builder/ncloud/waiter_server_instance_status.go +++ b/builder/ncloud/waiter_server_instance_status.go @@ -2,13 +2,14 @@ package ncloud import ( "fmt" + "github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver" "log" "time" "github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server" ) -func waiterServerInstanceStatus(conn *NcloudAPIClient, serverInstanceNo string, status string, timeout time.Duration) error { +func waiterClassicServerInstanceStatus(conn *NcloudAPIClient, serverInstanceNo string, status string, timeout time.Duration) error { reqParams := new(server.GetServerInstanceListRequest) reqParams.ServerInstanceNoList = []*string{&serverInstanceNo} @@ -29,7 +30,40 @@ func waiterServerInstanceStatus(conn *NcloudAPIClient, serverInstanceNo string, } log.Printf("Status of serverInstanceNo [%s] is %s\n", serverInstanceNo, *code) - log.Println(serverInstanceList.ServerInstanceList[0]) + time.Sleep(time.Second * 5) + } + }() + + select { + case res := <-c1: + return res + case <-time.After(timeout): + return fmt.Errorf("TIMEOUT : server instance status is not changed into status %s", status) + } +} + +func waiterVpcServerInstanceStatus(conn *NcloudAPIClient, serverInstanceNo string, status string, timeout time.Duration) error { + reqParams := &vserver.GetServerInstanceDetailRequest{ + ServerInstanceNo: &serverInstanceNo, + } + + c1 := make(chan error, 1) + + go func() { + for { + serverInstanceList, err := conn.vserver.V2Api.GetServerInstanceDetail(reqParams) + if err != nil { + c1 <- err + return + } + + code := serverInstanceList.ServerInstanceList[0].ServerInstanceStatus.Code + if *code == status { + c1 <- nil + return + } + + log.Printf("Status of serverInstanceNo [%s] is %s\n", serverInstanceNo, *code) time.Sleep(time.Second * 5) } }() diff --git a/go.mod b/go.mod index 8e63daf14..d1602e83c 100644 --- a/go.mod +++ b/go.mod @@ -11,7 +11,7 @@ require ( github.com/Azure/go-autorest/autorest/date v0.2.0 github.com/Azure/go-autorest/autorest/to v0.3.0 github.com/ChrisTrenkamp/goxpath v0.0.0-20170922090931-c385f95c6022 - github.com/NaverCloudPlatform/ncloud-sdk-go-v2 v1.1.0 + github.com/NaverCloudPlatform/ncloud-sdk-go-v2 v1.1.7 github.com/Telmate/proxmox-api-go v0.0.0-20200715182505-ec97c70ba887 github.com/aliyun/alibaba-cloud-sdk-go v0.0.0-20190418113227-25233c783f4e github.com/aliyun/aliyun-oss-go-sdk v0.0.0-20170113022742-e6dbea820a9f diff --git a/go.sum b/go.sum index 3f51c4032..c27efbbf9 100644 --- a/go.sum +++ b/go.sum @@ -81,6 +81,8 @@ github.com/ChrisTrenkamp/goxpath v0.0.0-20170922090931-c385f95c6022/go.mod h1:nu github.com/DataDog/datadog-go v2.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/NaverCloudPlatform/ncloud-sdk-go-v2 v1.1.0 h1:0nxjOH7NurPGUWNG5BCrASWjB0uuhGbgJAKLqj2ZDTo= github.com/NaverCloudPlatform/ncloud-sdk-go-v2 v1.1.0/go.mod h1:P+3VS0ETiQPyWOx3vB/oeC8J3qd7jnVZLYAFwWgGRt8= +github.com/NaverCloudPlatform/ncloud-sdk-go-v2 v1.1.7 h1:Kpnbe19WkzVPpLLdAus4LkpNJ+pzLpfAViOUuvPcCqA= +github.com/NaverCloudPlatform/ncloud-sdk-go-v2 v1.1.7/go.mod h1:P+3VS0ETiQPyWOx3vB/oeC8J3qd7jnVZLYAFwWgGRt8= github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d h1:G0m3OIz70MZUWq3EgK3CesDbo8upS2Vm9/P3FtgI+Jk= github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= github.com/Telmate/proxmox-api-go v0.0.0-20200715182505-ec97c70ba887 h1:Q65o4V0g/KR1sSUZIMf4m1rShb7f1tVHuEt30hfnh2A= diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server/change_block_storage_volume_size_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server/change_block_storage_volume_size_request.go new file mode 100644 index 000000000..ae3f0eb6a --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server/change_block_storage_volume_size_request.go @@ -0,0 +1,18 @@ +/* + * server + * + *
https://ncloud.apigw.ntruss.com/server/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package server + +type ChangeBlockStorageVolumeSizeRequest struct { + + // 블록스토리지인스턴스번호 +BlockStorageInstanceNo *string `json:"blockStorageInstanceNo"` + + // 블록스토리지사이즈 +BlockStorageSize *int64 `json:"blockStorageSize"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server/change_block_storage_volume_size_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server/change_block_storage_volume_size_response.go new file mode 100644 index 000000000..348ce391b --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server/change_block_storage_volume_size_response.go @@ -0,0 +1,22 @@ +/* + * server + * + *
https://ncloud.apigw.ntruss.com/server/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package server + +type ChangeBlockStorageVolumeSizeResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +BlockStorageInstanceList []*BlockStorageInstance `json:"blockStorageInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server/get_init_script_list_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server/get_init_script_list_request.go new file mode 100644 index 000000000..b95872394 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server/get_init_script_list_request.go @@ -0,0 +1,12 @@ +/* + * server + * + *
https://ncloud.apigw.ntruss.com/server/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package server + +type GetInitScriptListRequest struct { +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server/get_init_script_list_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server/get_init_script_list_response.go new file mode 100644 index 000000000..664dd4286 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server/get_init_script_list_response.go @@ -0,0 +1,22 @@ +/* + * server + * + *
https://ncloud.apigw.ntruss.com/server/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package server + +type GetInitScriptListResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +InitScriptList []*InitScript `json:"initScriptList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server/get_root_password_server_instance_list_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server/get_root_password_server_instance_list_request.go new file mode 100644 index 000000000..a193ac75c --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server/get_root_password_server_instance_list_request.go @@ -0,0 +1,15 @@ +/* + * server + * + *
https://ncloud.apigw.ntruss.com/server/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package server + +type GetRootPasswordServerInstanceListRequest struct { + + // 인스턴스태그리스트 +RootPasswordServerInstanceList []*RootPasswordServerInstanceParameter `json:"rootPasswordServerInstanceList"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server/get_root_password_server_instance_list_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server/get_root_password_server_instance_list_response.go new file mode 100644 index 000000000..8767e2083 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server/get_root_password_server_instance_list_response.go @@ -0,0 +1,22 @@ +/* + * server + * + *
https://ncloud.apigw.ntruss.com/server/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package server + +type GetRootPasswordServerInstanceListResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +RootPasswordServerInstanceList []*RootPasswordServerInstance `json:"rootPasswordServerInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server/init_script.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server/init_script.go new file mode 100644 index 000000000..c589cd53d --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server/init_script.go @@ -0,0 +1,30 @@ +/* + * server + * + *
https://ncloud.apigw.ntruss.com/server/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package server + +type InitScript struct { + + // 초기화스크립트번호 +InitScriptNo *string `json:"initScriptNo,omitempty"` + + // 초기화스크립트명 +InitScriptName *string `json:"initScriptName,omitempty"` + + // 생성일자 +CreateDate *string `json:"createDate,omitempty"` + + // 초기화스크립트설명 +InitScriptDescription *string `json:"initScriptDescription,omitempty"` + + // 초기화스크립트내용 +InitScriptContent *string `json:"initScriptContent,omitempty"` + + // OS구분 +OsType *CommonCode `json:"osType,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server/replace_server_instance_associated_with_public_ip_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server/replace_server_instance_associated_with_public_ip_request.go new file mode 100644 index 000000000..b545e0be8 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server/replace_server_instance_associated_with_public_ip_request.go @@ -0,0 +1,18 @@ +/* + * server + * + *
https://ncloud.apigw.ntruss.com/server/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package server + +type ReplaceServerInstanceAssociatedWithPublicIpRequest struct { + + // 공인IP인스턴스번호 +PublicIpInstanceNo *string `json:"publicIpInstanceNo"` + + // 서버인스턴스번호 +ServerInstanceNo *string `json:"serverInstanceNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server/replace_server_instance_associated_with_public_ip_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server/replace_server_instance_associated_with_public_ip_response.go new file mode 100644 index 000000000..104b117f4 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server/replace_server_instance_associated_with_public_ip_response.go @@ -0,0 +1,22 @@ +/* + * server + * + *
https://ncloud.apigw.ntruss.com/server/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package server + +type ReplaceServerInstanceAssociatedWithPublicIpResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +PublicIpInstanceList []*PublicIpInstance `json:"publicIpInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server/root_password_server_instance.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server/root_password_server_instance.go new file mode 100644 index 000000000..6251967dc --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server/root_password_server_instance.go @@ -0,0 +1,18 @@ +/* + * server + * + *
https://ncloud.apigw.ntruss.com/server/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package server + +type RootPasswordServerInstance struct { + + // 서버인스턴스번호 +ServerInstanceNo *string `json:"serverInstanceNo,omitempty"` + + // 루트패스워드 +RootPassword *string `json:"rootPassword,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server/root_password_server_instance_parameter.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server/root_password_server_instance_parameter.go new file mode 100644 index 000000000..f382c53b2 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server/root_password_server_instance_parameter.go @@ -0,0 +1,18 @@ +/* + * server + * + *
https://ncloud.apigw.ntruss.com/server/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package server + +type RootPasswordServerInstanceParameter struct { + + // 서버인스턴스번호 +ServerInstanceNo *string `json:"serverInstanceNo,omitempty"` + + // 사설키 +PrivateKey *string `json:"privateKey,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/.travis.yml b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/.travis.yml new file mode 100644 index 000000000..f5cb2ce9a --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/.travis.yml @@ -0,0 +1,8 @@ +language: go + +install: + - go get -d -v . + +script: + - go build -v ./ + diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/LICENSE b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/LICENSE new file mode 100644 index 000000000..12c4d078c --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/LICENSE @@ -0,0 +1,7 @@ +Copyright 2018 NAVER BUSINESS PLATFORM Corp. + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/README.md b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/README.md new file mode 100644 index 000000000..f9e07135b --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/README.md @@ -0,0 +1,163 @@ +# Go API client for vpc + + VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + +## Overview +This API client was generated by the [swagger-codegen](https://github.com/swagger-api/swagger-codegen) project. By using the [swagger-spec](https://github.com/swagger-api/swagger-spec) from a remote server, you can easily generate an API client. + +- API version: 2020-09-17T10:29:55Z +- Package version: 1.0.0 +- Build package: io.swagger.codegen.languages.NcpGoForNcloudClientCodegen + +## Installation +Put the package under your project folder and add the following in import: +``` +"./vpc" +``` + +## Documentation for API Endpoints + +All URIs are relative to *https://ncloud.apigw.ntruss.com/vpc/v2* + +Class | Method | HTTP request | Description +------------ | ------------- | ------------- | ------------- +*V2Api* | [**AcceptOrRejectVpcPeering**](docs/V2Api.md#acceptorrejectvpcpeering) | **Post** /acceptOrRejectVpcPeering | +*V2Api* | [**AddNetworkAclInboundRule**](docs/V2Api.md#addnetworkaclinboundrule) | **Post** /addNetworkAclInboundRule | +*V2Api* | [**AddNetworkAclOutboundRule**](docs/V2Api.md#addnetworkacloutboundrule) | **Post** /addNetworkAclOutboundRule | +*V2Api* | [**AddRoute**](docs/V2Api.md#addroute) | **Post** /addRoute | +*V2Api* | [**AddRouteTableSubnet**](docs/V2Api.md#addroutetablesubnet) | **Post** /addRouteTableSubnet | +*V2Api* | [**CreateNatGatewayInstance**](docs/V2Api.md#createnatgatewayinstance) | **Post** /createNatGatewayInstance | +*V2Api* | [**CreateNetworkAcl**](docs/V2Api.md#createnetworkacl) | **Post** /createNetworkAcl | +*V2Api* | [**CreateRouteTable**](docs/V2Api.md#createroutetable) | **Post** /createRouteTable | +*V2Api* | [**CreateSubnet**](docs/V2Api.md#createsubnet) | **Post** /createSubnet | +*V2Api* | [**CreateVpc**](docs/V2Api.md#createvpc) | **Post** /createVpc | +*V2Api* | [**CreateVpcPeeringInstance**](docs/V2Api.md#createvpcpeeringinstance) | **Post** /createVpcPeeringInstance | +*V2Api* | [**DeleteNatGatewayInstance**](docs/V2Api.md#deletenatgatewayinstance) | **Post** /deleteNatGatewayInstance | +*V2Api* | [**DeleteNetworkAcl**](docs/V2Api.md#deletenetworkacl) | **Post** /deleteNetworkAcl | +*V2Api* | [**DeleteRouteTable**](docs/V2Api.md#deleteroutetable) | **Post** /deleteRouteTable | +*V2Api* | [**DeleteSubnet**](docs/V2Api.md#deletesubnet) | **Post** /deleteSubnet | +*V2Api* | [**DeleteVpc**](docs/V2Api.md#deletevpc) | **Post** /deleteVpc | +*V2Api* | [**DeleteVpcPeeringInstance**](docs/V2Api.md#deletevpcpeeringinstance) | **Post** /deleteVpcPeeringInstance | +*V2Api* | [**GetNatGatewayInstanceDetail**](docs/V2Api.md#getnatgatewayinstancedetail) | **Post** /getNatGatewayInstanceDetail | +*V2Api* | [**GetNatGatewayInstanceList**](docs/V2Api.md#getnatgatewayinstancelist) | **Post** /getNatGatewayInstanceList | +*V2Api* | [**GetNetworkAclDetail**](docs/V2Api.md#getnetworkacldetail) | **Post** /getNetworkAclDetail | +*V2Api* | [**GetNetworkAclList**](docs/V2Api.md#getnetworkacllist) | **Post** /getNetworkAclList | +*V2Api* | [**GetNetworkAclRuleList**](docs/V2Api.md#getnetworkaclrulelist) | **Post** /getNetworkAclRuleList | +*V2Api* | [**GetRouteList**](docs/V2Api.md#getroutelist) | **Post** /getRouteList | +*V2Api* | [**GetRouteTableDetail**](docs/V2Api.md#getroutetabledetail) | **Post** /getRouteTableDetail | +*V2Api* | [**GetRouteTableList**](docs/V2Api.md#getroutetablelist) | **Post** /getRouteTableList | +*V2Api* | [**GetRouteTableSubnetList**](docs/V2Api.md#getroutetablesubnetlist) | **Post** /getRouteTableSubnetList | +*V2Api* | [**GetSubnetDetail**](docs/V2Api.md#getsubnetdetail) | **Post** /getSubnetDetail | +*V2Api* | [**GetSubnetList**](docs/V2Api.md#getsubnetlist) | **Post** /getSubnetList | +*V2Api* | [**GetVpcDetail**](docs/V2Api.md#getvpcdetail) | **Post** /getVpcDetail | +*V2Api* | [**GetVpcList**](docs/V2Api.md#getvpclist) | **Post** /getVpcList | +*V2Api* | [**GetVpcPeeringInstanceDetail**](docs/V2Api.md#getvpcpeeringinstancedetail) | **Post** /getVpcPeeringInstanceDetail | +*V2Api* | [**GetVpcPeeringInstanceList**](docs/V2Api.md#getvpcpeeringinstancelist) | **Post** /getVpcPeeringInstanceList | +*V2Api* | [**RemoveNetworkAclInboundRule**](docs/V2Api.md#removenetworkaclinboundrule) | **Post** /removeNetworkAclInboundRule | +*V2Api* | [**RemoveNetworkAclOutboundRule**](docs/V2Api.md#removenetworkacloutboundrule) | **Post** /removeNetworkAclOutboundRule | +*V2Api* | [**RemoveRoute**](docs/V2Api.md#removeroute) | **Post** /removeRoute | +*V2Api* | [**RemoveRouteTableSubnet**](docs/V2Api.md#removeroutetablesubnet) | **Post** /removeRouteTableSubnet | +*V2Api* | [**SetNatGatewayDescription**](docs/V2Api.md#setnatgatewaydescription) | **Post** /setNatGatewayDescription | +*V2Api* | [**SetNetworkAclDescription**](docs/V2Api.md#setnetworkacldescription) | **Post** /setNetworkAclDescription | +*V2Api* | [**SetRouteTableDescription**](docs/V2Api.md#setroutetabledescription) | **Post** /setRouteTableDescription | +*V2Api* | [**SetSubnetNetworkAcl**](docs/V2Api.md#setsubnetnetworkacl) | **Post** /setSubnetNetworkAcl | +*V2Api* | [**SetVpcPeeringDescription**](docs/V2Api.md#setvpcpeeringdescription) | **Post** /setVpcPeeringDescription | + + +## Documentation For Models + + - [AcceptOrRejectVpcPeeringRequest](docs/AcceptOrRejectVpcPeeringRequest.md) + - [AcceptOrRejectVpcPeeringResponse](docs/AcceptOrRejectVpcPeeringResponse.md) + - [AddNetworkAclInboundRuleRequest](docs/AddNetworkAclInboundRuleRequest.md) + - [AddNetworkAclInboundRuleResponse](docs/AddNetworkAclInboundRuleResponse.md) + - [AddNetworkAclOutboundRuleRequest](docs/AddNetworkAclOutboundRuleRequest.md) + - [AddNetworkAclOutboundRuleResponse](docs/AddNetworkAclOutboundRuleResponse.md) + - [AddNetworkAclRuleParameter](docs/AddNetworkAclRuleParameter.md) + - [AddRouteRequest](docs/AddRouteRequest.md) + - [AddRouteResponse](docs/AddRouteResponse.md) + - [AddRouteTableSubnetRequest](docs/AddRouteTableSubnetRequest.md) + - [AddRouteTableSubnetResponse](docs/AddRouteTableSubnetResponse.md) + - [CommonCode](docs/CommonCode.md) + - [CreateNatGatewayInstanceRequest](docs/CreateNatGatewayInstanceRequest.md) + - [CreateNatGatewayInstanceResponse](docs/CreateNatGatewayInstanceResponse.md) + - [CreateNetworkAclRequest](docs/CreateNetworkAclRequest.md) + - [CreateNetworkAclResponse](docs/CreateNetworkAclResponse.md) + - [CreateRouteTableRequest](docs/CreateRouteTableRequest.md) + - [CreateRouteTableResponse](docs/CreateRouteTableResponse.md) + - [CreateSubnetRequest](docs/CreateSubnetRequest.md) + - [CreateSubnetResponse](docs/CreateSubnetResponse.md) + - [CreateVpcPeeringInstanceRequest](docs/CreateVpcPeeringInstanceRequest.md) + - [CreateVpcPeeringInstanceResponse](docs/CreateVpcPeeringInstanceResponse.md) + - [CreateVpcRequest](docs/CreateVpcRequest.md) + - [CreateVpcResponse](docs/CreateVpcResponse.md) + - [DeleteNatGatewayInstanceRequest](docs/DeleteNatGatewayInstanceRequest.md) + - [DeleteNatGatewayInstanceResponse](docs/DeleteNatGatewayInstanceResponse.md) + - [DeleteNetworkAclRequest](docs/DeleteNetworkAclRequest.md) + - [DeleteNetworkAclResponse](docs/DeleteNetworkAclResponse.md) + - [DeleteRouteTableRequest](docs/DeleteRouteTableRequest.md) + - [DeleteRouteTableResponse](docs/DeleteRouteTableResponse.md) + - [DeleteSubnetRequest](docs/DeleteSubnetRequest.md) + - [DeleteSubnetResponse](docs/DeleteSubnetResponse.md) + - [DeleteVpcPeeringInstanceRequest](docs/DeleteVpcPeeringInstanceRequest.md) + - [DeleteVpcPeeringInstanceResponse](docs/DeleteVpcPeeringInstanceResponse.md) + - [DeleteVpcRequest](docs/DeleteVpcRequest.md) + - [DeleteVpcResponse](docs/DeleteVpcResponse.md) + - [GetNatGatewayInstanceDetailRequest](docs/GetNatGatewayInstanceDetailRequest.md) + - [GetNatGatewayInstanceDetailResponse](docs/GetNatGatewayInstanceDetailResponse.md) + - [GetNatGatewayInstanceListRequest](docs/GetNatGatewayInstanceListRequest.md) + - [GetNatGatewayInstanceListResponse](docs/GetNatGatewayInstanceListResponse.md) + - [GetNetworkAclDetailRequest](docs/GetNetworkAclDetailRequest.md) + - [GetNetworkAclDetailResponse](docs/GetNetworkAclDetailResponse.md) + - [GetNetworkAclListRequest](docs/GetNetworkAclListRequest.md) + - [GetNetworkAclListResponse](docs/GetNetworkAclListResponse.md) + - [GetNetworkAclRuleListRequest](docs/GetNetworkAclRuleListRequest.md) + - [GetNetworkAclRuleListResponse](docs/GetNetworkAclRuleListResponse.md) + - [GetRouteListRequest](docs/GetRouteListRequest.md) + - [GetRouteListResponse](docs/GetRouteListResponse.md) + - [GetRouteTableDetailRequest](docs/GetRouteTableDetailRequest.md) + - [GetRouteTableDetailResponse](docs/GetRouteTableDetailResponse.md) + - [GetRouteTableListRequest](docs/GetRouteTableListRequest.md) + - [GetRouteTableListResponse](docs/GetRouteTableListResponse.md) + - [GetRouteTableSubnetListRequest](docs/GetRouteTableSubnetListRequest.md) + - [GetRouteTableSubnetListResponse](docs/GetRouteTableSubnetListResponse.md) + - [GetSubnetDetailRequest](docs/GetSubnetDetailRequest.md) + - [GetSubnetDetailResponse](docs/GetSubnetDetailResponse.md) + - [GetSubnetListRequest](docs/GetSubnetListRequest.md) + - [GetSubnetListResponse](docs/GetSubnetListResponse.md) + - [GetVpcDetailRequest](docs/GetVpcDetailRequest.md) + - [GetVpcDetailResponse](docs/GetVpcDetailResponse.md) + - [GetVpcListRequest](docs/GetVpcListRequest.md) + - [GetVpcListResponse](docs/GetVpcListResponse.md) + - [GetVpcPeeringInstanceDetailRequest](docs/GetVpcPeeringInstanceDetailRequest.md) + - [GetVpcPeeringInstanceDetailResponse](docs/GetVpcPeeringInstanceDetailResponse.md) + - [GetVpcPeeringInstanceListRequest](docs/GetVpcPeeringInstanceListRequest.md) + - [GetVpcPeeringInstanceListResponse](docs/GetVpcPeeringInstanceListResponse.md) + - [NatGatewayInstance](docs/NatGatewayInstance.md) + - [NetworkAcl](docs/NetworkAcl.md) + - [NetworkAclRule](docs/NetworkAclRule.md) + - [RemoveNetworkAclInboundRuleRequest](docs/RemoveNetworkAclInboundRuleRequest.md) + - [RemoveNetworkAclInboundRuleResponse](docs/RemoveNetworkAclInboundRuleResponse.md) + - [RemoveNetworkAclOutboundRuleRequest](docs/RemoveNetworkAclOutboundRuleRequest.md) + - [RemoveNetworkAclOutboundRuleResponse](docs/RemoveNetworkAclOutboundRuleResponse.md) + - [RemoveNetworkAclRuleParameter](docs/RemoveNetworkAclRuleParameter.md) + - [RemoveRouteRequest](docs/RemoveRouteRequest.md) + - [RemoveRouteResponse](docs/RemoveRouteResponse.md) + - [RemoveRouteTableSubnetRequest](docs/RemoveRouteTableSubnetRequest.md) + - [RemoveRouteTableSubnetResponse](docs/RemoveRouteTableSubnetResponse.md) + - [Route](docs/Route.md) + - [RouteParameter](docs/RouteParameter.md) + - [RouteTable](docs/RouteTable.md) + - [SetNatGatewayDescriptionRequest](docs/SetNatGatewayDescriptionRequest.md) + - [SetNatGatewayDescriptionResponse](docs/SetNatGatewayDescriptionResponse.md) + - [SetNetworkAclDescriptionRequest](docs/SetNetworkAclDescriptionRequest.md) + - [SetNetworkAclDescriptionResponse](docs/SetNetworkAclDescriptionResponse.md) + - [SetRouteTableDescriptionRequest](docs/SetRouteTableDescriptionRequest.md) + - [SetRouteTableDescriptionResponse](docs/SetRouteTableDescriptionResponse.md) + - [SetSubnetNetworkAclRequest](docs/SetSubnetNetworkAclRequest.md) + - [SetSubnetNetworkAclResponse](docs/SetSubnetNetworkAclResponse.md) + - [SetVpcPeeringDescriptionRequest](docs/SetVpcPeeringDescriptionRequest.md) + - [SetVpcPeeringDescriptionResponse](docs/SetVpcPeeringDescriptionResponse.md) + - [Subnet](docs/Subnet.md) + - [Vpc](docs/Vpc.md) + - [VpcPeeringInstance](docs/VpcPeeringInstance.md) + diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/accept_or_reject_vpc_peering_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/accept_or_reject_vpc_peering_request.go new file mode 100644 index 000000000..a65dcad90 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/accept_or_reject_vpc_peering_request.go @@ -0,0 +1,21 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type AcceptOrRejectVpcPeeringRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // VPCPeering인스턴스번호 +VpcPeeringInstanceNo *string `json:"vpcPeeringInstanceNo"` + + // 수락여부 +IsAccept *bool `json:"isAccept"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/accept_or_reject_vpc_peering_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/accept_or_reject_vpc_peering_response.go new file mode 100644 index 000000000..6ec9b7d89 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/accept_or_reject_vpc_peering_response.go @@ -0,0 +1,22 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type AcceptOrRejectVpcPeeringResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +VpcPeeringInstanceList []*VpcPeeringInstance `json:"vpcPeeringInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/add_network_acl_inbound_rule_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/add_network_acl_inbound_rule_request.go new file mode 100644 index 000000000..1ba34e45f --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/add_network_acl_inbound_rule_request.go @@ -0,0 +1,21 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type AddNetworkAclInboundRuleRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 네트워크ACL번호 +NetworkAclNo *string `json:"networkAclNo"` + + // 네트워크ACLRule리스트 +NetworkAclRuleList []*AddNetworkAclRuleParameter `json:"networkAclRuleList"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/add_network_acl_inbound_rule_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/add_network_acl_inbound_rule_response.go new file mode 100644 index 000000000..4e3254856 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/add_network_acl_inbound_rule_response.go @@ -0,0 +1,22 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type AddNetworkAclInboundRuleResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +NetworkAclRuleList []*NetworkAclRule `json:"networkAclRuleList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/add_network_acl_outbound_rule_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/add_network_acl_outbound_rule_request.go new file mode 100644 index 000000000..fd5441f8e --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/add_network_acl_outbound_rule_request.go @@ -0,0 +1,21 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type AddNetworkAclOutboundRuleRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 네트워크ACL번호 +NetworkAclNo *string `json:"networkAclNo"` + + // 네트워크ACLRule리스트 +NetworkAclRuleList []*AddNetworkAclRuleParameter `json:"networkAclRuleList"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/add_network_acl_outbound_rule_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/add_network_acl_outbound_rule_response.go new file mode 100644 index 000000000..7ace9d4eb --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/add_network_acl_outbound_rule_response.go @@ -0,0 +1,22 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type AddNetworkAclOutboundRuleResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +NetworkAclRuleList []*NetworkAclRule `json:"networkAclRuleList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/add_network_acl_rule_parameter.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/add_network_acl_rule_parameter.go new file mode 100644 index 000000000..9e660b76d --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/add_network_acl_rule_parameter.go @@ -0,0 +1,30 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type AddNetworkAclRuleParameter struct { + + // 네트워크ACLRule설명 +NetworkAclRuleDescription *string `json:"networkAclRuleDescription,omitempty"` + + // IP블록 +IpBlock *string `json:"ipBlock"` + + // Rule액션코드 +RuleActionCode *string `json:"ruleActionCode"` + + // 포트범위 +PortRange *string `json:"portRange,omitempty"` + + // 우선순위 +Priority *int32 `json:"priority"` + + // 프로토콜유형코드 +ProtocolTypeCode *string `json:"protocolTypeCode"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/add_route_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/add_route_request.go new file mode 100644 index 000000000..5bd3cb982 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/add_route_request.go @@ -0,0 +1,24 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type AddRouteRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 라우트리스트 +RouteList []*RouteParameter `json:"routeList"` + + // 라우트테이블번호 +RouteTableNo *string `json:"routeTableNo"` + + // VPC번호 +VpcNo *string `json:"vpcNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/add_route_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/add_route_response.go new file mode 100644 index 000000000..6d58db88e --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/add_route_response.go @@ -0,0 +1,22 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type AddRouteResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +RouteList []*Route `json:"routeList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/add_route_table_subnet_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/add_route_table_subnet_request.go new file mode 100644 index 000000000..ce8c65653 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/add_route_table_subnet_request.go @@ -0,0 +1,24 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type AddRouteTableSubnetRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 라우트테이블번호 +RouteTableNo *string `json:"routeTableNo"` + + // 서브넷번호리스트 +SubnetNoList []*string `json:"subnetNoList"` + + // VPC번호 +VpcNo *string `json:"vpcNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/add_route_table_subnet_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/add_route_table_subnet_response.go new file mode 100644 index 000000000..49bc79d0a --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/add_route_table_subnet_response.go @@ -0,0 +1,22 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type AddRouteTableSubnetResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +SubnetList []*Subnet `json:"subnetList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/api_client.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/api_client.go new file mode 100644 index 000000000..687e1246b --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/api_client.go @@ -0,0 +1,450 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +import ( + "bytes" + "crypto" + "errors" + "fmt" + "io" + "mime/multipart" + "net/http" + "net/url" + "os" + "path/filepath" + "reflect" + "regexp" + "strconv" + "strings" + "time" + "unicode" + "unicode/utf8" + + "github.com/NaverCloudPlatform/ncloud-sdk-go-v2/hmac" + "github.com/NaverCloudPlatform/ncloud-sdk-go-v2/ncloud" +) + +var ( + jsonCheck = regexp.MustCompile("(?i:[application|text]/json)") + xmlCheck = regexp.MustCompile("(?i:[application|text]/xml)") +) + +// APIClient manages communication with the vpc API v2020-09-17T10:29:55Z +// In most cases there should be only one, shared, APIClient. +type APIClient struct { + cfg *ncloud.Configuration + common service // Reuse a single struct instead of allocating one for each service on the heap. + + // API Services + V2Api *V2ApiService +} + +type service struct { + client *APIClient +} + +// NewAPIClient creates a new API client. Requires a userAgent string describing your application. +// optionally a custom http.Client to allow for advanced features such as caching. +func NewAPIClient(cfg *ncloud.Configuration) *APIClient { + if cfg.HTTPClient == nil { + cfg.HTTPClient = http.DefaultClient + } + + c := &APIClient{} + c.cfg = cfg + c.common.client = c + + // API Services + c.V2Api = (*V2ApiService)(&c.common) + + return c +} + +func atoi(in string) (int, error) { + return strconv.Atoi(in) +} + +// selectHeaderContentType select a content type from the available list. +func selectHeaderContentType(contentTypes []string) string { + if len(contentTypes) == 0 { + return "" + } + if contains(contentTypes, "application/json") { + return "application/json" + } + return contentTypes[0] // use the first content type specified in 'consumes' +} + +// selectHeaderAccept join all accept types and return +func selectHeaderAccept(accepts []string) string { + if len(accepts) == 0 { + return "" + } + + if contains(accepts, "application/json") { + return "application/json" + } + + return strings.Join(accepts, ",") +} + +// contains is a case insenstive match, finding needle in a haystack +func contains(haystack []string, needle string) bool { + for _, a := range haystack { + if strings.ToLower(a) == strings.ToLower(needle) { + return true + } + } + return false +} + +// Verify optional parameters are of the correct type. +func typeCheckParameter(obj interface{}, expected string, name string) error { + // Make sure there is an object. + if obj == nil { + return nil + } + + // Check the type is as expected. + if reflect.TypeOf(obj).String() != expected { + return fmt.Errorf("Expected %s to be of type %s but received %s.", name, expected, reflect.TypeOf(obj).String()) + } + return nil +} + +// parameterToString convert interface{} parameters to string, using a delimiter if format is provided. +func parameterToString(obj interface{}, collectionFormat string) string { + var delimiter string + + switch collectionFormat { + case "pipes": + delimiter = "|" + case "ssv": + delimiter = " " + case "tsv": + delimiter = "\t" + case "csv": + delimiter = "," + } + + if reflect.TypeOf(obj).Kind() == reflect.Slice { + return strings.Trim(strings.Replace(fmt.Sprint(obj), " ", delimiter, -1), "[]") + } + + return fmt.Sprintf("%v", obj) +} + +// callAPI do the request. +func (c *APIClient) callAPI(request *http.Request) (*http.Response, error) { + return c.cfg.HTTPClient.Do(request) +} + +// Change base path to allow switching to mocks +func (c *APIClient) ChangeBasePath(path string) { + c.cfg.BasePath = path +} + +// prepareRequest build the request +func (c *APIClient) prepareRequest( + path string, + method string, + postBody interface{}, + headerParams map[string]string, + queryParams url.Values, + formParams url.Values, + fileName string, + fileBytes []byte) (localVarRequest *http.Request, err error) { + + var body *bytes.Buffer + + // Detect postBody type and post. + if postBody != nil { + contentType := headerParams["Content-Type"] + if contentType == "" { + contentType = detectContentType(postBody) + headerParams["Content-Type"] = contentType + } + + body, err = setBody(postBody, contentType) + if err != nil { + return nil, err + } + } + + // add form parameters and file if available. + if len(formParams) > 0 || (len(fileBytes) > 0 && fileName != "") { + if body != nil { + return nil, errors.New("Cannot specify postBody and multipart form at the same time.") + } + body = &bytes.Buffer{} + w := multipart.NewWriter(body) + + for k, v := range formParams { + for _, iv := range v { + if strings.HasPrefix(k, "@") { // file + err = addFile(w, k[1:], iv) + if err != nil { + return nil, err + } + } else { // form value + w.WriteField(k, iv) + } + } + } + if len(fileBytes) > 0 && fileName != "" { + w.Boundary() + //_, fileNm := filepath.Split(fileName) + part, err := w.CreateFormFile("file", filepath.Base(fileName)) + if err != nil { + return nil, err + } + _, err = part.Write(fileBytes) + if err != nil { + return nil, err + } + // Set the Boundary in the Content-Type + headerParams["Content-Type"] = w.FormDataContentType() + } + + // Set Content-Length + headerParams["Content-Length"] = fmt.Sprintf("%d", body.Len()) + w.Close() + } + + // Setup path and query parameters + url, err := url.Parse(path) + if err != nil { + return nil, err + } + + // Adding Query Param + query := url.Query() + for k, v := range queryParams { + for _, iv := range v { + query.Add(k, iv) + } + } + + // Encode the parameters. + url.RawQuery = query.Encode() + + // Generate a new request + if body != nil { + localVarRequest, err = http.NewRequest(method, url.String(), body) + } else { + localVarRequest, err = http.NewRequest(method, url.String(), nil) + } + if err != nil { + return nil, err + } + + // add header parameters, if any + if len(headerParams) > 0 { + headers := http.Header{} + for h, v := range headerParams { + headers.Set(h, v) + } + localVarRequest.Header = headers + } + + // Override request host, if applicable + if c.cfg.Host != "" { + localVarRequest.Host = c.cfg.Host + } + + // Add the user agent to the request. + localVarRequest.Header.Add("User-Agent", c.cfg.UserAgent) + + // APIKey Authentication + if auth := c.cfg.APIKey; auth != nil { + timestamp := strconv.FormatInt(time.Now().UnixNano()/int64(time.Millisecond), 10) + signer := hmac.NewSigner(auth.SecretKey, crypto.SHA256) + signature, _ := signer.Sign(method, path, auth.AccessKey, timestamp) + + localVarRequest.Header.Add("x-ncp-apigw-timestamp", timestamp) + localVarRequest.Header.Add("x-ncp-iam-access-key", auth.AccessKey) + localVarRequest.Header.Add("x-ncp-apigw-signature-v1", signature) + } + + for header, value := range c.cfg.DefaultHeader { + localVarRequest.Header.Add(header, value) + } + + return localVarRequest, nil +} + +// Add a file to the multipart request +func addFile(w *multipart.Writer, fieldName, path string) error { + file, err := os.Open(path) + if err != nil { + return err + } + defer file.Close() + + part, err := w.CreateFormFile(fieldName, filepath.Base(path)) + if err != nil { + return err + } + _, err = io.Copy(part, file) + + return err +} + +// Prevent trying to import "fmt" +func reportError(format string, a ...interface{}) error { + return fmt.Errorf(format, a...) +} + +func toLowerFirstChar(s string) string { + a := []rune(s) + a[0] = unicode.ToLower(a[0]) + return string(a) +} + +// Set request body from an interface{} +func setBody(body interface{}, contentType string) (bodyBuf *bytes.Buffer, err error) { + if bodyBuf == nil { + bodyBuf = &bytes.Buffer{} + } + + bodyBuf.WriteString("responseFormatType=json") + s := reflect.ValueOf(body).Elem() + bodyBuf.WriteString(buildQueryString(s, "")) + + if err != nil { + return nil, err + } + + if bodyBuf.Len() == 0 { + err = fmt.Errorf("invalid body type %s", contentType) + return nil, err + } + return bodyBuf, nil +} + +func buildQueryString(s reflect.Value, prefix string) string { + bodyBuf := &bytes.Buffer{} + if s.Kind() == reflect.Struct { + for i := 0; i < s.NumField(); i++ { + f := s.Field(i) + if !f.IsNil() { + name := toLowerFirstChar(s.Type().Field(i).Name) + if len(prefix) > 0 { + bodyBuf.WriteString(buildQueryString(f, fmt.Sprintf("%s.%s", prefix, name))) + } else { + bodyBuf.WriteString(buildQueryString(f, name)) + } + } + } + } else if s.Kind() == reflect.Slice { + for i := 0; i < s.Len(); i++ { + item := s.Index(i) + bodyBuf.WriteString(buildQueryString(item.Elem(), fmt.Sprintf("%s.%d", prefix, i+1))) + } + } else if s.Kind() == reflect.Ptr { + bodyBuf.WriteString(fmt.Sprintf("&%s=%s", prefix, convertToString(s))) + } else if s.Kind() == reflect.String { + bodyBuf.WriteString(fmt.Sprintf("&%s=%s", prefix, s.Interface())) + } + + return bodyBuf.String() +} + +func convertToString(f reflect.Value) string { + switch f.Type().String() { + case "*string": + return url.QueryEscape(ncloud.StringValue(f.Interface().(*string))) + case "*bool": + return fmt.Sprintf("%t", *f.Interface().(*bool)) + case "*int": + return fmt.Sprintf("%d", *f.Interface().(*int)) + case "*int32": + return fmt.Sprintf("%d", *f.Interface().(*int32)) + case "*int64": + return fmt.Sprintf("%d", *f.Interface().(*int64)) + case "*float32": + return fmt.Sprintf("%f", *f.Interface().(*float32)) + } + return "" +} + +// detectContentType method is used to figure out `Request.Body` content type for request header +func detectContentType(body interface{}) string { + contentType := "text/plain; charset=utf-8" + kind := reflect.TypeOf(body).Kind() + + switch kind { + case reflect.Struct, reflect.Map, reflect.Ptr: + contentType = "application/json; charset=utf-8" + case reflect.String: + contentType = "text/plain; charset=utf-8" + default: + if b, ok := body.([]byte); ok { + contentType = http.DetectContentType(b) + } else if kind == reflect.Slice { + contentType = "application/json; charset=utf-8" + } + } + + return contentType +} + +// Ripped from https://github.com/gregjones/httpcache/blob/master/httpcache.go +type cacheControl map[string]string + +func parseCacheControl(headers http.Header) cacheControl { + cc := cacheControl{} + ccHeader := headers.Get("Cache-Control") + for _, part := range strings.Split(ccHeader, ",") { + part = strings.Trim(part, " ") + if part == "" { + continue + } + if strings.ContainsRune(part, '=') { + keyval := strings.Split(part, "=") + cc[strings.Trim(keyval[0], " ")] = strings.Trim(keyval[1], ",") + } else { + cc[part] = "" + } + } + return cc +} + +// CacheExpires helper function to determine remaining time before repeating a request. +func CacheExpires(r *http.Response) time.Time { + // Figure out when the cache expires. + var expires time.Time + now, err := time.Parse(time.RFC1123, r.Header.Get("date")) + if err != nil { + return time.Now() + } + respCacheControl := parseCacheControl(r.Header) + + if maxAge, ok := respCacheControl["max-age"]; ok { + lifetime, err := time.ParseDuration(maxAge + "s") + if err != nil { + expires = now + } + expires = now.Add(lifetime) + } else { + expiresHeader := r.Header.Get("Expires") + if expiresHeader != "" { + expires, err = time.Parse(time.RFC1123, expiresHeader) + if err != nil { + expires = now + } + } + } + return expires +} + +func strlen(s string) int { + return utf8.RuneCountInString(s) +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/api_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/api_response.go new file mode 100644 index 000000000..0b22041ee --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/api_response.go @@ -0,0 +1,42 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +import ( + "net/http" +) + +type APIResponse struct { + *http.Response `json:"-"` + Message string `json:"message,omitempty"` + // Operation is the name of the swagger operation. + Operation string `json:"operation,omitempty"` + // RequestURL is the request URL. This value is always available, even if the + // embedded *http.Response is nil. + RequestURL string `json:"url,omitempty"` + // Method is the HTTP method used for the request. This value is always + // available, even if the embedded *http.Response is nil. + Method string `json:"method,omitempty"` + // Payload holds the contents of the response body (which may be nil or empty). + // This is provided here as the raw response.Body() reader will have already + // been drained. + Payload []byte `json:"-"` +} + +func NewAPIResponse(r *http.Response) *APIResponse { + + response := &APIResponse{Response: r} + return response +} + +func NewAPIResponseWithError(errorMessage string) *APIResponse { + + response := &APIResponse{Message: errorMessage} + return response +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/common_code.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/common_code.go new file mode 100644 index 000000000..36d5df73c --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/common_code.go @@ -0,0 +1,18 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type CommonCode struct { + + // 코드 +Code *string `json:"code,omitempty"` + + // 코드명 +CodeName *string `json:"codeName,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/configuration.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/configuration.go new file mode 100644 index 000000000..884d9d456 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/configuration.go @@ -0,0 +1,37 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +import ( + "github.com/NaverCloudPlatform/ncloud-sdk-go-v2/ncloud" + "os" +) + +// contextKeys are used to identify the type of value in the context. +// Since these are string, it is possible to get a short description of the +// context key for logging and debugging using key.String(). + +type contextKey string + +func (c contextKey) String() string { + return "auth " + string(c) +} + +func NewConfiguration(apiKey *ncloud.APIKey) *ncloud.Configuration { + cfg := &ncloud.Configuration{ + BasePath: "https://ncloud.apigw.ntruss.com/vpc/v2", + DefaultHeader: make(map[string]string), + UserAgent: "vpc/1.0.0/go", + APIKey: apiKey, + } + if os.Getenv("NCLOUD_API_GW") != "" { + cfg.BasePath = os.Getenv("NCLOUD_API_GW") + "/vpc/v2" + } + return cfg +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/create_nat_gateway_instance_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/create_nat_gateway_instance_request.go new file mode 100644 index 000000000..4c2405e2d --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/create_nat_gateway_instance_request.go @@ -0,0 +1,27 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type CreateNatGatewayInstanceRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // NATGateway설명 +NatGatewayDescription *string `json:"natGatewayDescription,omitempty"` + + // NATGateway이름 +NatGatewayName *string `json:"natGatewayName,omitempty"` + + // VPC번호 +VpcNo *string `json:"vpcNo"` + + // ZONE코드 +ZoneCode *string `json:"zoneCode"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/create_nat_gateway_instance_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/create_nat_gateway_instance_response.go new file mode 100644 index 000000000..a732cf5dc --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/create_nat_gateway_instance_response.go @@ -0,0 +1,22 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type CreateNatGatewayInstanceResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +NatGatewayInstanceList []*NatGatewayInstance `json:"natGatewayInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/create_network_acl_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/create_network_acl_request.go new file mode 100644 index 000000000..e67b89049 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/create_network_acl_request.go @@ -0,0 +1,24 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type CreateNetworkAclRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 네트워크ACL설명 +NetworkAclDescription *string `json:"networkAclDescription,omitempty"` + + // 네트워크ACL이름 +NetworkAclName *string `json:"networkAclName,omitempty"` + + // VPC번호 +VpcNo *string `json:"vpcNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/create_network_acl_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/create_network_acl_response.go new file mode 100644 index 000000000..fb00e5383 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/create_network_acl_response.go @@ -0,0 +1,22 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type CreateNetworkAclResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +NetworkAclList []*NetworkAcl `json:"networkAclList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/create_route_table_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/create_route_table_request.go new file mode 100644 index 000000000..66ecfb59e --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/create_route_table_request.go @@ -0,0 +1,27 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type CreateRouteTableRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 라우트테이블설명 +RouteTableDescription *string `json:"routeTableDescription,omitempty"` + + // 지원하는서브넷유형코드 +SupportedSubnetTypeCode *string `json:"supportedSubnetTypeCode"` + + // 라우트테이블이름 +RouteTableName *string `json:"routeTableName,omitempty"` + + // VPC번호 +VpcNo *string `json:"vpcNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/create_route_table_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/create_route_table_response.go new file mode 100644 index 000000000..e18b58e2b --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/create_route_table_response.go @@ -0,0 +1,22 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type CreateRouteTableResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +RouteTableList []*RouteTable `json:"routeTableList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/create_subnet_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/create_subnet_request.go new file mode 100644 index 000000000..39bff1093 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/create_subnet_request.go @@ -0,0 +1,36 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type CreateSubnetRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 서브넷유형코드 +SubnetTypeCode *string `json:"subnetTypeCode"` + + // 용도유형코드 +UsageTypeCode *string `json:"usageTypeCode,omitempty"` + + // 네트워크ACL번호 +NetworkAclNo *string `json:"networkAclNo"` + + // 서브넷 +Subnet *string `json:"subnet"` + + // 서브넷이름 +SubnetName *string `json:"subnetName,omitempty"` + + // VPC번호 +VpcNo *string `json:"vpcNo"` + + // ZONE코드 +ZoneCode *string `json:"zoneCode"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/create_subnet_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/create_subnet_response.go new file mode 100644 index 000000000..2e540fa79 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/create_subnet_response.go @@ -0,0 +1,22 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type CreateSubnetResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +SubnetList []*Subnet `json:"subnetList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/create_vpc_peering_instance_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/create_vpc_peering_instance_request.go new file mode 100644 index 000000000..e3b05bc82 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/create_vpc_peering_instance_request.go @@ -0,0 +1,33 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type CreateVpcPeeringInstanceRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // VPCPeering설명 +VpcPeeringDescription *string `json:"vpcPeeringDescription,omitempty"` + + // 요청VPC번호 +SourceVpcNo *string `json:"sourceVpcNo"` + + // 수락VPC소유자ID +TargetVpcLoginId *string `json:"targetVpcLoginId,omitempty"` + + // 수락VPC이름 +TargetVpcName *string `json:"targetVpcName,omitempty"` + + // 수락VPC번호 +TargetVpcNo *string `json:"targetVpcNo"` + + // VPCPeering이름 +VpcPeeringName *string `json:"vpcPeeringName,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/create_vpc_peering_instance_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/create_vpc_peering_instance_response.go new file mode 100644 index 000000000..5ed9c72f9 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/create_vpc_peering_instance_response.go @@ -0,0 +1,22 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type CreateVpcPeeringInstanceResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +VpcPeeringInstanceList []*VpcPeeringInstance `json:"vpcPeeringInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/create_vpc_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/create_vpc_request.go new file mode 100644 index 000000000..c24c0c31a --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/create_vpc_request.go @@ -0,0 +1,21 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type CreateVpcRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // IPv4 CIDR블록 +Ipv4CidrBlock *string `json:"ipv4CidrBlock"` + + // VPC이름 +VpcName *string `json:"vpcName,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/create_vpc_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/create_vpc_response.go new file mode 100644 index 000000000..3ce06eafc --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/create_vpc_response.go @@ -0,0 +1,22 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type CreateVpcResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +VpcList []*Vpc `json:"vpcList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/delete_nat_gateway_instance_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/delete_nat_gateway_instance_request.go new file mode 100644 index 000000000..4058e6d73 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/delete_nat_gateway_instance_request.go @@ -0,0 +1,18 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type DeleteNatGatewayInstanceRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // NATGateway인스턴스번호 +NatGatewayInstanceNo *string `json:"natGatewayInstanceNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/delete_nat_gateway_instance_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/delete_nat_gateway_instance_response.go new file mode 100644 index 000000000..612631f69 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/delete_nat_gateway_instance_response.go @@ -0,0 +1,22 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type DeleteNatGatewayInstanceResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +NatGatewayInstanceList []*NatGatewayInstance `json:"natGatewayInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/delete_network_acl_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/delete_network_acl_request.go new file mode 100644 index 000000000..87e11131b --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/delete_network_acl_request.go @@ -0,0 +1,18 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type DeleteNetworkAclRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 네트워크ACL번호 +NetworkAclNo *string `json:"networkAclNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/delete_network_acl_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/delete_network_acl_response.go new file mode 100644 index 000000000..cd8e65743 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/delete_network_acl_response.go @@ -0,0 +1,22 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type DeleteNetworkAclResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +NetworkAclList []*NetworkAcl `json:"networkAclList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/delete_route_table_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/delete_route_table_request.go new file mode 100644 index 000000000..92a56f90f --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/delete_route_table_request.go @@ -0,0 +1,18 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type DeleteRouteTableRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 라우트테이블번호 +RouteTableNo *string `json:"routeTableNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/delete_route_table_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/delete_route_table_response.go new file mode 100644 index 000000000..ca2a4c8fb --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/delete_route_table_response.go @@ -0,0 +1,22 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type DeleteRouteTableResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +RouteTableList []*RouteTable `json:"routeTableList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/delete_subnet_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/delete_subnet_request.go new file mode 100644 index 000000000..46c40f87b --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/delete_subnet_request.go @@ -0,0 +1,18 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type DeleteSubnetRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 서브넷번호 +SubnetNo *string `json:"subnetNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/delete_subnet_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/delete_subnet_response.go new file mode 100644 index 000000000..d79ba2b8b --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/delete_subnet_response.go @@ -0,0 +1,22 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type DeleteSubnetResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +SubnetList []*Subnet `json:"subnetList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/delete_vpc_peering_instance_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/delete_vpc_peering_instance_request.go new file mode 100644 index 000000000..71af1bca5 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/delete_vpc_peering_instance_request.go @@ -0,0 +1,18 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type DeleteVpcPeeringInstanceRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // VPCPeering인스턴스번호 +VpcPeeringInstanceNo *string `json:"vpcPeeringInstanceNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/delete_vpc_peering_instance_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/delete_vpc_peering_instance_response.go new file mode 100644 index 000000000..6c40aed92 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/delete_vpc_peering_instance_response.go @@ -0,0 +1,22 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type DeleteVpcPeeringInstanceResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +VpcPeeringInstanceList []*VpcPeeringInstance `json:"vpcPeeringInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/delete_vpc_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/delete_vpc_request.go new file mode 100644 index 000000000..184d0190a --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/delete_vpc_request.go @@ -0,0 +1,18 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type DeleteVpcRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // VPC번호 +VpcNo *string `json:"vpcNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/delete_vpc_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/delete_vpc_response.go new file mode 100644 index 000000000..9e28554d6 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/delete_vpc_response.go @@ -0,0 +1,22 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type DeleteVpcResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +VpcList []*Vpc `json:"VpcList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_nat_gateway_instance_detail_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_nat_gateway_instance_detail_request.go new file mode 100644 index 000000000..e66fd1719 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_nat_gateway_instance_detail_request.go @@ -0,0 +1,18 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type GetNatGatewayInstanceDetailRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // NATGatway인스턴스번호 +NatGatewayInstanceNo *string `json:"natGatewayInstanceNo,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_nat_gateway_instance_detail_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_nat_gateway_instance_detail_response.go new file mode 100644 index 000000000..e1070adf5 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_nat_gateway_instance_detail_response.go @@ -0,0 +1,22 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type GetNatGatewayInstanceDetailResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +NatGatewayInstanceList []*NatGatewayInstance `json:"natGatewayInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_nat_gateway_instance_list_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_nat_gateway_instance_list_request.go new file mode 100644 index 000000000..b5e504540 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_nat_gateway_instance_list_request.go @@ -0,0 +1,39 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type GetNatGatewayInstanceListRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // ZONE코드 +ZoneCode *string `json:"zoneCode,omitempty"` + + // NATGateway인스턴스번호리스트 +NatGatewayInstanceNoList []*string `json:"natGatewayInstanceNoList,omitempty"` + + // 공인IP주소 +PublicIp *string `json:"publicIp,omitempty"` + + // VPC이름 +VpcName *string `json:"vpcName,omitempty"` + + // natGatewayName +NatGatewayName *string `json:"natGatewayName,omitempty"` + + // NATGateway인스턴스상태코드 +NatGatewayInstanceStatusCode *string `json:"natGatewayInstanceStatusCode,omitempty"` + + // 페이지번호 +PageNo *int32 `json:"pageNo,omitempty"` + + // 페이지사이즈 +PageSize *int32 `json:"pageSize,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_nat_gateway_instance_list_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_nat_gateway_instance_list_response.go new file mode 100644 index 000000000..b8a073598 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_nat_gateway_instance_list_response.go @@ -0,0 +1,22 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type GetNatGatewayInstanceListResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +NatGatewayInstanceList []*NatGatewayInstance `json:"natGatewayInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_network_acl_detail_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_network_acl_detail_request.go new file mode 100644 index 000000000..495ea5f8e --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_network_acl_detail_request.go @@ -0,0 +1,18 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type GetNetworkAclDetailRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 네트워크ACL번호 +NetworkAclNo *string `json:"networkAclNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_network_acl_detail_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_network_acl_detail_response.go new file mode 100644 index 000000000..06d6df95d --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_network_acl_detail_response.go @@ -0,0 +1,22 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type GetNetworkAclDetailResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +NetworkAclList []*NetworkAcl `json:"networkAclList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_network_acl_list_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_network_acl_list_request.go new file mode 100644 index 000000000..43394ff46 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_network_acl_list_request.go @@ -0,0 +1,33 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type GetNetworkAclListRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 네트워크ACL이름 +NetworkAclName *string `json:"networkAclName,omitempty"` + + // 네트워크ACL상태코드 +NetworkAclStatusCode *string `json:"networkAclStatusCode,omitempty"` + + // 네트워크ACL번호리스트 +NetworkAclNoList []*string `json:"networkAclNoList,omitempty"` + + // 페이지번호 +PageNo *int32 `json:"pageNo,omitempty"` + + // 페이지사이즈 +PageSize *int32 `json:"pageSize,omitempty"` + + // VPC번호 +VpcNo *string `json:"vpcNo,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_network_acl_list_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_network_acl_list_response.go new file mode 100644 index 000000000..9fa34b3c8 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_network_acl_list_response.go @@ -0,0 +1,22 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type GetNetworkAclListResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +NetworkAclList []*NetworkAcl `json:"networkAclList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_network_acl_rule_list_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_network_acl_rule_list_request.go new file mode 100644 index 000000000..dc09d3db1 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_network_acl_rule_list_request.go @@ -0,0 +1,21 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type GetNetworkAclRuleListRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 네트워크ACL번호 +NetworkAclNo *string `json:"networkAclNo"` + + // 네트워크ACLRule유형코드 +NetworkAclRuleTypeCode *string `json:"networkAclRuleTypeCode,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_network_acl_rule_list_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_network_acl_rule_list_response.go new file mode 100644 index 000000000..b154de479 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_network_acl_rule_list_response.go @@ -0,0 +1,22 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type GetNetworkAclRuleListResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +NetworkAclRuleList []*NetworkAclRule `json:"networkAclRuleList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_route_list_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_route_list_request.go new file mode 100644 index 000000000..ab2abbc50 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_route_list_request.go @@ -0,0 +1,21 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type GetRouteListRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 라우트테이블번호 +RouteTableNo *string `json:"routeTableNo"` + + // VPC번호 +VpcNo *string `json:"vpcNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_route_list_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_route_list_response.go new file mode 100644 index 000000000..c515724c7 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_route_list_response.go @@ -0,0 +1,22 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type GetRouteListResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +RouteList []*Route `json:"routeList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_route_table_detail_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_route_table_detail_request.go new file mode 100644 index 000000000..5f747aabe --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_route_table_detail_request.go @@ -0,0 +1,18 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type GetRouteTableDetailRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 라우트테이블번호 +RouteTableNo *string `json:"routeTableNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_route_table_detail_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_route_table_detail_response.go new file mode 100644 index 000000000..f746e0ff4 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_route_table_detail_response.go @@ -0,0 +1,22 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type GetRouteTableDetailResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +RouteTableList []*RouteTable `json:"routeTableList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_route_table_list_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_route_table_list_request.go new file mode 100644 index 000000000..eb312764b --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_route_table_list_request.go @@ -0,0 +1,39 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type GetRouteTableListRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 라우트테이블번호리스트 +RouteTableNoList []*string `json:"routeTableNoList,omitempty"` + + // 라우트테이블이름 +RouteTableName *string `json:"routeTableName,omitempty"` + + // 지원하는서브넷유형코드 +SupportedSubnetTypeCode *string `json:"supportedSubnetTypeCode,omitempty"` + + // 페이지번호 +PageNo *int32 `json:"pageNo,omitempty"` + + // 페이지사이즈 +PageSize *int32 `json:"pageSize,omitempty"` + + // 정렬대상 +SortedBy *string `json:"sortedBy,omitempty"` + + // 정렬순서 +SortingOrder *string `json:"sortingOrder,omitempty"` + + // VPC번호 +VpcNo *string `json:"vpcNo,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_route_table_list_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_route_table_list_response.go new file mode 100644 index 000000000..a27418ab4 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_route_table_list_response.go @@ -0,0 +1,22 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type GetRouteTableListResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +RouteTableList []*RouteTable `json:"routeTableList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_route_table_subnet_list_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_route_table_subnet_list_request.go new file mode 100644 index 000000000..9fe820276 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_route_table_subnet_list_request.go @@ -0,0 +1,18 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type GetRouteTableSubnetListRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 라우트테이블번호 +RouteTableNo *string `json:"routeTableNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_route_table_subnet_list_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_route_table_subnet_list_response.go new file mode 100644 index 000000000..ddf61e875 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_route_table_subnet_list_response.go @@ -0,0 +1,22 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type GetRouteTableSubnetListResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +SubnetList []*Subnet `json:"subnetList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_subnet_detail_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_subnet_detail_request.go new file mode 100644 index 000000000..6afca90ac --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_subnet_detail_request.go @@ -0,0 +1,18 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type GetSubnetDetailRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 서브넷번호 +SubnetNo *string `json:"subnetNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_subnet_detail_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_subnet_detail_response.go new file mode 100644 index 000000000..af457d1cb --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_subnet_detail_response.go @@ -0,0 +1,22 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type GetSubnetDetailResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +SubnetList []*Subnet `json:"subnetList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_subnet_list_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_subnet_list_request.go new file mode 100644 index 000000000..8ac79b951 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_subnet_list_request.go @@ -0,0 +1,45 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type GetSubnetListRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 서브넷번호리스트 +SubnetNoList []*string `json:"subnetNoList,omitempty"` + + // 서브넷 +Subnet *string `json:"subnet,omitempty"` + + // 서브넷유형코드 +SubnetTypeCode *string `json:"subnetTypeCode,omitempty"` + + // 용도유형코드 +UsageTypeCode *string `json:"usageTypeCode,omitempty"` + + // 네트워크ACL번호 +NetworkAclNo *string `json:"networkAclNo,omitempty"` + + // 페이지번호 +PageNo *int32 `json:"pageNo,omitempty"` + + // 페이지사이즈 +PageSize *int32 `json:"pageSize,omitempty"` + + // 서브넷상태코드 +SubnetStatusCode *string `json:"subnetStatusCode,omitempty"` + + // VPC번호 +VpcNo *string `json:"vpcNo,omitempty"` + + // ZONE코드 +ZoneCode *string `json:"zoneCode,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_subnet_list_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_subnet_list_response.go new file mode 100644 index 000000000..9fa609753 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_subnet_list_response.go @@ -0,0 +1,22 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type GetSubnetListResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +SubnetList []*Subnet `json:"subnetList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_vpc_detail_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_vpc_detail_request.go new file mode 100644 index 000000000..c398bd03a --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_vpc_detail_request.go @@ -0,0 +1,18 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type GetVpcDetailRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // VPC번호 +VpcNo *string `json:"vpcNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_vpc_detail_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_vpc_detail_response.go new file mode 100644 index 000000000..02e192be2 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_vpc_detail_response.go @@ -0,0 +1,22 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type GetVpcDetailResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +VpcList []*Vpc `json:"vpcList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_vpc_list_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_vpc_list_request.go new file mode 100644 index 000000000..008e7bd5a --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_vpc_list_request.go @@ -0,0 +1,24 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type GetVpcListRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // VPC이름 +VpcName *string `json:"vpcName,omitempty"` + + // VPC상태코드 +VpcStatusCode *string `json:"vpcStatusCode,omitempty"` + + // VPC번호리스트 +VpcNoList []*string `json:"vpcNoList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_vpc_list_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_vpc_list_response.go new file mode 100644 index 000000000..7f0934478 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_vpc_list_response.go @@ -0,0 +1,22 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type GetVpcListResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +VpcList []*Vpc `json:"vpcList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_vpc_peering_instance_detail_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_vpc_peering_instance_detail_request.go new file mode 100644 index 000000000..ccd55c37d --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_vpc_peering_instance_detail_request.go @@ -0,0 +1,18 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type GetVpcPeeringInstanceDetailRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // VPCPeering인스턴스번호 +VpcPeeringInstanceNo *string `json:"vpcPeeringInstanceNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_vpc_peering_instance_detail_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_vpc_peering_instance_detail_response.go new file mode 100644 index 000000000..8377956fb --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_vpc_peering_instance_detail_response.go @@ -0,0 +1,22 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type GetVpcPeeringInstanceDetailResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +VpcPeeringInstanceList []*VpcPeeringInstance `json:"vpcPeeringInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_vpc_peering_instance_list_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_vpc_peering_instance_list_request.go new file mode 100644 index 000000000..e651cf16c --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_vpc_peering_instance_list_request.go @@ -0,0 +1,42 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type GetVpcPeeringInstanceListRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // VPCPeering인스턴스번호리스트 +VpcPeeringInstanceNoList []*string `json:"vpcPeeringInstanceNoList,omitempty"` + + // 요청VPC이름 +SourceVpcName *string `json:"sourceVpcName,omitempty"` + + // VPCPeering이름 +VpcPeeringName *string `json:"vpcPeeringName,omitempty"` + + // 수락VPC이름 +TargetVpcName *string `json:"targetVpcName,omitempty"` + + // VPCPeering인스턴스상태코드 +VpcPeeringInstanceStatusCode *string `json:"vpcPeeringInstanceStatusCode,omitempty"` + + // 페이지번호 +PageNo *int32 `json:"pageNo,omitempty"` + + // 페이지사이즈 +PageSize *int32 `json:"pageSize,omitempty"` + + // 정렬대상 +SortedBy *string `json:"sortedBy,omitempty"` + + // 정렬순서 +SortingOrder *string `json:"sortingOrder,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_vpc_peering_instance_list_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_vpc_peering_instance_list_response.go new file mode 100644 index 000000000..e8aa9c8cb --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/get_vpc_peering_instance_list_response.go @@ -0,0 +1,22 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type GetVpcPeeringInstanceListResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +VpcPeeringInstanceList []*VpcPeeringInstance `json:"vpcPeeringInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/nat_gateway_instance.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/nat_gateway_instance.go new file mode 100644 index 000000000..08fab5cb3 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/nat_gateway_instance.go @@ -0,0 +1,45 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type NatGatewayInstance struct { + + // VPC번호 +VpcNo *string `json:"vpcNo,omitempty"` + + // VPC이름 +VpcName *string `json:"vpcName,omitempty"` + + // NATGateway인스턴스번호 +NatGatewayInstanceNo *string `json:"natGatewayInstanceNo,omitempty"` + + // NATGateway이름 +NatGatewayName *string `json:"natGatewayName,omitempty"` + + // 공인IP주소 +PublicIp *string `json:"publicIp,omitempty"` + + // NATGateway인스턴스상태 +NatGatewayInstanceStatus *CommonCode `json:"natGatewayInstanceStatus,omitempty"` + + // NATGateway인스턴스상태이름 +NatGatewayInstanceStatusName *string `json:"natGatewayInstanceStatusName,omitempty"` + + // NATGateway인스턴스OP +NatGatewayInstanceOperation *CommonCode `json:"natGatewayInstanceOperation,omitempty"` + + // 생성일시 +CreateDate *string `json:"createDate,omitempty"` + + // NATGateway설명 +NatGatewayDescription *string `json:"natGatewayDescription,omitempty"` + + // ZONE코드 +ZoneCode *string `json:"zoneCode,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/network_acl.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/network_acl.go new file mode 100644 index 000000000..20dd288e3 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/network_acl.go @@ -0,0 +1,33 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type NetworkAcl struct { + + // 네트워크ACL번호 +NetworkAclNo *string `json:"networkAclNo,omitempty"` + + // 네트워크ACL이름 +NetworkAclName *string `json:"networkAclName,omitempty"` + + // VPC번호 +VpcNo *string `json:"vpcNo,omitempty"` + + // 네트워크ACL상태 +NetworkAclStatus *CommonCode `json:"networkAclStatus,omitempty"` + + // 네트워크ACL설명 +NetworkAclDescription *string `json:"networkAclDescription,omitempty"` + + // 생성일시 +CreateDate *string `json:"createDate,omitempty"` + + // Default여부 +IsDefault *bool `json:"isDefault,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/network_acl_rule.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/network_acl_rule.go new file mode 100644 index 000000000..098283ca1 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/network_acl_rule.go @@ -0,0 +1,39 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type NetworkAclRule struct { + + // 네트워크ACL번호 +NetworkAclNo *string `json:"networkAclNo,omitempty"` + + // 우선순위 +Priority *int32 `json:"priority,omitempty"` + + // 프로토콜유형 +ProtocolType *CommonCode `json:"protocolType,omitempty"` + + // 포트범위 +PortRange *string `json:"portRange,omitempty"` + + // Rule액션 +RuleAction *CommonCode `json:"ruleAction,omitempty"` + + // 생성일시 +CreateDate *string `json:"createDate,omitempty"` + + // IP블록 +IpBlock *string `json:"ipBlock,omitempty"` + + // 네트워크ACLRule유형 +NetworkAclRuleType *CommonCode `json:"networkAclRuleType,omitempty"` + + // 네트워크ACLRule설명 +NetworkAclRuleDescription *string `json:"networkAclRuleDescription,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/remove_network_acl_inbound_rule_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/remove_network_acl_inbound_rule_request.go new file mode 100644 index 000000000..4b6b789fc --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/remove_network_acl_inbound_rule_request.go @@ -0,0 +1,21 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type RemoveNetworkAclInboundRuleRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 네트워크ACL번호 +NetworkAclNo *string `json:"networkAclNo"` + + // 네트워크ACLRule리스트 +NetworkAclRuleList []*RemoveNetworkAclRuleParameter `json:"networkAclRuleList"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/remove_network_acl_inbound_rule_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/remove_network_acl_inbound_rule_response.go new file mode 100644 index 000000000..f9721255f --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/remove_network_acl_inbound_rule_response.go @@ -0,0 +1,22 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type RemoveNetworkAclInboundRuleResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +NetworkAclRuleList []*NetworkAclRule `json:"networkAclRuleList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/remove_network_acl_outbound_rule_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/remove_network_acl_outbound_rule_request.go new file mode 100644 index 000000000..cccb3607b --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/remove_network_acl_outbound_rule_request.go @@ -0,0 +1,21 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type RemoveNetworkAclOutboundRuleRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 네트워크ACL번호 +NetworkAclNo *string `json:"networkAclNo"` + + // 네트워크ACLRule리스트 +NetworkAclRuleList []*RemoveNetworkAclRuleParameter `json:"networkAclRuleList"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/remove_network_acl_outbound_rule_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/remove_network_acl_outbound_rule_response.go new file mode 100644 index 000000000..6f3f55438 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/remove_network_acl_outbound_rule_response.go @@ -0,0 +1,22 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type RemoveNetworkAclOutboundRuleResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +NetworkAclRuleList []*NetworkAclRule `json:"networkAclRuleList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/remove_network_acl_rule_parameter.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/remove_network_acl_rule_parameter.go new file mode 100644 index 000000000..e4f02ac54 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/remove_network_acl_rule_parameter.go @@ -0,0 +1,27 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type RemoveNetworkAclRuleParameter struct { + + // IP블록 +IpBlock *string `json:"ipBlock"` + + // Rule액션코드 +RuleActionCode *string `json:"ruleActionCode"` + + // 포트범위 +PortRange *string `json:"portRange,omitempty"` + + // 우선순위 +Priority *int32 `json:"priority"` + + // 프로토콜유형코드 +ProtocolTypeCode *string `json:"protocolTypeCode"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/remove_route_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/remove_route_request.go new file mode 100644 index 000000000..8c7901564 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/remove_route_request.go @@ -0,0 +1,24 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type RemoveRouteRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 라우트리스트 +RouteList []*RouteParameter `json:"routeList"` + + // 라우트테이블번호 +RouteTableNo *string `json:"routeTableNo"` + + // VPC번호 +VpcNo *string `json:"vpcNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/remove_route_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/remove_route_response.go new file mode 100644 index 000000000..a186dc9ca --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/remove_route_response.go @@ -0,0 +1,22 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type RemoveRouteResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +RouteList []*Route `json:"routeList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/remove_route_table_subnet_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/remove_route_table_subnet_request.go new file mode 100644 index 000000000..0034bcc1a --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/remove_route_table_subnet_request.go @@ -0,0 +1,24 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type RemoveRouteTableSubnetRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 라우트테이블번호 +RouteTableNo *string `json:"routeTableNo"` + + // 서브넷번호리스트 +SubnetNoList []*string `json:"subnetNoList"` + + // VPC번호 +VpcNo *string `json:"vpcNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/remove_route_table_subnet_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/remove_route_table_subnet_response.go new file mode 100644 index 000000000..4ebd6aac1 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/remove_route_table_subnet_response.go @@ -0,0 +1,22 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type RemoveRouteTableSubnetResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +SubnetList []*Subnet `json:"subnetList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/route.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/route.go new file mode 100644 index 000000000..a5ce5d2d5 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/route.go @@ -0,0 +1,30 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type Route struct { + + // 목적지CIDR블록 +DestinationCidrBlock *string `json:"destinationCidrBlock,omitempty"` + + // 목적지이름 +TargetName *string `json:"targetName,omitempty"` + + // 라우트테이블번호 +RouteTableNo *string `json:"routeTableNo,omitempty"` + + // 목적지유형 +TargetType *CommonCode `json:"targetType,omitempty"` + + // 목적지번호 +TargetNo *string `json:"targetNo,omitempty"` + + // Default여부 +IsDefault *bool `json:"isDefault,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/route_parameter.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/route_parameter.go new file mode 100644 index 000000000..a9e87daa1 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/route_parameter.go @@ -0,0 +1,24 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type RouteParameter struct { + + // 목적지CIDR블록 +DestinationCidrBlock *string `json:"destinationCidrBlock"` + + // 목적지유형코드 +TargetTypeCode *string `json:"targetTypeCode"` + + // 목적지번호 +TargetNo *string `json:"targetNo,omitempty"` + + // 목적지이름 +TargetName *string `json:"targetName,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/route_table.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/route_table.go new file mode 100644 index 000000000..10d81396d --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/route_table.go @@ -0,0 +1,36 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type RouteTable struct { + + // 라우트테이블번호 +RouteTableNo *string `json:"routeTableNo,omitempty"` + + // 라우트테이블이름 +RouteTableName *string `json:"routeTableName,omitempty"` + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // VPC번호 +VpcNo *string `json:"vpcNo,omitempty"` + + // 지원하는서브넷유형 +SupportedSubnetType *CommonCode `json:"supportedSubnetType,omitempty"` + + // Default여부 +IsDefault *bool `json:"isDefault,omitempty"` + + // 라우트테이블상태 +RouteTableStatus *CommonCode `json:"routeTableStatus,omitempty"` + + // 라우트테이블설명 +RouteTableDescription *string `json:"routeTableDescription,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/set_nat_gateway_description_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/set_nat_gateway_description_request.go new file mode 100644 index 000000000..bb073ff49 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/set_nat_gateway_description_request.go @@ -0,0 +1,21 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type SetNatGatewayDescriptionRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // NATGateway인스턴스번호 +NatGatewayInstanceNo *string `json:"natGatewayInstanceNo"` + + // NATGateway설명 +NatGatewayDescription *string `json:"natGatewayDescription,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/set_nat_gateway_description_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/set_nat_gateway_description_response.go new file mode 100644 index 000000000..286bcffc6 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/set_nat_gateway_description_response.go @@ -0,0 +1,22 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type SetNatGatewayDescriptionResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +NatGatewayInstanceList []*NatGatewayInstance `json:"natGatewayInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/set_network_acl_description_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/set_network_acl_description_request.go new file mode 100644 index 000000000..5d7e13c08 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/set_network_acl_description_request.go @@ -0,0 +1,21 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type SetNetworkAclDescriptionRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 네트워크ACL번호 +NetworkAclNo *string `json:"networkAclNo"` + + // 네트워크ACL설명 +NetworkAclDescription *string `json:"networkAclDescription,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/set_network_acl_description_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/set_network_acl_description_response.go new file mode 100644 index 000000000..ad791bf62 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/set_network_acl_description_response.go @@ -0,0 +1,22 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type SetNetworkAclDescriptionResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +NetworkAclList []*NetworkAcl `json:"networkAclList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/set_route_table_description_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/set_route_table_description_request.go new file mode 100644 index 000000000..d6723527f --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/set_route_table_description_request.go @@ -0,0 +1,21 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type SetRouteTableDescriptionRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 라우트테이블번호 +RouteTableNo *string `json:"routeTableNo"` + + // 라우트테이블설명 +RouteTableDescription *string `json:"routeTableDescription,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/set_route_table_description_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/set_route_table_description_response.go new file mode 100644 index 000000000..179a45cfe --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/set_route_table_description_response.go @@ -0,0 +1,22 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type SetRouteTableDescriptionResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +RouteTableList []*RouteTable `json:"routeTableList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/set_subnet_network_acl_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/set_subnet_network_acl_request.go new file mode 100644 index 000000000..2476edb22 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/set_subnet_network_acl_request.go @@ -0,0 +1,21 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type SetSubnetNetworkAclRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 네트워크ACL번호 +NetworkAclNo *string `json:"networkAclNo"` + + // 서브넷번호 +SubnetNo *string `json:"subnetNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/set_subnet_network_acl_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/set_subnet_network_acl_response.go new file mode 100644 index 000000000..c84ab5d5e --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/set_subnet_network_acl_response.go @@ -0,0 +1,22 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type SetSubnetNetworkAclResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +NetworkAclList []*NetworkAcl `json:"networkAclList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/set_vpc_peering_description_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/set_vpc_peering_description_request.go new file mode 100644 index 000000000..ace1da432 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/set_vpc_peering_description_request.go @@ -0,0 +1,21 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type SetVpcPeeringDescriptionRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // VPCPeering인스턴스번호 +VpcPeeringInstanceNo *string `json:"vpcPeeringInstanceNo"` + + // VPCPeering설명 +VpcPeeringDescription *string `json:"vpcPeeringDescription,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/set_vpc_peering_description_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/set_vpc_peering_description_response.go new file mode 100644 index 000000000..4dfecfb9b --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/set_vpc_peering_description_response.go @@ -0,0 +1,22 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type SetVpcPeeringDescriptionResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +VpcPeeringInstanceList []*VpcPeeringInstance `json:"vpcPeeringInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/subnet.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/subnet.go new file mode 100644 index 000000000..d26c2d719 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/subnet.go @@ -0,0 +1,42 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type Subnet struct { + + // 서브넷번호 +SubnetNo *string `json:"subnetNo,omitempty"` + + // VPC번호 +VpcNo *string `json:"vpcNo,omitempty"` + + // ZONE코드 +ZoneCode *string `json:"zoneCode,omitempty"` + + // 서브넷이름 +SubnetName *string `json:"subnetName,omitempty"` + + // 서브넷 +Subnet *string `json:"subnet,omitempty"` + + // 서브넷상태 +SubnetStatus *CommonCode `json:"subnetStatus,omitempty"` + + // 생성일시 +CreateDate *string `json:"createDate,omitempty"` + + // 서브넷유형 +SubnetType *CommonCode `json:"subnetType,omitempty"` + + // 용도유형 +UsageType *CommonCode `json:"usageType,omitempty"` + + // 네트워크ACL번호 +NetworkAclNo *string `json:"networkAclNo,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/v2_api.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/v2_api.go new file mode 100644 index 000000000..8fa7241eb --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/v2_api.go @@ -0,0 +1,3064 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +import ( + "encoding/base64" + "encoding/json" + "io/ioutil" + "net/url" + "reflect" + "strings" + "bytes" + + "golang.org/x/net/context" +) + +// Linger please +var ( + _ context.Context +) + +type V2ApiService service + + +/* V2ApiService + VPCPeering요청수락거절 + @param acceptOrRejectVpcPeeringRequest acceptOrRejectVpcPeeringRequest + @return *AcceptOrRejectVpcPeeringResponse*/ +func (a *V2ApiService) AcceptOrRejectVpcPeering(acceptOrRejectVpcPeeringRequest *AcceptOrRejectVpcPeeringRequest) (*AcceptOrRejectVpcPeeringResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload AcceptOrRejectVpcPeeringResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/acceptOrRejectVpcPeering" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = acceptOrRejectVpcPeeringRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 네트워크ACLInboundRule추가 + @param addNetworkAclInboundRuleRequest addNetworkAclInboundRuleRequest + @return *AddNetworkAclInboundRuleResponse*/ +func (a *V2ApiService) AddNetworkAclInboundRule(addNetworkAclInboundRuleRequest *AddNetworkAclInboundRuleRequest) (*AddNetworkAclInboundRuleResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload AddNetworkAclInboundRuleResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/addNetworkAclInboundRule" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = addNetworkAclInboundRuleRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 네트워크ACLOutboundRule추가 + @param addNetworkAclOutboundRuleRequest addNetworkAclOutboundRuleRequest + @return *AddNetworkAclOutboundRuleResponse*/ +func (a *V2ApiService) AddNetworkAclOutboundRule(addNetworkAclOutboundRuleRequest *AddNetworkAclOutboundRuleRequest) (*AddNetworkAclOutboundRuleResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload AddNetworkAclOutboundRuleResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/addNetworkAclOutboundRule" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = addNetworkAclOutboundRuleRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 라우트추가 + @param addRouteRequest addRouteRequest + @return *AddRouteResponse*/ +func (a *V2ApiService) AddRoute(addRouteRequest *AddRouteRequest) (*AddRouteResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload AddRouteResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/addRoute" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = addRouteRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 라우트테이블의연관서브넷추가 + @param addRouteTableSubnetRequest addRouteTableSubnetRequest + @return *AddRouteTableSubnetResponse*/ +func (a *V2ApiService) AddRouteTableSubnet(addRouteTableSubnetRequest *AddRouteTableSubnetRequest) (*AddRouteTableSubnetResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload AddRouteTableSubnetResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/addRouteTableSubnet" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = addRouteTableSubnetRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + NATGateway인스턴스생성 + @param createNatGatewayInstanceRequest createNatGatewayInstanceRequest + @return *CreateNatGatewayInstanceResponse*/ +func (a *V2ApiService) CreateNatGatewayInstance(createNatGatewayInstanceRequest *CreateNatGatewayInstanceRequest) (*CreateNatGatewayInstanceResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload CreateNatGatewayInstanceResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/createNatGatewayInstance" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = createNatGatewayInstanceRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 네트워크ACL생성 + @param createNetworkAclRequest createNetworkAclRequest + @return *CreateNetworkAclResponse*/ +func (a *V2ApiService) CreateNetworkAcl(createNetworkAclRequest *CreateNetworkAclRequest) (*CreateNetworkAclResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload CreateNetworkAclResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/createNetworkAcl" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = createNetworkAclRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 라우트테이블생성 + @param createRouteTableRequest createRouteTableRequest + @return *CreateRouteTableResponse*/ +func (a *V2ApiService) CreateRouteTable(createRouteTableRequest *CreateRouteTableRequest) (*CreateRouteTableResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload CreateRouteTableResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/createRouteTable" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = createRouteTableRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 서브넷생성 + @param createSubnetRequest createSubnetRequest + @return *CreateSubnetResponse*/ +func (a *V2ApiService) CreateSubnet(createSubnetRequest *CreateSubnetRequest) (*CreateSubnetResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload CreateSubnetResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/createSubnet" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = createSubnetRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + VPC생성 + @param createVpcRequest createVpcRequest + @return *CreateVpcResponse*/ +func (a *V2ApiService) CreateVpc(createVpcRequest *CreateVpcRequest) (*CreateVpcResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload CreateVpcResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/createVpc" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = createVpcRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + VPCPeering인스턴스생성 + @param createVpcPeeringInstanceRequest createVpcPeeringInstanceRequest + @return *CreateVpcPeeringInstanceResponse*/ +func (a *V2ApiService) CreateVpcPeeringInstance(createVpcPeeringInstanceRequest *CreateVpcPeeringInstanceRequest) (*CreateVpcPeeringInstanceResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload CreateVpcPeeringInstanceResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/createVpcPeeringInstance" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = createVpcPeeringInstanceRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + NATGateway인스턴스삭제 + @param deleteNatGatewayInstanceRequest deleteNatGatewayInstanceRequest + @return *DeleteNatGatewayInstanceResponse*/ +func (a *V2ApiService) DeleteNatGatewayInstance(deleteNatGatewayInstanceRequest *DeleteNatGatewayInstanceRequest) (*DeleteNatGatewayInstanceResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload DeleteNatGatewayInstanceResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/deleteNatGatewayInstance" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = deleteNatGatewayInstanceRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 네트워크ACL삭제 + @param deleteNetworkAclRequest deleteNetworkAclRequest + @return *DeleteNetworkAclResponse*/ +func (a *V2ApiService) DeleteNetworkAcl(deleteNetworkAclRequest *DeleteNetworkAclRequest) (*DeleteNetworkAclResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload DeleteNetworkAclResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/deleteNetworkAcl" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = deleteNetworkAclRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 라우트테이블삭제 + @param deleteRouteTableRequest deleteRouteTableRequest + @return *DeleteRouteTableResponse*/ +func (a *V2ApiService) DeleteRouteTable(deleteRouteTableRequest *DeleteRouteTableRequest) (*DeleteRouteTableResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload DeleteRouteTableResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/deleteRouteTable" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = deleteRouteTableRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 서브넷삭제 + @param deleteSubnetRequest deleteSubnetRequest + @return *DeleteSubnetResponse*/ +func (a *V2ApiService) DeleteSubnet(deleteSubnetRequest *DeleteSubnetRequest) (*DeleteSubnetResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload DeleteSubnetResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/deleteSubnet" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = deleteSubnetRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + VPC삭제 + @param deleteVpcRequest deleteVpcRequest + @return *DeleteVpcResponse*/ +func (a *V2ApiService) DeleteVpc(deleteVpcRequest *DeleteVpcRequest) (*DeleteVpcResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload DeleteVpcResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/deleteVpc" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = deleteVpcRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + VPCPeering인스턴스삭제 + @param deleteVpcPeeringInstanceRequest deleteVpcPeeringInstanceRequest + @return *DeleteVpcPeeringInstanceResponse*/ +func (a *V2ApiService) DeleteVpcPeeringInstance(deleteVpcPeeringInstanceRequest *DeleteVpcPeeringInstanceRequest) (*DeleteVpcPeeringInstanceResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload DeleteVpcPeeringInstanceResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/deleteVpcPeeringInstance" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = deleteVpcPeeringInstanceRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + NATGateway인스턴스상세조회 + @param getNatGatewayInstanceDetailRequest getNatGatewayInstanceDetailRequest + @return *GetNatGatewayInstanceDetailResponse*/ +func (a *V2ApiService) GetNatGatewayInstanceDetail(getNatGatewayInstanceDetailRequest *GetNatGatewayInstanceDetailRequest) (*GetNatGatewayInstanceDetailResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetNatGatewayInstanceDetailResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getNatGatewayInstanceDetail" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getNatGatewayInstanceDetailRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + NATGateway인스턴스리스트조회 + @param getNatGatewayInstanceListRequest getNatGatewayInstanceListRequest + @return *GetNatGatewayInstanceListResponse*/ +func (a *V2ApiService) GetNatGatewayInstanceList(getNatGatewayInstanceListRequest *GetNatGatewayInstanceListRequest) (*GetNatGatewayInstanceListResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetNatGatewayInstanceListResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getNatGatewayInstanceList" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getNatGatewayInstanceListRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 네트워크ACL상세조회 + @param getNetworkAclDetailRequest getNetworkAclDetailRequest + @return *GetNetworkAclDetailResponse*/ +func (a *V2ApiService) GetNetworkAclDetail(getNetworkAclDetailRequest *GetNetworkAclDetailRequest) (*GetNetworkAclDetailResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetNetworkAclDetailResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getNetworkAclDetail" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getNetworkAclDetailRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 네트워크ACL리스트조회 + @param getNetworkAclListRequest getNetworkAclListRequest + @return *GetNetworkAclListResponse*/ +func (a *V2ApiService) GetNetworkAclList(getNetworkAclListRequest *GetNetworkAclListRequest) (*GetNetworkAclListResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetNetworkAclListResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getNetworkAclList" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getNetworkAclListRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 네트워크ACLRule리스트조회 + @param getNetworkAclRuleListRequest getNetworkAclRuleListRequest + @return *GetNetworkAclRuleListResponse*/ +func (a *V2ApiService) GetNetworkAclRuleList(getNetworkAclRuleListRequest *GetNetworkAclRuleListRequest) (*GetNetworkAclRuleListResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetNetworkAclRuleListResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getNetworkAclRuleList" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getNetworkAclRuleListRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 라우트리스트조회 + @param getRouteListRequest getRouteListRequest + @return *GetRouteListResponse*/ +func (a *V2ApiService) GetRouteList(getRouteListRequest *GetRouteListRequest) (*GetRouteListResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetRouteListResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getRouteList" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getRouteListRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 라우트테이블상세조회 + @param getRouteTableDetailRequest getRouteTableDetailRequest + @return *GetRouteTableDetailResponse*/ +func (a *V2ApiService) GetRouteTableDetail(getRouteTableDetailRequest *GetRouteTableDetailRequest) (*GetRouteTableDetailResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetRouteTableDetailResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getRouteTableDetail" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getRouteTableDetailRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 라우트테이블리스트조회 + @param getRouteTableListRequest getRouteTableListRequest + @return *GetRouteTableListResponse*/ +func (a *V2ApiService) GetRouteTableList(getRouteTableListRequest *GetRouteTableListRequest) (*GetRouteTableListResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetRouteTableListResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getRouteTableList" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getRouteTableListRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 라우트테이블에연관된서브넷리스트조회 + @param getRouteTableSubnetListRequest getRouteTableSubnetListRequest + @return *GetRouteTableSubnetListResponse*/ +func (a *V2ApiService) GetRouteTableSubnetList(getRouteTableSubnetListRequest *GetRouteTableSubnetListRequest) (*GetRouteTableSubnetListResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetRouteTableSubnetListResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getRouteTableSubnetList" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getRouteTableSubnetListRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 서브넷상세조회 + @param getSubnetDetailRequest getSubnetDetailRequest + @return *GetSubnetDetailResponse*/ +func (a *V2ApiService) GetSubnetDetail(getSubnetDetailRequest *GetSubnetDetailRequest) (*GetSubnetDetailResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetSubnetDetailResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getSubnetDetail" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getSubnetDetailRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 서브넷리스트조회 + @param getSubnetListRequest getSubnetListRequest + @return *GetSubnetListResponse*/ +func (a *V2ApiService) GetSubnetList(getSubnetListRequest *GetSubnetListRequest) (*GetSubnetListResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetSubnetListResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getSubnetList" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getSubnetListRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + VPC상세조회 + @param getVpcDetailRequest getVpcDetailRequest + @return *GetVpcDetailResponse*/ +func (a *V2ApiService) GetVpcDetail(getVpcDetailRequest *GetVpcDetailRequest) (*GetVpcDetailResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetVpcDetailResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getVpcDetail" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getVpcDetailRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + VPC리스트조회 + @param getVpcListRequest getVpcListRequest + @return *GetVpcListResponse*/ +func (a *V2ApiService) GetVpcList(getVpcListRequest *GetVpcListRequest) (*GetVpcListResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetVpcListResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getVpcList" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getVpcListRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + VPCPeering인스턴스상세조회 + @param getVpcPeeringInstanceDetailRequest getVpcPeeringInstanceDetailRequest + @return *GetVpcPeeringInstanceDetailResponse*/ +func (a *V2ApiService) GetVpcPeeringInstanceDetail(getVpcPeeringInstanceDetailRequest *GetVpcPeeringInstanceDetailRequest) (*GetVpcPeeringInstanceDetailResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetVpcPeeringInstanceDetailResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getVpcPeeringInstanceDetail" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getVpcPeeringInstanceDetailRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + VPCPeering인스턴스리스트조회 + @param getVpcPeeringInstanceListRequest getVpcPeeringInstanceListRequest + @return *GetVpcPeeringInstanceListResponse*/ +func (a *V2ApiService) GetVpcPeeringInstanceList(getVpcPeeringInstanceListRequest *GetVpcPeeringInstanceListRequest) (*GetVpcPeeringInstanceListResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetVpcPeeringInstanceListResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getVpcPeeringInstanceList" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getVpcPeeringInstanceListRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 네트워크ACLInboundRule제거 + @param removeNetworkAclInboundRuleRequest removeNetworkAclInboundRuleRequest + @return *RemoveNetworkAclInboundRuleResponse*/ +func (a *V2ApiService) RemoveNetworkAclInboundRule(removeNetworkAclInboundRuleRequest *RemoveNetworkAclInboundRuleRequest) (*RemoveNetworkAclInboundRuleResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload RemoveNetworkAclInboundRuleResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/removeNetworkAclInboundRule" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = removeNetworkAclInboundRuleRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 네트워크ACLOutboundRule제거 + @param removeNetworkAclOutboundRuleRequest removeNetworkAclOutboundRuleRequest + @return *RemoveNetworkAclOutboundRuleResponse*/ +func (a *V2ApiService) RemoveNetworkAclOutboundRule(removeNetworkAclOutboundRuleRequest *RemoveNetworkAclOutboundRuleRequest) (*RemoveNetworkAclOutboundRuleResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload RemoveNetworkAclOutboundRuleResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/removeNetworkAclOutboundRule" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = removeNetworkAclOutboundRuleRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 라우트제거 + @param removeRouteRequest removeRouteRequest + @return *RemoveRouteResponse*/ +func (a *V2ApiService) RemoveRoute(removeRouteRequest *RemoveRouteRequest) (*RemoveRouteResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload RemoveRouteResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/removeRoute" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = removeRouteRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 라우트테이블의연관서브넷제거 + @param removeRouteTableSubnetRequest removeRouteTableSubnetRequest + @return *RemoveRouteTableSubnetResponse*/ +func (a *V2ApiService) RemoveRouteTableSubnet(removeRouteTableSubnetRequest *RemoveRouteTableSubnetRequest) (*RemoveRouteTableSubnetResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload RemoveRouteTableSubnetResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/removeRouteTableSubnet" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = removeRouteTableSubnetRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + NATGateway설명설정 + @param setNatGatewayDescriptionRequest setNatGatewayDescriptionRequest + @return *SetNatGatewayDescriptionResponse*/ +func (a *V2ApiService) SetNatGatewayDescription(setNatGatewayDescriptionRequest *SetNatGatewayDescriptionRequest) (*SetNatGatewayDescriptionResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload SetNatGatewayDescriptionResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/setNatGatewayDescription" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = setNatGatewayDescriptionRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 네트워크ACL설명설정 + @param setNetworkAclDescriptionRequest setNetworkAclDescriptionRequest + @return *SetNetworkAclDescriptionResponse*/ +func (a *V2ApiService) SetNetworkAclDescription(setNetworkAclDescriptionRequest *SetNetworkAclDescriptionRequest) (*SetNetworkAclDescriptionResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload SetNetworkAclDescriptionResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/setNetworkAclDescription" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = setNetworkAclDescriptionRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 라우트테이블설명설정 + @param setRouteTableDescriptionRequest setRouteTableDescriptionRequest + @return *SetRouteTableDescriptionResponse*/ +func (a *V2ApiService) SetRouteTableDescription(setRouteTableDescriptionRequest *SetRouteTableDescriptionRequest) (*SetRouteTableDescriptionResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload SetRouteTableDescriptionResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/setRouteTableDescription" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = setRouteTableDescriptionRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 서브넷의네트워크ACL설정 + @param setSubnetNetworkAclRequest setSubnetNetworkAclRequest + @return *SetSubnetNetworkAclResponse*/ +func (a *V2ApiService) SetSubnetNetworkAcl(setSubnetNetworkAclRequest *SetSubnetNetworkAclRequest) (*SetSubnetNetworkAclResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload SetSubnetNetworkAclResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/setSubnetNetworkAcl" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = setSubnetNetworkAclRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + VPCPeering설명설정 + @param setVpcPeeringDescriptionRequest setVpcPeeringDescriptionRequest + @return *SetVpcPeeringDescriptionResponse*/ +func (a *V2ApiService) SetVpcPeeringDescription(setVpcPeeringDescriptionRequest *SetVpcPeeringDescriptionRequest) (*SetVpcPeeringDescriptionResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload SetVpcPeeringDescriptionResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/setVpcPeeringDescription" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = setVpcPeeringDescriptionRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/vpc.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/vpc.go new file mode 100644 index 000000000..d86a3b4c1 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/vpc.go @@ -0,0 +1,30 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type Vpc struct { + + // VPC번호 +VpcNo *string `json:"vpcNo,omitempty"` + + // VPC이름 +VpcName *string `json:"vpcName,omitempty"` + + // IPv4 CIDR블록 +Ipv4CidrBlock *string `json:"ipv4CidrBlock,omitempty"` + + // VPC상태 +VpcStatus *CommonCode `json:"vpcStatus,omitempty"` + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 생성일시 +CreateDate *string `json:"createDate,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/vpc_peering_instance.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/vpc_peering_instance.go new file mode 100644 index 000000000..5148e2d3b --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vpc/vpc_peering_instance.go @@ -0,0 +1,72 @@ +/* + * vpc + * + * VPC Network 관련 API
https://ncloud.apigw.ntruss.com/vpc/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vpc + +type VpcPeeringInstance struct { + + // VPCPeering인스턴스번호 +VpcPeeringInstanceNo *string `json:"vpcPeeringInstanceNo,omitempty"` + + // VPCPeering이름 +VpcPeeringName *string `json:"vpcPeeringName,omitempty"` + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 생성일시 +CreateDate *string `json:"createDate,omitempty"` + + // 마지막수정일시 +LastModifiyDate *string `json:"lastModifiyDate,omitempty"` + + // VPCPeering인스턴스상태 +VpcPeeringInstanceStatus *CommonCode `json:"vpcPeeringInstanceStatus,omitempty"` + + // VPCPeering인스턴스상태이름 +VpcPeeringInstanceStatusName *string `json:"vpcPeeringInstanceStatusName,omitempty"` + + // VPCPeering인스턴스OP +VpcPeeringInstanceOperation *CommonCode `json:"vpcPeeringInstanceOperation,omitempty"` + + // 요청VPC번호 +SourceVpcNo *string `json:"sourceVpcNo,omitempty"` + + // 요청VPC이름 +SourceVpcName *string `json:"sourceVpcName,omitempty"` + + // 요청VPC IPv4 CIDR블록 +SourceVpcIpv4CidrBlock *string `json:"sourceVpcIpv4CidrBlock,omitempty"` + + // 요청VPC소유자ID +SourceVpcLoginId *string `json:"sourceVpcLoginId,omitempty"` + + // 수락VPC번호 +TargetVpcNo *string `json:"targetVpcNo,omitempty"` + + // 수락VPC이름 +TargetVpcName *string `json:"targetVpcName,omitempty"` + + // 수락VPC IPv4 CIDR블록 +TargetVpcIpv4CidrBlock *string `json:"targetVpcIpv4CidrBlock,omitempty"` + + // 수락VPC소유자ID +TargetVpcLoginId *string `json:"targetVpcLoginId,omitempty"` + + // VPCPeering설명 +VpcPeeringDescription *string `json:"vpcPeeringDescription,omitempty"` + + // 역방향VPCPeering존재여부 +HasReverseVpcPeering *bool `json:"hasReverseVpcPeering,omitempty"` + + // 계정간의VPCPeering여부 +IsBetweenAccounts *bool `json:"isBetweenAccounts,omitempty"` + + // 역방향VPCPeering인스턴스번호 +ReverseVpcPeeringInstanceNo *string `json:"reverseVpcPeeringInstanceNo,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/.travis.yml b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/.travis.yml new file mode 100644 index 000000000..f5cb2ce9a --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/.travis.yml @@ -0,0 +1,8 @@ +language: go + +install: + - go get -d -v . + +script: + - go build -v ./ + diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/LICENSE b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/LICENSE new file mode 100644 index 000000000..12c4d078c --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/LICENSE @@ -0,0 +1,7 @@ +Copyright 2018 NAVER BUSINESS PLATFORM Corp. + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/README.md b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/README.md new file mode 100644 index 000000000..3ad5bff39 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/README.md @@ -0,0 +1,249 @@ +# Go API client for vserver + + VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + +## Overview +This API client was generated by the [swagger-codegen](https://github.com/swagger-api/swagger-codegen) project. By using the [swagger-spec](https://github.com/swagger-api/swagger-spec) from a remote server, you can easily generate an API client. + +- API version: 2020-09-17T10:30:17Z +- Package version: 1.0.0 +- Build package: io.swagger.codegen.languages.NcpGoForNcloudClientCodegen + +## Installation +Put the package under your project folder and add the following in import: +``` +"./vserver" +``` + +## Documentation for API Endpoints + +All URIs are relative to *https://ncloud.apigw.ntruss.com/vserver/v2* + +Class | Method | HTTP request | Description +------------ | ------------- | ------------- | ------------- +*V2Api* | [**AddAccessControlGroupInboundRule**](docs/V2Api.md#addaccesscontrolgroupinboundrule) | **Post** /addAccessControlGroupInboundRule | +*V2Api* | [**AddAccessControlGroupOutboundRule**](docs/V2Api.md#addaccesscontrolgroupoutboundrule) | **Post** /addAccessControlGroupOutboundRule | +*V2Api* | [**AddNetworkInterfaceAccessControlGroup**](docs/V2Api.md#addnetworkinterfaceaccesscontrolgroup) | **Post** /addNetworkInterfaceAccessControlGroup | +*V2Api* | [**AddPlacementGroupServerInstance**](docs/V2Api.md#addplacementgroupserverinstance) | **Post** /addPlacementGroupServerInstance | +*V2Api* | [**AssociatePublicIpWithServerInstance**](docs/V2Api.md#associatepublicipwithserverinstance) | **Post** /associatePublicIpWithServerInstance | +*V2Api* | [**AttachBlockStorageInstance**](docs/V2Api.md#attachblockstorageinstance) | **Post** /attachBlockStorageInstance | +*V2Api* | [**AttachNetworkInterface**](docs/V2Api.md#attachnetworkinterface) | **Post** /attachNetworkInterface | +*V2Api* | [**ChangeBlockStorageVolumeSize**](docs/V2Api.md#changeblockstoragevolumesize) | **Post** /changeBlockStorageVolumeSize | +*V2Api* | [**ChangeServerInstanceSpec**](docs/V2Api.md#changeserverinstancespec) | **Post** /changeServerInstanceSpec | +*V2Api* | [**CreateAccessControlGroup**](docs/V2Api.md#createaccesscontrolgroup) | **Post** /createAccessControlGroup | +*V2Api* | [**CreateBlockStorageInstance**](docs/V2Api.md#createblockstorageinstance) | **Post** /createBlockStorageInstance | +*V2Api* | [**CreateBlockStorageSnapshotInstance**](docs/V2Api.md#createblockstoragesnapshotinstance) | **Post** /createBlockStorageSnapshotInstance | +*V2Api* | [**CreateInitScript**](docs/V2Api.md#createinitscript) | **Post** /createInitScript | +*V2Api* | [**CreateLoginKey**](docs/V2Api.md#createloginkey) | **Post** /createLoginKey | +*V2Api* | [**CreateMemberServerImageInstance**](docs/V2Api.md#creatememberserverimageinstance) | **Post** /createMemberServerImageInstance | +*V2Api* | [**CreateNetworkInterface**](docs/V2Api.md#createnetworkinterface) | **Post** /createNetworkInterface | +*V2Api* | [**CreatePlacementGroup**](docs/V2Api.md#createplacementgroup) | **Post** /createPlacementGroup | +*V2Api* | [**CreatePublicIpInstance**](docs/V2Api.md#createpublicipinstance) | **Post** /createPublicIpInstance | +*V2Api* | [**CreateServerInstances**](docs/V2Api.md#createserverinstances) | **Post** /createServerInstances | +*V2Api* | [**DeleteAccessControlGroup**](docs/V2Api.md#deleteaccesscontrolgroup) | **Post** /deleteAccessControlGroup | +*V2Api* | [**DeleteBlockStorageInstances**](docs/V2Api.md#deleteblockstorageinstances) | **Post** /deleteBlockStorageInstances | +*V2Api* | [**DeleteBlockStorageSnapshotInstances**](docs/V2Api.md#deleteblockstoragesnapshotinstances) | **Post** /deleteBlockStorageSnapshotInstances | +*V2Api* | [**DeleteInitScripts**](docs/V2Api.md#deleteinitscripts) | **Post** /deleteInitScripts | +*V2Api* | [**DeleteLoginKeys**](docs/V2Api.md#deleteloginkeys) | **Post** /deleteLoginKeys | +*V2Api* | [**DeleteMemberServerImageInstances**](docs/V2Api.md#deletememberserverimageinstances) | **Post** /deleteMemberServerImageInstances | +*V2Api* | [**DeleteNetworkInterface**](docs/V2Api.md#deletenetworkinterface) | **Post** /deleteNetworkInterface | +*V2Api* | [**DeletePlacementGroup**](docs/V2Api.md#deleteplacementgroup) | **Post** /deletePlacementGroup | +*V2Api* | [**DeletePublicIpInstance**](docs/V2Api.md#deletepublicipinstance) | **Post** /deletePublicIpInstance | +*V2Api* | [**DetachBlockStorageInstances**](docs/V2Api.md#detachblockstorageinstances) | **Post** /detachBlockStorageInstances | +*V2Api* | [**DetachNetworkInterface**](docs/V2Api.md#detachnetworkinterface) | **Post** /detachNetworkInterface | +*V2Api* | [**DisassociatePublicIpFromServerInstance**](docs/V2Api.md#disassociatepublicipfromserverinstance) | **Post** /disassociatePublicIpFromServerInstance | +*V2Api* | [**GetAccessControlGroupDetail**](docs/V2Api.md#getaccesscontrolgroupdetail) | **Post** /getAccessControlGroupDetail | +*V2Api* | [**GetAccessControlGroupList**](docs/V2Api.md#getaccesscontrolgrouplist) | **Post** /getAccessControlGroupList | +*V2Api* | [**GetAccessControlGroupRuleList**](docs/V2Api.md#getaccesscontrolgrouprulelist) | **Post** /getAccessControlGroupRuleList | +*V2Api* | [**GetBlockStorageInstanceDetail**](docs/V2Api.md#getblockstorageinstancedetail) | **Post** /getBlockStorageInstanceDetail | +*V2Api* | [**GetBlockStorageInstanceList**](docs/V2Api.md#getblockstorageinstancelist) | **Post** /getBlockStorageInstanceList | +*V2Api* | [**GetBlockStorageSnapshotInstanceDetail**](docs/V2Api.md#getblockstoragesnapshotinstancedetail) | **Post** /getBlockStorageSnapshotInstanceDetail | +*V2Api* | [**GetBlockStorageSnapshotInstanceList**](docs/V2Api.md#getblockstoragesnapshotinstancelist) | **Post** /getBlockStorageSnapshotInstanceList | +*V2Api* | [**GetInitScriptDetail**](docs/V2Api.md#getinitscriptdetail) | **Post** /getInitScriptDetail | +*V2Api* | [**GetInitScriptList**](docs/V2Api.md#getinitscriptlist) | **Post** /getInitScriptList | +*V2Api* | [**GetLoginKeyList**](docs/V2Api.md#getloginkeylist) | **Post** /getLoginKeyList | +*V2Api* | [**GetMemberServerImageInstanceDetail**](docs/V2Api.md#getmemberserverimageinstancedetail) | **Post** /getMemberServerImageInstanceDetail | +*V2Api* | [**GetMemberServerImageInstanceList**](docs/V2Api.md#getmemberserverimageinstancelist) | **Post** /getMemberServerImageInstanceList | +*V2Api* | [**GetNetworkInterfaceDetail**](docs/V2Api.md#getnetworkinterfacedetail) | **Post** /getNetworkInterfaceDetail | +*V2Api* | [**GetNetworkInterfaceList**](docs/V2Api.md#getnetworkinterfacelist) | **Post** /getNetworkInterfaceList | +*V2Api* | [**GetPlacementGroupDetail**](docs/V2Api.md#getplacementgroupdetail) | **Post** /getPlacementGroupDetail | +*V2Api* | [**GetPlacementGroupList**](docs/V2Api.md#getplacementgrouplist) | **Post** /getPlacementGroupList | +*V2Api* | [**GetPublicIpInstanceDetail**](docs/V2Api.md#getpublicipinstancedetail) | **Post** /getPublicIpInstanceDetail | +*V2Api* | [**GetPublicIpInstanceList**](docs/V2Api.md#getpublicipinstancelist) | **Post** /getPublicIpInstanceList | +*V2Api* | [**GetPublicIpTargetServerInstanceList**](docs/V2Api.md#getpubliciptargetserverinstancelist) | **Post** /getPublicIpTargetServerInstanceList | +*V2Api* | [**GetRegionList**](docs/V2Api.md#getregionlist) | **Post** /getRegionList | +*V2Api* | [**GetRootPassword**](docs/V2Api.md#getrootpassword) | **Post** /getRootPassword | +*V2Api* | [**GetRootPasswordServerInstanceList**](docs/V2Api.md#getrootpasswordserverinstancelist) | **Post** /getRootPasswordServerInstanceList | +*V2Api* | [**GetServerImageProductList**](docs/V2Api.md#getserverimageproductlist) | **Post** /getServerImageProductList | +*V2Api* | [**GetServerInstanceDetail**](docs/V2Api.md#getserverinstancedetail) | **Post** /getServerInstanceDetail | +*V2Api* | [**GetServerInstanceList**](docs/V2Api.md#getserverinstancelist) | **Post** /getServerInstanceList | +*V2Api* | [**GetServerProductList**](docs/V2Api.md#getserverproductlist) | **Post** /getServerProductList | +*V2Api* | [**GetZoneList**](docs/V2Api.md#getzonelist) | **Post** /getZoneList | +*V2Api* | [**ImportLoginKey**](docs/V2Api.md#importloginkey) | **Post** /importLoginKey | +*V2Api* | [**RebootServerInstances**](docs/V2Api.md#rebootserverinstances) | **Post** /rebootServerInstances | +*V2Api* | [**RemoveAccessControlGroupInboundRule**](docs/V2Api.md#removeaccesscontrolgroupinboundrule) | **Post** /removeAccessControlGroupInboundRule | +*V2Api* | [**RemoveAccessControlGroupOutboundRule**](docs/V2Api.md#removeaccesscontrolgroupoutboundrule) | **Post** /removeAccessControlGroupOutboundRule | +*V2Api* | [**RemoveNetworkInterfaceAccessControlGroup**](docs/V2Api.md#removenetworkinterfaceaccesscontrolgroup) | **Post** /removeNetworkInterfaceAccessControlGroup | +*V2Api* | [**RemovePlacementGroupServerInstance**](docs/V2Api.md#removeplacementgroupserverinstance) | **Post** /removePlacementGroupServerInstance | +*V2Api* | [**StartServerInstances**](docs/V2Api.md#startserverinstances) | **Post** /startServerInstances | +*V2Api* | [**StopServerInstances**](docs/V2Api.md#stopserverinstances) | **Post** /stopServerInstances | +*V2Api* | [**TerminateServerInstances**](docs/V2Api.md#terminateserverinstances) | **Post** /terminateServerInstances | + + +## Documentation For Models + + - [AccessControlGroup](docs/AccessControlGroup.md) + - [AccessControlGroupRule](docs/AccessControlGroupRule.md) + - [AddAccessControlGroupInboundRuleRequest](docs/AddAccessControlGroupInboundRuleRequest.md) + - [AddAccessControlGroupInboundRuleResponse](docs/AddAccessControlGroupInboundRuleResponse.md) + - [AddAccessControlGroupOutboundRuleRequest](docs/AddAccessControlGroupOutboundRuleRequest.md) + - [AddAccessControlGroupOutboundRuleResponse](docs/AddAccessControlGroupOutboundRuleResponse.md) + - [AddAccessControlGroupRuleParameter](docs/AddAccessControlGroupRuleParameter.md) + - [AddNetworkInterfaceAccessControlGroupRequest](docs/AddNetworkInterfaceAccessControlGroupRequest.md) + - [AddNetworkInterfaceAccessControlGroupResponse](docs/AddNetworkInterfaceAccessControlGroupResponse.md) + - [AddPlacementGroupServerInstanceRequest](docs/AddPlacementGroupServerInstanceRequest.md) + - [AddPlacementGroupServerInstanceResponse](docs/AddPlacementGroupServerInstanceResponse.md) + - [AssociatePublicIpWithServerInstanceRequest](docs/AssociatePublicIpWithServerInstanceRequest.md) + - [AssociatePublicIpWithServerInstanceResponse](docs/AssociatePublicIpWithServerInstanceResponse.md) + - [AttachBlockStorageInstanceRequest](docs/AttachBlockStorageInstanceRequest.md) + - [AttachBlockStorageInstanceResponse](docs/AttachBlockStorageInstanceResponse.md) + - [AttachNetworkInterfaceRequest](docs/AttachNetworkInterfaceRequest.md) + - [AttachNetworkInterfaceResponse](docs/AttachNetworkInterfaceResponse.md) + - [BlockStorageInstance](docs/BlockStorageInstance.md) + - [BlockStorageSnapshotInstance](docs/BlockStorageSnapshotInstance.md) + - [ChangeBlockStorageVolumeSizeRequest](docs/ChangeBlockStorageVolumeSizeRequest.md) + - [ChangeBlockStorageVolumeSizeResponse](docs/ChangeBlockStorageVolumeSizeResponse.md) + - [ChangeServerInstanceSpecRequest](docs/ChangeServerInstanceSpecRequest.md) + - [ChangeServerInstanceSpecResponse](docs/ChangeServerInstanceSpecResponse.md) + - [CommonCode](docs/CommonCode.md) + - [CreateAccessControlGroupRequest](docs/CreateAccessControlGroupRequest.md) + - [CreateAccessControlGroupResponse](docs/CreateAccessControlGroupResponse.md) + - [CreateBlockStorageInstanceRequest](docs/CreateBlockStorageInstanceRequest.md) + - [CreateBlockStorageInstanceResponse](docs/CreateBlockStorageInstanceResponse.md) + - [CreateBlockStorageSnapshotInstanceRequest](docs/CreateBlockStorageSnapshotInstanceRequest.md) + - [CreateBlockStorageSnapshotInstanceResponse](docs/CreateBlockStorageSnapshotInstanceResponse.md) + - [CreateInitScriptRequest](docs/CreateInitScriptRequest.md) + - [CreateInitScriptResponse](docs/CreateInitScriptResponse.md) + - [CreateLoginKeyRequest](docs/CreateLoginKeyRequest.md) + - [CreateLoginKeyResponse](docs/CreateLoginKeyResponse.md) + - [CreateMemberServerImageInstanceRequest](docs/CreateMemberServerImageInstanceRequest.md) + - [CreateMemberServerImageInstanceResponse](docs/CreateMemberServerImageInstanceResponse.md) + - [CreateNetworkInterfaceRequest](docs/CreateNetworkInterfaceRequest.md) + - [CreateNetworkInterfaceResponse](docs/CreateNetworkInterfaceResponse.md) + - [CreatePlacementGroupRequest](docs/CreatePlacementGroupRequest.md) + - [CreatePlacementGroupResponse](docs/CreatePlacementGroupResponse.md) + - [CreatePublicIpInstanceRequest](docs/CreatePublicIpInstanceRequest.md) + - [CreatePublicIpInstanceResponse](docs/CreatePublicIpInstanceResponse.md) + - [CreateServerInstancesRequest](docs/CreateServerInstancesRequest.md) + - [CreateServerInstancesResponse](docs/CreateServerInstancesResponse.md) + - [DeleteAccessControlGroupRequest](docs/DeleteAccessControlGroupRequest.md) + - [DeleteAccessControlGroupResponse](docs/DeleteAccessControlGroupResponse.md) + - [DeleteBlockStorageInstancesRequest](docs/DeleteBlockStorageInstancesRequest.md) + - [DeleteBlockStorageInstancesResponse](docs/DeleteBlockStorageInstancesResponse.md) + - [DeleteBlockStorageSnapshotInstancesRequest](docs/DeleteBlockStorageSnapshotInstancesRequest.md) + - [DeleteBlockStorageSnapshotInstancesResponse](docs/DeleteBlockStorageSnapshotInstancesResponse.md) + - [DeleteInitScriptsRequest](docs/DeleteInitScriptsRequest.md) + - [DeleteInitScriptsResponse](docs/DeleteInitScriptsResponse.md) + - [DeleteLoginKeysRequest](docs/DeleteLoginKeysRequest.md) + - [DeleteLoginKeysResponse](docs/DeleteLoginKeysResponse.md) + - [DeleteMemberServerImageInstancesRequest](docs/DeleteMemberServerImageInstancesRequest.md) + - [DeleteMemberServerImageInstancesResponse](docs/DeleteMemberServerImageInstancesResponse.md) + - [DeleteNetworkInterfaceRequest](docs/DeleteNetworkInterfaceRequest.md) + - [DeleteNetworkInterfaceResponse](docs/DeleteNetworkInterfaceResponse.md) + - [DeletePlacementGroupRequest](docs/DeletePlacementGroupRequest.md) + - [DeletePlacementGroupResponse](docs/DeletePlacementGroupResponse.md) + - [DeletePublicIpInstanceRequest](docs/DeletePublicIpInstanceRequest.md) + - [DeletePublicIpInstanceResponse](docs/DeletePublicIpInstanceResponse.md) + - [DetachBlockStorageInstancesRequest](docs/DetachBlockStorageInstancesRequest.md) + - [DetachBlockStorageInstancesResponse](docs/DetachBlockStorageInstancesResponse.md) + - [DetachNetworkInterfaceRequest](docs/DetachNetworkInterfaceRequest.md) + - [DetachNetworkInterfaceResponse](docs/DetachNetworkInterfaceResponse.md) + - [DisassociatePublicIpFromServerInstanceRequest](docs/DisassociatePublicIpFromServerInstanceRequest.md) + - [DisassociatePublicIpFromServerInstanceResponse](docs/DisassociatePublicIpFromServerInstanceResponse.md) + - [GetAccessControlGroupDetailRequest](docs/GetAccessControlGroupDetailRequest.md) + - [GetAccessControlGroupDetailResponse](docs/GetAccessControlGroupDetailResponse.md) + - [GetAccessControlGroupListRequest](docs/GetAccessControlGroupListRequest.md) + - [GetAccessControlGroupListResponse](docs/GetAccessControlGroupListResponse.md) + - [GetAccessControlGroupRuleListRequest](docs/GetAccessControlGroupRuleListRequest.md) + - [GetAccessControlGroupRuleListResponse](docs/GetAccessControlGroupRuleListResponse.md) + - [GetBlockStorageInstanceDetailRequest](docs/GetBlockStorageInstanceDetailRequest.md) + - [GetBlockStorageInstanceDetailResponse](docs/GetBlockStorageInstanceDetailResponse.md) + - [GetBlockStorageInstanceListRequest](docs/GetBlockStorageInstanceListRequest.md) + - [GetBlockStorageInstanceListResponse](docs/GetBlockStorageInstanceListResponse.md) + - [GetBlockStorageSnapshotInstanceDetailRequest](docs/GetBlockStorageSnapshotInstanceDetailRequest.md) + - [GetBlockStorageSnapshotInstanceDetailResponse](docs/GetBlockStorageSnapshotInstanceDetailResponse.md) + - [GetBlockStorageSnapshotInstanceListRequest](docs/GetBlockStorageSnapshotInstanceListRequest.md) + - [GetBlockStorageSnapshotInstanceListResponse](docs/GetBlockStorageSnapshotInstanceListResponse.md) + - [GetInitScriptDetailRequest](docs/GetInitScriptDetailRequest.md) + - [GetInitScriptDetailResponse](docs/GetInitScriptDetailResponse.md) + - [GetInitScriptListRequest](docs/GetInitScriptListRequest.md) + - [GetInitScriptListResponse](docs/GetInitScriptListResponse.md) + - [GetLoginKeyListRequest](docs/GetLoginKeyListRequest.md) + - [GetLoginKeyListResponse](docs/GetLoginKeyListResponse.md) + - [GetMemberServerImageInstanceDetailRequest](docs/GetMemberServerImageInstanceDetailRequest.md) + - [GetMemberServerImageInstanceDetailResponse](docs/GetMemberServerImageInstanceDetailResponse.md) + - [GetMemberServerImageInstanceListRequest](docs/GetMemberServerImageInstanceListRequest.md) + - [GetMemberServerImageInstanceListResponse](docs/GetMemberServerImageInstanceListResponse.md) + - [GetNetworkInterfaceDetailRequest](docs/GetNetworkInterfaceDetailRequest.md) + - [GetNetworkInterfaceDetailResponse](docs/GetNetworkInterfaceDetailResponse.md) + - [GetNetworkInterfaceListRequest](docs/GetNetworkInterfaceListRequest.md) + - [GetNetworkInterfaceListResponse](docs/GetNetworkInterfaceListResponse.md) + - [GetPlacementGroupDetailRequest](docs/GetPlacementGroupDetailRequest.md) + - [GetPlacementGroupDetailResponse](docs/GetPlacementGroupDetailResponse.md) + - [GetPlacementGroupListRequest](docs/GetPlacementGroupListRequest.md) + - [GetPlacementGroupListResponse](docs/GetPlacementGroupListResponse.md) + - [GetPublicIpInstanceDetailRequest](docs/GetPublicIpInstanceDetailRequest.md) + - [GetPublicIpInstanceDetailResponse](docs/GetPublicIpInstanceDetailResponse.md) + - [GetPublicIpInstanceListRequest](docs/GetPublicIpInstanceListRequest.md) + - [GetPublicIpInstanceListResponse](docs/GetPublicIpInstanceListResponse.md) + - [GetPublicIpTargetServerInstanceListRequest](docs/GetPublicIpTargetServerInstanceListRequest.md) + - [GetPublicIpTargetServerInstanceListResponse](docs/GetPublicIpTargetServerInstanceListResponse.md) + - [GetRegionListRequest](docs/GetRegionListRequest.md) + - [GetRegionListResponse](docs/GetRegionListResponse.md) + - [GetRootPasswordRequest](docs/GetRootPasswordRequest.md) + - [GetRootPasswordResponse](docs/GetRootPasswordResponse.md) + - [GetRootPasswordServerInstanceListRequest](docs/GetRootPasswordServerInstanceListRequest.md) + - [GetRootPasswordServerInstanceListResponse](docs/GetRootPasswordServerInstanceListResponse.md) + - [GetServerImageProductListRequest](docs/GetServerImageProductListRequest.md) + - [GetServerImageProductListResponse](docs/GetServerImageProductListResponse.md) + - [GetServerInstanceDetailRequest](docs/GetServerInstanceDetailRequest.md) + - [GetServerInstanceDetailResponse](docs/GetServerInstanceDetailResponse.md) + - [GetServerInstanceListRequest](docs/GetServerInstanceListRequest.md) + - [GetServerInstanceListResponse](docs/GetServerInstanceListResponse.md) + - [GetServerProductListRequest](docs/GetServerProductListRequest.md) + - [GetServerProductListResponse](docs/GetServerProductListResponse.md) + - [GetZoneListRequest](docs/GetZoneListRequest.md) + - [GetZoneListResponse](docs/GetZoneListResponse.md) + - [ImportLoginKeyRequest](docs/ImportLoginKeyRequest.md) + - [ImportLoginKeyResponse](docs/ImportLoginKeyResponse.md) + - [InitScript](docs/InitScript.md) + - [LoginKey](docs/LoginKey.md) + - [MemberServerImageInstance](docs/MemberServerImageInstance.md) + - [NetworkInterface](docs/NetworkInterface.md) + - [NetworkInterfaceParameter](docs/NetworkInterfaceParameter.md) + - [PlacementGroup](docs/PlacementGroup.md) + - [Product](docs/Product.md) + - [PublicIpInstance](docs/PublicIpInstance.md) + - [RebootServerInstancesRequest](docs/RebootServerInstancesRequest.md) + - [RebootServerInstancesResponse](docs/RebootServerInstancesResponse.md) + - [Region](docs/Region.md) + - [RemoveAccessControlGroupInboundRuleRequest](docs/RemoveAccessControlGroupInboundRuleRequest.md) + - [RemoveAccessControlGroupInboundRuleResponse](docs/RemoveAccessControlGroupInboundRuleResponse.md) + - [RemoveAccessControlGroupOutboundRuleRequest](docs/RemoveAccessControlGroupOutboundRuleRequest.md) + - [RemoveAccessControlGroupOutboundRuleResponse](docs/RemoveAccessControlGroupOutboundRuleResponse.md) + - [RemoveAccessControlGroupRuleParameter](docs/RemoveAccessControlGroupRuleParameter.md) + - [RemoveNetworkInterfaceAccessControlGroupRequest](docs/RemoveNetworkInterfaceAccessControlGroupRequest.md) + - [RemoveNetworkInterfaceAccessControlGroupResponse](docs/RemoveNetworkInterfaceAccessControlGroupResponse.md) + - [RemovePlacementGroupServerInstanceRequest](docs/RemovePlacementGroupServerInstanceRequest.md) + - [RemovePlacementGroupServerInstanceResponse](docs/RemovePlacementGroupServerInstanceResponse.md) + - [RootPasswordServerInstance](docs/RootPasswordServerInstance.md) + - [RootPasswordServerInstanceParameter](docs/RootPasswordServerInstanceParameter.md) + - [ServerInstance](docs/ServerInstance.md) + - [StartServerInstancesRequest](docs/StartServerInstancesRequest.md) + - [StartServerInstancesResponse](docs/StartServerInstancesResponse.md) + - [StopServerInstancesRequest](docs/StopServerInstancesRequest.md) + - [StopServerInstancesResponse](docs/StopServerInstancesResponse.md) + - [TerminateServerInstancesRequest](docs/TerminateServerInstancesRequest.md) + - [TerminateServerInstancesResponse](docs/TerminateServerInstancesResponse.md) + - [Zone](docs/Zone.md) + diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/access_control_group.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/access_control_group.go new file mode 100644 index 000000000..f199d34be --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/access_control_group.go @@ -0,0 +1,30 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type AccessControlGroup struct { + + // ACG번호 +AccessControlGroupNo *string `json:"accessControlGroupNo,omitempty"` + + // ACG이름 +AccessControlGroupName *string `json:"accessControlGroupName,omitempty"` + + // Default여부 +IsDefault *bool `json:"isDefault,omitempty"` + + // VPC번호 +VpcNo *string `json:"vpcNo,omitempty"` + + // ACG상태 +AccessControlGroupStatus *CommonCode `json:"accessControlGroupStatus,omitempty"` + + // ACG설명 +AccessControlGroupDescription *string `json:"accessControlGroupDescription,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/access_control_group_rule.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/access_control_group_rule.go new file mode 100644 index 000000000..cbf6f6934 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/access_control_group_rule.go @@ -0,0 +1,33 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type AccessControlGroupRule struct { + + // ACG번호 +AccessControlGroupNo *string `json:"accessControlGroupNo,omitempty"` + + // 프로토콜유형 +ProtocolType *CommonCode `json:"protocolType,omitempty"` + + // IP블록 +IpBlock *string `json:"ipBlock,omitempty"` + + // 포트범위 +PortRange *string `json:"portRange,omitempty"` + + // 접근소스ACG +AccessControlGroupSequence *string `json:"accessControlGroupSequence,omitempty"` + + // ACGRule유형 +AccessControlGroupRuleType *CommonCode `json:"accessControlGroupRuleType,omitempty"` + + // ACGRule설명 +AccessControlGroupRuleDescription *string `json:"accessControlGroupRuleDescription,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/add_access_control_group_inbound_rule_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/add_access_control_group_inbound_rule_request.go new file mode 100644 index 000000000..2dc9fe8d9 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/add_access_control_group_inbound_rule_request.go @@ -0,0 +1,24 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type AddAccessControlGroupInboundRuleRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // ACG번호 +AccessControlGroupNo *string `json:"accessControlGroupNo"` + + // VPC번호 +VpcNo *string `json:"vpcNo"` + + // ACGRule리스트 +AccessControlGroupRuleList []*AddAccessControlGroupRuleParameter `json:"accessControlGroupRuleList"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/add_access_control_group_inbound_rule_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/add_access_control_group_inbound_rule_response.go new file mode 100644 index 000000000..6a68a8007 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/add_access_control_group_inbound_rule_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type AddAccessControlGroupInboundRuleResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +AccessControlGroupRuleList []*AccessControlGroupRule `json:"accessControlGroupRuleList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/add_access_control_group_outbound_rule_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/add_access_control_group_outbound_rule_request.go new file mode 100644 index 000000000..04d6e7576 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/add_access_control_group_outbound_rule_request.go @@ -0,0 +1,24 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type AddAccessControlGroupOutboundRuleRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // ACG번호 +AccessControlGroupNo *string `json:"accessControlGroupNo"` + + // VPC번호 +VpcNo *string `json:"vpcNo"` + + // ACGRule리스트 +AccessControlGroupRuleList []*AddAccessControlGroupRuleParameter `json:"accessControlGroupRuleList"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/add_access_control_group_outbound_rule_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/add_access_control_group_outbound_rule_response.go new file mode 100644 index 000000000..5d99849f8 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/add_access_control_group_outbound_rule_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type AddAccessControlGroupOutboundRuleResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +AccessControlGroupRuleList []*AccessControlGroupRule `json:"accessControlGroupRuleList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/add_access_control_group_rule_parameter.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/add_access_control_group_rule_parameter.go new file mode 100644 index 000000000..56a8c96ff --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/add_access_control_group_rule_parameter.go @@ -0,0 +1,27 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type AddAccessControlGroupRuleParameter struct { + + // ACGRule설명 +AccessControlGroupRuleDescription *string `json:"accessControlGroupRuleDescription,omitempty"` + + // IP블록 +IpBlock *string `json:"ipBlock,omitempty"` + + // 접근소스ACG +AccessControlGroupSequence *string `json:"accessControlGroupSequence,omitempty"` + + // 포트범위 +PortRange *string `json:"portRange,omitempty"` + + // 프로토콜유형코드 +ProtocolTypeCode *string `json:"protocolTypeCode"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/add_network_interface_access_control_group_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/add_network_interface_access_control_group_request.go new file mode 100644 index 000000000..8bad29eb5 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/add_network_interface_access_control_group_request.go @@ -0,0 +1,21 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type AddNetworkInterfaceAccessControlGroupRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // ACG번호리스트 +AccessControlGroupNoList []*string `json:"accessControlGroupNoList"` + + // 네트워크인터페이스번호 +NetworkInterfaceNo *string `json:"networkInterfaceNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/add_network_interface_access_control_group_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/add_network_interface_access_control_group_response.go new file mode 100644 index 000000000..c1b3d6dca --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/add_network_interface_access_control_group_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type AddNetworkInterfaceAccessControlGroupResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +NetworkInterfaceList []*NetworkInterface `json:"networkInterfaceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/add_placement_group_server_instance_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/add_placement_group_server_instance_request.go new file mode 100644 index 000000000..a3bb47459 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/add_placement_group_server_instance_request.go @@ -0,0 +1,21 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type AddPlacementGroupServerInstanceRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 물리배치그룹번호 +PlacementGroupNo *string `json:"placementGroupNo"` + + // 서버인스턴스번호 +ServerInstanceNo *string `json:"serverInstanceNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/add_placement_group_server_instance_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/add_placement_group_server_instance_response.go new file mode 100644 index 000000000..297e1af91 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/add_placement_group_server_instance_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type AddPlacementGroupServerInstanceResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +ServerInstanceList []*ServerInstance `json:"serverInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/api_client.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/api_client.go new file mode 100644 index 000000000..23d03d6f0 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/api_client.go @@ -0,0 +1,450 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +import ( + "bytes" + "crypto" + "errors" + "fmt" + "io" + "mime/multipart" + "net/http" + "net/url" + "os" + "path/filepath" + "reflect" + "regexp" + "strconv" + "strings" + "time" + "unicode" + "unicode/utf8" + + "github.com/NaverCloudPlatform/ncloud-sdk-go-v2/hmac" + "github.com/NaverCloudPlatform/ncloud-sdk-go-v2/ncloud" +) + +var ( + jsonCheck = regexp.MustCompile("(?i:[application|text]/json)") + xmlCheck = regexp.MustCompile("(?i:[application|text]/xml)") +) + +// APIClient manages communication with the vserver API v2020-09-17T10:30:17Z +// In most cases there should be only one, shared, APIClient. +type APIClient struct { + cfg *ncloud.Configuration + common service // Reuse a single struct instead of allocating one for each service on the heap. + + // API Services + V2Api *V2ApiService +} + +type service struct { + client *APIClient +} + +// NewAPIClient creates a new API client. Requires a userAgent string describing your application. +// optionally a custom http.Client to allow for advanced features such as caching. +func NewAPIClient(cfg *ncloud.Configuration) *APIClient { + if cfg.HTTPClient == nil { + cfg.HTTPClient = http.DefaultClient + } + + c := &APIClient{} + c.cfg = cfg + c.common.client = c + + // API Services + c.V2Api = (*V2ApiService)(&c.common) + + return c +} + +func atoi(in string) (int, error) { + return strconv.Atoi(in) +} + +// selectHeaderContentType select a content type from the available list. +func selectHeaderContentType(contentTypes []string) string { + if len(contentTypes) == 0 { + return "" + } + if contains(contentTypes, "application/json") { + return "application/json" + } + return contentTypes[0] // use the first content type specified in 'consumes' +} + +// selectHeaderAccept join all accept types and return +func selectHeaderAccept(accepts []string) string { + if len(accepts) == 0 { + return "" + } + + if contains(accepts, "application/json") { + return "application/json" + } + + return strings.Join(accepts, ",") +} + +// contains is a case insenstive match, finding needle in a haystack +func contains(haystack []string, needle string) bool { + for _, a := range haystack { + if strings.ToLower(a) == strings.ToLower(needle) { + return true + } + } + return false +} + +// Verify optional parameters are of the correct type. +func typeCheckParameter(obj interface{}, expected string, name string) error { + // Make sure there is an object. + if obj == nil { + return nil + } + + // Check the type is as expected. + if reflect.TypeOf(obj).String() != expected { + return fmt.Errorf("Expected %s to be of type %s but received %s.", name, expected, reflect.TypeOf(obj).String()) + } + return nil +} + +// parameterToString convert interface{} parameters to string, using a delimiter if format is provided. +func parameterToString(obj interface{}, collectionFormat string) string { + var delimiter string + + switch collectionFormat { + case "pipes": + delimiter = "|" + case "ssv": + delimiter = " " + case "tsv": + delimiter = "\t" + case "csv": + delimiter = "," + } + + if reflect.TypeOf(obj).Kind() == reflect.Slice { + return strings.Trim(strings.Replace(fmt.Sprint(obj), " ", delimiter, -1), "[]") + } + + return fmt.Sprintf("%v", obj) +} + +// callAPI do the request. +func (c *APIClient) callAPI(request *http.Request) (*http.Response, error) { + return c.cfg.HTTPClient.Do(request) +} + +// Change base path to allow switching to mocks +func (c *APIClient) ChangeBasePath(path string) { + c.cfg.BasePath = path +} + +// prepareRequest build the request +func (c *APIClient) prepareRequest( + path string, + method string, + postBody interface{}, + headerParams map[string]string, + queryParams url.Values, + formParams url.Values, + fileName string, + fileBytes []byte) (localVarRequest *http.Request, err error) { + + var body *bytes.Buffer + + // Detect postBody type and post. + if postBody != nil { + contentType := headerParams["Content-Type"] + if contentType == "" { + contentType = detectContentType(postBody) + headerParams["Content-Type"] = contentType + } + + body, err = setBody(postBody, contentType) + if err != nil { + return nil, err + } + } + + // add form parameters and file if available. + if len(formParams) > 0 || (len(fileBytes) > 0 && fileName != "") { + if body != nil { + return nil, errors.New("Cannot specify postBody and multipart form at the same time.") + } + body = &bytes.Buffer{} + w := multipart.NewWriter(body) + + for k, v := range formParams { + for _, iv := range v { + if strings.HasPrefix(k, "@") { // file + err = addFile(w, k[1:], iv) + if err != nil { + return nil, err + } + } else { // form value + w.WriteField(k, iv) + } + } + } + if len(fileBytes) > 0 && fileName != "" { + w.Boundary() + //_, fileNm := filepath.Split(fileName) + part, err := w.CreateFormFile("file", filepath.Base(fileName)) + if err != nil { + return nil, err + } + _, err = part.Write(fileBytes) + if err != nil { + return nil, err + } + // Set the Boundary in the Content-Type + headerParams["Content-Type"] = w.FormDataContentType() + } + + // Set Content-Length + headerParams["Content-Length"] = fmt.Sprintf("%d", body.Len()) + w.Close() + } + + // Setup path and query parameters + url, err := url.Parse(path) + if err != nil { + return nil, err + } + + // Adding Query Param + query := url.Query() + for k, v := range queryParams { + for _, iv := range v { + query.Add(k, iv) + } + } + + // Encode the parameters. + url.RawQuery = query.Encode() + + // Generate a new request + if body != nil { + localVarRequest, err = http.NewRequest(method, url.String(), body) + } else { + localVarRequest, err = http.NewRequest(method, url.String(), nil) + } + if err != nil { + return nil, err + } + + // add header parameters, if any + if len(headerParams) > 0 { + headers := http.Header{} + for h, v := range headerParams { + headers.Set(h, v) + } + localVarRequest.Header = headers + } + + // Override request host, if applicable + if c.cfg.Host != "" { + localVarRequest.Host = c.cfg.Host + } + + // Add the user agent to the request. + localVarRequest.Header.Add("User-Agent", c.cfg.UserAgent) + + // APIKey Authentication + if auth := c.cfg.APIKey; auth != nil { + timestamp := strconv.FormatInt(time.Now().UnixNano()/int64(time.Millisecond), 10) + signer := hmac.NewSigner(auth.SecretKey, crypto.SHA256) + signature, _ := signer.Sign(method, path, auth.AccessKey, timestamp) + + localVarRequest.Header.Add("x-ncp-apigw-timestamp", timestamp) + localVarRequest.Header.Add("x-ncp-iam-access-key", auth.AccessKey) + localVarRequest.Header.Add("x-ncp-apigw-signature-v1", signature) + } + + for header, value := range c.cfg.DefaultHeader { + localVarRequest.Header.Add(header, value) + } + + return localVarRequest, nil +} + +// Add a file to the multipart request +func addFile(w *multipart.Writer, fieldName, path string) error { + file, err := os.Open(path) + if err != nil { + return err + } + defer file.Close() + + part, err := w.CreateFormFile(fieldName, filepath.Base(path)) + if err != nil { + return err + } + _, err = io.Copy(part, file) + + return err +} + +// Prevent trying to import "fmt" +func reportError(format string, a ...interface{}) error { + return fmt.Errorf(format, a...) +} + +func toLowerFirstChar(s string) string { + a := []rune(s) + a[0] = unicode.ToLower(a[0]) + return string(a) +} + +// Set request body from an interface{} +func setBody(body interface{}, contentType string) (bodyBuf *bytes.Buffer, err error) { + if bodyBuf == nil { + bodyBuf = &bytes.Buffer{} + } + + bodyBuf.WriteString("responseFormatType=json") + s := reflect.ValueOf(body).Elem() + bodyBuf.WriteString(buildQueryString(s, "")) + + if err != nil { + return nil, err + } + + if bodyBuf.Len() == 0 { + err = fmt.Errorf("invalid body type %s", contentType) + return nil, err + } + return bodyBuf, nil +} + +func buildQueryString(s reflect.Value, prefix string) string { + bodyBuf := &bytes.Buffer{} + if s.Kind() == reflect.Struct { + for i := 0; i < s.NumField(); i++ { + f := s.Field(i) + if !f.IsNil() { + name := toLowerFirstChar(s.Type().Field(i).Name) + if len(prefix) > 0 { + bodyBuf.WriteString(buildQueryString(f, fmt.Sprintf("%s.%s", prefix, name))) + } else { + bodyBuf.WriteString(buildQueryString(f, name)) + } + } + } + } else if s.Kind() == reflect.Slice { + for i := 0; i < s.Len(); i++ { + item := s.Index(i) + bodyBuf.WriteString(buildQueryString(item.Elem(), fmt.Sprintf("%s.%d", prefix, i+1))) + } + } else if s.Kind() == reflect.Ptr { + bodyBuf.WriteString(fmt.Sprintf("&%s=%s", prefix, convertToString(s))) + } else if s.Kind() == reflect.String { + bodyBuf.WriteString(fmt.Sprintf("&%s=%s", prefix, s.Interface())) + } + + return bodyBuf.String() +} + +func convertToString(f reflect.Value) string { + switch f.Type().String() { + case "*string": + return url.QueryEscape(ncloud.StringValue(f.Interface().(*string))) + case "*bool": + return fmt.Sprintf("%t", *f.Interface().(*bool)) + case "*int": + return fmt.Sprintf("%d", *f.Interface().(*int)) + case "*int32": + return fmt.Sprintf("%d", *f.Interface().(*int32)) + case "*int64": + return fmt.Sprintf("%d", *f.Interface().(*int64)) + case "*float32": + return fmt.Sprintf("%f", *f.Interface().(*float32)) + } + return "" +} + +// detectContentType method is used to figure out `Request.Body` content type for request header +func detectContentType(body interface{}) string { + contentType := "text/plain; charset=utf-8" + kind := reflect.TypeOf(body).Kind() + + switch kind { + case reflect.Struct, reflect.Map, reflect.Ptr: + contentType = "application/json; charset=utf-8" + case reflect.String: + contentType = "text/plain; charset=utf-8" + default: + if b, ok := body.([]byte); ok { + contentType = http.DetectContentType(b) + } else if kind == reflect.Slice { + contentType = "application/json; charset=utf-8" + } + } + + return contentType +} + +// Ripped from https://github.com/gregjones/httpcache/blob/master/httpcache.go +type cacheControl map[string]string + +func parseCacheControl(headers http.Header) cacheControl { + cc := cacheControl{} + ccHeader := headers.Get("Cache-Control") + for _, part := range strings.Split(ccHeader, ",") { + part = strings.Trim(part, " ") + if part == "" { + continue + } + if strings.ContainsRune(part, '=') { + keyval := strings.Split(part, "=") + cc[strings.Trim(keyval[0], " ")] = strings.Trim(keyval[1], ",") + } else { + cc[part] = "" + } + } + return cc +} + +// CacheExpires helper function to determine remaining time before repeating a request. +func CacheExpires(r *http.Response) time.Time { + // Figure out when the cache expires. + var expires time.Time + now, err := time.Parse(time.RFC1123, r.Header.Get("date")) + if err != nil { + return time.Now() + } + respCacheControl := parseCacheControl(r.Header) + + if maxAge, ok := respCacheControl["max-age"]; ok { + lifetime, err := time.ParseDuration(maxAge + "s") + if err != nil { + expires = now + } + expires = now.Add(lifetime) + } else { + expiresHeader := r.Header.Get("Expires") + if expiresHeader != "" { + expires, err = time.Parse(time.RFC1123, expiresHeader) + if err != nil { + expires = now + } + } + } + return expires +} + +func strlen(s string) int { + return utf8.RuneCountInString(s) +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/api_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/api_response.go new file mode 100644 index 000000000..d420a6ac5 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/api_response.go @@ -0,0 +1,42 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +import ( + "net/http" +) + +type APIResponse struct { + *http.Response `json:"-"` + Message string `json:"message,omitempty"` + // Operation is the name of the swagger operation. + Operation string `json:"operation,omitempty"` + // RequestURL is the request URL. This value is always available, even if the + // embedded *http.Response is nil. + RequestURL string `json:"url,omitempty"` + // Method is the HTTP method used for the request. This value is always + // available, even if the embedded *http.Response is nil. + Method string `json:"method,omitempty"` + // Payload holds the contents of the response body (which may be nil or empty). + // This is provided here as the raw response.Body() reader will have already + // been drained. + Payload []byte `json:"-"` +} + +func NewAPIResponse(r *http.Response) *APIResponse { + + response := &APIResponse{Response: r} + return response +} + +func NewAPIResponseWithError(errorMessage string) *APIResponse { + + response := &APIResponse{Message: errorMessage} + return response +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/associate_public_ip_with_server_instance_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/associate_public_ip_with_server_instance_request.go new file mode 100644 index 000000000..7a93cb7e9 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/associate_public_ip_with_server_instance_request.go @@ -0,0 +1,21 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type AssociatePublicIpWithServerInstanceRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 공인IP인스턴스번호 +PublicIpInstanceNo *string `json:"publicIpInstanceNo"` + + // 서버인스턴스번호 +ServerInstanceNo *string `json:"serverInstanceNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/associate_public_ip_with_server_instance_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/associate_public_ip_with_server_instance_response.go new file mode 100644 index 000000000..5761e1194 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/associate_public_ip_with_server_instance_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type AssociatePublicIpWithServerInstanceResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +PublicIpInstanceList []*PublicIpInstance `json:"publicIpInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/attach_block_storage_instance_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/attach_block_storage_instance_request.go new file mode 100644 index 000000000..18f474693 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/attach_block_storage_instance_request.go @@ -0,0 +1,21 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type AttachBlockStorageInstanceRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 서버인스턴스번호 +ServerInstanceNo *string `json:"serverInstanceNo"` + + // 블록스토리지인스턴스번호 +BlockStorageInstanceNo *string `json:"blockStorageInstanceNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/attach_block_storage_instance_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/attach_block_storage_instance_response.go new file mode 100644 index 000000000..93569dbcc --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/attach_block_storage_instance_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type AttachBlockStorageInstanceResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +BlockStorageInstanceList []*BlockStorageInstance `json:"blockStorageInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/attach_network_interface_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/attach_network_interface_request.go new file mode 100644 index 000000000..35e614f6c --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/attach_network_interface_request.go @@ -0,0 +1,24 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type AttachNetworkInterfaceRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 서버인스턴스번호 +ServerInstanceNo *string `json:"serverInstanceNo"` + + // 네트워크인터페이스번호 +NetworkInterfaceNo *string `json:"networkInterfaceNo"` + + // 서브넷번호 +SubnetNo *string `json:"subnetNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/attach_network_interface_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/attach_network_interface_response.go new file mode 100644 index 000000000..90d5c5c36 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/attach_network_interface_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type AttachNetworkInterfaceResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +NetworkInterfaceList []*NetworkInterface `json:"networkInterfaceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/block_storage_instance.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/block_storage_instance.go new file mode 100644 index 000000000..b45bf4340 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/block_storage_instance.go @@ -0,0 +1,66 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type BlockStorageInstance struct { + + // 블록스토리지인스턴스번호 +BlockStorageInstanceNo *string `json:"blockStorageInstanceNo,omitempty"` + + // 서버인스턴스번호 +ServerInstanceNo *string `json:"serverInstanceNo,omitempty"` + + // 블록스토리지이름 +BlockStorageName *string `json:"blockStorageName,omitempty"` + + // 블록스토리지유형 +BlockStorageType *CommonCode `json:"blockStorageType,omitempty"` + + // 블록스토리지사이즈 +BlockStorageSize *int64 `json:"blockStorageSize,omitempty"` + + // 디바이스이름 +DeviceName *string `json:"deviceName,omitempty"` + + // 블록스토리지상품코드 +BlockStorageProductCode *string `json:"blockStorageProductCode,omitempty"` + + // 블록스토리지인스턴스상태 +BlockStorageInstanceStatus *CommonCode `json:"blockStorageInstanceStatus,omitempty"` + + // 블록스토리지인스턴스OP +BlockStorageInstanceOperation *CommonCode `json:"blockStorageInstanceOperation,omitempty"` + + // 블록스토리지인스턴스상태이름 +BlockStorageInstanceStatusName *string `json:"blockStorageInstanceStatusName,omitempty"` + + // 생성일시 +CreateDate *string `json:"createDate,omitempty"` + + // 블록스토리지설명 +BlockStorageDescription *string `json:"blockStorageDescription,omitempty"` + + // 블록스토리지디스크유형 +BlockStorageDiskType *CommonCode `json:"blockStorageDiskType,omitempty"` + + // 블록스토리지디스크상세유형 +BlockStorageDiskDetailType *CommonCode `json:"blockStorageDiskDetailType,omitempty"` + + // 최대IOPS +MaxIopsThroughput *int32 `json:"maxIopsThroughput,omitempty"` + + // 볼륨암호화여부 +IsEncryptedVolume *bool `json:"isEncryptedVolume,omitempty"` + + // ZONE코드 +ZoneCode *string `json:"zoneCode,omitempty"` + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/block_storage_snapshot_instance.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/block_storage_snapshot_instance.go new file mode 100644 index 000000000..843d2f5f9 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/block_storage_snapshot_instance.go @@ -0,0 +1,42 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type BlockStorageSnapshotInstance struct { + + // 블록스토리지스냅샷인스턴스번호 +BlockStorageSnapshotInstanceNo *string `json:"blockStorageSnapshotInstanceNo,omitempty"` + + // 블록스토리지스냅샷이름 +BlockStorageSnapshotName *string `json:"blockStorageSnapshotName,omitempty"` + + // 블록스토리지스냅샷볼륨사이즈 +BlockStorageSnapshotVolumeSize *int64 `json:"blockStorageSnapshotVolumeSize,omitempty"` + + // 원본블록스토리지인스턴스번호 +OriginalBlockStorageInstanceNo *string `json:"originalBlockStorageInstanceNo,omitempty"` + + // 블록스토리지스냅샷인스턴스상태 +BlockStorageSnapshotInstanceStatus *CommonCode `json:"blockStorageSnapshotInstanceStatus,omitempty"` + + // 블록스토리지스냅샷인스턴스OP +BlockStorageSnapshotInstanceOperation *CommonCode `json:"blockStorageSnapshotInstanceOperation,omitempty"` + + // 블록스토리지스냅샷인스턴스상태이름 +BlockStorageSnapshotInstanceStatusName *string `json:"blockStorageSnapshotInstanceStatusName,omitempty"` + + // 생성일시 +CreateDate *string `json:"createDate,omitempty"` + + // 원본블록스토리지볼륨암호화여부 +IsEncryptedOriginalBlockStorageVolume *bool `json:"isEncryptedOriginalBlockStorageVolume,omitempty"` + + // 블록스토리지스냅샷설명 +BlockStorageSnapshotDescription *string `json:"blockStorageSnapshotDescription,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/change_block_storage_volume_size_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/change_block_storage_volume_size_request.go new file mode 100644 index 000000000..c124a3b29 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/change_block_storage_volume_size_request.go @@ -0,0 +1,21 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type ChangeBlockStorageVolumeSizeRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 블록스토리지인스턴스번호 +BlockStorageInstanceNo *string `json:"blockStorageInstanceNo"` + + // 블록스토리지사이즈 +BlockStorageSize *int32 `json:"blockStorageSize"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/change_block_storage_volume_size_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/change_block_storage_volume_size_response.go new file mode 100644 index 000000000..404af9af1 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/change_block_storage_volume_size_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type ChangeBlockStorageVolumeSizeResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +BlockStorageInstanceList []*BlockStorageInstance `json:"blockStorageInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/change_server_instance_spec_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/change_server_instance_spec_request.go new file mode 100644 index 000000000..2db5e434e --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/change_server_instance_spec_request.go @@ -0,0 +1,21 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type ChangeServerInstanceSpecRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 서버인스턴스번호 +ServerInstanceNo *string `json:"serverInstanceNo"` + + // 서버상품코드 +ServerProductCode *string `json:"serverProductCode"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/change_server_instance_spec_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/change_server_instance_spec_response.go new file mode 100644 index 000000000..aef05a48b --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/change_server_instance_spec_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type ChangeServerInstanceSpecResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +ServerInstanceList []*ServerInstance `json:"serverInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/common_code.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/common_code.go new file mode 100644 index 000000000..e9f1a4d7f --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/common_code.go @@ -0,0 +1,18 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type CommonCode struct { + + // 코드 +Code *string `json:"code,omitempty"` + + // 코드명 +CodeName *string `json:"codeName,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/configuration.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/configuration.go new file mode 100644 index 000000000..e97db128a --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/configuration.go @@ -0,0 +1,37 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +import ( + "github.com/NaverCloudPlatform/ncloud-sdk-go-v2/ncloud" + "os" +) + +// contextKeys are used to identify the type of value in the context. +// Since these are string, it is possible to get a short description of the +// context key for logging and debugging using key.String(). + +type contextKey string + +func (c contextKey) String() string { + return "auth " + string(c) +} + +func NewConfiguration(apiKey *ncloud.APIKey) *ncloud.Configuration { + cfg := &ncloud.Configuration{ + BasePath: "https://ncloud.apigw.ntruss.com/vserver/v2", + DefaultHeader: make(map[string]string), + UserAgent: "vserver/1.0.0/go", + APIKey: apiKey, + } + if os.Getenv("NCLOUD_API_GW") != "" { + cfg.BasePath = os.Getenv("NCLOUD_API_GW") + "/vserver/v2" + } + return cfg +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_access_control_group_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_access_control_group_request.go new file mode 100644 index 000000000..ace817e29 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_access_control_group_request.go @@ -0,0 +1,24 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type CreateAccessControlGroupRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // ACG이름 +AccessControlGroupName *string `json:"accessControlGroupName,omitempty"` + + // ACG설명 +AccessControlGroupDescription *string `json:"accessControlGroupDescription,omitempty"` + + // VPC번호 +VpcNo *string `json:"vpcNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_access_control_group_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_access_control_group_response.go new file mode 100644 index 000000000..177ba33b5 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_access_control_group_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type CreateAccessControlGroupResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +AccessControlGroupList []*AccessControlGroup `json:"accessControlGroupList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_block_storage_instance_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_block_storage_instance_request.go new file mode 100644 index 000000000..b6d9f7e70 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_block_storage_instance_request.go @@ -0,0 +1,36 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type CreateBlockStorageInstanceRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 블록스토리지이름 +BlockStorageName *string `json:"blockStorageName,omitempty"` + + // 블록스토리지사이즈 +BlockStorageSize *int32 `json:"blockStorageSize"` + + // 블록스토리지디스크상세유형코드 +BlockStorageDiskDetailTypeCode *string `json:"blockStorageDiskDetailTypeCode,omitempty"` + + // 블록스토리지설명 +BlockStorageDescription *string `json:"blockStorageDescription,omitempty"` + + // 서버인스턴스번호 +ServerInstanceNo *string `json:"serverInstanceNo"` + + // 블록스토리지스냅샷인스턴스번호 +BlockStorageSnapshotInstanceNo *string `json:"blockStorageSnapshotInstanceNo,omitempty"` + + // ZONE코드 +ZoneCode *string `json:"zoneCode,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_block_storage_instance_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_block_storage_instance_response.go new file mode 100644 index 000000000..462e3ee53 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_block_storage_instance_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type CreateBlockStorageInstanceResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +BlockStorageInstanceList []*BlockStorageInstance `json:"blockStorageInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_block_storage_snapshot_instance_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_block_storage_snapshot_instance_request.go new file mode 100644 index 000000000..c26d9f04e --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_block_storage_snapshot_instance_request.go @@ -0,0 +1,24 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type CreateBlockStorageSnapshotInstanceRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 블록스토리지스냅샷이름 +BlockStorageSnapshotName *string `json:"blockStorageSnapshotName,omitempty"` + + // 블록스토리지스냅샷설명 +BlockStorageSnapshotDescription *string `json:"blockStorageSnapshotDescription,omitempty"` + + // 원본블록스토리지인스턴스번호 +OriginalBlockStorageInstanceNo *string `json:"originalBlockStorageInstanceNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_block_storage_snapshot_instance_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_block_storage_snapshot_instance_response.go new file mode 100644 index 000000000..8649c8db4 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_block_storage_snapshot_instance_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type CreateBlockStorageSnapshotInstanceResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +BlockStorageSnapshotInstanceList []*BlockStorageSnapshotInstance `json:"blockStorageSnapshotInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_init_script_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_init_script_request.go new file mode 100644 index 000000000..be52227e6 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_init_script_request.go @@ -0,0 +1,27 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type CreateInitScriptRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 초기화스크립트내용 +InitScriptContent *string `json:"initScriptContent"` + + // 초기화스크립트이름 +InitScriptName *string `json:"initScriptName,omitempty"` + + // 초기화스크립트설명 +InitScriptDescription *string `json:"initScriptDescription,omitempty"` + + // OS유형코드 +OsTypeCode *string `json:"osTypeCode"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_init_script_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_init_script_response.go new file mode 100644 index 000000000..d0fe796d1 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_init_script_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type CreateInitScriptResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +InitScriptList []*InitScript `json:"initScriptList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_login_key_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_login_key_request.go new file mode 100644 index 000000000..f04aa50cd --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_login_key_request.go @@ -0,0 +1,15 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type CreateLoginKeyRequest struct { + + // 키이름 +KeyName *string `json:"keyName,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_login_key_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_login_key_response.go new file mode 100644 index 000000000..3a5122e2e --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_login_key_response.go @@ -0,0 +1,26 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type CreateLoginKeyResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + + // 키이름 +KeyName *string `json:"keyName,omitempty"` + + // 개인키 +PrivateKey *string `json:"privateKey,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_member_server_image_instance_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_member_server_image_instance_request.go new file mode 100644 index 000000000..55d85dda1 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_member_server_image_instance_request.go @@ -0,0 +1,24 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type CreateMemberServerImageInstanceRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 회원서버이미지이름 +MemberServerImageName *string `json:"memberServerImageName,omitempty"` + + // 회원서버이미지설명 +MemberServerImageDescription *string `json:"memberServerImageDescription,omitempty"` + + // 서버인스턴스번호 +ServerInstanceNo *string `json:"serverInstanceNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_member_server_image_instance_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_member_server_image_instance_response.go new file mode 100644 index 000000000..4152110ef --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_member_server_image_instance_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type CreateMemberServerImageInstanceResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +MemberServerImageInstanceList []*MemberServerImageInstance `json:"memberServerImageInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_network_interface_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_network_interface_request.go new file mode 100644 index 000000000..f45391434 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_network_interface_request.go @@ -0,0 +1,36 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type CreateNetworkInterfaceRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // ACG번호리스트 +AccessControlGroupNoList []*string `json:"accessControlGroupNoList"` + + // 네트워크인터페이스설명 +NetworkInterfaceDescription *string `json:"networkInterfaceDescription,omitempty"` + + // 네트워크인터페이스이름 +NetworkInterfaceName *string `json:"networkInterfaceName,omitempty"` + + // 서브넷번호 +SubnetNo *string `json:"subnetNo"` + + // VPC번호 +VpcNo *string `json:"vpcNo"` + + // 서버인스턴스번호 +ServerInstanceNo *string `json:"serverInstanceNo,omitempty"` + + // IP주소 +Ip *string `json:"ip,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_network_interface_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_network_interface_response.go new file mode 100644 index 000000000..8868a4ffe --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_network_interface_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type CreateNetworkInterfaceResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +NetworkInterfaceList []*NetworkInterface `json:"networkInterfaceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_placement_group_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_placement_group_request.go new file mode 100644 index 000000000..d466d8254 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_placement_group_request.go @@ -0,0 +1,21 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type CreatePlacementGroupRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 물리배치그룹이름 +PlacementGroupName *string `json:"placementGroupName,omitempty"` + + // 물리배치그룹유형코드 +PlacementGroupTypeCode *string `json:"placementGroupTypeCode,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_placement_group_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_placement_group_response.go new file mode 100644 index 000000000..e3a0884d4 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_placement_group_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type CreatePlacementGroupResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +PlacementGroupList []*PlacementGroup `json:"placementGroupList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_public_ip_instance_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_public_ip_instance_request.go new file mode 100644 index 000000000..388969529 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_public_ip_instance_request.go @@ -0,0 +1,21 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type CreatePublicIpInstanceRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 공인IP설명 +PublicIpDescription *string `json:"publicIpDescription,omitempty"` + + // 서버인스턴스번호 +ServerInstanceNo *string `json:"serverInstanceNo,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_public_ip_instance_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_public_ip_instance_response.go new file mode 100644 index 000000000..5130c6932 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_public_ip_instance_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type CreatePublicIpInstanceResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +PublicIpInstanceList []*PublicIpInstance `json:"publicIpInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_server_instances_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_server_instances_request.go new file mode 100644 index 000000000..184c233b3 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_server_instances_request.go @@ -0,0 +1,63 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type CreateServerInstancesRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 서버상품코드 +ServerProductCode *string `json:"serverProductCode,omitempty"` + + // 서버이미지상품코드 +ServerImageProductCode *string `json:"serverImageProductCode,omitempty"` + + // 회원서버이미지인스턴스번호 +MemberServerImageInstanceNo *string `json:"memberServerImageInstanceNo,omitempty"` + + // 서버이름 +ServerName *string `json:"serverName,omitempty"` + + // 서버설명 +ServerDescription *string `json:"serverDescription,omitempty"` + + // 로그인키이름 +LoginKeyName *string `json:"loginKeyName,omitempty"` + + // 반납보호여부 +IsProtectServerTermination *bool `json:"isProtectServerTermination,omitempty"` + + // 서버생성개수 +ServerCreateCount *int32 `json:"serverCreateCount,omitempty"` + + // 서버생성시작번호 +ServerCreateStartNo *int32 `json:"serverCreateStartNo,omitempty"` + + // 요금제유형코드 +FeeSystemTypeCode *string `json:"feeSystemTypeCode,omitempty"` + + // 초기화스크립트번호 +InitScriptNo *string `json:"initScriptNo,omitempty"` + + // VPC번호 +VpcNo *string `json:"vpcNo"` + + // 서브넷번호 +SubnetNo *string `json:"subnetNo"` + + // 네트워크인터페이스리스트 +NetworkInterfaceList []*NetworkInterfaceParameter `json:"networkInterfaceList"` + + // 물리배치그룹번호 +PlacementGroupNo *string `json:"placementGroupNo,omitempty"` + + // 기본블록스토리지볼륨암호화여부 +IsEncryptedBaseBlockStorageVolume *bool `json:"isEncryptedBaseBlockStorageVolume,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_server_instances_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_server_instances_response.go new file mode 100644 index 000000000..d276db07b --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/create_server_instances_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type CreateServerInstancesResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +ServerInstanceList []*ServerInstance `json:"serverInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_access_control_group_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_access_control_group_request.go new file mode 100644 index 000000000..f43eeb373 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_access_control_group_request.go @@ -0,0 +1,21 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type DeleteAccessControlGroupRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // VPC번호 +VpcNo *string `json:"vpcNo"` + + // ACG번호 +AccessControlGroupNo *string `json:"accessControlGroupNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_access_control_group_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_access_control_group_response.go new file mode 100644 index 000000000..dd61c6a7d --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_access_control_group_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type DeleteAccessControlGroupResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +AccessControlGroupList []*AccessControlGroup `json:"accessControlGroupList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_block_storage_instances_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_block_storage_instances_request.go new file mode 100644 index 000000000..9f20bd3ca --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_block_storage_instances_request.go @@ -0,0 +1,18 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type DeleteBlockStorageInstancesRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 블록스토리지인스턴스번호리스트 +BlockStorageInstanceNoList []*string `json:"blockStorageInstanceNoList"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_block_storage_instances_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_block_storage_instances_response.go new file mode 100644 index 000000000..c18580d8c --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_block_storage_instances_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type DeleteBlockStorageInstancesResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +BlockStorageInstanceList []*BlockStorageInstance `json:"blockStorageInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_block_storage_snapshot_instances_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_block_storage_snapshot_instances_request.go new file mode 100644 index 000000000..2bdec6cbe --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_block_storage_snapshot_instances_request.go @@ -0,0 +1,18 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type DeleteBlockStorageSnapshotInstancesRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 블록스토리지스냅샷인스턴스번호리스트 +BlockStorageSnapshotInstanceNoList []*string `json:"blockStorageSnapshotInstanceNoList"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_block_storage_snapshot_instances_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_block_storage_snapshot_instances_response.go new file mode 100644 index 000000000..79150213a --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_block_storage_snapshot_instances_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type DeleteBlockStorageSnapshotInstancesResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +BlockStorageSnapshotInstanceList []*BlockStorageSnapshotInstance `json:"blockStorageSnapshotInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_init_scripts_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_init_scripts_request.go new file mode 100644 index 000000000..83d71f05f --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_init_scripts_request.go @@ -0,0 +1,18 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type DeleteInitScriptsRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 초기화스크립트번호리스트 +InitScriptNoList []*string `json:"initScriptNoList"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_init_scripts_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_init_scripts_response.go new file mode 100644 index 000000000..ee00e6f0b --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_init_scripts_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type DeleteInitScriptsResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +InitScriptList []*InitScript `json:"initScriptList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_login_keys_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_login_keys_request.go new file mode 100644 index 000000000..b7cbf3226 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_login_keys_request.go @@ -0,0 +1,15 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type DeleteLoginKeysRequest struct { + + // 키이름리스트 +KeyNameList []*string `json:"keyNameList"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_login_keys_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_login_keys_response.go new file mode 100644 index 000000000..76cd14927 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_login_keys_response.go @@ -0,0 +1,20 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type DeleteLoginKeysResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_member_server_image_instances_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_member_server_image_instances_request.go new file mode 100644 index 000000000..ffdaecd44 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_member_server_image_instances_request.go @@ -0,0 +1,18 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type DeleteMemberServerImageInstancesRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 회원서버이미지인스턴스번호리스트 +MemberServerImageInstanceNoList []*string `json:"memberServerImageInstanceNoList"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_member_server_image_instances_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_member_server_image_instances_response.go new file mode 100644 index 000000000..2a5206f2f --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_member_server_image_instances_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type DeleteMemberServerImageInstancesResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +MemberServerImageInstanceList []*MemberServerImageInstance `json:"memberServerImageInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_network_interface_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_network_interface_request.go new file mode 100644 index 000000000..e8b9609fc --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_network_interface_request.go @@ -0,0 +1,18 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type DeleteNetworkInterfaceRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 네트워크인터페이스번호 +NetworkInterfaceNo *string `json:"networkInterfaceNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_network_interface_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_network_interface_response.go new file mode 100644 index 000000000..b07534464 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_network_interface_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type DeleteNetworkInterfaceResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +NetworkInterfaceList []*NetworkInterface `json:"networkInterfaceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_placement_group_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_placement_group_request.go new file mode 100644 index 000000000..3b8f23263 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_placement_group_request.go @@ -0,0 +1,18 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type DeletePlacementGroupRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 물리배치그룹번호 +PlacementGroupNo *string `json:"placementGroupNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_placement_group_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_placement_group_response.go new file mode 100644 index 000000000..7804fee45 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_placement_group_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type DeletePlacementGroupResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +PlacementGroupList []*PlacementGroup `json:"placementGroupList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_public_ip_instance_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_public_ip_instance_request.go new file mode 100644 index 000000000..55ae00dad --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_public_ip_instance_request.go @@ -0,0 +1,18 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type DeletePublicIpInstanceRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 공인IP인스턴스번호 +PublicIpInstanceNo *string `json:"publicIpInstanceNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_public_ip_instance_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_public_ip_instance_response.go new file mode 100644 index 000000000..f2b295a68 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/delete_public_ip_instance_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type DeletePublicIpInstanceResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +PublicIpInstanceList []*PublicIpInstance `json:"publicIpInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/detach_block_storage_instances_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/detach_block_storage_instances_request.go new file mode 100644 index 000000000..74f61bfff --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/detach_block_storage_instances_request.go @@ -0,0 +1,18 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type DetachBlockStorageInstancesRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 블록스토리지인스턴스번호리스트 +BlockStorageInstanceNoList []*string `json:"blockStorageInstanceNoList"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/detach_block_storage_instances_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/detach_block_storage_instances_response.go new file mode 100644 index 000000000..ef87655e2 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/detach_block_storage_instances_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type DetachBlockStorageInstancesResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +BlockStorageInstanceList []*BlockStorageInstance `json:"blockStorageInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/detach_network_interface_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/detach_network_interface_request.go new file mode 100644 index 000000000..1518bd9be --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/detach_network_interface_request.go @@ -0,0 +1,24 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type DetachNetworkInterfaceRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 서버인스턴스번호 +ServerInstanceNo *string `json:"serverInstanceNo"` + + // 네트워크인터페이스번호 +NetworkInterfaceNo *string `json:"networkInterfaceNo"` + + // 서브넷번호 +SubnetNo *string `json:"subnetNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/detach_network_interface_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/detach_network_interface_response.go new file mode 100644 index 000000000..b51d0495a --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/detach_network_interface_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type DetachNetworkInterfaceResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +NetworkInterfaceList []*NetworkInterface `json:"networkInterfaceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/disassociate_public_ip_from_server_instance_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/disassociate_public_ip_from_server_instance_request.go new file mode 100644 index 000000000..c7916052d --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/disassociate_public_ip_from_server_instance_request.go @@ -0,0 +1,21 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type DisassociatePublicIpFromServerInstanceRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 공인IP인스턴스번호 +PublicIpInstanceNo *string `json:"publicIpInstanceNo,omitempty"` + + // 서버인스턴스번호 +ServerInstanceNo *string `json:"serverInstanceNo,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/disassociate_public_ip_from_server_instance_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/disassociate_public_ip_from_server_instance_response.go new file mode 100644 index 000000000..3a0833354 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/disassociate_public_ip_from_server_instance_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type DisassociatePublicIpFromServerInstanceResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +PublicIpInstanceList []*PublicIpInstance `json:"publicIpInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_access_control_group_detail_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_access_control_group_detail_request.go new file mode 100644 index 000000000..3c82dbdd5 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_access_control_group_detail_request.go @@ -0,0 +1,18 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetAccessControlGroupDetailRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // ACG번호 +AccessControlGroupNo *string `json:"accessControlGroupNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_access_control_group_detail_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_access_control_group_detail_response.go new file mode 100644 index 000000000..17dd1efd3 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_access_control_group_detail_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetAccessControlGroupDetailResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +AccessControlGroupList []*AccessControlGroup `json:"accessControlGroupList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_access_control_group_list_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_access_control_group_list_request.go new file mode 100644 index 000000000..fc22f218a --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_access_control_group_list_request.go @@ -0,0 +1,33 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetAccessControlGroupListRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // ACG번호리스트 +AccessControlGroupNoList []*string `json:"accessControlGroupNoList,omitempty"` + + // ACG이름 +AccessControlGroupName *string `json:"accessControlGroupName,omitempty"` + + // ACG상태코드 +AccessControlGroupStatusCode *string `json:"accessControlGroupStatusCode,omitempty"` + + // 페이지번호 +PageNo *int32 `json:"pageNo,omitempty"` + + // 페이지사이즈 +PageSize *int32 `json:"pageSize,omitempty"` + + // VPC번호 +VpcNo *string `json:"vpcNo,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_access_control_group_list_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_access_control_group_list_response.go new file mode 100644 index 000000000..0d90fe228 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_access_control_group_list_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetAccessControlGroupListResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +AccessControlGroupList []*AccessControlGroup `json:"accessControlGroupList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_access_control_group_rule_list_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_access_control_group_rule_list_request.go new file mode 100644 index 000000000..a85b75f8d --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_access_control_group_rule_list_request.go @@ -0,0 +1,21 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetAccessControlGroupRuleListRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // ACG번호 +AccessControlGroupNo *string `json:"accessControlGroupNo"` + + // ACGRule유형코드 +AccessControlGroupRuleTypeCode *string `json:"accessControlGroupRuleTypeCode,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_access_control_group_rule_list_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_access_control_group_rule_list_response.go new file mode 100644 index 000000000..fc5bbfcff --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_access_control_group_rule_list_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetAccessControlGroupRuleListResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +AccessControlGroupRuleList []*AccessControlGroupRule `json:"accessControlGroupRuleList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_block_storage_instance_detail_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_block_storage_instance_detail_request.go new file mode 100644 index 000000000..ef29a1bd4 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_block_storage_instance_detail_request.go @@ -0,0 +1,18 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetBlockStorageInstanceDetailRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 블록스토리지인스턴스번호 +BlockStorageInstanceNo *string `json:"blockStorageInstanceNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_block_storage_instance_detail_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_block_storage_instance_detail_response.go new file mode 100644 index 000000000..369f7b91d --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_block_storage_instance_detail_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetBlockStorageInstanceDetailResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +BlockStorageInstanceList []*BlockStorageInstance `json:"blockStorageInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_block_storage_instance_list_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_block_storage_instance_list_request.go new file mode 100644 index 000000000..c10d46bd9 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_block_storage_instance_list_request.go @@ -0,0 +1,51 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetBlockStorageInstanceListRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 서버인스턴스번호 +ServerInstanceNo *string `json:"serverInstanceNo,omitempty"` + + // 블록스토리지유형코드리스트 +BlockStorageTypeCodeList []*string `json:"blockStorageTypeCodeList,omitempty"` + + // 블록스토리지인스턴스상태코드 +BlockStorageInstanceStatusCode *string `json:"blockStorageInstanceStatusCode,omitempty"` + + // 페이지번호 +PageNo *int32 `json:"pageNo,omitempty"` + + // 페이지사이즈 +PageSize *int32 `json:"pageSize,omitempty"` + + // 블록스토리지사이즈 +BlockStorageSize *int32 `json:"blockStorageSize,omitempty"` + + // 블록스토리지인스턴스번호리스트 +BlockStorageInstanceNoList []*string `json:"blockStorageInstanceNoList,omitempty"` + + // 블록스토리지이름 +BlockStorageName *string `json:"blockStorageName,omitempty"` + + // 서버이름 +ServerName *string `json:"serverName,omitempty"` + + // 연결정보 +ConnectionInfo *string `json:"connectionInfo,omitempty"` + + // 블록스토리지디스크유형코드 +BlockStorageDiskTypeCode *string `json:"blockStorageDiskTypeCode,omitempty"` + + // 블록스토리지디스크상세유형코드 +BlockStorageDiskDetailTypeCode *string `json:"blockStorageDiskDetailTypeCode,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_block_storage_instance_list_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_block_storage_instance_list_response.go new file mode 100644 index 000000000..d7067f275 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_block_storage_instance_list_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetBlockStorageInstanceListResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +BlockStorageInstanceList []*BlockStorageInstance `json:"blockStorageInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_block_storage_snapshot_instance_detail_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_block_storage_snapshot_instance_detail_request.go new file mode 100644 index 000000000..5f0ab522f --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_block_storage_snapshot_instance_detail_request.go @@ -0,0 +1,18 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetBlockStorageSnapshotInstanceDetailRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 블록스토리지스냅샷인스턴스번호 +BlockStorageSnapshotInstanceNo *string `json:"blockStorageSnapshotInstanceNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_block_storage_snapshot_instance_detail_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_block_storage_snapshot_instance_detail_response.go new file mode 100644 index 000000000..31e6f5af0 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_block_storage_snapshot_instance_detail_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetBlockStorageSnapshotInstanceDetailResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +BlockStorageSnapshotInstanceList []*BlockStorageSnapshotInstance `json:"blockStorageSnapshotInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_block_storage_snapshot_instance_list_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_block_storage_snapshot_instance_list_request.go new file mode 100644 index 000000000..ff5ce8c9a --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_block_storage_snapshot_instance_list_request.go @@ -0,0 +1,45 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetBlockStorageSnapshotInstanceListRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 블록스토리지스냅샷인스턴스번호리스트 +BlockStorageSnapshotInstanceNoList []*string `json:"blockStorageSnapshotInstanceNoList,omitempty"` + + // 원본블록스토리지인스턴스번호리스트 +OriginalBlockStorageInstanceNoList []*string `json:"originalBlockStorageInstanceNoList,omitempty"` + + // 블록스토리지스냅샷인스턴스상태코드 +BlockStorageSnapshotInstanceStatusCode *string `json:"blockStorageSnapshotInstanceStatusCode,omitempty"` + + // 페이지번호 +PageNo *int32 `json:"pageNo,omitempty"` + + // 페이지사이즈 +PageSize *int32 `json:"pageSize,omitempty"` + + // 블록스토리지스냅샷볼륨사이즈 +BlockStorageSnapshotVolumeSize *int64 `json:"blockStorageSnapshotVolumeSize,omitempty"` + + // 원본블록스토리지볼륨암호화여부 +IsEncryptedOriginalBlockStorageVolume *bool `json:"isEncryptedOriginalBlockStorageVolume,omitempty"` + + // 블록스토리지스냅샷이름 +BlockStorageSnapshotName *string `json:"blockStorageSnapshotName,omitempty"` + + // 정렬대상 +SortedBy *string `json:"sortedBy,omitempty"` + + // 정렬순서 +SortingOrder *string `json:"sortingOrder,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_block_storage_snapshot_instance_list_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_block_storage_snapshot_instance_list_response.go new file mode 100644 index 000000000..258ceeb3a --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_block_storage_snapshot_instance_list_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetBlockStorageSnapshotInstanceListResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +BlockStorageSnapshotInstanceList []*BlockStorageSnapshotInstance `json:"blockStorageSnapshotInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_init_script_detail_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_init_script_detail_request.go new file mode 100644 index 000000000..afe6c2b13 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_init_script_detail_request.go @@ -0,0 +1,18 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetInitScriptDetailRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 초기화스크립트번호 +InitScriptNo *string `json:"initScriptNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_init_script_detail_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_init_script_detail_response.go new file mode 100644 index 000000000..d01db91fa --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_init_script_detail_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetInitScriptDetailResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +InitScriptList []*InitScript `json:"initScriptList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_init_script_list_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_init_script_list_request.go new file mode 100644 index 000000000..ca1dd66d7 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_init_script_list_request.go @@ -0,0 +1,36 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetInitScriptListRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // OS유형코드 +OsTypeCode *string `json:"osTypeCode,omitempty"` + + // 페이지번호 +PageNo *int32 `json:"pageNo,omitempty"` + + // 페이지사이즈 +PageSize *int32 `json:"pageSize,omitempty"` + + // 정렬대상 +SortedBy *string `json:"sortedBy,omitempty"` + + // 정렬순서 +SortingOrder *string `json:"sortingOrder,omitempty"` + + // 초기화스크립트이름 +InitScriptName *string `json:"initScriptName,omitempty"` + + // 초기화스크립트번호리스트 +InitScriptNoList []*string `json:"initScriptNoList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_init_script_list_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_init_script_list_response.go new file mode 100644 index 000000000..b58f76a6d --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_init_script_list_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetInitScriptListResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +InitScriptList []*InitScript `json:"initScriptList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_login_key_list_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_login_key_list_request.go new file mode 100644 index 000000000..48df6146c --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_login_key_list_request.go @@ -0,0 +1,21 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetLoginKeyListRequest struct { + + // 키이름 +KeyName *string `json:"keyName,omitempty"` + + // 페이지번호 +PageNo *int32 `json:"pageNo,omitempty"` + + // 페이지사이즈 +PageSize *int32 `json:"pageSize,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_login_key_list_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_login_key_list_response.go new file mode 100644 index 000000000..eba1de51a --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_login_key_list_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetLoginKeyListResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +LoginKeyList []*LoginKey `json:"loginKeyList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_member_server_image_instance_detail_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_member_server_image_instance_detail_request.go new file mode 100644 index 000000000..2aa09905e --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_member_server_image_instance_detail_request.go @@ -0,0 +1,18 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetMemberServerImageInstanceDetailRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 회원서버이미지인스턴스번호 +MemberServerImageInstanceNo *string `json:"memberServerImageInstanceNo,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_member_server_image_instance_detail_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_member_server_image_instance_detail_response.go new file mode 100644 index 000000000..d0252ffa1 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_member_server_image_instance_detail_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetMemberServerImageInstanceDetailResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +MemberServerImageInstanceList []*MemberServerImageInstance `json:"memberServerImageInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_member_server_image_instance_list_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_member_server_image_instance_list_request.go new file mode 100644 index 000000000..2e1ce5b1b --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_member_server_image_instance_list_request.go @@ -0,0 +1,39 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetMemberServerImageInstanceListRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 회원서버이미지이름 +MemberServerImageName *string `json:"memberServerImageName,omitempty"` + + // 회원서버이미지인스턴스상태코드 +MemberServerImageInstanceStatusCode *string `json:"memberServerImageInstanceStatusCode,omitempty"` + + // 회원서버이미지인스턴스번호리스트 +MemberServerImageInstanceNoList []*string `json:"memberServerImageInstanceNoList,omitempty"` + + // 플랫폼유형코드리스트 +PlatformTypeCodeList []*string `json:"platformTypeCodeList,omitempty"` + + // 페이지번호 +PageNo *int32 `json:"pageNo,omitempty"` + + // 페이지사이즈 +PageSize *int32 `json:"pageSize,omitempty"` + + // 정렬대상 +SortedBy *string `json:"sortedBy,omitempty"` + + // 정렬순서 +SortingOrder *string `json:"sortingOrder,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_member_server_image_instance_list_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_member_server_image_instance_list_response.go new file mode 100644 index 000000000..063d9a65c --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_member_server_image_instance_list_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetMemberServerImageInstanceListResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +MemberServerImageInstanceList []*MemberServerImageInstance `json:"memberServerImageInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_network_interface_detail_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_network_interface_detail_request.go new file mode 100644 index 000000000..ca9238e34 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_network_interface_detail_request.go @@ -0,0 +1,18 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetNetworkInterfaceDetailRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 네트워크인터페이스번호 +NetworkInterfaceNo *string `json:"networkInterfaceNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_network_interface_detail_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_network_interface_detail_response.go new file mode 100644 index 000000000..dc84b40d3 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_network_interface_detail_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetNetworkInterfaceDetailResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +NetworkInterfaceList []*NetworkInterface `json:"networkInterfaceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_network_interface_list_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_network_interface_list_request.go new file mode 100644 index 000000000..fb54789e2 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_network_interface_list_request.go @@ -0,0 +1,36 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetNetworkInterfaceListRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 네트워크인터페이스번호리스트 +NetworkInterfaceNoList []*string `json:"networkInterfaceNoList,omitempty"` + + // IP주소 +Ip *string `json:"ip,omitempty"` + + // 네트워크인터페이스이름 +NetworkInterfaceName *string `json:"networkInterfaceName,omitempty"` + + // 서버이름 +ServerName *string `json:"serverName,omitempty"` + + // 서브넷이름 +SubnetName *string `json:"subnetName,omitempty"` + + // 페이지번호 +PageNo *int32 `json:"pageNo,omitempty"` + + // 페이지사이즈 +PageSize *int32 `json:"pageSize,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_network_interface_list_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_network_interface_list_response.go new file mode 100644 index 000000000..6354f6b3a --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_network_interface_list_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetNetworkInterfaceListResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +NetworkInterfaceList []*NetworkInterface `json:"networkInterfaceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_placement_group_detail_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_placement_group_detail_request.go new file mode 100644 index 000000000..a78d54db8 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_placement_group_detail_request.go @@ -0,0 +1,18 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetPlacementGroupDetailRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 물리배치그룹번호리스트 +PlacementGroupNo *string `json:"placementGroupNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_placement_group_detail_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_placement_group_detail_response.go new file mode 100644 index 000000000..59fb5d795 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_placement_group_detail_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetPlacementGroupDetailResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +PlacementGroupList []*PlacementGroup `json:"placementGroupList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_placement_group_list_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_placement_group_list_request.go new file mode 100644 index 000000000..0161aba85 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_placement_group_list_request.go @@ -0,0 +1,21 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetPlacementGroupListRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 물리배치그룹이름 +PlacementGroupName *string `json:"placementGroupName,omitempty"` + + // 물리배치그룹번호리스트 +PlacementGroupNoList []*string `json:"placementGroupNoList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_placement_group_list_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_placement_group_list_response.go new file mode 100644 index 000000000..48f279f9d --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_placement_group_list_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetPlacementGroupListResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +PlacementGroupList []*PlacementGroup `json:"placementGroupList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_public_ip_instance_detail_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_public_ip_instance_detail_request.go new file mode 100644 index 000000000..811d21c21 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_public_ip_instance_detail_request.go @@ -0,0 +1,18 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetPublicIpInstanceDetailRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 공인IP인스턴스번호 +PublicIpInstanceNo *string `json:"publicIpInstanceNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_public_ip_instance_detail_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_public_ip_instance_detail_response.go new file mode 100644 index 000000000..fd9f963dd --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_public_ip_instance_detail_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetPublicIpInstanceDetailResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +PublicIpInstanceList []*PublicIpInstance `json:"publicIpInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_public_ip_instance_list_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_public_ip_instance_list_request.go new file mode 100644 index 000000000..434da59c4 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_public_ip_instance_list_request.go @@ -0,0 +1,42 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetPublicIpInstanceListRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 공인IP인스턴스번호리스트 +PublicIpInstanceNoList []*string `json:"publicIpInstanceNoList,omitempty"` + + // 공인IP주소 +PublicIp *string `json:"publicIp,omitempty"` + + // 비공인IP주소 +PrivateIp *string `json:"privateIp,omitempty"` + + // 할당여부 +IsAssociated *bool `json:"isAssociated,omitempty"` + + // 서버이름 +ServerName *string `json:"serverName,omitempty"` + + // 공인IP인스턴스상태코드 +PublicIpInstanceStatusCode *string `json:"publicIpInstanceStatusCode,omitempty"` + + // 페이지번호 +PageNo *int32 `json:"pageNo,omitempty"` + + // 페이지사이즈 +PageSize *int32 `json:"pageSize,omitempty"` + + // VPC번호 +VpcNo *string `json:"vpcNo,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_public_ip_instance_list_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_public_ip_instance_list_response.go new file mode 100644 index 000000000..b2674beb3 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_public_ip_instance_list_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetPublicIpInstanceListResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +PublicIpInstanceList []*PublicIpInstance `json:"publicIpInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_public_ip_target_server_instance_list_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_public_ip_target_server_instance_list_request.go new file mode 100644 index 000000000..1509715a4 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_public_ip_target_server_instance_list_request.go @@ -0,0 +1,15 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetPublicIpTargetServerInstanceListRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_public_ip_target_server_instance_list_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_public_ip_target_server_instance_list_response.go new file mode 100644 index 000000000..b1266dd67 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_public_ip_target_server_instance_list_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetPublicIpTargetServerInstanceListResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +ServerInstanceList []*ServerInstance `json:"serverInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_region_list_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_region_list_request.go new file mode 100644 index 000000000..eb05eb509 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_region_list_request.go @@ -0,0 +1,12 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetRegionListRequest struct { +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_region_list_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_region_list_response.go new file mode 100644 index 000000000..71c76d67f --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_region_list_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetRegionListResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +RegionList []*Region `json:"regionList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_root_password_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_root_password_request.go new file mode 100644 index 000000000..e586d09a6 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_root_password_request.go @@ -0,0 +1,21 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetRootPasswordRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 서버인스턴스번호 +ServerInstanceNo *string `json:"serverInstanceNo"` + + // 개인키 +PrivateKey *string `json:"privateKey,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_root_password_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_root_password_response.go new file mode 100644 index 000000000..eaa49c0a2 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_root_password_response.go @@ -0,0 +1,23 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetRootPasswordResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + + // 루트패스워드 +RootPassword *string `json:"rootPassword,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_root_password_server_instance_list_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_root_password_server_instance_list_request.go new file mode 100644 index 000000000..814250cc4 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_root_password_server_instance_list_request.go @@ -0,0 +1,18 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetRootPasswordServerInstanceListRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 루트패스워드서버인스턴스리스트 +RootPasswordServerInstanceList []*RootPasswordServerInstanceParameter `json:"rootPasswordServerInstanceList"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_root_password_server_instance_list_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_root_password_server_instance_list_response.go new file mode 100644 index 000000000..4f0c98ac9 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_root_password_server_instance_list_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetRootPasswordServerInstanceListResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +RootPasswordServerInstanceList []*RootPasswordServerInstance `json:"rootPasswordServerInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_server_image_product_list_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_server_image_product_list_request.go new file mode 100644 index 000000000..6104029ba --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_server_image_product_list_request.go @@ -0,0 +1,27 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetServerImageProductListRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // REGION코드 +BlockStorageSize *int32 `json:"blockStorageSize,omitempty"` + + // 제외할상품코드 +ExclusionProductCode *string `json:"exclusionProductCode,omitempty"` + + // 상품코드 +ProductCode *string `json:"productCode,omitempty"` + + // 플랫폼유형코드리스트 +PlatformTypeCodeList []*string `json:"platformTypeCodeList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_server_image_product_list_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_server_image_product_list_response.go new file mode 100644 index 000000000..bf2fbf32a --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_server_image_product_list_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetServerImageProductListResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +ProductList []*Product `json:"productList,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_server_instance_detail_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_server_instance_detail_request.go new file mode 100644 index 000000000..aade6d2b2 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_server_instance_detail_request.go @@ -0,0 +1,18 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetServerInstanceDetailRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 서버인스턴스번호 +ServerInstanceNo *string `json:"serverInstanceNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_server_instance_detail_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_server_instance_detail_response.go new file mode 100644 index 000000000..53467d59f --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_server_instance_detail_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetServerInstanceDetailResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +ServerInstanceList []*ServerInstance `json:"serverInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_server_instance_list_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_server_instance_list_request.go new file mode 100644 index 000000000..8b4777b92 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_server_instance_list_request.go @@ -0,0 +1,51 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetServerInstanceListRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 서버인스턴스번호리스트 +ServerInstanceNoList []*string `json:"serverInstanceNoList,omitempty"` + + // VPC번호 +VpcNo *string `json:"vpcNo,omitempty"` + + // 페이지번호 +PageNo *int32 `json:"pageNo,omitempty"` + + // 페이지사이즈 +PageSize *int32 `json:"pageSize,omitempty"` + + // 서버인스턴스상태코드 +ServerInstanceStatusCode *string `json:"serverInstanceStatusCode,omitempty"` + + // 기본블록스토리지디스크유형코드 +BaseBlockStorageDiskTypeCode *string `json:"baseBlockStorageDiskTypeCode,omitempty"` + + // 기본블록스토리지디스크상세유형코드 +BaseBlockStorageDiskDetailTypeCode *string `json:"baseBlockStorageDiskDetailTypeCode,omitempty"` + + // 서버인스턴스이름 +ServerName *string `json:"serverName,omitempty"` + + // IP주소 +Ip *string `json:"ip,omitempty"` + + // 정렬대상 +SortedBy *string `json:"sortedBy,omitempty"` + + // 정렬순서 +SortingOrder *string `json:"sortingOrder,omitempty"` + + // 물리배치그룹번호리스트 +PlacementGroupNoList []*string `json:"placementGroupNoList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_server_instance_list_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_server_instance_list_response.go new file mode 100644 index 000000000..172436b36 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_server_instance_list_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetServerInstanceListResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +ServerInstanceList []*ServerInstance `json:"serverInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_server_product_list_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_server_product_list_request.go new file mode 100644 index 000000000..bd32e95bf --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_server_product_list_request.go @@ -0,0 +1,27 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetServerProductListRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // ZONE코드 +ZoneCode *string `json:"zoneCode,omitempty"` + + // 서버이미지상품코드 +ServerImageProductCode *string `json:"serverImageProductCode"` + + // 제외할상품코드 +ExclusionProductCode *string `json:"exclusionProductCode,omitempty"` + + // 상품코드 +ProductCode *string `json:"productCode,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_server_product_list_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_server_product_list_response.go new file mode 100644 index 000000000..d20987616 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_server_product_list_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetServerProductListResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +ProductList []*Product `json:"productList,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_zone_list_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_zone_list_request.go new file mode 100644 index 000000000..3fe6305ec --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_zone_list_request.go @@ -0,0 +1,15 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetZoneListRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_zone_list_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_zone_list_response.go new file mode 100644 index 000000000..829be4905 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/get_zone_list_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type GetZoneListResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +ZoneList []*Zone `json:"zoneList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/import_login_key_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/import_login_key_request.go new file mode 100644 index 000000000..c206f1c90 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/import_login_key_request.go @@ -0,0 +1,18 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type ImportLoginKeyRequest struct { + + // 키이름 +KeyName *string `json:"keyName,omitempty"` + + // 공개키 +PublicKey *string `json:"publicKey"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/import_login_key_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/import_login_key_response.go new file mode 100644 index 000000000..04c0fe3a9 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/import_login_key_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type ImportLoginKeyResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +LoginKeyList []*LoginKey `json:"loginKeyList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/init_script.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/init_script.go new file mode 100644 index 000000000..b923572e3 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/init_script.go @@ -0,0 +1,30 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type InitScript struct { + + // 초기화스크립트번호 +InitScriptNo *string `json:"initScriptNo,omitempty"` + + // 초기화스크립트이름 +InitScriptName *string `json:"initScriptName,omitempty"` + + // 생성일시 +CreateDate *string `json:"createDate,omitempty"` + + // 초기화스크립트설명 +InitScriptDescription *string `json:"initScriptDescription,omitempty"` + + // 초기화스크립트내용 +InitScriptContent *string `json:"initScriptContent,omitempty"` + + // OS유형 +OsType *CommonCode `json:"osType,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/login_key.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/login_key.go new file mode 100644 index 000000000..02d37e300 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/login_key.go @@ -0,0 +1,24 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type LoginKey struct { + + // 키이름 +KeyName *string `json:"keyName,omitempty"` + + // 핑거프린트 +Fingerprint *string `json:"fingerprint,omitempty"` + + // 공개키 +PublicKey *string `json:"publicKey,omitempty"` + + // 생성일시 +CreateDate *string `json:"createDate,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/member_server_image_instance.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/member_server_image_instance.go new file mode 100644 index 000000000..475cfd894 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/member_server_image_instance.go @@ -0,0 +1,45 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type MemberServerImageInstance struct { + + // 회원서버이미지인스턴스번호 +MemberServerImageInstanceNo *string `json:"memberServerImageInstanceNo,omitempty"` + + // 회원서버이미지이름 +MemberServerImageName *string `json:"memberServerImageName,omitempty"` + + // 회원서버이미지설명 +MemberServerImageDescription *string `json:"memberServerImageDescription,omitempty"` + + // 원본서버인스턴스번호 +OriginalServerInstanceNo *string `json:"originalServerInstanceNo,omitempty"` + + // 원본서버이미지상품코드 +OriginalServerImageProductCode *string `json:"originalServerImageProductCode,omitempty"` + + // 회원서버이미지인스턴스상태 +MemberServerImageInstanceStatus *CommonCode `json:"memberServerImageInstanceStatus,omitempty"` + + // 회원서버이미지인스턴스OP +MemberServerImageInstanceOperation *CommonCode `json:"memberServerImageInstanceOperation,omitempty"` + + // 회원서버이미지인스턴스상태이름 +MemberServerImageInstanceStatusName *string `json:"memberServerImageInstanceStatusName,omitempty"` + + // 생성일시 +CreateDate *string `json:"createDate,omitempty"` + + // 회원서버이미지블록스토리지총개수 +MemberServerImageBlockStorageTotalRows *int32 `json:"memberServerImageBlockStorageTotalRows,omitempty"` + + // 회원서버이미지블록스토리지총사이즈 +MemberServerImageBlockStorageTotalSize *int64 `json:"memberServerImageBlockStorageTotalSize,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/network_interface.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/network_interface.go new file mode 100644 index 000000000..b152d734c --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/network_interface.go @@ -0,0 +1,48 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type NetworkInterface struct { + + // 네트워크인터페이스번호 +NetworkInterfaceNo *string `json:"networkInterfaceNo,omitempty"` + + // 네트워크인터페이스이름 +NetworkInterfaceName *string `json:"networkInterfaceName,omitempty"` + + // 서브넷번호 +SubnetNo *string `json:"subnetNo,omitempty"` + + // 디바이스반납시자동반납여부 +DeleteOnTermination *bool `json:"deleteOnTermination,omitempty"` + + // Default여부 +IsDefault *bool `json:"isDefault,omitempty"` + + // 디바이스이름 +DeviceName *string `json:"deviceName,omitempty"` + + // 네트워크인터페이스상태 +NetworkInterfaceStatus *CommonCode `json:"networkInterfaceStatus,omitempty"` + + // 인스턴스유형 +InstanceType *CommonCode `json:"instanceType,omitempty"` + + // 인스턴스번호 +InstanceNo *string `json:"instanceNo,omitempty"` + + // IP주소 +Ip *string `json:"ip,omitempty"` + + // ACG번호리스트 +AccessControlGroupNoList []*string `json:"accessControlGroupNoList,omitempty"` + + // 네트워크인터페이스설명 +NetworkInterfaceDescription *string `json:"networkInterfaceDescription,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/network_interface_parameter.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/network_interface_parameter.go new file mode 100644 index 000000000..2d3a46f2f --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/network_interface_parameter.go @@ -0,0 +1,27 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type NetworkInterfaceParameter struct { + + // 네트워크인터페이스순서 +NetworkInterfaceOrder *int32 `json:"networkInterfaceOrder"` + + // 네트워크인터페이스번호 +NetworkInterfaceNo *string `json:"networkInterfaceNo,omitempty"` + + // 서브넷번호 +SubnetNo *string `json:"subnetNo,omitempty"` + + // IP주소 +Ip *string `json:"ip,omitempty"` + + // ACG번호리스트 +AccessControlGroupNoList []*string `json:"accessControlGroupNoList"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/placement_group.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/placement_group.go new file mode 100644 index 000000000..e4025791a --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/placement_group.go @@ -0,0 +1,21 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type PlacementGroup struct { + + // 물리배치그룹번호 +PlacementGroupNo *string `json:"placementGroupNo,omitempty"` + + // 물리배치그룹이름 +PlacementGroupName *string `json:"placementGroupName,omitempty"` + + // 물리배치그룹유형 +PlacementGroupType *CommonCode `json:"placementGroupType,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/product.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/product.go new file mode 100644 index 000000000..8e57f52b2 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/product.go @@ -0,0 +1,57 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type Product struct { + + // 상품코드 +ProductCode *string `json:"productCode,omitempty"` + + // 상품이름 +ProductName *string `json:"productName,omitempty"` + + // 상품유형 +ProductType *CommonCode `json:"productType,omitempty"` + + // 상품설명 +ProductDescription *string `json:"productDescription,omitempty"` + + // 인프라자원유형 +InfraResourceType *CommonCode `json:"infraResourceType,omitempty"` + + // 인프라자원상세유형 +InfraResourceDetailType *CommonCode `json:"infraResourceDetailType,omitempty"` + + // CPU개수 +CpuCount *int32 `json:"cpuCount,omitempty"` + + // 메모리사이즈 +MemorySize *int64 `json:"memorySize,omitempty"` + + // 기본블록스토리지사이즈 +BaseBlockStorageSize *int64 `json:"baseBlockStorageSize,omitempty"` + + // 플랫폼유형 +PlatformType *CommonCode `json:"platformType,omitempty"` + + // OS정보 +OsInformation *string `json:"osInformation,omitempty"` + + // 디스크유형 +DiskType *CommonCode `json:"diskType,omitempty"` + + // DB유형코드 +DbKindCode *string `json:"dbKindCode,omitempty"` + + // 추가블록스토리지사이즈 +AddBlockStorageSize *int64 `json:"addBlockStorageSize,omitempty"` + + // 세대코드 +GenerationCode *string `json:"generationCode,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/public_ip_instance.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/public_ip_instance.go new file mode 100644 index 000000000..22dfc1ed1 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/public_ip_instance.go @@ -0,0 +1,45 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type PublicIpInstance struct { + + // 공인IP인스턴스번호 +PublicIpInstanceNo *string `json:"publicIpInstanceNo,omitempty"` + + // 공인IP주소 +PublicIp *string `json:"publicIp,omitempty"` + + // 공인IP설명 +PublicIpDescription *string `json:"publicIpDescription,omitempty"` + + // 생성일시 +CreateDate *string `json:"createDate,omitempty"` + + // 공인IP인스턴스상태이름 +PublicIpInstanceStatusName *string `json:"publicIpInstanceStatusName,omitempty"` + + // 공인IP인스턴스상태 +PublicIpInstanceStatus *CommonCode `json:"publicIpInstanceStatus,omitempty"` + + // 서버인스턴스번호 +ServerInstanceNo *string `json:"serverInstanceNo,omitempty"` + + // 서버이름 +ServerName *string `json:"serverName,omitempty"` + + // 사설IP주소 +PrivateIp *string `json:"privateIp,omitempty"` + + // 마지막수정일시 +LastModifyDate *string `json:"lastModifyDate,omitempty"` + + // 공인IP인스턴스OP +PublicIpInstanceOperation *CommonCode `json:"publicIpInstanceOperation,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/reboot_server_instances_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/reboot_server_instances_request.go new file mode 100644 index 000000000..879c7c6a0 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/reboot_server_instances_request.go @@ -0,0 +1,18 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type RebootServerInstancesRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 서버인스턴스번호리스트 +ServerInstanceNoList []*string `json:"serverInstanceNoList"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/reboot_server_instances_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/reboot_server_instances_response.go new file mode 100644 index 000000000..e46f8b3ae --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/reboot_server_instances_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type RebootServerInstancesResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +ServerInstanceList []*ServerInstance `json:"serverInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/region.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/region.go new file mode 100644 index 000000000..6ca87516e --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/region.go @@ -0,0 +1,18 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type Region struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // REGION이름 +RegionName *string `json:"regionName,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/remove_access_control_group_inbound_rule_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/remove_access_control_group_inbound_rule_request.go new file mode 100644 index 000000000..c129a17cb --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/remove_access_control_group_inbound_rule_request.go @@ -0,0 +1,24 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type RemoveAccessControlGroupInboundRuleRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // ACG번호 +AccessControlGroupNo *string `json:"accessControlGroupNo"` + + // VPC번호 +VpcNo *string `json:"vpcNo"` + + // ACGRule리스트 +AccessControlGroupRuleList []*RemoveAccessControlGroupRuleParameter `json:"accessControlGroupRuleList"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/remove_access_control_group_inbound_rule_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/remove_access_control_group_inbound_rule_response.go new file mode 100644 index 000000000..d387fa4e4 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/remove_access_control_group_inbound_rule_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type RemoveAccessControlGroupInboundRuleResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +AccessControlGroupRuleList []*AccessControlGroupRule `json:"accessControlGroupRuleList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/remove_access_control_group_outbound_rule_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/remove_access_control_group_outbound_rule_request.go new file mode 100644 index 000000000..4001da170 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/remove_access_control_group_outbound_rule_request.go @@ -0,0 +1,24 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type RemoveAccessControlGroupOutboundRuleRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // ACG번호 +AccessControlGroupNo *string `json:"accessControlGroupNo"` + + // VPC번호 +VpcNo *string `json:"vpcNo"` + + // ACGRule리스트 +AccessControlGroupRuleList []*RemoveAccessControlGroupRuleParameter `json:"accessControlGroupRuleList"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/remove_access_control_group_outbound_rule_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/remove_access_control_group_outbound_rule_response.go new file mode 100644 index 000000000..09163b59a --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/remove_access_control_group_outbound_rule_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type RemoveAccessControlGroupOutboundRuleResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +AccessControlGroupRuleList []*AccessControlGroupRule `json:"accessControlGroupRuleList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/remove_access_control_group_rule_parameter.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/remove_access_control_group_rule_parameter.go new file mode 100644 index 000000000..e59b505a0 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/remove_access_control_group_rule_parameter.go @@ -0,0 +1,24 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type RemoveAccessControlGroupRuleParameter struct { + + // IP블록 +IpBlock *string `json:"ipBlock,omitempty"` + + // 접근소스ACG +AccessControlGroupSequence *string `json:"accessControlGroupSequence,omitempty"` + + // 포트범위 +PortRange *string `json:"portRange,omitempty"` + + // 프로토콜유형코드 +ProtocolTypeCode *string `json:"protocolTypeCode"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/remove_network_interface_access_control_group_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/remove_network_interface_access_control_group_request.go new file mode 100644 index 000000000..c32781f27 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/remove_network_interface_access_control_group_request.go @@ -0,0 +1,21 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type RemoveNetworkInterfaceAccessControlGroupRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // ACG번호리스트 +AccessControlGroupNoList []*string `json:"accessControlGroupNoList"` + + // 네트워크인터페이스번호 +NetworkInterfaceNo *string `json:"networkInterfaceNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/remove_network_interface_access_control_group_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/remove_network_interface_access_control_group_response.go new file mode 100644 index 000000000..624df78b0 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/remove_network_interface_access_control_group_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type RemoveNetworkInterfaceAccessControlGroupResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +NetworkInterfaceList []*NetworkInterface `json:"networkInterfaceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/remove_placement_group_server_instance_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/remove_placement_group_server_instance_request.go new file mode 100644 index 000000000..5de5d4203 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/remove_placement_group_server_instance_request.go @@ -0,0 +1,21 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type RemovePlacementGroupServerInstanceRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 물리배치그룹번호 +PlacementGroupNo *string `json:"placementGroupNo"` + + // 서버인스턴스번호 +ServerInstanceNo *string `json:"serverInstanceNo"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/remove_placement_group_server_instance_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/remove_placement_group_server_instance_response.go new file mode 100644 index 000000000..f4569756a --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/remove_placement_group_server_instance_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type RemovePlacementGroupServerInstanceResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +ServerInstanceList []*ServerInstance `json:"serverInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/root_password_server_instance.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/root_password_server_instance.go new file mode 100644 index 000000000..f5ebb6a68 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/root_password_server_instance.go @@ -0,0 +1,18 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type RootPasswordServerInstance struct { + + // 루트패스워드 +RootPassword *string `json:"rootPassword,omitempty"` + + // 서버인스턴스번호 +ServerInstanceNo *string `json:"serverInstanceNo,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/root_password_server_instance_parameter.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/root_password_server_instance_parameter.go new file mode 100644 index 000000000..424c90d24 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/root_password_server_instance_parameter.go @@ -0,0 +1,18 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type RootPasswordServerInstanceParameter struct { + + // 서버인스턴스번호 +ServerInstanceNo *string `json:"serverInstanceNo"` + + // 개인키 +PrivateKey *string `json:"privateKey,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/server_instance.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/server_instance.go new file mode 100644 index 000000000..c96f754a1 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/server_instance.go @@ -0,0 +1,93 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type ServerInstance struct { + + // 서버인스턴스번호 +ServerInstanceNo *string `json:"serverInstanceNo,omitempty"` + + // 서버이름 +ServerName *string `json:"serverName,omitempty"` + + // 서버설명 +ServerDescription *string `json:"serverDescription,omitempty"` + + // CPU개수 +CpuCount *int32 `json:"cpuCount,omitempty"` + + // 메모리사이즈 +MemorySize *int64 `json:"memorySize,omitempty"` + + // 플랫폼유형 +PlatformType *CommonCode `json:"platformType,omitempty"` + + // 로그인키이름 +LoginKeyName *string `json:"loginKeyName,omitempty"` + + // 공인IP인스턴스번호 +PublicIpInstanceNo *string `json:"publicIpInstanceNo,omitempty"` + + // 공인IP주소 +PublicIp *string `json:"publicIp,omitempty"` + + // 서버인스턴스상태 +ServerInstanceStatus *CommonCode `json:"serverInstanceStatus,omitempty"` + + // 서버인스턴스OP +ServerInstanceOperation *CommonCode `json:"serverInstanceOperation,omitempty"` + + // 서버인스턴스상태이름 +ServerInstanceStatusName *string `json:"serverInstanceStatusName,omitempty"` + + // 생성일시 +CreateDate *string `json:"createDate,omitempty"` + + // 업시간 +Uptime *string `json:"uptime,omitempty"` + + // 서버이미지상품코드 +ServerImageProductCode *string `json:"serverImageProductCode,omitempty"` + + // 서버상품코드 +ServerProductCode *string `json:"serverProductCode,omitempty"` + + // 서버반납보호설정여부 +IsProtectServerTermination *bool `json:"isProtectServerTermination,omitempty"` + + // ZONE코드 +ZoneCode *string `json:"zoneCode,omitempty"` + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // VPC번호 +VpcNo *string `json:"vpcNo,omitempty"` + + // 서브넷번호 +SubnetNo *string `json:"subnetNo,omitempty"` + + // 네트워크인터페이스번호리스트 +NetworkInterfaceNoList []*string `json:"networkInterfaceNoList,omitempty"` + + // 초기화스크립트번호 +InitScriptNo *string `json:"initScriptNo,omitempty"` + + // 서버인스턴스유형 +ServerInstanceType *CommonCode `json:"serverInstanceType,omitempty"` + + // 기본블록스토리지디스크유형 +BaseBlockStorageDiskType *CommonCode `json:"baseBlockStorageDiskType,omitempty"` + + // 기본블록스토리지디스크상세유형 +BaseBlockStorageDiskDetailType *CommonCode `json:"baseBlockStorageDiskDetailType,omitempty"` + + // 물리배치그룹번호 +PlacementGroupNo *string `json:"placementGroupNo,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/start_server_instances_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/start_server_instances_request.go new file mode 100644 index 000000000..2fc3e742c --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/start_server_instances_request.go @@ -0,0 +1,18 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type StartServerInstancesRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 서버인스턴스번호리스트 +ServerInstanceNoList []*string `json:"serverInstanceNoList"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/start_server_instances_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/start_server_instances_response.go new file mode 100644 index 000000000..5906ca5e1 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/start_server_instances_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type StartServerInstancesResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +ServerInstanceList []*ServerInstance `json:"serverInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/stop_server_instances_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/stop_server_instances_request.go new file mode 100644 index 000000000..85b91e0b5 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/stop_server_instances_request.go @@ -0,0 +1,18 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type StopServerInstancesRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 서버인스턴스번호리스트 +ServerInstanceNoList []*string `json:"serverInstanceNoList"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/stop_server_instances_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/stop_server_instances_response.go new file mode 100644 index 000000000..25bad71c3 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/stop_server_instances_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type StopServerInstancesResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +ServerInstanceList []*ServerInstance `json:"serverInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/terminate_server_instances_request.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/terminate_server_instances_request.go new file mode 100644 index 000000000..29b4f4e13 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/terminate_server_instances_request.go @@ -0,0 +1,18 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type TerminateServerInstancesRequest struct { + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // 서버인스턴스번호리스트 +ServerInstanceNoList []*string `json:"serverInstanceNoList"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/terminate_server_instances_response.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/terminate_server_instances_response.go new file mode 100644 index 000000000..7b3ae4445 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/terminate_server_instances_response.go @@ -0,0 +1,22 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type TerminateServerInstancesResponse struct { + +RequestId *string `json:"requestId,omitempty"` + +ReturnCode *string `json:"returnCode,omitempty"` + +ReturnMessage *string `json:"returnMessage,omitempty"` + +TotalRows *int32 `json:"totalRows,omitempty"` + +ServerInstanceList []*ServerInstance `json:"serverInstanceList,omitempty"` +} diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/v2_api.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/v2_api.go new file mode 100644 index 000000000..e52b53158 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/v2_api.go @@ -0,0 +1,4988 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +import ( + "encoding/base64" + "encoding/json" + "io/ioutil" + "net/url" + "reflect" + "strings" + "bytes" + + "golang.org/x/net/context" +) + +// Linger please +var ( + _ context.Context +) + +type V2ApiService service + + +/* V2ApiService + ACGInboundRule추가 + @param addAccessControlGroupInboundRuleRequest addAccessControlGroupInboundRuleRequest + @return *AddAccessControlGroupInboundRuleResponse*/ +func (a *V2ApiService) AddAccessControlGroupInboundRule(addAccessControlGroupInboundRuleRequest *AddAccessControlGroupInboundRuleRequest) (*AddAccessControlGroupInboundRuleResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload AddAccessControlGroupInboundRuleResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/addAccessControlGroupInboundRule" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = addAccessControlGroupInboundRuleRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + ACGOutboundRule추가 + @param addAccessControlGroupOutboundRuleRequest addAccessControlGroupOutboundRuleRequest + @return *AddAccessControlGroupOutboundRuleResponse*/ +func (a *V2ApiService) AddAccessControlGroupOutboundRule(addAccessControlGroupOutboundRuleRequest *AddAccessControlGroupOutboundRuleRequest) (*AddAccessControlGroupOutboundRuleResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload AddAccessControlGroupOutboundRuleResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/addAccessControlGroupOutboundRule" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = addAccessControlGroupOutboundRuleRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 네트워크인터페이스의ACG추가 + @param addNetworkInterfaceAccessControlGroupRequest addNetworkInterfaceAccessControlGroupRequest + @return *AddNetworkInterfaceAccessControlGroupResponse*/ +func (a *V2ApiService) AddNetworkInterfaceAccessControlGroup(addNetworkInterfaceAccessControlGroupRequest *AddNetworkInterfaceAccessControlGroupRequest) (*AddNetworkInterfaceAccessControlGroupResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload AddNetworkInterfaceAccessControlGroupResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/addNetworkInterfaceAccessControlGroup" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = addNetworkInterfaceAccessControlGroupRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 물리배치그룹에서버인스턴스추가 + @param addPlacementGroupServerInstanceRequest addPlacementGroupServerInstanceRequest + @return *AddPlacementGroupServerInstanceResponse*/ +func (a *V2ApiService) AddPlacementGroupServerInstance(addPlacementGroupServerInstanceRequest *AddPlacementGroupServerInstanceRequest) (*AddPlacementGroupServerInstanceResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload AddPlacementGroupServerInstanceResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/addPlacementGroupServerInstance" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = addPlacementGroupServerInstanceRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 공인IP를서버인스턴스에할당 + @param associatePublicIpWithServerInstanceRequest associatePublicIpWithServerInstanceRequest + @return *AssociatePublicIpWithServerInstanceResponse*/ +func (a *V2ApiService) AssociatePublicIpWithServerInstance(associatePublicIpWithServerInstanceRequest *AssociatePublicIpWithServerInstanceRequest) (*AssociatePublicIpWithServerInstanceResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload AssociatePublicIpWithServerInstanceResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/associatePublicIpWithServerInstance" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = associatePublicIpWithServerInstanceRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 블록스토리지인스턴스할당 + @param attachBlockStorageInstanceRequest attachBlockStorageInstanceRequest + @return *AttachBlockStorageInstanceResponse*/ +func (a *V2ApiService) AttachBlockStorageInstance(attachBlockStorageInstanceRequest *AttachBlockStorageInstanceRequest) (*AttachBlockStorageInstanceResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload AttachBlockStorageInstanceResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/attachBlockStorageInstance" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = attachBlockStorageInstanceRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 네트워크인터페이스할당 + @param attachNetworkInterfaceRequest attachNetworkInterfaceRequest + @return *AttachNetworkInterfaceResponse*/ +func (a *V2ApiService) AttachNetworkInterface(attachNetworkInterfaceRequest *AttachNetworkInterfaceRequest) (*AttachNetworkInterfaceResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload AttachNetworkInterfaceResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/attachNetworkInterface" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = attachNetworkInterfaceRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 블록스토리지볼륨사이즈변경 + @param changeBlockStorageVolumeSizeRequest changeBlockStorageVolumeSizeRequest + @return *ChangeBlockStorageVolumeSizeResponse*/ +func (a *V2ApiService) ChangeBlockStorageVolumeSize(changeBlockStorageVolumeSizeRequest *ChangeBlockStorageVolumeSizeRequest) (*ChangeBlockStorageVolumeSizeResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload ChangeBlockStorageVolumeSizeResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/changeBlockStorageVolumeSize" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = changeBlockStorageVolumeSizeRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 서버인스턴스스펙변경 + @param changeServerInstanceSpecRequest changeServerInstanceSpecRequest + @return *ChangeServerInstanceSpecResponse*/ +func (a *V2ApiService) ChangeServerInstanceSpec(changeServerInstanceSpecRequest *ChangeServerInstanceSpecRequest) (*ChangeServerInstanceSpecResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload ChangeServerInstanceSpecResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/changeServerInstanceSpec" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = changeServerInstanceSpecRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + ACG생성 + @param createAccessControlGroupRequest createAccessControlGroupRequest + @return *CreateAccessControlGroupResponse*/ +func (a *V2ApiService) CreateAccessControlGroup(createAccessControlGroupRequest *CreateAccessControlGroupRequest) (*CreateAccessControlGroupResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload CreateAccessControlGroupResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/createAccessControlGroup" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = createAccessControlGroupRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 블록스토리지인스턴스생성 + @param createBlockStorageInstanceRequest createBlockStorageInstanceRequest + @return *CreateBlockStorageInstanceResponse*/ +func (a *V2ApiService) CreateBlockStorageInstance(createBlockStorageInstanceRequest *CreateBlockStorageInstanceRequest) (*CreateBlockStorageInstanceResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload CreateBlockStorageInstanceResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/createBlockStorageInstance" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = createBlockStorageInstanceRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 블록스토리지스냅샷인스턴스생성 + @param createBlockStorageSnapshotInstanceRequest createBlockStorageSnapshotInstanceRequest + @return *CreateBlockStorageSnapshotInstanceResponse*/ +func (a *V2ApiService) CreateBlockStorageSnapshotInstance(createBlockStorageSnapshotInstanceRequest *CreateBlockStorageSnapshotInstanceRequest) (*CreateBlockStorageSnapshotInstanceResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload CreateBlockStorageSnapshotInstanceResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/createBlockStorageSnapshotInstance" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = createBlockStorageSnapshotInstanceRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 초기화스크립트생성 + @param createInitScriptRequest createInitScriptRequest + @return *CreateInitScriptResponse*/ +func (a *V2ApiService) CreateInitScript(createInitScriptRequest *CreateInitScriptRequest) (*CreateInitScriptResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload CreateInitScriptResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/createInitScript" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = createInitScriptRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 로그인키생성 + @param createLoginKeyRequest createLoginKeyRequest + @return *CreateLoginKeyResponse*/ +func (a *V2ApiService) CreateLoginKey(createLoginKeyRequest *CreateLoginKeyRequest) (*CreateLoginKeyResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload CreateLoginKeyResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/createLoginKey" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = createLoginKeyRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 회원서버이미지인스턴스생성 + @param createMemberServerImageInstanceRequest createMemberServerImageInstanceRequest + @return *CreateMemberServerImageInstanceResponse*/ +func (a *V2ApiService) CreateMemberServerImageInstance(createMemberServerImageInstanceRequest *CreateMemberServerImageInstanceRequest) (*CreateMemberServerImageInstanceResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload CreateMemberServerImageInstanceResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/createMemberServerImageInstance" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = createMemberServerImageInstanceRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 네트워크인터페이스생성 + @param createNetworkInterfaceRequest createNetworkInterfaceRequest + @return *CreateNetworkInterfaceResponse*/ +func (a *V2ApiService) CreateNetworkInterface(createNetworkInterfaceRequest *CreateNetworkInterfaceRequest) (*CreateNetworkInterfaceResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload CreateNetworkInterfaceResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/createNetworkInterface" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = createNetworkInterfaceRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 물리배치그룹생성 + @param createPlacementGroupRequest createPlacementGroupRequest + @return *CreatePlacementGroupResponse*/ +func (a *V2ApiService) CreatePlacementGroup(createPlacementGroupRequest *CreatePlacementGroupRequest) (*CreatePlacementGroupResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload CreatePlacementGroupResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/createPlacementGroup" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = createPlacementGroupRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 공인IP인스턴스생성 + @param createPublicIpInstanceRequest createPublicIpInstanceRequest + @return *CreatePublicIpInstanceResponse*/ +func (a *V2ApiService) CreatePublicIpInstance(createPublicIpInstanceRequest *CreatePublicIpInstanceRequest) (*CreatePublicIpInstanceResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload CreatePublicIpInstanceResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/createPublicIpInstance" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = createPublicIpInstanceRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 서버인스턴스생성 + @param createServerInstancesRequest createServerInstancesRequest + @return *CreateServerInstancesResponse*/ +func (a *V2ApiService) CreateServerInstances(createServerInstancesRequest *CreateServerInstancesRequest) (*CreateServerInstancesResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload CreateServerInstancesResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/createServerInstances" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = createServerInstancesRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + ACG삭제 + @param deleteAccessControlGroupRequest deleteAccessControlGroupRequest + @return *DeleteAccessControlGroupResponse*/ +func (a *V2ApiService) DeleteAccessControlGroup(deleteAccessControlGroupRequest *DeleteAccessControlGroupRequest) (*DeleteAccessControlGroupResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload DeleteAccessControlGroupResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/deleteAccessControlGroup" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = deleteAccessControlGroupRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 블록스토리지인스턴스삭제 + @param deleteBlockStorageInstancesRequest deleteBlockStorageInstancesRequest + @return *DeleteBlockStorageInstancesResponse*/ +func (a *V2ApiService) DeleteBlockStorageInstances(deleteBlockStorageInstancesRequest *DeleteBlockStorageInstancesRequest) (*DeleteBlockStorageInstancesResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload DeleteBlockStorageInstancesResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/deleteBlockStorageInstances" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = deleteBlockStorageInstancesRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 블록스토리지스냅샷인스턴스삭제 + @param deleteBlockStorageSnapshotInstancesRequest deleteBlockStorageSnapshotInstancesRequest + @return *DeleteBlockStorageSnapshotInstancesResponse*/ +func (a *V2ApiService) DeleteBlockStorageSnapshotInstances(deleteBlockStorageSnapshotInstancesRequest *DeleteBlockStorageSnapshotInstancesRequest) (*DeleteBlockStorageSnapshotInstancesResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload DeleteBlockStorageSnapshotInstancesResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/deleteBlockStorageSnapshotInstances" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = deleteBlockStorageSnapshotInstancesRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 초기화스크립트삭제 + @param deleteInitScriptsRequest deleteInitScriptsRequest + @return *DeleteInitScriptsResponse*/ +func (a *V2ApiService) DeleteInitScripts(deleteInitScriptsRequest *DeleteInitScriptsRequest) (*DeleteInitScriptsResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload DeleteInitScriptsResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/deleteInitScripts" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = deleteInitScriptsRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 로그인키삭제 + @param deleteLoginKeysRequest deleteLoginKeysRequest + @return *DeleteLoginKeysResponse*/ +func (a *V2ApiService) DeleteLoginKeys(deleteLoginKeysRequest *DeleteLoginKeysRequest) (*DeleteLoginKeysResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload DeleteLoginKeysResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/deleteLoginKeys" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = deleteLoginKeysRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 회원서버이미지인스턴스삭제 + @param deleteMemberServerImageInstancesRequest deleteMemberServerImageInstancesRequest + @return *DeleteMemberServerImageInstancesResponse*/ +func (a *V2ApiService) DeleteMemberServerImageInstances(deleteMemberServerImageInstancesRequest *DeleteMemberServerImageInstancesRequest) (*DeleteMemberServerImageInstancesResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload DeleteMemberServerImageInstancesResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/deleteMemberServerImageInstances" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = deleteMemberServerImageInstancesRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 네트워크인터페이스삭제 + @param deleteNetworkInterfaceRequest deleteNetworkInterfaceRequest + @return *DeleteNetworkInterfaceResponse*/ +func (a *V2ApiService) DeleteNetworkInterface(deleteNetworkInterfaceRequest *DeleteNetworkInterfaceRequest) (*DeleteNetworkInterfaceResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload DeleteNetworkInterfaceResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/deleteNetworkInterface" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = deleteNetworkInterfaceRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 물리배치그룹삭제 + @param deletePlacementGroupRequest deletePlacementGroupRequest + @return *DeletePlacementGroupResponse*/ +func (a *V2ApiService) DeletePlacementGroup(deletePlacementGroupRequest *DeletePlacementGroupRequest) (*DeletePlacementGroupResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload DeletePlacementGroupResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/deletePlacementGroup" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = deletePlacementGroupRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 공인IP인스턴스삭제 + @param deletePublicIpInstanceRequest deletePublicIpInstanceRequest + @return *DeletePublicIpInstanceResponse*/ +func (a *V2ApiService) DeletePublicIpInstance(deletePublicIpInstanceRequest *DeletePublicIpInstanceRequest) (*DeletePublicIpInstanceResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload DeletePublicIpInstanceResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/deletePublicIpInstance" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = deletePublicIpInstanceRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 블록스토리지인스턴스할당해제 + @param detachBlockStorageInstancesRequest detachBlockStorageInstancesRequest + @return *DetachBlockStorageInstancesResponse*/ +func (a *V2ApiService) DetachBlockStorageInstances(detachBlockStorageInstancesRequest *DetachBlockStorageInstancesRequest) (*DetachBlockStorageInstancesResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload DetachBlockStorageInstancesResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/detachBlockStorageInstances" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = detachBlockStorageInstancesRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 네트워크인터페이스할당해제 + @param detachNetworkInterfaceRequest detachNetworkInterfaceRequest + @return *DetachNetworkInterfaceResponse*/ +func (a *V2ApiService) DetachNetworkInterface(detachNetworkInterfaceRequest *DetachNetworkInterfaceRequest) (*DetachNetworkInterfaceResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload DetachNetworkInterfaceResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/detachNetworkInterface" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = detachNetworkInterfaceRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 공인IP를서버인스턴스에서할당해제 + @param disassociatePublicIpFromServerInstanceRequest disassociatePublicIpFromServerInstanceRequest + @return *DisassociatePublicIpFromServerInstanceResponse*/ +func (a *V2ApiService) DisassociatePublicIpFromServerInstance(disassociatePublicIpFromServerInstanceRequest *DisassociatePublicIpFromServerInstanceRequest) (*DisassociatePublicIpFromServerInstanceResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload DisassociatePublicIpFromServerInstanceResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/disassociatePublicIpFromServerInstance" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = disassociatePublicIpFromServerInstanceRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + ACG상세조회 + @param getAccessControlGroupDetailRequest getAccessControlGroupDetailRequest + @return *GetAccessControlGroupDetailResponse*/ +func (a *V2ApiService) GetAccessControlGroupDetail(getAccessControlGroupDetailRequest *GetAccessControlGroupDetailRequest) (*GetAccessControlGroupDetailResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetAccessControlGroupDetailResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getAccessControlGroupDetail" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getAccessControlGroupDetailRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + ACG리스트조회 + @param getAccessControlGroupListRequest getAccessControlGroupListRequest + @return *GetAccessControlGroupListResponse*/ +func (a *V2ApiService) GetAccessControlGroupList(getAccessControlGroupListRequest *GetAccessControlGroupListRequest) (*GetAccessControlGroupListResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetAccessControlGroupListResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getAccessControlGroupList" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getAccessControlGroupListRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + ACGRule리스트조회 + @param getAccessControlGroupRuleListRequest getAccessControlGroupRuleListRequest + @return *GetAccessControlGroupRuleListResponse*/ +func (a *V2ApiService) GetAccessControlGroupRuleList(getAccessControlGroupRuleListRequest *GetAccessControlGroupRuleListRequest) (*GetAccessControlGroupRuleListResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetAccessControlGroupRuleListResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getAccessControlGroupRuleList" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getAccessControlGroupRuleListRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 블록스토리지인스턴스상세조회 + @param getBlockStorageInstanceDetailRequest getBlockStorageInstanceDetailRequest + @return *GetBlockStorageInstanceDetailResponse*/ +func (a *V2ApiService) GetBlockStorageInstanceDetail(getBlockStorageInstanceDetailRequest *GetBlockStorageInstanceDetailRequest) (*GetBlockStorageInstanceDetailResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetBlockStorageInstanceDetailResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getBlockStorageInstanceDetail" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getBlockStorageInstanceDetailRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 블록스토리지인스턴스리스트조회 + @param getBlockStorageInstanceListRequest getBlockStorageInstanceListRequest + @return *GetBlockStorageInstanceListResponse*/ +func (a *V2ApiService) GetBlockStorageInstanceList(getBlockStorageInstanceListRequest *GetBlockStorageInstanceListRequest) (*GetBlockStorageInstanceListResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetBlockStorageInstanceListResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getBlockStorageInstanceList" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getBlockStorageInstanceListRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 블록스토리지스냅샷인스턴스상세조회 + @param getBlockStorageSnapshotInstanceDetailRequest getBlockStorageSnapshotInstanceDetailRequest + @return *GetBlockStorageSnapshotInstanceDetailResponse*/ +func (a *V2ApiService) GetBlockStorageSnapshotInstanceDetail(getBlockStorageSnapshotInstanceDetailRequest *GetBlockStorageSnapshotInstanceDetailRequest) (*GetBlockStorageSnapshotInstanceDetailResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetBlockStorageSnapshotInstanceDetailResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getBlockStorageSnapshotInstanceDetail" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getBlockStorageSnapshotInstanceDetailRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 블록스토리지스냅샷인스턴스리스트조회 + @param getBlockStorageSnapshotInstanceListRequest getBlockStorageSnapshotInstanceListRequest + @return *GetBlockStorageSnapshotInstanceListResponse*/ +func (a *V2ApiService) GetBlockStorageSnapshotInstanceList(getBlockStorageSnapshotInstanceListRequest *GetBlockStorageSnapshotInstanceListRequest) (*GetBlockStorageSnapshotInstanceListResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetBlockStorageSnapshotInstanceListResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getBlockStorageSnapshotInstanceList" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getBlockStorageSnapshotInstanceListRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 초기화스크립트상세조회 + @param getInitScriptDetailRequest getInitScriptDetailRequest + @return *GetInitScriptDetailResponse*/ +func (a *V2ApiService) GetInitScriptDetail(getInitScriptDetailRequest *GetInitScriptDetailRequest) (*GetInitScriptDetailResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetInitScriptDetailResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getInitScriptDetail" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getInitScriptDetailRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 초기화스크립트리스트조회 + @param getInitScriptListRequest getInitScriptListRequest + @return *GetInitScriptListResponse*/ +func (a *V2ApiService) GetInitScriptList(getInitScriptListRequest *GetInitScriptListRequest) (*GetInitScriptListResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetInitScriptListResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getInitScriptList" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getInitScriptListRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 로그인키리스트조회 + @param getLoginKeyListRequest getLoginKeyListRequest + @return *GetLoginKeyListResponse*/ +func (a *V2ApiService) GetLoginKeyList(getLoginKeyListRequest *GetLoginKeyListRequest) (*GetLoginKeyListResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetLoginKeyListResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getLoginKeyList" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getLoginKeyListRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 회원서버이미지인스턴스상세조회 + @param getMemberServerImageInstanceDetailRequest getMemberServerImageInstanceDetailRequest + @return *GetMemberServerImageInstanceDetailResponse*/ +func (a *V2ApiService) GetMemberServerImageInstanceDetail(getMemberServerImageInstanceDetailRequest *GetMemberServerImageInstanceDetailRequest) (*GetMemberServerImageInstanceDetailResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetMemberServerImageInstanceDetailResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getMemberServerImageInstanceDetail" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getMemberServerImageInstanceDetailRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 회원서버이미지인스턴스리스트조회 + @param getMemberServerImageInstanceListRequest getMemberServerImageInstanceListRequest + @return *GetMemberServerImageInstanceListResponse*/ +func (a *V2ApiService) GetMemberServerImageInstanceList(getMemberServerImageInstanceListRequest *GetMemberServerImageInstanceListRequest) (*GetMemberServerImageInstanceListResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetMemberServerImageInstanceListResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getMemberServerImageInstanceList" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getMemberServerImageInstanceListRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 네트워크인터페이스상세조회 + @param getNetworkInterfaceDetailRequest getNetworkInterfaceDetailRequest + @return *GetNetworkInterfaceDetailResponse*/ +func (a *V2ApiService) GetNetworkInterfaceDetail(getNetworkInterfaceDetailRequest *GetNetworkInterfaceDetailRequest) (*GetNetworkInterfaceDetailResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetNetworkInterfaceDetailResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getNetworkInterfaceDetail" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getNetworkInterfaceDetailRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 네트워크인터페이스리스트조회 + @param getNetworkInterfaceListRequest getNetworkInterfaceListRequest + @return *GetNetworkInterfaceListResponse*/ +func (a *V2ApiService) GetNetworkInterfaceList(getNetworkInterfaceListRequest *GetNetworkInterfaceListRequest) (*GetNetworkInterfaceListResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetNetworkInterfaceListResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getNetworkInterfaceList" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getNetworkInterfaceListRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 물리배치그룹상세조회 + @param getPlacementGroupDetailRequest getPlacementGroupDetailRequest + @return *GetPlacementGroupDetailResponse*/ +func (a *V2ApiService) GetPlacementGroupDetail(getPlacementGroupDetailRequest *GetPlacementGroupDetailRequest) (*GetPlacementGroupDetailResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetPlacementGroupDetailResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getPlacementGroupDetail" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getPlacementGroupDetailRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 물리배치그룹리스트조회 + @param getPlacementGroupListRequest getPlacementGroupListRequest + @return *GetPlacementGroupListResponse*/ +func (a *V2ApiService) GetPlacementGroupList(getPlacementGroupListRequest *GetPlacementGroupListRequest) (*GetPlacementGroupListResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetPlacementGroupListResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getPlacementGroupList" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getPlacementGroupListRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 공인IP인스턴스상세조회 + @param getPublicIpInstanceDetailRequest getPublicIpInstanceDetailRequest + @return *GetPublicIpInstanceDetailResponse*/ +func (a *V2ApiService) GetPublicIpInstanceDetail(getPublicIpInstanceDetailRequest *GetPublicIpInstanceDetailRequest) (*GetPublicIpInstanceDetailResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetPublicIpInstanceDetailResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getPublicIpInstanceDetail" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getPublicIpInstanceDetailRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 공인IP인스턴스리스트조회 + @param getPublicIpInstanceListRequest getPublicIpInstanceListRequest + @return *GetPublicIpInstanceListResponse*/ +func (a *V2ApiService) GetPublicIpInstanceList(getPublicIpInstanceListRequest *GetPublicIpInstanceListRequest) (*GetPublicIpInstanceListResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetPublicIpInstanceListResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getPublicIpInstanceList" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getPublicIpInstanceListRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 공인IP할당가능서버인스턴스리스트조회 + @param getPublicIpTargetServerInstanceListRequest getPublicIpTargetServerInstanceListRequest + @return *GetPublicIpTargetServerInstanceListResponse*/ +func (a *V2ApiService) GetPublicIpTargetServerInstanceList(getPublicIpTargetServerInstanceListRequest *GetPublicIpTargetServerInstanceListRequest) (*GetPublicIpTargetServerInstanceListResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetPublicIpTargetServerInstanceListResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getPublicIpTargetServerInstanceList" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getPublicIpTargetServerInstanceListRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + REGION리스트조회 + @param getRegionListRequest getRegionListRequest + @return *GetRegionListResponse*/ +func (a *V2ApiService) GetRegionList(getRegionListRequest *GetRegionListRequest) (*GetRegionListResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetRegionListResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getRegionList" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getRegionListRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 서버인스턴스의루트패스워드조회 + @param getRootPasswordRequest getRootPasswordRequest + @return *GetRootPasswordResponse*/ +func (a *V2ApiService) GetRootPassword(getRootPasswordRequest *GetRootPasswordRequest) (*GetRootPasswordResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetRootPasswordResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getRootPassword" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getRootPasswordRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 서버인스턴스리스트의루트패스워드조회 + @param getRootPasswordServerInstanceListRequest getRootPasswordServerInstanceListRequest + @return *GetRootPasswordServerInstanceListResponse*/ +func (a *V2ApiService) GetRootPasswordServerInstanceList(getRootPasswordServerInstanceListRequest *GetRootPasswordServerInstanceListRequest) (*GetRootPasswordServerInstanceListResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetRootPasswordServerInstanceListResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getRootPasswordServerInstanceList" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getRootPasswordServerInstanceListRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 서버이미지상품리스트조회 + @param getServerImageProductListRequest getServerImageProductListRequest + @return *GetServerImageProductListResponse*/ +func (a *V2ApiService) GetServerImageProductList(getServerImageProductListRequest *GetServerImageProductListRequest) (*GetServerImageProductListResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetServerImageProductListResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getServerImageProductList" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getServerImageProductListRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 서버인스턴스상세조회 + @param getServerInstanceDetailRequest getServerInstanceDetailRequest + @return *GetServerInstanceDetailResponse*/ +func (a *V2ApiService) GetServerInstanceDetail(getServerInstanceDetailRequest *GetServerInstanceDetailRequest) (*GetServerInstanceDetailResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetServerInstanceDetailResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getServerInstanceDetail" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getServerInstanceDetailRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 서버인스턴스리스트조회 + @param getServerInstanceListRequest getServerInstanceListRequest + @return *GetServerInstanceListResponse*/ +func (a *V2ApiService) GetServerInstanceList(getServerInstanceListRequest *GetServerInstanceListRequest) (*GetServerInstanceListResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetServerInstanceListResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getServerInstanceList" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getServerInstanceListRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 서버상품리스트조회 + @param getServerProductListRequest getServerProductListRequest + @return *GetServerProductListResponse*/ +func (a *V2ApiService) GetServerProductList(getServerProductListRequest *GetServerProductListRequest) (*GetServerProductListResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetServerProductListResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getServerProductList" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getServerProductListRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + ZONE리스트조회 + @param getZoneListRequest getZoneListRequest + @return *GetZoneListResponse*/ +func (a *V2ApiService) GetZoneList(getZoneListRequest *GetZoneListRequest) (*GetZoneListResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload GetZoneListResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/getZoneList" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = getZoneListRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 사용자가생성한로그인키import + @param importLoginKeyRequest importLoginKeyRequest + @return *ImportLoginKeyResponse*/ +func (a *V2ApiService) ImportLoginKey(importLoginKeyRequest *ImportLoginKeyRequest) (*ImportLoginKeyResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload ImportLoginKeyResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/importLoginKey" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = importLoginKeyRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 서버인스턴스재시작 + @param rebootServerInstancesRequest rebootServerInstancesRequest + @return *RebootServerInstancesResponse*/ +func (a *V2ApiService) RebootServerInstances(rebootServerInstancesRequest *RebootServerInstancesRequest) (*RebootServerInstancesResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload RebootServerInstancesResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/rebootServerInstances" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = rebootServerInstancesRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + ACGInboundRule삭제 + @param removeAccessControlGroupInboundRuleRequest removeAccessControlGroupInboundRuleRequest + @return *RemoveAccessControlGroupInboundRuleResponse*/ +func (a *V2ApiService) RemoveAccessControlGroupInboundRule(removeAccessControlGroupInboundRuleRequest *RemoveAccessControlGroupInboundRuleRequest) (*RemoveAccessControlGroupInboundRuleResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload RemoveAccessControlGroupInboundRuleResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/removeAccessControlGroupInboundRule" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = removeAccessControlGroupInboundRuleRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + ACGOutboundRule삭제 + @param removeAccessControlGroupOutboundRuleRequest removeAccessControlGroupOutboundRuleRequest + @return *RemoveAccessControlGroupOutboundRuleResponse*/ +func (a *V2ApiService) RemoveAccessControlGroupOutboundRule(removeAccessControlGroupOutboundRuleRequest *RemoveAccessControlGroupOutboundRuleRequest) (*RemoveAccessControlGroupOutboundRuleResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload RemoveAccessControlGroupOutboundRuleResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/removeAccessControlGroupOutboundRule" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = removeAccessControlGroupOutboundRuleRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 네트워크인터페이스의ACG제거 + @param removeNetworkInterfaceAccessControlGroupRequest removeNetworkInterfaceAccessControlGroupRequest + @return *RemoveNetworkInterfaceAccessControlGroupResponse*/ +func (a *V2ApiService) RemoveNetworkInterfaceAccessControlGroup(removeNetworkInterfaceAccessControlGroupRequest *RemoveNetworkInterfaceAccessControlGroupRequest) (*RemoveNetworkInterfaceAccessControlGroupResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload RemoveNetworkInterfaceAccessControlGroupResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/removeNetworkInterfaceAccessControlGroup" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = removeNetworkInterfaceAccessControlGroupRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 물리배치그룹에서서버인스턴스제거 + @param removePlacementGroupServerInstanceRequest removePlacementGroupServerInstanceRequest + @return *RemovePlacementGroupServerInstanceResponse*/ +func (a *V2ApiService) RemovePlacementGroupServerInstance(removePlacementGroupServerInstanceRequest *RemovePlacementGroupServerInstanceRequest) (*RemovePlacementGroupServerInstanceResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload RemovePlacementGroupServerInstanceResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/removePlacementGroupServerInstance" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = removePlacementGroupServerInstanceRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 서버인스턴스시작 + @param startServerInstancesRequest startServerInstancesRequest + @return *StartServerInstancesResponse*/ +func (a *V2ApiService) StartServerInstances(startServerInstancesRequest *StartServerInstancesRequest) (*StartServerInstancesResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload StartServerInstancesResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/startServerInstances" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = startServerInstancesRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 서버인스턴스정지 + @param stopServerInstancesRequest stopServerInstancesRequest + @return *StopServerInstancesResponse*/ +func (a *V2ApiService) StopServerInstances(stopServerInstancesRequest *StopServerInstancesRequest) (*StopServerInstancesResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload StopServerInstancesResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/stopServerInstances" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = stopServerInstancesRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + +/* V2ApiService + 서버인스턴스반납 + @param terminateServerInstancesRequest terminateServerInstancesRequest + @return *TerminateServerInstancesResponse*/ +func (a *V2ApiService) TerminateServerInstances(terminateServerInstancesRequest *TerminateServerInstancesRequest) (*TerminateServerInstancesResponse, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + successPayload TerminateServerInstancesResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/terminateServerInstances" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + + // to determine the Content-Type header + localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", } + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{ + } + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = terminateServerInstancesRequest + v := reflect.ValueOf(localVarPostBody).Elem().FieldByName("UserData") + if v.IsValid() && v.CanAddr() { + ptr := v.Addr().Interface().(**string) + if *ptr != nil { + **ptr = base64.StdEncoding.EncodeToString([]byte(**ptr)) + } + } + r, err := a.client.prepareRequest(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return &successPayload, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return &successPayload, err + } + defer localVarHttpResponse.Body.Close() + bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) + + if localVarHttpResponse.StatusCode >= 300 || (localVarHttpResponse.StatusCode < 300 && !strings.HasPrefix(string(bodyBytes), `{`)) { + return &successPayload, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) + } + + if !strings.Contains(string(bodyBytes), `{"error"`) && strings.HasPrefix(string(bodyBytes), `{`) { + if err = json.Unmarshal(bodyBytes[bytes.IndexAny(bytes.Trim(bodyBytes, "{"), "{"):len(bodyBytes)-1], &successPayload); err != nil { + return &successPayload, err + } + } + + + return &successPayload, err +} + diff --git a/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/zone.go b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/zone.go new file mode 100644 index 000000000..4c5c28759 --- /dev/null +++ b/vendor/github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/vserver/zone.go @@ -0,0 +1,24 @@ +/* + * vserver + * + * VPC Compute 관련 API
https://ncloud.apigw.ntruss.com/vserver/v2 + * + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package vserver + +type Zone struct { + + // ZONE이름 +ZoneName *string `json:"zoneName,omitempty"` + + // ZONE코드 +ZoneCode *string `json:"zoneCode,omitempty"` + + // REGION코드 +RegionCode *string `json:"regionCode,omitempty"` + + // ZONE설명 +ZoneDescription *string `json:"zoneDescription,omitempty"` +} diff --git a/website/content/docs/builders/ncloud.mdx b/website/content/docs/builders/ncloud.mdx index 874be0125..f1bdafb00 100644 --- a/website/content/docs/builders/ncloud.mdx +++ b/website/content/docs/builders/ncloud.mdx @@ -18,12 +18,12 @@ Platform](https://www.ncloud.com/). ### Required: -- `ncloud_access_key` (string) - User's access key. Go to [\[Account +- `access_key` (string) - User's access key. Go to [\[Account Management > Authentication Key\]](https://www.ncloud.com/mypage/manage/authkey) to create and view your authentication key. -- `ncloud_secret_key` (string) - User's secret key paired with the access +- `secret_key` (string) - User's secret key paired with the access key. Go to [\[Account Management > Authentication Key\]](https://www.ncloud.com/mypage/manage/authkey) to create and view your authentication key. @@ -31,9 +31,13 @@ Platform](https://www.ncloud.com/). - `server_image_product_code` (string) - Product code of an image to create. (member_server_image_no is required if not specified) +### Optional: - `server_product_code` (string) - Product (spec) code to create. -### Optional: +- `vpc_no` (string) - The ID of the VPC where you want to place the Server Instance. If this field is left blank, Packer will try to get the VPC ID from the `subnet_no`. + (You are required to least one between two parameters if u want using VPC environment: `vpc_no` or `subnet_no`) + +- `subnet_no` (string) - The ID of the Subnet where you want to place the Server Instance. If this field is left blank, Packer will try to get the Public Subnet ID from the `vpc_no`. - `member_server_image_no` (string) - Previous image code. If there is an image previously created, it can be used to create a new image. @@ -46,10 +50,10 @@ Platform](https://www.ncloud.com/). - `block_storage_size` (number) - You can add block storage ranging from 10 GB to 2000 GB, in increments of 10 GB. -- `access_control_group_configuration_no` (string) - This is used to allow +- `access_control_group_no` (string) - This is used to allow winrm access when you create a Windows server. An ACG that specifies an access source (`0.0.0.0/0`) and allowed port (5985) must be created in - advance. + advance if you use CLASSIC env. If this field is left blank, Packer will create temporary ACG for automatically in VPC environment. - `user_data` (string) - User data to apply when launching the instance. Note that you need to be careful about escaping characters due to the templates @@ -64,84 +68,172 @@ Platform](https://www.ncloud.com/). (default: Korea) - values: Korea / US-West / HongKong / Singapore / Japan / Germany -## Sample code of template.json +## Basic Example Here is a basic example for windows server. - { - "variables": { - "ncloud_access_key": "FRxhOQRNjKVMqIz3sRLY", - "ncloud_secret_key": "xd6kTO5iNcLookBx0D8TDKmpLj2ikxqEhc06MQD2" - }, - "builders": [ - { - "type": "ncloud", - "access_key": "{{user `ncloud_access_key`}}", - "secret_key": "{{user `ncloud_secret_key`}}", + + - "server_image_product_code": "SPSW0WINNTEN0016", - "server_product_code": "SPSVRSSD00000002", - "server_image_name": "packer-test {{timestamp}}", - "server_image_description": "server description", - "user_data": "CreateObject(\"WScript.Shell\").run(\"cmd.exe /c powershell Set-ExecutionPolicy RemoteSigned & winrm quickconfig -q & sc config WinRM start= auto & winrm set winrm/config/service/auth @{Basic=\"\"true\"\"} & winrm set winrm/config/service @{AllowUnencrypted=\"\"true\"\"} & winrm get winrm/config/service\")", - "region": "US-West", - "communicator": "winrm", - "winrm_username": "Administrator", - "access_control_group_configuration_no" : 4964 - } +```hcl +variable "access_key" { + type = string + # default = "your_access_key" +} + +variable "secret_key" { + type = string + # default = "your_secret_key" +} + +locals { + timestamp = regex_replace(timestamp(), "[- TZ:]", "") +} + +source "ncloud" "example-windows" { + access_key = "${var.access_key}" + secret_key = "${var.secret_key}" + server_image_product_code = "SW.VSVR.OS.WND64.WND.SVR2016EN.B100" // for VPC environment. + # server_image_product_code = "SPSW0WINNTEN0016" // for CLASSIC environment. + server_image_name = "packer-${local.timestamp}" + server_image_description = "server image description" + user_data = "CreateObject(\"WScript.Shell\").run(\"cmd.exe /c powershell Set-ExecutionPolicy RemoteSigned & winrm quickconfig -q & sc config WinRM start= auto & winrm set winrm/config/service/auth @{Basic=\"\"true\"\"} & winrm set winrm/config/service @{AllowUnencrypted=\"\"true\"\"} & winrm get winrm/config/service\")" + region = "Korea" + vpc_no = "{{YOUR_VPC_ID}}" // Remove this if you use CLASSIC environment. + subnet_no = "{{YOUR_SUBNET_ID}}" // Remove this if you use CLASSIC environment. + communicator = "winrm" + winrm_username = "Administrator" + # access_control_group_no = "{{YOUR_ACG_ID}}" // Specific ACG ID allowed port (5985) if you use CLASSIC environment. +} + +build { + sources = ["source.ncloud.example-windows"] + + provisioner "powershell" { + inline = [ + "Write-Output 1,2,3 | Measure-Object" + ] + } +} +``` + + + + +```json +{ + "variables": { + "ncloud_access_key": "{{env `NCLOUD_ACCESS_KEY`}}", + "ncloud_secret_key": "{{env `NCLOUD_SECRET_KEY`}}" + }, + "builders": [ + { + "type": "ncloud", + "access_key": "{{user `ncloud_access_key`}}", + "secret_key": "{{user `ncloud_secret_key`}}", + "server_image_product_code": "SPSW0WINNTEN0016", + "server_image_name": "packer-test {{timestamp}}", + "server_image_description": "server description", + "user_data": "CreateObject(\"WScript.Shell\").run(\"cmd.exe /c powershell Set-ExecutionPolicy RemoteSigned & winrm quickconfig -q & sc config WinRM start= auto & winrm set winrm/config/service/auth @{Basic=\"\"true\"\"} & winrm set winrm/config/service @{AllowUnencrypted=\"\"true\"\"} & winrm get winrm/config/service\")", + "region": "Korea", + "communicator": "winrm", + "winrm_username": "Administrator", + } + ], + "provisioners": [ + { + "type": "powershell", + "inline": [ + "Write-Output 1,2,3 | Measure-Object" ] } + ] +} +``` + + -> **Warning:** Please note that if you're setting up WinRM for provisioning, you'll probably want to turn it off or restrict its permissions as part of a shutdown script at the end of Packer's provisioning process. For more details on the why/how, check out this useful blog post and the associated code: https://cloudywindows.io/post/winrm-for-provisioning-close-the-door-on-the-way-out-eh/ Here is a basic example for linux server. - { - "variables": { - "ncloud_access_key": "FRxhOQRNjKVMqIz3sRLY", - "ncloud_secret_key": "xd6kTO5iNcLookBx0D8TDKmpLj2ikxqEhc06MQD2" - }, - "builders": [ - { - "type": "ncloud", - "access_key": "{{user `ncloud_access_key`}}", - "secret_key": "{{user `ncloud_secret_key`}}", + + - "server_image_product_code": "SPSW0LINUX000044", - "server_product_code": "SPSVRSSD00000002", - "server_image_name": "packertest2", - "server_image_description": "server image description", - "region": "US-West", - "communicator": "ssh", - "ssh_username": "root" - } +```hcl +variable "access_key" { + type = string + # default = "your_access_key" +} + +variable "secret_key" { + type = string + # default = "your_secret_key" +} + +locals { + timestamp = regex_replace(timestamp(), "[- TZ:]", "") +} + +source "ncloud" "example-linux" { + access_key = "${var.access_key}" + secret_key = "${var.secret_key}" + server_image_product_code = "SW.VSVR.OS.LNX64.CNTOS.0708.B050" // for VPC environment. + # server_image_product_code = "SPSW0LINUX000044" // for CLASSIC environment. + server_image_name = "packer-${local.timestamp}" + server_image_description = "server image description" + region = "Korea" + vpc_no = "{{YOUR_VPC_ID}}" // Remove this if you use CLASSIC environment. + subnet_no = "{{YOUR_SUBNET_ID}}" // Remove this if you use CLASSIC environment. + communicator = "ssh" + ssh_username = "root" +} + +build { + sources = ["source.ncloud.example-linux"] + + provisioner "shell" { + inline = [ + "echo Connected via SSM at '${build.User}@${build.Host}:${build.Port}'" + ] + } +} +``` + + + +```json +{ + "variables": { + "ncloud_access_key": "{{env `NCLOUD_ACCESS_KEY`}}", + "ncloud_secret_key": "{{env `NCLOUD_SECRET_KEY`}}" + }, + "builders": [ + { + "type": "ncloud", + "access_key": "{{user `ncloud_access_key`}}", + "secret_key": "{{user `ncloud_secret_key`}}", + "server_image_product_code": "SPSW0LINUX000044", + "server_image_name": "packer-test {{timestamp}}", + "server_image_description": "server description", + "region": "Korea", + "communicator": "ssh", + "ssh_username": "root" + } + ], + "provisioners": [ + { + "type": "shell", + "inline": [ + "echo Connected via SSM at '${build.User}@${build.Host}:${build.Port}'" ] } - -## Requirements for creating Windows images - -You should include the following code in the packer configuration file for -provision when creating a Windows server. - - "builders": [ - { - "type": "ncloud", - ... - "user_data": - "CreateObject(\"WScript.Shell\").run(\"cmd.exe /c powershell Set-ExecutionPolicy RemoteSigned & winrm set winrm/config/service/auth @{Basic=\"\"true\"\"} & winrm set winrm/config/service @{AllowUnencrypted=\"\"true\"\"} & winrm quickconfig -q & sc config WinRM start= auto & winrm get winrm/config/service\")", - "communicator": "winrm", - "winrm_username": "Administrator" - } - ], - "provisioners": [ - { - "type": "powershell", - "inline": [ - "$Env:SystemRoot\\System32\\Sysprep\\Sysprep.exe /oobe /generalize /shutdown /quiet /mode:vm \"/unattend:C:\\Program Files (x86)\\NBP\\nserver64.xml\" " - ] - } - ] + ] +} +``` + + ## Note diff --git a/website/content/partials/builder/ncloud/Config-not-required.mdx b/website/content/partials/builder/ncloud/Config-not-required.mdx index d25039e3e..1e06b84f7 100644 --- a/website/content/partials/builder/ncloud/Config-not-required.mdx +++ b/website/content/partials/builder/ncloud/Config-not-required.mdx @@ -27,7 +27,17 @@ - `region` (string) - Name of the region where you want to create an image. (default: Korea) -- `access_control_group_configuration_no` (string) - This is used to allow +- `region_code` (string) - Region Code + +- `access_control_group_configuration_no` (string) - Deprecated + +- `access_control_group_no` (string) - This is used to allow winrm access when you create a Windows server. An ACG that specifies an access source (0.0.0.0/0) and allowed port (5985) must be created in - advance. + advance if you use CLASSIC env. If this field is left blank, + Packer will create temporary ACG for automatically in VPC environment. + +- `subnet_no` (string) - The ID of the Subnet where you want to place the Server Instance. If this field is left blank, Packer will try to get the Public Subnet ID from the `vpc_no`. + +- `vpc_no` (string) - The ID of the VPC where you want to place the Server Instance. If this field is left blank, Packer will try to get the VPC ID from the `subnet_no`. + (You are required to least one between two parameters if u want using VPC environment: `vpc_no` or `subnet_no`)