mirror of
https://github.com/hashicorp/packer.git
synced 2026-06-08 16:22:15 -04:00
Merge branch 'master' into 'ephemeral-ssh-key-pair-issue-7225'.
This commit is contained in:
commit
354fcc5cc6
88 changed files with 41766 additions and 38473 deletions
|
|
@ -10,7 +10,11 @@ import (
|
|||
)
|
||||
|
||||
func NewDeviceFlowOAuthTokenProvider(env azure.Environment, say func(string), tenantID string) oAuthTokenProvider {
|
||||
return &deviceflowOauthTokenProvider{}
|
||||
return &deviceflowOauthTokenProvider{
|
||||
env: env,
|
||||
say: say,
|
||||
tenantID: tenantID,
|
||||
}
|
||||
}
|
||||
|
||||
type deviceflowOauthTokenProvider struct {
|
||||
|
|
|
|||
|
|
@ -155,8 +155,7 @@ func (c ClientConfig) useDeviceLogin() bool {
|
|||
c.ClientID == "" &&
|
||||
c.ClientSecret == "" &&
|
||||
c.ClientJWT == "" &&
|
||||
c.ClientCertPath == "" &&
|
||||
c.TenantID == ""
|
||||
c.ClientCertPath == ""
|
||||
}
|
||||
|
||||
func (c ClientConfig) useMSI() bool {
|
||||
|
|
|
|||
|
|
@ -268,11 +268,18 @@ func getCloud() *azure.Environment {
|
|||
// tests for assertRequiredParametersSet
|
||||
|
||||
func Test_ClientConfig_CanUseDeviceCode(t *testing.T) {
|
||||
cfg := emptyClientConfig()
|
||||
cfg.SubscriptionID = "12345"
|
||||
// TenantID is optional
|
||||
|
||||
assertValid(t, cfg)
|
||||
// TenantID is optional, but Builder will look up tenant ID before requesting
|
||||
t.Run("without TenantID", func(t *testing.T) {
|
||||
cfg := emptyClientConfig()
|
||||
cfg.SubscriptionID = "12345"
|
||||
assertValid(t, cfg)
|
||||
})
|
||||
t.Run("with TenantID", func(t *testing.T) {
|
||||
cfg := emptyClientConfig()
|
||||
cfg.SubscriptionID = "12345"
|
||||
cfg.TenantID = "12345"
|
||||
assertValid(t, cfg)
|
||||
})
|
||||
}
|
||||
|
||||
func assertValid(t *testing.T, cfg ClientConfig) {
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ import (
|
|||
profitbricksbuilder "github.com/hashicorp/packer/builder/profitbricks"
|
||||
qemubuilder "github.com/hashicorp/packer/builder/qemu"
|
||||
scalewaybuilder "github.com/hashicorp/packer/builder/scaleway"
|
||||
tencentcloudbuilder "github.com/hashicorp/packer/builder/tencentcloud/cvm"
|
||||
tencentcloudcvmbuilder "github.com/hashicorp/packer/builder/tencentcloud/cvm"
|
||||
tritonbuilder "github.com/hashicorp/packer/builder/triton"
|
||||
virtualboxisobuilder "github.com/hashicorp/packer/builder/virtualbox/iso"
|
||||
virtualboxovfbuilder "github.com/hashicorp/packer/builder/virtualbox/ovf"
|
||||
|
|
@ -114,7 +114,7 @@ var Builders = map[string]packer.Builder{
|
|||
"profitbricks": new(profitbricksbuilder.Builder),
|
||||
"qemu": new(qemubuilder.Builder),
|
||||
"scaleway": new(scalewaybuilder.Builder),
|
||||
"tencentcloud-cvm": new(tencentcloudbuilder.Builder),
|
||||
"tencentcloud-cvm": new(tencentcloudcvmbuilder.Builder),
|
||||
"triton": new(tritonbuilder.Builder),
|
||||
"virtualbox-iso": new(virtualboxisobuilder.Builder),
|
||||
"virtualbox-ovf": new(virtualboxovfbuilder.Builder),
|
||||
|
|
|
|||
|
|
@ -1190,7 +1190,6 @@ func newParser(filename string, b []byte, opts ...Option) *parser {
|
|||
Stats: &stats,
|
||||
// start rule is rule [0] unless an alternate entrypoint is specified
|
||||
entrypoint: g.rules[0].name,
|
||||
emptyState: make(storeDict),
|
||||
}
|
||||
p.setOptions(opts)
|
||||
|
||||
|
|
@ -1279,9 +1278,6 @@ type parser struct {
|
|||
choiceNoMatch string
|
||||
// recovery expression stack, keeps track of the currently available recovery expression, these are traversed in reverse
|
||||
recoveryStack []map[string]interface{}
|
||||
|
||||
// emptyState contains an empty storeDict, which is used to optimize cloneState if global "state" store is not used.
|
||||
emptyState storeDict
|
||||
}
|
||||
|
||||
// push a variable set on the vstack.
|
||||
|
|
@ -1455,13 +1451,6 @@ func (p *parser) cloneState() storeDict {
|
|||
defer p.out(p.in("cloneState"))
|
||||
}
|
||||
|
||||
if len(p.cur.state) == 0 {
|
||||
if len(p.emptyState) > 0 {
|
||||
p.emptyState = make(storeDict)
|
||||
}
|
||||
return p.emptyState
|
||||
}
|
||||
|
||||
state := make(storeDict, len(p.cur.state))
|
||||
for k, v := range p.cur.state {
|
||||
if c, ok := v.(Cloner); ok {
|
||||
|
|
|
|||
|
|
@ -242,13 +242,13 @@ func getCreateVMScript(opts *scriptOptions) (string, error) {
|
|||
}
|
||||
|
||||
var tpl = template.Must(template.New("createVM").Parse(`
|
||||
$vhdPath = Join-Path -Path {{ .Path }} -ChildPath {{ .VHDX }}
|
||||
$vhdPath = Join-Path -Path "{{ .Path }}" -ChildPath "{{ .VHDX }}"
|
||||
|
||||
{{ if ne .HardDrivePath "" -}}
|
||||
{{- if .DiffDisks -}}
|
||||
Hyper-V\New-VHD -Path $vhdPath -ParentPath {{ .HardDrivePath }} -Differencing -BlockSizeBytes {{ .VHDBlockSizeBytes }}
|
||||
Hyper-V\New-VHD -Path $vhdPath -ParentPath "{{ .HardDrivePath }}" -Differencing -BlockSizeBytes {{ .VHDBlockSizeBytes }}
|
||||
{{- else -}}
|
||||
Copy-Item -Path {{ .HardDrivePath }} -Destination $vhdPath
|
||||
Copy-Item -Path "{{ .HardDrivePath }}" -Destination $vhdPath
|
||||
{{- end -}}
|
||||
{{- else -}}
|
||||
{{- if .FixedVHD -}}
|
||||
|
|
@ -258,7 +258,7 @@ $vhdPath = Join-Path -Path {{ .Path }} -ChildPath {{ .VHDX }}
|
|||
{{- end -}}
|
||||
{{- end }}
|
||||
|
||||
Hyper-V\New-VM -Name {{ .VMName }} -Path {{ .Path }} -MemoryStartupBytes {{ .MemoryStartupBytes }} -VHDPath $vhdPath -SwitchName {{ .SwitchName }}
|
||||
Hyper-V\New-VM -Name "{{ .VMName }}" -Path "{{ .Path }}" -MemoryStartupBytes {{ .MemoryStartupBytes }} -VHDPath $vhdPath -SwitchName "{{ .SwitchName }}"
|
||||
{{- if eq .Generation 2}} -Generation {{ .Generation }} {{- end -}}
|
||||
{{- if ne .Version ""}} -Version {{ .Version }} {{- end -}}
|
||||
`))
|
||||
|
|
|
|||
|
|
@ -26,9 +26,9 @@ func Test_getCreateVMScript(t *testing.T) {
|
|||
t.Fatalf("Error: %s", err.Error())
|
||||
}
|
||||
|
||||
expected := `$vhdPath = Join-Path -Path C://mypath -ChildPath myvm.vhd
|
||||
Hyper-V\New-VHD -Path $vhdPath -ParentPath C://harddrivepath -Differencing -BlockSizeBytes 10
|
||||
Hyper-V\New-VM -Name myvm -Path C://mypath -MemoryStartupBytes 1024 -VHDPath $vhdPath -SwitchName hyperv-vmx-switch -Version 5.0`
|
||||
expected := `$vhdPath = Join-Path -Path "C://mypath" -ChildPath "myvm.vhd"
|
||||
Hyper-V\New-VHD -Path $vhdPath -ParentPath "C://harddrivepath" -Differencing -BlockSizeBytes 10
|
||||
Hyper-V\New-VM -Name "myvm" -Path "C://mypath" -MemoryStartupBytes 1024 -VHDPath $vhdPath -SwitchName "hyperv-vmx-switch" -Version 5.0`
|
||||
if ok := strings.Compare(scriptString, expected); ok != 0 {
|
||||
t.Fatalf("EXPECTED: \n%s\n\n RECEIVED: \n%s\n\n", expected, scriptString)
|
||||
}
|
||||
|
|
@ -48,9 +48,9 @@ Hyper-V\New-VM -Name myvm -Path C://mypath -MemoryStartupBytes 1024 -VHDPath $vh
|
|||
t.Fatalf("Error: %s", err.Error())
|
||||
}
|
||||
|
||||
expected = `$vhdPath = Join-Path -Path C://mypath -ChildPath myvm.vhdx
|
||||
Hyper-V\New-VHD -Path $vhdPath -ParentPath C://harddrivepath -Differencing -BlockSizeBytes 10
|
||||
Hyper-V\New-VM -Name myvm -Path C://mypath -MemoryStartupBytes 1024 -VHDPath $vhdPath -SwitchName hyperv-vmx-switch -Generation 2 -Version 5.0`
|
||||
expected = `$vhdPath = Join-Path -Path "C://mypath" -ChildPath "myvm.vhdx"
|
||||
Hyper-V\New-VHD -Path $vhdPath -ParentPath "C://harddrivepath" -Differencing -BlockSizeBytes 10
|
||||
Hyper-V\New-VM -Name "myvm" -Path "C://mypath" -MemoryStartupBytes 1024 -VHDPath $vhdPath -SwitchName "hyperv-vmx-switch" -Generation 2 -Version 5.0`
|
||||
if ok := strings.Compare(scriptString, expected); ok != 0 {
|
||||
t.Fatalf("EXPECTED: \n%s\n\n RECEIVED: \n%s\n\n", expected, scriptString)
|
||||
}
|
||||
|
|
@ -63,9 +63,9 @@ Hyper-V\New-VM -Name myvm -Path C://mypath -MemoryStartupBytes 1024 -VHDPath $vh
|
|||
t.Fatalf("Error: %s", err.Error())
|
||||
}
|
||||
|
||||
expected = `$vhdPath = Join-Path -Path C://mypath -ChildPath myvm.vhdx
|
||||
Hyper-V\New-VHD -Path $vhdPath -ParentPath C://harddrivepath -Differencing -BlockSizeBytes 10
|
||||
Hyper-V\New-VM -Name myvm -Path C://mypath -MemoryStartupBytes 1024 -VHDPath $vhdPath -SwitchName hyperv-vmx-switch -Version 5.0`
|
||||
expected = `$vhdPath = Join-Path -Path "C://mypath" -ChildPath "myvm.vhdx"
|
||||
Hyper-V\New-VHD -Path $vhdPath -ParentPath "C://harddrivepath" -Differencing -BlockSizeBytes 10
|
||||
Hyper-V\New-VM -Name "myvm" -Path "C://mypath" -MemoryStartupBytes 1024 -VHDPath $vhdPath -SwitchName "hyperv-vmx-switch" -Version 5.0`
|
||||
if ok := strings.Compare(scriptString, expected); ok != 0 {
|
||||
t.Fatalf("EXPECTED: \n%s\n\n RECEIVED: \n%s\n\n", expected, scriptString)
|
||||
}
|
||||
|
|
@ -86,9 +86,9 @@ Hyper-V\New-VM -Name myvm -Path C://mypath -MemoryStartupBytes 1024 -VHDPath $vh
|
|||
if err != nil {
|
||||
t.Fatalf("Error: %s", err.Error())
|
||||
}
|
||||
expected = `$vhdPath = Join-Path -Path C://mypath -ChildPath myvm.vhdx
|
||||
Hyper-V\New-VHD -Path $vhdPath -ParentPath C://harddrivepath -Differencing -BlockSizeBytes 10
|
||||
Hyper-V\New-VM -Name myvm -Path C://mypath -MemoryStartupBytes 1024 -VHDPath $vhdPath -SwitchName hyperv-vmx-switch`
|
||||
expected = `$vhdPath = Join-Path -Path "C://mypath" -ChildPath "myvm.vhdx"
|
||||
Hyper-V\New-VHD -Path $vhdPath -ParentPath "C://harddrivepath" -Differencing -BlockSizeBytes 10
|
||||
Hyper-V\New-VM -Name "myvm" -Path "C://mypath" -MemoryStartupBytes 1024 -VHDPath $vhdPath -SwitchName "hyperv-vmx-switch"`
|
||||
if ok := strings.Compare(scriptString, expected); ok != 0 {
|
||||
t.Fatalf("EXPECTED: \n%s\n\n RECEIVED: \n%s\n\n", expected, scriptString)
|
||||
}
|
||||
|
|
@ -98,9 +98,9 @@ Hyper-V\New-VM -Name myvm -Path C://mypath -MemoryStartupBytes 1024 -VHDPath $vh
|
|||
if err != nil {
|
||||
t.Fatalf("Error: %s", err.Error())
|
||||
}
|
||||
expected = `$vhdPath = Join-Path -Path C://mypath -ChildPath myvm.vhdx
|
||||
Copy-Item -Path C://harddrivepath -Destination $vhdPath
|
||||
Hyper-V\New-VM -Name myvm -Path C://mypath -MemoryStartupBytes 1024 -VHDPath $vhdPath -SwitchName hyperv-vmx-switch`
|
||||
expected = `$vhdPath = Join-Path -Path "C://mypath" -ChildPath "myvm.vhdx"
|
||||
Copy-Item -Path "C://harddrivepath" -Destination $vhdPath
|
||||
Hyper-V\New-VM -Name "myvm" -Path "C://mypath" -MemoryStartupBytes 1024 -VHDPath $vhdPath -SwitchName "hyperv-vmx-switch"`
|
||||
if ok := strings.Compare(scriptString, expected); ok != 0 {
|
||||
t.Fatalf("EXPECTED: \n%s\n\n RECEIVED: \n%s\n\n", expected, scriptString)
|
||||
}
|
||||
|
|
@ -110,9 +110,9 @@ Hyper-V\New-VM -Name myvm -Path C://mypath -MemoryStartupBytes 1024 -VHDPath $vh
|
|||
if err != nil {
|
||||
t.Fatalf("Error: %s", err.Error())
|
||||
}
|
||||
expected = `$vhdPath = Join-Path -Path C://mypath -ChildPath myvm.vhdx
|
||||
expected = `$vhdPath = Join-Path -Path "C://mypath" -ChildPath "myvm.vhdx"
|
||||
Hyper-V\New-VHD -Path $vhdPath -SizeBytes 8192 -BlockSizeBytes 10
|
||||
Hyper-V\New-VM -Name myvm -Path C://mypath -MemoryStartupBytes 1024 -VHDPath $vhdPath -SwitchName hyperv-vmx-switch`
|
||||
Hyper-V\New-VM -Name "myvm" -Path "C://mypath" -MemoryStartupBytes 1024 -VHDPath $vhdPath -SwitchName "hyperv-vmx-switch"`
|
||||
if ok := strings.Compare(scriptString, expected); ok != 0 {
|
||||
t.Fatalf("EXPECTED: \n%s\n\n RECEIVED: \n%s\n\n", expected, scriptString)
|
||||
}
|
||||
|
|
@ -122,9 +122,9 @@ Hyper-V\New-VM -Name myvm -Path C://mypath -MemoryStartupBytes 1024 -VHDPath $vh
|
|||
if err != nil {
|
||||
t.Fatalf("Error: %s", err.Error())
|
||||
}
|
||||
expected = `$vhdPath = Join-Path -Path C://mypath -ChildPath myvm.vhd
|
||||
expected = `$vhdPath = Join-Path -Path "C://mypath" -ChildPath "myvm.vhd"
|
||||
Hyper-V\New-VHD -Path $vhdPath -Fixed -SizeBytes 8192
|
||||
Hyper-V\New-VM -Name myvm -Path C://mypath -MemoryStartupBytes 1024 -VHDPath $vhdPath -SwitchName hyperv-vmx-switch`
|
||||
Hyper-V\New-VM -Name "myvm" -Path "C://mypath" -MemoryStartupBytes 1024 -VHDPath $vhdPath -SwitchName "hyperv-vmx-switch"`
|
||||
if ok := strings.Compare(scriptString, expected); ok != 0 {
|
||||
t.Fatalf("EXPECTED: \n%s\n\n RECEIVED: \n%s\n\n", expected, scriptString)
|
||||
}
|
||||
|
|
|
|||
2
go.mod
2
go.mod
|
|
@ -160,7 +160,7 @@ require (
|
|||
github.com/ugorji/go v0.0.0-20151218193438-646ae4a518c1
|
||||
github.com/ulikunitz/xz v0.0.0-20180703112113-636d36a76670
|
||||
github.com/vmware/govmomi v0.0.0-20170707011325-c2105a174311
|
||||
github.com/xanzy/go-cloudstack v2.1.4+incompatible
|
||||
github.com/xanzy/go-cloudstack v2.4.1+incompatible
|
||||
golang.org/x/crypto v0.0.0-20180322175230-88942b9c40a4
|
||||
golang.org/x/net v0.0.0-20181201002055-351d144fa1fc
|
||||
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be
|
||||
|
|
|
|||
4
go.sum
4
go.sum
|
|
@ -356,8 +356,8 @@ github.com/ulikunitz/xz v0.0.0-20180703112113-636d36a76670 h1:HQWT4ta3wW5GZ790Ga
|
|||
github.com/ulikunitz/xz v0.0.0-20180703112113-636d36a76670/go.mod h1:2bypXElzHzzJZwzH67Y6wb67pO62Rzfn7BSiF4ABRW8=
|
||||
github.com/vmware/govmomi v0.0.0-20170707011325-c2105a174311 h1:s5pyxd5S6wRs2WpEE0xRfWUF46Wbz44h203KnbX0ecI=
|
||||
github.com/vmware/govmomi v0.0.0-20170707011325-c2105a174311/go.mod h1:URlwyTFZX72RmxtxuaFL2Uj3fD1JTvZdx59bHWk6aFU=
|
||||
github.com/xanzy/go-cloudstack v2.1.4+incompatible h1:5c72sRFakVv8wH/HsQFg+xr37CmNQU2UbJfaBjW5f0c=
|
||||
github.com/xanzy/go-cloudstack v2.1.4+incompatible/go.mod h1:s3eL3z5pNXF5FVybcT+LIVdId8pYn709yv6v5mrkrQE=
|
||||
github.com/xanzy/go-cloudstack v2.4.1+incompatible h1:Oc4xa2+I94h1g/QJ+nHoq597nJz2KXzxuQx/weOx0AU=
|
||||
github.com/xanzy/go-cloudstack v2.4.1+incompatible/go.mod h1:s3eL3z5pNXF5FVybcT+LIVdId8pYn709yv6v5mrkrQE=
|
||||
golang.org/x/crypto v0.0.0-20180322175230-88942b9c40a4 h1:AJCW0rhPjFKEAoValWpqnRKxX8YV0Xvqfw+dOexCTPc=
|
||||
golang.org/x/crypto v0.0.0-20180322175230-88942b9c40a4/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ type Config struct {
|
|||
EmptyGroups []string `mapstructure:"empty_groups"`
|
||||
HostAlias string `mapstructure:"host_alias"`
|
||||
User string `mapstructure:"user"`
|
||||
LocalPort string `mapstructure:"local_port"`
|
||||
LocalPort uint `mapstructure:"local_port"`
|
||||
SSHHostKeyFile string `mapstructure:"ssh_host_key_file"`
|
||||
SSHAuthorizedKeyFile string `mapstructure:"ssh_authorized_key_file"`
|
||||
SFTPCmd string `mapstructure:"sftp_command"`
|
||||
|
|
@ -130,12 +130,8 @@ func (p *Provisioner) Prepare(raws ...interface{}) error {
|
|||
p.config.AnsibleEnvVars = append(p.config.AnsibleEnvVars, "ANSIBLE_SCP_IF_SSH=True")
|
||||
}
|
||||
|
||||
if len(p.config.LocalPort) > 0 {
|
||||
if _, err := strconv.ParseUint(p.config.LocalPort, 10, 16); err != nil {
|
||||
errs = packer.MultiErrorAppend(errs, fmt.Errorf("local_port: %s must be a valid port", p.config.LocalPort))
|
||||
}
|
||||
} else {
|
||||
p.config.LocalPort = "0"
|
||||
if p.config.LocalPort > 65535 {
|
||||
errs = packer.MultiErrorAppend(errs, fmt.Errorf("local_port: %d must be a valid port", p.config.LocalPort))
|
||||
}
|
||||
|
||||
if len(p.config.InventoryDirectory) > 0 {
|
||||
|
|
@ -256,11 +252,8 @@ func (p *Provisioner) Provision(ui packer.Ui, comm packer.Communicator) error {
|
|||
config.AddHostKey(hostSigner)
|
||||
|
||||
localListener, err := func() (net.Listener, error) {
|
||||
port, err := strconv.ParseUint(p.config.LocalPort, 10, 16)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
port := p.config.LocalPort
|
||||
tries := 1
|
||||
if port != 0 {
|
||||
tries = 10
|
||||
|
|
@ -272,11 +265,17 @@ func (p *Provisioner) Provision(ui packer.Ui, comm packer.Communicator) error {
|
|||
ui.Say(err.Error())
|
||||
continue
|
||||
}
|
||||
_, p.config.LocalPort, err = net.SplitHostPort(l.Addr().String())
|
||||
_, portStr, err := net.SplitHostPort(l.Addr().String())
|
||||
if err != nil {
|
||||
ui.Say(err.Error())
|
||||
continue
|
||||
}
|
||||
portUint64, err := strconv.ParseUint(portStr, 10, 0)
|
||||
if err != nil {
|
||||
ui.Say(err.Error())
|
||||
continue
|
||||
}
|
||||
p.config.LocalPort = uint(portUint64)
|
||||
return l, nil
|
||||
}
|
||||
return nil, errors.New("Error setting up SSH proxy connection")
|
||||
|
|
@ -304,10 +303,10 @@ func (p *Provisioner) Provision(ui packer.Ui, comm packer.Communicator) error {
|
|||
}
|
||||
defer os.Remove(tf.Name())
|
||||
|
||||
host := fmt.Sprintf("%s ansible_host=127.0.0.1 ansible_user=%s ansible_port=%s\n",
|
||||
host := fmt.Sprintf("%s ansible_host=127.0.0.1 ansible_user=%s ansible_port=%d\n",
|
||||
p.config.HostAlias, p.config.User, p.config.LocalPort)
|
||||
if p.ansibleMajVersion < 2 {
|
||||
host = fmt.Sprintf("%s ansible_ssh_host=127.0.0.1 ansible_ssh_user=%s ansible_ssh_port=%s\n",
|
||||
host = fmt.Sprintf("%s ansible_ssh_host=127.0.0.1 ansible_ssh_user=%s ansible_ssh_port=%d\n",
|
||||
p.config.HostAlias, p.config.User, p.config.LocalPort)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -245,13 +245,13 @@ func TestProvisionerPrepare_LocalPort(t *testing.T) {
|
|||
config["ssh_authorized_key_file"] = publickey_file.Name()
|
||||
config["playbook_file"] = playbook_file.Name()
|
||||
|
||||
config["local_port"] = "65537"
|
||||
config["local_port"] = uint(65537)
|
||||
err = p.Prepare(config)
|
||||
if err == nil {
|
||||
t.Fatal("should have error")
|
||||
}
|
||||
|
||||
config["local_port"] = "22222"
|
||||
config["local_port"] = uint(22222)
|
||||
err = p.Prepare(config)
|
||||
if err != nil {
|
||||
t.Fatalf("err: %s", err)
|
||||
|
|
|
|||
|
|
@ -12,8 +12,11 @@ set -e
|
|||
function validateToolPresence
|
||||
{
|
||||
local TOOLNAME=$1
|
||||
which ${TOOLNAME} >/dev/null || echo "${TOOLNAME} is not on the path. Exiting..."
|
||||
exit 1
|
||||
which ${TOOLNAME} >/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "${TOOLNAME} is not on the path. Exiting..."
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Validates that all used tools are present; exits when any is not found
|
||||
|
|
@ -84,6 +87,7 @@ function convertPathOnCygwin() {
|
|||
esac
|
||||
}
|
||||
|
||||
validatePreconditions
|
||||
enterPackerSourceDir
|
||||
ensureOutputStructure
|
||||
cleanOutputDirs
|
||||
|
|
|
|||
49
vendor/github.com/xanzy/go-cloudstack/cloudstack/APIDiscoveryService.go
generated
vendored
49
vendor/github.com/xanzy/go-cloudstack/cloudstack/APIDiscoveryService.go
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// Copyright 2016, Sander van Harmelen
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
@ -63,6 +63,7 @@ func (s *APIDiscoveryService) ListApis(p *ListApisParams) (*ListApisResponse, er
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
|
|
@ -72,25 +73,29 @@ type ListApisResponse struct {
|
|||
}
|
||||
|
||||
type Api struct {
|
||||
Description string `json:"description,omitempty"`
|
||||
Isasync bool `json:"isasync,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Params []struct {
|
||||
Description string `json:"description,omitempty"`
|
||||
Length int `json:"length,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Related string `json:"related,omitempty"`
|
||||
Required bool `json:"required,omitempty"`
|
||||
Since string `json:"since,omitempty"`
|
||||
Type string `json:"type,omitempty"`
|
||||
} `json:"params,omitempty"`
|
||||
Related string `json:"related,omitempty"`
|
||||
Response []struct {
|
||||
Description string `json:"description,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Response []string `json:"response,omitempty"`
|
||||
Type string `json:"type,omitempty"`
|
||||
} `json:"response,omitempty"`
|
||||
Since string `json:"since,omitempty"`
|
||||
Type string `json:"type,omitempty"`
|
||||
Description string `json:"description"`
|
||||
Isasync bool `json:"isasync"`
|
||||
Name string `json:"name"`
|
||||
Params []ApiParams `json:"params"`
|
||||
Related string `json:"related"`
|
||||
Response []ApiResponse `json:"response"`
|
||||
Since string `json:"since"`
|
||||
Type string `json:"type"`
|
||||
}
|
||||
|
||||
type ApiResponse struct {
|
||||
Description string `json:"description"`
|
||||
Name string `json:"name"`
|
||||
Response []interface{} `json:"response"`
|
||||
Type string `json:"type"`
|
||||
}
|
||||
|
||||
type ApiParams struct {
|
||||
Description string `json:"description"`
|
||||
Length int `json:"length"`
|
||||
Name string `json:"name"`
|
||||
Related string `json:"related"`
|
||||
Required bool `json:"required"`
|
||||
Since string `json:"since"`
|
||||
Type string `json:"type"`
|
||||
}
|
||||
|
|
|
|||
1946
vendor/github.com/xanzy/go-cloudstack/cloudstack/AccountService.go
generated
vendored
1946
vendor/github.com/xanzy/go-cloudstack/cloudstack/AccountService.go
generated
vendored
File diff suppressed because it is too large
Load diff
231
vendor/github.com/xanzy/go-cloudstack/cloudstack/AddressService.go
generated
vendored
231
vendor/github.com/xanzy/go-cloudstack/cloudstack/AddressService.go
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// Copyright 2016, Sander van Harmelen
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
@ -177,52 +177,42 @@ func (s *AddressService) AssociateIpAddress(p *AssociateIpAddressParams) (*Assoc
|
|||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type AssociateIpAddressResponse struct {
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
Account string `json:"account,omitempty"`
|
||||
Allocated string `json:"allocated,omitempty"`
|
||||
Associatednetworkid string `json:"associatednetworkid,omitempty"`
|
||||
Associatednetworkname string `json:"associatednetworkname,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Fordisplay bool `json:"fordisplay,omitempty"`
|
||||
Forvirtualnetwork bool `json:"forvirtualnetwork,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Ipaddress string `json:"ipaddress,omitempty"`
|
||||
Isportable bool `json:"isportable,omitempty"`
|
||||
Issourcenat bool `json:"issourcenat,omitempty"`
|
||||
Isstaticnat bool `json:"isstaticnat,omitempty"`
|
||||
Issystem bool `json:"issystem,omitempty"`
|
||||
Networkid string `json:"networkid,omitempty"`
|
||||
Physicalnetworkid string `json:"physicalnetworkid,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Purpose string `json:"purpose,omitempty"`
|
||||
State string `json:"state,omitempty"`
|
||||
Tags []struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Customer string `json:"customer,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Key string `json:"key,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Resourceid string `json:"resourceid,omitempty"`
|
||||
Resourcetype string `json:"resourcetype,omitempty"`
|
||||
Value string `json:"value,omitempty"`
|
||||
} `json:"tags,omitempty"`
|
||||
Virtualmachinedisplayname string `json:"virtualmachinedisplayname,omitempty"`
|
||||
Virtualmachineid string `json:"virtualmachineid,omitempty"`
|
||||
Virtualmachinename string `json:"virtualmachinename,omitempty"`
|
||||
Vlanid string `json:"vlanid,omitempty"`
|
||||
Vlanname string `json:"vlanname,omitempty"`
|
||||
Vmipaddress string `json:"vmipaddress,omitempty"`
|
||||
Vpcid string `json:"vpcid,omitempty"`
|
||||
Zoneid string `json:"zoneid,omitempty"`
|
||||
Zonename string `json:"zonename,omitempty"`
|
||||
JobID string `json:"jobid"`
|
||||
Account string `json:"account"`
|
||||
Allocated string `json:"allocated"`
|
||||
Associatednetworkid string `json:"associatednetworkid"`
|
||||
Associatednetworkname string `json:"associatednetworkname"`
|
||||
Domain string `json:"domain"`
|
||||
Domainid string `json:"domainid"`
|
||||
Fordisplay bool `json:"fordisplay"`
|
||||
Forvirtualnetwork bool `json:"forvirtualnetwork"`
|
||||
Id string `json:"id"`
|
||||
Ipaddress string `json:"ipaddress"`
|
||||
Isportable bool `json:"isportable"`
|
||||
Issourcenat bool `json:"issourcenat"`
|
||||
Isstaticnat bool `json:"isstaticnat"`
|
||||
Issystem bool `json:"issystem"`
|
||||
Networkid string `json:"networkid"`
|
||||
Physicalnetworkid string `json:"physicalnetworkid"`
|
||||
Project string `json:"project"`
|
||||
Projectid string `json:"projectid"`
|
||||
Purpose string `json:"purpose"`
|
||||
State string `json:"state"`
|
||||
Tags []Tags `json:"tags"`
|
||||
Virtualmachinedisplayname string `json:"virtualmachinedisplayname"`
|
||||
Virtualmachineid string `json:"virtualmachineid"`
|
||||
Virtualmachinename string `json:"virtualmachinename"`
|
||||
Vlanid string `json:"vlanid"`
|
||||
Vlanname string `json:"vlanname"`
|
||||
Vmipaddress string `json:"vmipaddress"`
|
||||
Vpcid string `json:"vpcid"`
|
||||
Zoneid string `json:"zoneid"`
|
||||
Zonename string `json:"zonename"`
|
||||
}
|
||||
|
||||
type DisassociateIpAddressParams struct {
|
||||
|
|
@ -283,13 +273,14 @@ func (s *AddressService) DisassociateIpAddress(p *DisassociateIpAddressParams) (
|
|||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type DisassociateIpAddressResponse struct {
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Success bool `json:"success,omitempty"`
|
||||
JobID string `json:"jobid"`
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
||||
type ListPublicIpAddressesParams struct {
|
||||
|
|
@ -587,7 +578,7 @@ func (s *AddressService) GetPublicIpAddressByID(id string, opts ...OptionFunc) (
|
|||
|
||||
p.p["id"] = id
|
||||
|
||||
for _, fn := range opts {
|
||||
for _, fn := range append(s.cs.options, opts...) {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return nil, -1, err
|
||||
}
|
||||
|
|
@ -624,6 +615,7 @@ func (s *AddressService) ListPublicIpAddresses(p *ListPublicIpAddressesParams) (
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
|
|
@ -633,47 +625,36 @@ type ListPublicIpAddressesResponse struct {
|
|||
}
|
||||
|
||||
type PublicIpAddress struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Allocated string `json:"allocated,omitempty"`
|
||||
Associatednetworkid string `json:"associatednetworkid,omitempty"`
|
||||
Associatednetworkname string `json:"associatednetworkname,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Fordisplay bool `json:"fordisplay,omitempty"`
|
||||
Forvirtualnetwork bool `json:"forvirtualnetwork,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Ipaddress string `json:"ipaddress,omitempty"`
|
||||
Isportable bool `json:"isportable,omitempty"`
|
||||
Issourcenat bool `json:"issourcenat,omitempty"`
|
||||
Isstaticnat bool `json:"isstaticnat,omitempty"`
|
||||
Issystem bool `json:"issystem,omitempty"`
|
||||
Networkid string `json:"networkid,omitempty"`
|
||||
Physicalnetworkid string `json:"physicalnetworkid,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Purpose string `json:"purpose,omitempty"`
|
||||
State string `json:"state,omitempty"`
|
||||
Tags []struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Customer string `json:"customer,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Key string `json:"key,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Resourceid string `json:"resourceid,omitempty"`
|
||||
Resourcetype string `json:"resourcetype,omitempty"`
|
||||
Value string `json:"value,omitempty"`
|
||||
} `json:"tags,omitempty"`
|
||||
Virtualmachinedisplayname string `json:"virtualmachinedisplayname,omitempty"`
|
||||
Virtualmachineid string `json:"virtualmachineid,omitempty"`
|
||||
Virtualmachinename string `json:"virtualmachinename,omitempty"`
|
||||
Vlanid string `json:"vlanid,omitempty"`
|
||||
Vlanname string `json:"vlanname,omitempty"`
|
||||
Vmipaddress string `json:"vmipaddress,omitempty"`
|
||||
Vpcid string `json:"vpcid,omitempty"`
|
||||
Zoneid string `json:"zoneid,omitempty"`
|
||||
Zonename string `json:"zonename,omitempty"`
|
||||
Account string `json:"account"`
|
||||
Allocated string `json:"allocated"`
|
||||
Associatednetworkid string `json:"associatednetworkid"`
|
||||
Associatednetworkname string `json:"associatednetworkname"`
|
||||
Domain string `json:"domain"`
|
||||
Domainid string `json:"domainid"`
|
||||
Fordisplay bool `json:"fordisplay"`
|
||||
Forvirtualnetwork bool `json:"forvirtualnetwork"`
|
||||
Id string `json:"id"`
|
||||
Ipaddress string `json:"ipaddress"`
|
||||
Isportable bool `json:"isportable"`
|
||||
Issourcenat bool `json:"issourcenat"`
|
||||
Isstaticnat bool `json:"isstaticnat"`
|
||||
Issystem bool `json:"issystem"`
|
||||
Networkid string `json:"networkid"`
|
||||
Physicalnetworkid string `json:"physicalnetworkid"`
|
||||
Project string `json:"project"`
|
||||
Projectid string `json:"projectid"`
|
||||
Purpose string `json:"purpose"`
|
||||
State string `json:"state"`
|
||||
Tags []Tags `json:"tags"`
|
||||
Virtualmachinedisplayname string `json:"virtualmachinedisplayname"`
|
||||
Virtualmachineid string `json:"virtualmachineid"`
|
||||
Virtualmachinename string `json:"virtualmachinename"`
|
||||
Vlanid string `json:"vlanid"`
|
||||
Vlanname string `json:"vlanname"`
|
||||
Vmipaddress string `json:"vmipaddress"`
|
||||
Vpcid string `json:"vpcid"`
|
||||
Zoneid string `json:"zoneid"`
|
||||
Zonename string `json:"zonename"`
|
||||
}
|
||||
|
||||
type UpdateIpAddressParams struct {
|
||||
|
|
@ -762,50 +743,40 @@ func (s *AddressService) UpdateIpAddress(p *UpdateIpAddressParams) (*UpdateIpAdd
|
|||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type UpdateIpAddressResponse struct {
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
Account string `json:"account,omitempty"`
|
||||
Allocated string `json:"allocated,omitempty"`
|
||||
Associatednetworkid string `json:"associatednetworkid,omitempty"`
|
||||
Associatednetworkname string `json:"associatednetworkname,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Fordisplay bool `json:"fordisplay,omitempty"`
|
||||
Forvirtualnetwork bool `json:"forvirtualnetwork,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Ipaddress string `json:"ipaddress,omitempty"`
|
||||
Isportable bool `json:"isportable,omitempty"`
|
||||
Issourcenat bool `json:"issourcenat,omitempty"`
|
||||
Isstaticnat bool `json:"isstaticnat,omitempty"`
|
||||
Issystem bool `json:"issystem,omitempty"`
|
||||
Networkid string `json:"networkid,omitempty"`
|
||||
Physicalnetworkid string `json:"physicalnetworkid,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Purpose string `json:"purpose,omitempty"`
|
||||
State string `json:"state,omitempty"`
|
||||
Tags []struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Customer string `json:"customer,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Key string `json:"key,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Resourceid string `json:"resourceid,omitempty"`
|
||||
Resourcetype string `json:"resourcetype,omitempty"`
|
||||
Value string `json:"value,omitempty"`
|
||||
} `json:"tags,omitempty"`
|
||||
Virtualmachinedisplayname string `json:"virtualmachinedisplayname,omitempty"`
|
||||
Virtualmachineid string `json:"virtualmachineid,omitempty"`
|
||||
Virtualmachinename string `json:"virtualmachinename,omitempty"`
|
||||
Vlanid string `json:"vlanid,omitempty"`
|
||||
Vlanname string `json:"vlanname,omitempty"`
|
||||
Vmipaddress string `json:"vmipaddress,omitempty"`
|
||||
Vpcid string `json:"vpcid,omitempty"`
|
||||
Zoneid string `json:"zoneid,omitempty"`
|
||||
Zonename string `json:"zonename,omitempty"`
|
||||
JobID string `json:"jobid"`
|
||||
Account string `json:"account"`
|
||||
Allocated string `json:"allocated"`
|
||||
Associatednetworkid string `json:"associatednetworkid"`
|
||||
Associatednetworkname string `json:"associatednetworkname"`
|
||||
Domain string `json:"domain"`
|
||||
Domainid string `json:"domainid"`
|
||||
Fordisplay bool `json:"fordisplay"`
|
||||
Forvirtualnetwork bool `json:"forvirtualnetwork"`
|
||||
Id string `json:"id"`
|
||||
Ipaddress string `json:"ipaddress"`
|
||||
Isportable bool `json:"isportable"`
|
||||
Issourcenat bool `json:"issourcenat"`
|
||||
Isstaticnat bool `json:"isstaticnat"`
|
||||
Issystem bool `json:"issystem"`
|
||||
Networkid string `json:"networkid"`
|
||||
Physicalnetworkid string `json:"physicalnetworkid"`
|
||||
Project string `json:"project"`
|
||||
Projectid string `json:"projectid"`
|
||||
Purpose string `json:"purpose"`
|
||||
State string `json:"state"`
|
||||
Tags []Tags `json:"tags"`
|
||||
Virtualmachinedisplayname string `json:"virtualmachinedisplayname"`
|
||||
Virtualmachineid string `json:"virtualmachineid"`
|
||||
Virtualmachinename string `json:"virtualmachinename"`
|
||||
Vlanid string `json:"vlanid"`
|
||||
Vlanname string `json:"vlanname"`
|
||||
Vmipaddress string `json:"vmipaddress"`
|
||||
Vpcid string `json:"vpcid"`
|
||||
Zoneid string `json:"zoneid"`
|
||||
Zonename string `json:"zonename"`
|
||||
}
|
||||
|
|
|
|||
482
vendor/github.com/xanzy/go-cloudstack/cloudstack/AffinityGroupService.go
generated
vendored
482
vendor/github.com/xanzy/go-cloudstack/cloudstack/AffinityGroupService.go
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// Copyright 2016, Sander van Harmelen
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
@ -143,21 +143,22 @@ func (s *AffinityGroupService) CreateAffinityGroup(p *CreateAffinityGroupParams)
|
|||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type CreateAffinityGroupResponse struct {
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
Account string `json:"account,omitempty"`
|
||||
Description string `json:"description,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Type string `json:"type,omitempty"`
|
||||
VirtualmachineIds []string `json:"virtualmachineIds,omitempty"`
|
||||
JobID string `json:"jobid"`
|
||||
Account string `json:"account"`
|
||||
Description string `json:"description"`
|
||||
Domain string `json:"domain"`
|
||||
Domainid string `json:"domainid"`
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Project string `json:"project"`
|
||||
Projectid string `json:"projectid"`
|
||||
Type string `json:"type"`
|
||||
VirtualmachineIds []string `json:"virtualmachineIds"`
|
||||
}
|
||||
|
||||
type DeleteAffinityGroupParams struct {
|
||||
|
|
@ -261,13 +262,93 @@ func (s *AffinityGroupService) DeleteAffinityGroup(p *DeleteAffinityGroupParams)
|
|||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type DeleteAffinityGroupResponse struct {
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Success bool `json:"success,omitempty"`
|
||||
JobID string `json:"jobid"`
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
||||
type ListAffinityGroupTypesParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *ListAffinityGroupTypesParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["keyword"]; found {
|
||||
u.Set("keyword", v.(string))
|
||||
}
|
||||
if v, found := p.p["page"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("page", vv)
|
||||
}
|
||||
if v, found := p.p["pagesize"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("pagesize", vv)
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *ListAffinityGroupTypesParams) SetKeyword(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["keyword"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListAffinityGroupTypesParams) SetPage(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["page"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListAffinityGroupTypesParams) SetPagesize(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["pagesize"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new ListAffinityGroupTypesParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *AffinityGroupService) NewListAffinityGroupTypesParams() *ListAffinityGroupTypesParams {
|
||||
p := &ListAffinityGroupTypesParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
return p
|
||||
}
|
||||
|
||||
// Lists affinity group types available
|
||||
func (s *AffinityGroupService) ListAffinityGroupTypes(p *ListAffinityGroupTypesParams) (*ListAffinityGroupTypesResponse, error) {
|
||||
resp, err := s.cs.newRequest("listAffinityGroupTypes", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ListAffinityGroupTypesResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ListAffinityGroupTypesResponse struct {
|
||||
Count int `json:"count"`
|
||||
AffinityGroupTypes []*AffinityGroupType `json:"affinitygrouptype"`
|
||||
}
|
||||
|
||||
type AffinityGroupType struct {
|
||||
Type string `json:"type"`
|
||||
}
|
||||
|
||||
type ListAffinityGroupsParams struct {
|
||||
|
|
@ -433,7 +514,7 @@ func (s *AffinityGroupService) GetAffinityGroupID(name string, opts ...OptionFun
|
|||
|
||||
p.p["name"] = name
|
||||
|
||||
for _, fn := range opts {
|
||||
for _, fn := range append(s.cs.options, opts...) {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return "", -1, err
|
||||
}
|
||||
|
|
@ -487,7 +568,7 @@ func (s *AffinityGroupService) GetAffinityGroupByID(id string, opts ...OptionFun
|
|||
|
||||
p.p["id"] = id
|
||||
|
||||
for _, fn := range opts {
|
||||
for _, fn := range append(s.cs.options, opts...) {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return nil, -1, err
|
||||
}
|
||||
|
|
@ -528,6 +609,7 @@ func (s *AffinityGroupService) ListAffinityGroups(p *ListAffinityGroupsParams) (
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
|
|
@ -537,16 +619,16 @@ type ListAffinityGroupsResponse struct {
|
|||
}
|
||||
|
||||
type AffinityGroup struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Description string `json:"description,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Type string `json:"type,omitempty"`
|
||||
VirtualmachineIds []string `json:"virtualmachineIds,omitempty"`
|
||||
Account string `json:"account"`
|
||||
Description string `json:"description"`
|
||||
Domain string `json:"domain"`
|
||||
Domainid string `json:"domainid"`
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Project string `json:"project"`
|
||||
Projectid string `json:"projectid"`
|
||||
Type string `json:"type"`
|
||||
VirtualmachineIds []string `json:"virtualmachineIds"`
|
||||
}
|
||||
|
||||
type UpdateVMAffinityGroupParams struct {
|
||||
|
|
@ -636,260 +718,114 @@ func (s *AffinityGroupService) UpdateVMAffinityGroup(p *UpdateVMAffinityGroupPar
|
|||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type UpdateVMAffinityGroupResponse struct {
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
Account string `json:"account,omitempty"`
|
||||
Affinitygroup []struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Description string `json:"description,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Type string `json:"type,omitempty"`
|
||||
VirtualmachineIds []string `json:"virtualmachineIds,omitempty"`
|
||||
} `json:"affinitygroup,omitempty"`
|
||||
Cpunumber int `json:"cpunumber,omitempty"`
|
||||
Cpuspeed int `json:"cpuspeed,omitempty"`
|
||||
Cpuused string `json:"cpuused,omitempty"`
|
||||
Created string `json:"created,omitempty"`
|
||||
Details map[string]string `json:"details,omitempty"`
|
||||
Diskioread int64 `json:"diskioread,omitempty"`
|
||||
Diskiowrite int64 `json:"diskiowrite,omitempty"`
|
||||
Diskkbsread int64 `json:"diskkbsread,omitempty"`
|
||||
Diskkbswrite int64 `json:"diskkbswrite,omitempty"`
|
||||
Diskofferingid string `json:"diskofferingid,omitempty"`
|
||||
Diskofferingname string `json:"diskofferingname,omitempty"`
|
||||
Displayname string `json:"displayname,omitempty"`
|
||||
Displayvm bool `json:"displayvm,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Forvirtualnetwork bool `json:"forvirtualnetwork,omitempty"`
|
||||
Group string `json:"group,omitempty"`
|
||||
Groupid string `json:"groupid,omitempty"`
|
||||
Guestosid string `json:"guestosid,omitempty"`
|
||||
Haenable bool `json:"haenable,omitempty"`
|
||||
Hostid string `json:"hostid,omitempty"`
|
||||
Hostname string `json:"hostname,omitempty"`
|
||||
Hypervisor string `json:"hypervisor,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Instancename string `json:"instancename,omitempty"`
|
||||
Isdynamicallyscalable bool `json:"isdynamicallyscalable,omitempty"`
|
||||
Isodisplaytext string `json:"isodisplaytext,omitempty"`
|
||||
Isoid string `json:"isoid,omitempty"`
|
||||
Isoname string `json:"isoname,omitempty"`
|
||||
Keypair string `json:"keypair,omitempty"`
|
||||
Memory int `json:"memory,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Networkkbsread int64 `json:"networkkbsread,omitempty"`
|
||||
Networkkbswrite int64 `json:"networkkbswrite,omitempty"`
|
||||
Nic []struct {
|
||||
Broadcasturi string `json:"broadcasturi,omitempty"`
|
||||
Deviceid string `json:"deviceid,omitempty"`
|
||||
Gateway string `json:"gateway,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Ip6address string `json:"ip6address,omitempty"`
|
||||
Ip6cidr string `json:"ip6cidr,omitempty"`
|
||||
Ip6gateway string `json:"ip6gateway,omitempty"`
|
||||
Ipaddress string `json:"ipaddress,omitempty"`
|
||||
Isdefault bool `json:"isdefault,omitempty"`
|
||||
Isolationuri string `json:"isolationuri,omitempty"`
|
||||
Macaddress string `json:"macaddress,omitempty"`
|
||||
Netmask string `json:"netmask,omitempty"`
|
||||
Networkid string `json:"networkid,omitempty"`
|
||||
Networkname string `json:"networkname,omitempty"`
|
||||
Secondaryip []struct {
|
||||
Id string `json:"id,omitempty"`
|
||||
Ipaddress string `json:"ipaddress,omitempty"`
|
||||
} `json:"secondaryip,omitempty"`
|
||||
Traffictype string `json:"traffictype,omitempty"`
|
||||
Type string `json:"type,omitempty"`
|
||||
Virtualmachineid string `json:"virtualmachineid,omitempty"`
|
||||
} `json:"nic,omitempty"`
|
||||
Ostypeid int64 `json:"ostypeid,omitempty"`
|
||||
Password string `json:"password,omitempty"`
|
||||
Passwordenabled bool `json:"passwordenabled,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Publicip string `json:"publicip,omitempty"`
|
||||
Publicipid string `json:"publicipid,omitempty"`
|
||||
Rootdeviceid int64 `json:"rootdeviceid,omitempty"`
|
||||
Rootdevicetype string `json:"rootdevicetype,omitempty"`
|
||||
Securitygroup []struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Description string `json:"description,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Egressrule []struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Cidr string `json:"cidr,omitempty"`
|
||||
Endport int `json:"endport,omitempty"`
|
||||
Icmpcode int `json:"icmpcode,omitempty"`
|
||||
Icmptype int `json:"icmptype,omitempty"`
|
||||
Protocol string `json:"protocol,omitempty"`
|
||||
Ruleid string `json:"ruleid,omitempty"`
|
||||
Securitygroupname string `json:"securitygroupname,omitempty"`
|
||||
Startport int `json:"startport,omitempty"`
|
||||
Tags []struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Customer string `json:"customer,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Key string `json:"key,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Resourceid string `json:"resourceid,omitempty"`
|
||||
Resourcetype string `json:"resourcetype,omitempty"`
|
||||
Value string `json:"value,omitempty"`
|
||||
} `json:"tags,omitempty"`
|
||||
} `json:"egressrule,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Ingressrule []struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Cidr string `json:"cidr,omitempty"`
|
||||
Endport int `json:"endport,omitempty"`
|
||||
Icmpcode int `json:"icmpcode,omitempty"`
|
||||
Icmptype int `json:"icmptype,omitempty"`
|
||||
Protocol string `json:"protocol,omitempty"`
|
||||
Ruleid string `json:"ruleid,omitempty"`
|
||||
Securitygroupname string `json:"securitygroupname,omitempty"`
|
||||
Startport int `json:"startport,omitempty"`
|
||||
Tags []struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Customer string `json:"customer,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Key string `json:"key,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Resourceid string `json:"resourceid,omitempty"`
|
||||
Resourcetype string `json:"resourcetype,omitempty"`
|
||||
Value string `json:"value,omitempty"`
|
||||
} `json:"tags,omitempty"`
|
||||
} `json:"ingressrule,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Tags []struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Customer string `json:"customer,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Key string `json:"key,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Resourceid string `json:"resourceid,omitempty"`
|
||||
Resourcetype string `json:"resourcetype,omitempty"`
|
||||
Value string `json:"value,omitempty"`
|
||||
} `json:"tags,omitempty"`
|
||||
Virtualmachinecount int `json:"virtualmachinecount,omitempty"`
|
||||
Virtualmachineids []string `json:"virtualmachineids,omitempty"`
|
||||
} `json:"securitygroup,omitempty"`
|
||||
Serviceofferingid string `json:"serviceofferingid,omitempty"`
|
||||
Serviceofferingname string `json:"serviceofferingname,omitempty"`
|
||||
Servicestate string `json:"servicestate,omitempty"`
|
||||
State string `json:"state,omitempty"`
|
||||
Tags []struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Customer string `json:"customer,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Key string `json:"key,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Resourceid string `json:"resourceid,omitempty"`
|
||||
Resourcetype string `json:"resourcetype,omitempty"`
|
||||
Value string `json:"value,omitempty"`
|
||||
} `json:"tags,omitempty"`
|
||||
Templatedisplaytext string `json:"templatedisplaytext,omitempty"`
|
||||
Templateid string `json:"templateid,omitempty"`
|
||||
Templatename string `json:"templatename,omitempty"`
|
||||
Userid string `json:"userid,omitempty"`
|
||||
Username string `json:"username,omitempty"`
|
||||
Vgpu string `json:"vgpu,omitempty"`
|
||||
Zoneid string `json:"zoneid,omitempty"`
|
||||
Zonename string `json:"zonename,omitempty"`
|
||||
JobID string `json:"jobid"`
|
||||
Account string `json:"account"`
|
||||
Affinitygroup []UpdateVMAffinityGroupResponseAffinitygroup `json:"affinitygroup"`
|
||||
Cpunumber int `json:"cpunumber"`
|
||||
Cpuspeed int `json:"cpuspeed"`
|
||||
Cpuused string `json:"cpuused"`
|
||||
Created string `json:"created"`
|
||||
Details map[string]string `json:"details"`
|
||||
Diskioread int64 `json:"diskioread"`
|
||||
Diskiowrite int64 `json:"diskiowrite"`
|
||||
Diskkbsread int64 `json:"diskkbsread"`
|
||||
Diskkbswrite int64 `json:"diskkbswrite"`
|
||||
Diskofferingid string `json:"diskofferingid"`
|
||||
Diskofferingname string `json:"diskofferingname"`
|
||||
Displayname string `json:"displayname"`
|
||||
Displayvm bool `json:"displayvm"`
|
||||
Domain string `json:"domain"`
|
||||
Domainid string `json:"domainid"`
|
||||
Forvirtualnetwork bool `json:"forvirtualnetwork"`
|
||||
Group string `json:"group"`
|
||||
Groupid string `json:"groupid"`
|
||||
Guestosid string `json:"guestosid"`
|
||||
Haenable bool `json:"haenable"`
|
||||
Hostid string `json:"hostid"`
|
||||
Hostname string `json:"hostname"`
|
||||
Hypervisor string `json:"hypervisor"`
|
||||
Id string `json:"id"`
|
||||
Instancename string `json:"instancename"`
|
||||
Isdynamicallyscalable bool `json:"isdynamicallyscalable"`
|
||||
Isodisplaytext string `json:"isodisplaytext"`
|
||||
Isoid string `json:"isoid"`
|
||||
Isoname string `json:"isoname"`
|
||||
Keypair string `json:"keypair"`
|
||||
Memory int `json:"memory"`
|
||||
Memoryintfreekbs int64 `json:"memoryintfreekbs"`
|
||||
Memorykbs int64 `json:"memorykbs"`
|
||||
Memorytargetkbs int64 `json:"memorytargetkbs"`
|
||||
Name string `json:"name"`
|
||||
Networkkbsread int64 `json:"networkkbsread"`
|
||||
Networkkbswrite int64 `json:"networkkbswrite"`
|
||||
Nic []Nic `json:"nic"`
|
||||
Ostypeid int64 `json:"ostypeid"`
|
||||
Password string `json:"password"`
|
||||
Passwordenabled bool `json:"passwordenabled"`
|
||||
Project string `json:"project"`
|
||||
Projectid string `json:"projectid"`
|
||||
Publicip string `json:"publicip"`
|
||||
Publicipid string `json:"publicipid"`
|
||||
Rootdeviceid int64 `json:"rootdeviceid"`
|
||||
Rootdevicetype string `json:"rootdevicetype"`
|
||||
Securitygroup []UpdateVMAffinityGroupResponseSecuritygroup `json:"securitygroup"`
|
||||
Serviceofferingid string `json:"serviceofferingid"`
|
||||
Serviceofferingname string `json:"serviceofferingname"`
|
||||
Servicestate string `json:"servicestate"`
|
||||
State string `json:"state"`
|
||||
Templatedisplaytext string `json:"templatedisplaytext"`
|
||||
Templateid string `json:"templateid"`
|
||||
Templatename string `json:"templatename"`
|
||||
Userid string `json:"userid"`
|
||||
Username string `json:"username"`
|
||||
Vgpu string `json:"vgpu"`
|
||||
Zoneid string `json:"zoneid"`
|
||||
Zonename string `json:"zonename"`
|
||||
}
|
||||
|
||||
type ListAffinityGroupTypesParams struct {
|
||||
p map[string]interface{}
|
||||
type UpdateVMAffinityGroupResponseSecuritygroup struct {
|
||||
Account string `json:"account"`
|
||||
Description string `json:"description"`
|
||||
Domain string `json:"domain"`
|
||||
Domainid string `json:"domainid"`
|
||||
Egressrule []UpdateVMAffinityGroupResponseSecuritygroupRule `json:"egressrule"`
|
||||
Id string `json:"id"`
|
||||
Ingressrule []UpdateVMAffinityGroupResponseSecuritygroupRule `json:"ingressrule"`
|
||||
Name string `json:"name"`
|
||||
Project string `json:"project"`
|
||||
Projectid string `json:"projectid"`
|
||||
Tags []Tags `json:"tags"`
|
||||
Virtualmachinecount int `json:"virtualmachinecount"`
|
||||
Virtualmachineids []interface{} `json:"virtualmachineids"`
|
||||
}
|
||||
|
||||
func (p *ListAffinityGroupTypesParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["keyword"]; found {
|
||||
u.Set("keyword", v.(string))
|
||||
}
|
||||
if v, found := p.p["page"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("page", vv)
|
||||
}
|
||||
if v, found := p.p["pagesize"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("pagesize", vv)
|
||||
}
|
||||
return u
|
||||
type UpdateVMAffinityGroupResponseSecuritygroupRule struct {
|
||||
Account string `json:"account"`
|
||||
Cidr string `json:"cidr"`
|
||||
Endport int `json:"endport"`
|
||||
Icmpcode int `json:"icmpcode"`
|
||||
Icmptype int `json:"icmptype"`
|
||||
Protocol string `json:"protocol"`
|
||||
Ruleid string `json:"ruleid"`
|
||||
Securitygroupname string `json:"securitygroupname"`
|
||||
Startport int `json:"startport"`
|
||||
Tags []Tags `json:"tags"`
|
||||
}
|
||||
|
||||
func (p *ListAffinityGroupTypesParams) SetKeyword(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["keyword"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListAffinityGroupTypesParams) SetPage(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["page"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListAffinityGroupTypesParams) SetPagesize(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["pagesize"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new ListAffinityGroupTypesParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *AffinityGroupService) NewListAffinityGroupTypesParams() *ListAffinityGroupTypesParams {
|
||||
p := &ListAffinityGroupTypesParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
return p
|
||||
}
|
||||
|
||||
// Lists affinity group types available
|
||||
func (s *AffinityGroupService) ListAffinityGroupTypes(p *ListAffinityGroupTypesParams) (*ListAffinityGroupTypesResponse, error) {
|
||||
resp, err := s.cs.newRequest("listAffinityGroupTypes", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ListAffinityGroupTypesResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ListAffinityGroupTypesResponse struct {
|
||||
Count int `json:"count"`
|
||||
AffinityGroupTypes []*AffinityGroupType `json:"affinitygrouptype"`
|
||||
}
|
||||
|
||||
type AffinityGroupType struct {
|
||||
Type string `json:"type,omitempty"`
|
||||
type UpdateVMAffinityGroupResponseAffinitygroup struct {
|
||||
Account string `json:"account"`
|
||||
Description string `json:"description"`
|
||||
Domain string `json:"domain"`
|
||||
Domainid string `json:"domainid"`
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Project string `json:"project"`
|
||||
Projectid string `json:"projectid"`
|
||||
Type string `json:"type"`
|
||||
VirtualmachineIds []string `json:"virtualmachineIds"`
|
||||
}
|
||||
|
|
|
|||
454
vendor/github.com/xanzy/go-cloudstack/cloudstack/AlertService.go
generated
vendored
454
vendor/github.com/xanzy/go-cloudstack/cloudstack/AlertService.go
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// Copyright 2016, Sander van Harmelen
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
@ -24,204 +24,6 @@ import (
|
|||
"strings"
|
||||
)
|
||||
|
||||
type ListAlertsParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *ListAlertsParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
if v, found := p.p["keyword"]; found {
|
||||
u.Set("keyword", v.(string))
|
||||
}
|
||||
if v, found := p.p["name"]; found {
|
||||
u.Set("name", v.(string))
|
||||
}
|
||||
if v, found := p.p["page"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("page", vv)
|
||||
}
|
||||
if v, found := p.p["pagesize"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("pagesize", vv)
|
||||
}
|
||||
if v, found := p.p["type"]; found {
|
||||
u.Set("type", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *ListAlertsParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListAlertsParams) SetKeyword(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["keyword"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListAlertsParams) SetName(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["name"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListAlertsParams) SetPage(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["page"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListAlertsParams) SetPagesize(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["pagesize"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListAlertsParams) SetType(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["type"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new ListAlertsParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *AlertService) NewListAlertsParams() *ListAlertsParams {
|
||||
p := &ListAlertsParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
return p
|
||||
}
|
||||
|
||||
// This is a courtesy helper function, which in some cases may not work as expected!
|
||||
func (s *AlertService) GetAlertID(name string, opts ...OptionFunc) (string, int, error) {
|
||||
p := &ListAlertsParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
|
||||
p.p["name"] = name
|
||||
|
||||
for _, fn := range opts {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return "", -1, err
|
||||
}
|
||||
}
|
||||
|
||||
l, err := s.ListAlerts(p)
|
||||
if err != nil {
|
||||
return "", -1, err
|
||||
}
|
||||
|
||||
if l.Count == 0 {
|
||||
return "", l.Count, fmt.Errorf("No match found for %s: %+v", name, l)
|
||||
}
|
||||
|
||||
if l.Count == 1 {
|
||||
return l.Alerts[0].Id, l.Count, nil
|
||||
}
|
||||
|
||||
if l.Count > 1 {
|
||||
for _, v := range l.Alerts {
|
||||
if v.Name == name {
|
||||
return v.Id, l.Count, nil
|
||||
}
|
||||
}
|
||||
}
|
||||
return "", l.Count, fmt.Errorf("Could not find an exact match for %s: %+v", name, l)
|
||||
}
|
||||
|
||||
// This is a courtesy helper function, which in some cases may not work as expected!
|
||||
func (s *AlertService) GetAlertByName(name string, opts ...OptionFunc) (*Alert, int, error) {
|
||||
id, count, err := s.GetAlertID(name, opts...)
|
||||
if err != nil {
|
||||
return nil, count, err
|
||||
}
|
||||
|
||||
r, count, err := s.GetAlertByID(id, opts...)
|
||||
if err != nil {
|
||||
return nil, count, err
|
||||
}
|
||||
return r, count, nil
|
||||
}
|
||||
|
||||
// This is a courtesy helper function, which in some cases may not work as expected!
|
||||
func (s *AlertService) GetAlertByID(id string, opts ...OptionFunc) (*Alert, int, error) {
|
||||
p := &ListAlertsParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
|
||||
p.p["id"] = id
|
||||
|
||||
for _, fn := range opts {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return nil, -1, err
|
||||
}
|
||||
}
|
||||
|
||||
l, err := s.ListAlerts(p)
|
||||
if err != nil {
|
||||
if strings.Contains(err.Error(), fmt.Sprintf(
|
||||
"Invalid parameter id value=%s due to incorrect long value format, "+
|
||||
"or entity does not exist", id)) {
|
||||
return nil, 0, fmt.Errorf("No match found for %s: %+v", id, l)
|
||||
}
|
||||
return nil, -1, err
|
||||
}
|
||||
|
||||
if l.Count == 0 {
|
||||
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
|
||||
}
|
||||
|
||||
if l.Count == 1 {
|
||||
return l.Alerts[0], l.Count, nil
|
||||
}
|
||||
return nil, l.Count, fmt.Errorf("There is more then one result for Alert UUID: %s!", id)
|
||||
}
|
||||
|
||||
// Lists all alerts.
|
||||
func (s *AlertService) ListAlerts(p *ListAlertsParams) (*ListAlertsResponse, error) {
|
||||
resp, err := s.cs.newRequest("listAlerts", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ListAlertsResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ListAlertsResponse struct {
|
||||
Count int `json:"count"`
|
||||
Alerts []*Alert `json:"alert"`
|
||||
}
|
||||
|
||||
type Alert struct {
|
||||
Description string `json:"description,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Sent string `json:"sent,omitempty"`
|
||||
Type int `json:"type,omitempty"`
|
||||
}
|
||||
|
||||
type ArchiveAlertsParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
|
@ -298,12 +100,32 @@ func (s *AlertService) ArchiveAlerts(p *ArchiveAlertsParams) (*ArchiveAlertsResp
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ArchiveAlertsResponse struct {
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Success string `json:"success,omitempty"`
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
||||
func (r *ArchiveAlertsResponse) UnmarshalJSON(b []byte) error {
|
||||
var m map[string]interface{}
|
||||
err := json.Unmarshal(b, &m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if success, ok := m["success"].(string); ok {
|
||||
m["success"] = success == "true"
|
||||
b, err = json.Marshal(m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
type alias ArchiveAlertsResponse
|
||||
return json.Unmarshal(b, (*alias)(r))
|
||||
}
|
||||
|
||||
type DeleteAlertsParams struct {
|
||||
|
|
@ -382,12 +204,32 @@ func (s *AlertService) DeleteAlerts(p *DeleteAlertsParams) (*DeleteAlertsRespons
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type DeleteAlertsResponse struct {
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Success string `json:"success,omitempty"`
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
||||
func (r *DeleteAlertsResponse) UnmarshalJSON(b []byte) error {
|
||||
var m map[string]interface{}
|
||||
err := json.Unmarshal(b, &m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if success, ok := m["success"].(string); ok {
|
||||
m["success"] = success == "true"
|
||||
b, err = json.Marshal(m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
type alias DeleteAlertsResponse
|
||||
return json.Unmarshal(b, (*alias)(r))
|
||||
}
|
||||
|
||||
type GenerateAlertParams struct {
|
||||
|
|
@ -495,11 +337,211 @@ func (s *AlertService) GenerateAlert(p *GenerateAlertParams) (*GenerateAlertResp
|
|||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type GenerateAlertResponse struct {
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Success bool `json:"success,omitempty"`
|
||||
JobID string `json:"jobid"`
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
||||
type ListAlertsParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *ListAlertsParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
if v, found := p.p["keyword"]; found {
|
||||
u.Set("keyword", v.(string))
|
||||
}
|
||||
if v, found := p.p["name"]; found {
|
||||
u.Set("name", v.(string))
|
||||
}
|
||||
if v, found := p.p["page"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("page", vv)
|
||||
}
|
||||
if v, found := p.p["pagesize"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("pagesize", vv)
|
||||
}
|
||||
if v, found := p.p["type"]; found {
|
||||
u.Set("type", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *ListAlertsParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListAlertsParams) SetKeyword(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["keyword"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListAlertsParams) SetName(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["name"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListAlertsParams) SetPage(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["page"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListAlertsParams) SetPagesize(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["pagesize"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListAlertsParams) SetType(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["type"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new ListAlertsParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *AlertService) NewListAlertsParams() *ListAlertsParams {
|
||||
p := &ListAlertsParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
return p
|
||||
}
|
||||
|
||||
// This is a courtesy helper function, which in some cases may not work as expected!
|
||||
func (s *AlertService) GetAlertID(name string, opts ...OptionFunc) (string, int, error) {
|
||||
p := &ListAlertsParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
|
||||
p.p["name"] = name
|
||||
|
||||
for _, fn := range append(s.cs.options, opts...) {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return "", -1, err
|
||||
}
|
||||
}
|
||||
|
||||
l, err := s.ListAlerts(p)
|
||||
if err != nil {
|
||||
return "", -1, err
|
||||
}
|
||||
|
||||
if l.Count == 0 {
|
||||
return "", l.Count, fmt.Errorf("No match found for %s: %+v", name, l)
|
||||
}
|
||||
|
||||
if l.Count == 1 {
|
||||
return l.Alerts[0].Id, l.Count, nil
|
||||
}
|
||||
|
||||
if l.Count > 1 {
|
||||
for _, v := range l.Alerts {
|
||||
if v.Name == name {
|
||||
return v.Id, l.Count, nil
|
||||
}
|
||||
}
|
||||
}
|
||||
return "", l.Count, fmt.Errorf("Could not find an exact match for %s: %+v", name, l)
|
||||
}
|
||||
|
||||
// This is a courtesy helper function, which in some cases may not work as expected!
|
||||
func (s *AlertService) GetAlertByName(name string, opts ...OptionFunc) (*Alert, int, error) {
|
||||
id, count, err := s.GetAlertID(name, opts...)
|
||||
if err != nil {
|
||||
return nil, count, err
|
||||
}
|
||||
|
||||
r, count, err := s.GetAlertByID(id, opts...)
|
||||
if err != nil {
|
||||
return nil, count, err
|
||||
}
|
||||
return r, count, nil
|
||||
}
|
||||
|
||||
// This is a courtesy helper function, which in some cases may not work as expected!
|
||||
func (s *AlertService) GetAlertByID(id string, opts ...OptionFunc) (*Alert, int, error) {
|
||||
p := &ListAlertsParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
|
||||
p.p["id"] = id
|
||||
|
||||
for _, fn := range append(s.cs.options, opts...) {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return nil, -1, err
|
||||
}
|
||||
}
|
||||
|
||||
l, err := s.ListAlerts(p)
|
||||
if err != nil {
|
||||
if strings.Contains(err.Error(), fmt.Sprintf(
|
||||
"Invalid parameter id value=%s due to incorrect long value format, "+
|
||||
"or entity does not exist", id)) {
|
||||
return nil, 0, fmt.Errorf("No match found for %s: %+v", id, l)
|
||||
}
|
||||
return nil, -1, err
|
||||
}
|
||||
|
||||
if l.Count == 0 {
|
||||
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
|
||||
}
|
||||
|
||||
if l.Count == 1 {
|
||||
return l.Alerts[0], l.Count, nil
|
||||
}
|
||||
return nil, l.Count, fmt.Errorf("There is more then one result for Alert UUID: %s!", id)
|
||||
}
|
||||
|
||||
// Lists all alerts.
|
||||
func (s *AlertService) ListAlerts(p *ListAlertsParams) (*ListAlertsResponse, error) {
|
||||
resp, err := s.cs.newRequest("listAlerts", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ListAlertsResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ListAlertsResponse struct {
|
||||
Count int `json:"count"`
|
||||
Alerts []*Alert `json:"alert"`
|
||||
}
|
||||
|
||||
type Alert struct {
|
||||
Description string `json:"description"`
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Sent string `json:"sent"`
|
||||
Type int `json:"type"`
|
||||
}
|
||||
|
|
|
|||
166
vendor/github.com/xanzy/go-cloudstack/cloudstack/AsyncjobService.go
generated
vendored
166
vendor/github.com/xanzy/go-cloudstack/cloudstack/AsyncjobService.go
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// Copyright 2016, Sander van Harmelen
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
@ -23,76 +23,6 @@ import (
|
|||
"time"
|
||||
)
|
||||
|
||||
type QueryAsyncJobResultParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *QueryAsyncJobResultParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["jobid"]; found {
|
||||
u.Set("jobid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *QueryAsyncJobResultParams) SetJobid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["jobid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new QueryAsyncJobResultParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *AsyncjobService) NewQueryAsyncJobResultParams(jobid string) *QueryAsyncJobResultParams {
|
||||
p := &QueryAsyncJobResultParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["jobid"] = jobid
|
||||
return p
|
||||
}
|
||||
|
||||
// Retrieves the current status of asynchronous job.
|
||||
func (s *AsyncjobService) QueryAsyncJobResult(p *QueryAsyncJobResultParams) (*QueryAsyncJobResultResponse, error) {
|
||||
var resp json.RawMessage
|
||||
var err error
|
||||
|
||||
// We should be able to retry on failure as this call is idempotent
|
||||
for i := 0; i < 3; i++ {
|
||||
resp, err = s.cs.newRequest("queryAsyncJobResult", p.toURLValues())
|
||||
if err == nil {
|
||||
break
|
||||
}
|
||||
time.Sleep(500 * time.Millisecond)
|
||||
}
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r QueryAsyncJobResultResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type QueryAsyncJobResultResponse struct {
|
||||
Accountid string `json:"accountid,omitempty"`
|
||||
Cmd string `json:"cmd,omitempty"`
|
||||
Created string `json:"created,omitempty"`
|
||||
Jobinstanceid string `json:"jobinstanceid,omitempty"`
|
||||
Jobinstancetype string `json:"jobinstancetype,omitempty"`
|
||||
Jobprocstatus int `json:"jobprocstatus,omitempty"`
|
||||
Jobresult json.RawMessage `json:"jobresult,omitempty"`
|
||||
Jobresultcode int `json:"jobresultcode,omitempty"`
|
||||
Jobresulttype string `json:"jobresulttype,omitempty"`
|
||||
Jobstatus int `json:"jobstatus,omitempty"`
|
||||
Userid string `json:"userid,omitempty"`
|
||||
}
|
||||
|
||||
type ListAsyncJobsParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
|
@ -216,6 +146,7 @@ func (s *AsyncjobService) ListAsyncJobs(p *ListAsyncJobsParams) (*ListAsyncJobsR
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
|
|
@ -225,15 +156,86 @@ type ListAsyncJobsResponse struct {
|
|||
}
|
||||
|
||||
type AsyncJob struct {
|
||||
Accountid string `json:"accountid,omitempty"`
|
||||
Cmd string `json:"cmd,omitempty"`
|
||||
Created string `json:"created,omitempty"`
|
||||
Jobinstanceid string `json:"jobinstanceid,omitempty"`
|
||||
Jobinstancetype string `json:"jobinstancetype,omitempty"`
|
||||
Jobprocstatus int `json:"jobprocstatus,omitempty"`
|
||||
Jobresult json.RawMessage `json:"jobresult,omitempty"`
|
||||
Jobresultcode int `json:"jobresultcode,omitempty"`
|
||||
Jobresulttype string `json:"jobresulttype,omitempty"`
|
||||
Jobstatus int `json:"jobstatus,omitempty"`
|
||||
Userid string `json:"userid,omitempty"`
|
||||
Accountid string `json:"accountid"`
|
||||
Cmd string `json:"cmd"`
|
||||
Created string `json:"created"`
|
||||
Jobinstanceid string `json:"jobinstanceid"`
|
||||
Jobinstancetype string `json:"jobinstancetype"`
|
||||
Jobprocstatus int `json:"jobprocstatus"`
|
||||
Jobresult json.RawMessage `json:"jobresult"`
|
||||
Jobresultcode int `json:"jobresultcode"`
|
||||
Jobresulttype string `json:"jobresulttype"`
|
||||
Jobstatus int `json:"jobstatus"`
|
||||
Userid string `json:"userid"`
|
||||
}
|
||||
|
||||
type QueryAsyncJobResultParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *QueryAsyncJobResultParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["jobid"]; found {
|
||||
u.Set("jobid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *QueryAsyncJobResultParams) SetJobID(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["jobid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new QueryAsyncJobResultParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *AsyncjobService) NewQueryAsyncJobResultParams(jobid string) *QueryAsyncJobResultParams {
|
||||
p := &QueryAsyncJobResultParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["jobid"] = jobid
|
||||
return p
|
||||
}
|
||||
|
||||
// Retrieves the current status of asynchronous job.
|
||||
func (s *AsyncjobService) QueryAsyncJobResult(p *QueryAsyncJobResultParams) (*QueryAsyncJobResultResponse, error) {
|
||||
var resp json.RawMessage
|
||||
var err error
|
||||
|
||||
// We should be able to retry on failure as this call is idempotent
|
||||
for i := 0; i < 3; i++ {
|
||||
resp, err = s.cs.newRequest("queryAsyncJobResult", p.toURLValues())
|
||||
if err == nil {
|
||||
break
|
||||
}
|
||||
time.Sleep(500 * time.Millisecond)
|
||||
}
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r QueryAsyncJobResultResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type QueryAsyncJobResultResponse struct {
|
||||
Accountid string `json:"accountid"`
|
||||
Cmd string `json:"cmd"`
|
||||
Created string `json:"created"`
|
||||
Jobinstanceid string `json:"jobinstanceid"`
|
||||
Jobinstancetype string `json:"jobinstancetype"`
|
||||
Jobprocstatus int `json:"jobprocstatus"`
|
||||
Jobresult json.RawMessage `json:"jobresult"`
|
||||
Jobresultcode int `json:"jobresultcode"`
|
||||
Jobresulttype string `json:"jobresulttype"`
|
||||
Jobstatus int `json:"jobstatus"`
|
||||
Userid string `json:"userid"`
|
||||
}
|
||||
|
|
|
|||
29
vendor/github.com/xanzy/go-cloudstack/cloudstack/AuthenticationService.go
generated
vendored
29
vendor/github.com/xanzy/go-cloudstack/cloudstack/AuthenticationService.go
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// Copyright 2016, Sander van Harmelen
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
@ -100,21 +100,23 @@ func (s *AuthenticationService) Login(p *LoginParams) (*LoginResponse, error) {
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type LoginResponse struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Firstname string `json:"firstname,omitempty"`
|
||||
Lastname string `json:"lastname,omitempty"`
|
||||
Registered string `json:"registered,omitempty"`
|
||||
Sessionkey string `json:"sessionkey,omitempty"`
|
||||
Timeout int `json:"timeout,omitempty"`
|
||||
Timezone string `json:"timezone,omitempty"`
|
||||
Type string `json:"type,omitempty"`
|
||||
Userid string `json:"userid,omitempty"`
|
||||
Username string `json:"username,omitempty"`
|
||||
Account string `json:"account"`
|
||||
Domainid string `json:"domainid"`
|
||||
Firstname string `json:"firstname"`
|
||||
Lastname string `json:"lastname"`
|
||||
Registered string `json:"registered"`
|
||||
Sessionkey string `json:"sessionkey"`
|
||||
Timeout int `json:"timeout"`
|
||||
Timezone string `json:"timezone"`
|
||||
Timezoneoffset string `json:"timezoneoffset"`
|
||||
Type string `json:"type"`
|
||||
Userid string `json:"userid"`
|
||||
Username string `json:"username"`
|
||||
}
|
||||
|
||||
type LogoutParams struct {
|
||||
|
|
@ -148,9 +150,10 @@ func (s *AuthenticationService) Logout(p *LogoutParams) (*LogoutResponse, error)
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type LogoutResponse struct {
|
||||
Description string `json:"description,omitempty"`
|
||||
Description string `json:"description"`
|
||||
}
|
||||
|
|
|
|||
2820
vendor/github.com/xanzy/go-cloudstack/cloudstack/AutoScaleService.go
generated
vendored
2820
vendor/github.com/xanzy/go-cloudstack/cloudstack/AutoScaleService.go
generated
vendored
File diff suppressed because it is too large
Load diff
528
vendor/github.com/xanzy/go-cloudstack/cloudstack/BaremetalService.go
generated
vendored
528
vendor/github.com/xanzy/go-cloudstack/cloudstack/BaremetalService.go
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// Copyright 2016, Sander van Harmelen
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
@ -22,6 +22,130 @@ import (
|
|||
"strconv"
|
||||
)
|
||||
|
||||
type AddBaremetalDhcpParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *AddBaremetalDhcpParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["dhcpservertype"]; found {
|
||||
u.Set("dhcpservertype", v.(string))
|
||||
}
|
||||
if v, found := p.p["password"]; found {
|
||||
u.Set("password", v.(string))
|
||||
}
|
||||
if v, found := p.p["physicalnetworkid"]; found {
|
||||
u.Set("physicalnetworkid", v.(string))
|
||||
}
|
||||
if v, found := p.p["url"]; found {
|
||||
u.Set("url", v.(string))
|
||||
}
|
||||
if v, found := p.p["username"]; found {
|
||||
u.Set("username", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *AddBaremetalDhcpParams) SetDhcpservertype(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["dhcpservertype"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *AddBaremetalDhcpParams) SetPassword(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["password"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *AddBaremetalDhcpParams) SetPhysicalnetworkid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["physicalnetworkid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *AddBaremetalDhcpParams) SetUrl(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["url"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *AddBaremetalDhcpParams) SetUsername(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["username"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new AddBaremetalDhcpParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *BaremetalService) NewAddBaremetalDhcpParams(dhcpservertype string, password string, physicalnetworkid string, url string, username string) *AddBaremetalDhcpParams {
|
||||
p := &AddBaremetalDhcpParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["dhcpservertype"] = dhcpservertype
|
||||
p.p["password"] = password
|
||||
p.p["physicalnetworkid"] = physicalnetworkid
|
||||
p.p["url"] = url
|
||||
p.p["username"] = username
|
||||
return p
|
||||
}
|
||||
|
||||
// adds a baremetal dhcp server
|
||||
func (s *BaremetalService) AddBaremetalDhcp(p *AddBaremetalDhcpParams) (*AddBaremetalDhcpResponse, error) {
|
||||
resp, err := s.cs.newRequest("addBaremetalDhcp", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r AddBaremetalDhcpResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// If we have a async client, we need to wait for the async result
|
||||
if s.cs.async {
|
||||
b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
|
||||
if err != nil {
|
||||
if err == AsyncTimeoutErr {
|
||||
return &r, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
b, err = getRawValue(b)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(b, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type AddBaremetalDhcpResponse struct {
|
||||
JobID string `json:"jobid"`
|
||||
Dhcpservertype string `json:"dhcpservertype"`
|
||||
Id string `json:"id"`
|
||||
Physicalnetworkid string `json:"physicalnetworkid"`
|
||||
Provider string `json:"provider"`
|
||||
Url string `json:"url"`
|
||||
}
|
||||
|
||||
type AddBaremetalPxeKickStartServerParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
|
@ -156,12 +280,13 @@ func (s *BaremetalService) AddBaremetalPxeKickStartServer(p *AddBaremetalPxeKick
|
|||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type AddBaremetalPxeKickStartServerResponse struct {
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
Tftpdir string `json:"tftpdir,omitempty"`
|
||||
JobID string `json:"jobid"`
|
||||
Tftpdir string `json:"tftpdir"`
|
||||
}
|
||||
|
||||
type AddBaremetalPxePingServerParams struct {
|
||||
|
|
@ -344,104 +469,57 @@ func (s *BaremetalService) AddBaremetalPxePingServer(p *AddBaremetalPxePingServe
|
|||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type AddBaremetalPxePingServerResponse struct {
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
Pingdir string `json:"pingdir,omitempty"`
|
||||
Pingstorageserverip string `json:"pingstorageserverip,omitempty"`
|
||||
Tftpdir string `json:"tftpdir,omitempty"`
|
||||
JobID string `json:"jobid"`
|
||||
Pingdir string `json:"pingdir"`
|
||||
Pingstorageserverip string `json:"pingstorageserverip"`
|
||||
Tftpdir string `json:"tftpdir"`
|
||||
}
|
||||
|
||||
type AddBaremetalDhcpParams struct {
|
||||
type AddBaremetalRctParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *AddBaremetalDhcpParams) toURLValues() url.Values {
|
||||
func (p *AddBaremetalRctParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["dhcpservertype"]; found {
|
||||
u.Set("dhcpservertype", v.(string))
|
||||
}
|
||||
if v, found := p.p["password"]; found {
|
||||
u.Set("password", v.(string))
|
||||
}
|
||||
if v, found := p.p["physicalnetworkid"]; found {
|
||||
u.Set("physicalnetworkid", v.(string))
|
||||
}
|
||||
if v, found := p.p["url"]; found {
|
||||
u.Set("url", v.(string))
|
||||
}
|
||||
if v, found := p.p["username"]; found {
|
||||
u.Set("username", v.(string))
|
||||
if v, found := p.p["baremetalrcturl"]; found {
|
||||
u.Set("baremetalrcturl", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *AddBaremetalDhcpParams) SetDhcpservertype(v string) {
|
||||
func (p *AddBaremetalRctParams) SetBaremetalrcturl(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["dhcpservertype"] = v
|
||||
p.p["baremetalrcturl"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *AddBaremetalDhcpParams) SetPassword(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["password"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *AddBaremetalDhcpParams) SetPhysicalnetworkid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["physicalnetworkid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *AddBaremetalDhcpParams) SetUrl(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["url"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *AddBaremetalDhcpParams) SetUsername(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["username"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new AddBaremetalDhcpParams instance,
|
||||
// You should always use this function to get a new AddBaremetalRctParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *BaremetalService) NewAddBaremetalDhcpParams(dhcpservertype string, password string, physicalnetworkid string, url string, username string) *AddBaremetalDhcpParams {
|
||||
p := &AddBaremetalDhcpParams{}
|
||||
func (s *BaremetalService) NewAddBaremetalRctParams(baremetalrcturl string) *AddBaremetalRctParams {
|
||||
p := &AddBaremetalRctParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["dhcpservertype"] = dhcpservertype
|
||||
p.p["password"] = password
|
||||
p.p["physicalnetworkid"] = physicalnetworkid
|
||||
p.p["url"] = url
|
||||
p.p["username"] = username
|
||||
p.p["baremetalrcturl"] = baremetalrcturl
|
||||
return p
|
||||
}
|
||||
|
||||
// adds a baremetal dhcp server
|
||||
func (s *BaremetalService) AddBaremetalDhcp(p *AddBaremetalDhcpParams) (*AddBaremetalDhcpResponse, error) {
|
||||
resp, err := s.cs.newRequest("addBaremetalDhcp", p.toURLValues())
|
||||
// adds baremetal rack configuration text
|
||||
func (s *BaremetalService) AddBaremetalRct(p *AddBaremetalRctParams) (*AddBaremetalRctResponse, error) {
|
||||
resp, err := s.cs.newRequest("addBaremetalRct", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r AddBaremetalDhcpResponse
|
||||
var r AddBaremetalRctResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
|
@ -465,16 +543,82 @@ func (s *BaremetalService) AddBaremetalDhcp(p *AddBaremetalDhcpParams) (*AddBare
|
|||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type AddBaremetalDhcpResponse struct {
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
Dhcpservertype string `json:"dhcpservertype,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Physicalnetworkid string `json:"physicalnetworkid,omitempty"`
|
||||
Provider string `json:"provider,omitempty"`
|
||||
Url string `json:"url,omitempty"`
|
||||
type AddBaremetalRctResponse struct {
|
||||
JobID string `json:"jobid"`
|
||||
Id string `json:"id"`
|
||||
Url string `json:"url"`
|
||||
}
|
||||
|
||||
type DeleteBaremetalRctParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *DeleteBaremetalRctParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *DeleteBaremetalRctParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new DeleteBaremetalRctParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *BaremetalService) NewDeleteBaremetalRctParams(id string) *DeleteBaremetalRctParams {
|
||||
p := &DeleteBaremetalRctParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["id"] = id
|
||||
return p
|
||||
}
|
||||
|
||||
// deletes baremetal rack configuration text
|
||||
func (s *BaremetalService) DeleteBaremetalRct(p *DeleteBaremetalRctParams) (*DeleteBaremetalRctResponse, error) {
|
||||
resp, err := s.cs.newRequest("deleteBaremetalRct", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r DeleteBaremetalRctResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// If we have a async client, we need to wait for the async result
|
||||
if s.cs.async {
|
||||
b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
|
||||
if err != nil {
|
||||
if err == AsyncTimeoutErr {
|
||||
return &r, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(b, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type DeleteBaremetalRctResponse struct {
|
||||
JobID string `json:"jobid"`
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
||||
type ListBaremetalDhcpParams struct {
|
||||
|
|
@ -578,6 +722,7 @@ func (s *BaremetalService) ListBaremetalDhcp(p *ListBaremetalDhcpParams) (*ListB
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
|
|
@ -587,11 +732,11 @@ type ListBaremetalDhcpResponse struct {
|
|||
}
|
||||
|
||||
type BaremetalDhcp struct {
|
||||
Dhcpservertype string `json:"dhcpservertype,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Physicalnetworkid string `json:"physicalnetworkid,omitempty"`
|
||||
Provider string `json:"provider,omitempty"`
|
||||
Url string `json:"url,omitempty"`
|
||||
Dhcpservertype string `json:"dhcpservertype"`
|
||||
Id string `json:"id"`
|
||||
Physicalnetworkid string `json:"physicalnetworkid"`
|
||||
Provider string `json:"provider"`
|
||||
Url string `json:"url"`
|
||||
}
|
||||
|
||||
type ListBaremetalPxeServersParams struct {
|
||||
|
|
@ -684,6 +829,7 @@ func (s *BaremetalService) ListBaremetalPxeServers(p *ListBaremetalPxeServersPar
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
|
|
@ -693,149 +839,10 @@ type ListBaremetalPxeServersResponse struct {
|
|||
}
|
||||
|
||||
type BaremetalPxeServer struct {
|
||||
Id string `json:"id,omitempty"`
|
||||
Physicalnetworkid string `json:"physicalnetworkid,omitempty"`
|
||||
Provider string `json:"provider,omitempty"`
|
||||
Url string `json:"url,omitempty"`
|
||||
}
|
||||
|
||||
type AddBaremetalRctParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *AddBaremetalRctParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["baremetalrcturl"]; found {
|
||||
u.Set("baremetalrcturl", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *AddBaremetalRctParams) SetBaremetalrcturl(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["baremetalrcturl"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new AddBaremetalRctParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *BaremetalService) NewAddBaremetalRctParams(baremetalrcturl string) *AddBaremetalRctParams {
|
||||
p := &AddBaremetalRctParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["baremetalrcturl"] = baremetalrcturl
|
||||
return p
|
||||
}
|
||||
|
||||
// adds baremetal rack configuration text
|
||||
func (s *BaremetalService) AddBaremetalRct(p *AddBaremetalRctParams) (*AddBaremetalRctResponse, error) {
|
||||
resp, err := s.cs.newRequest("addBaremetalRct", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r AddBaremetalRctResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// If we have a async client, we need to wait for the async result
|
||||
if s.cs.async {
|
||||
b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
|
||||
if err != nil {
|
||||
if err == AsyncTimeoutErr {
|
||||
return &r, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
b, err = getRawValue(b)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(b, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type AddBaremetalRctResponse struct {
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Url string `json:"url,omitempty"`
|
||||
}
|
||||
|
||||
type DeleteBaremetalRctParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *DeleteBaremetalRctParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *DeleteBaremetalRctParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new DeleteBaremetalRctParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *BaremetalService) NewDeleteBaremetalRctParams(id string) *DeleteBaremetalRctParams {
|
||||
p := &DeleteBaremetalRctParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["id"] = id
|
||||
return p
|
||||
}
|
||||
|
||||
// deletes baremetal rack configuration text
|
||||
func (s *BaremetalService) DeleteBaremetalRct(p *DeleteBaremetalRctParams) (*DeleteBaremetalRctResponse, error) {
|
||||
resp, err := s.cs.newRequest("deleteBaremetalRct", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r DeleteBaremetalRctResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// If we have a async client, we need to wait for the async result
|
||||
if s.cs.async {
|
||||
b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
|
||||
if err != nil {
|
||||
if err == AsyncTimeoutErr {
|
||||
return &r, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(b, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type DeleteBaremetalRctResponse struct {
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Success bool `json:"success,omitempty"`
|
||||
Id string `json:"id"`
|
||||
Physicalnetworkid string `json:"physicalnetworkid"`
|
||||
Provider string `json:"provider"`
|
||||
Url string `json:"url"`
|
||||
}
|
||||
|
||||
type ListBaremetalRctParams struct {
|
||||
|
|
@ -904,6 +911,7 @@ func (s *BaremetalService) ListBaremetalRct(p *ListBaremetalRctParams) (*ListBar
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
|
|
@ -913,6 +921,74 @@ type ListBaremetalRctResponse struct {
|
|||
}
|
||||
|
||||
type BaremetalRct struct {
|
||||
Id string `json:"id,omitempty"`
|
||||
Url string `json:"url,omitempty"`
|
||||
Id string `json:"id"`
|
||||
Url string `json:"url"`
|
||||
}
|
||||
|
||||
type NotifyBaremetalProvisionDoneParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *NotifyBaremetalProvisionDoneParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["mac"]; found {
|
||||
u.Set("mac", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *NotifyBaremetalProvisionDoneParams) SetMac(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["mac"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new NotifyBaremetalProvisionDoneParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *BaremetalService) NewNotifyBaremetalProvisionDoneParams(mac string) *NotifyBaremetalProvisionDoneParams {
|
||||
p := &NotifyBaremetalProvisionDoneParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["mac"] = mac
|
||||
return p
|
||||
}
|
||||
|
||||
// Notify provision has been done on a host. This api is for baremetal virtual router service, not for end user
|
||||
func (s *BaremetalService) NotifyBaremetalProvisionDone(p *NotifyBaremetalProvisionDoneParams) (*NotifyBaremetalProvisionDoneResponse, error) {
|
||||
resp, err := s.cs.newRequest("notifyBaremetalProvisionDone", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r NotifyBaremetalProvisionDoneResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// If we have a async client, we need to wait for the async result
|
||||
if s.cs.async {
|
||||
b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
|
||||
if err != nil {
|
||||
if err == AsyncTimeoutErr {
|
||||
return &r, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(b, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type NotifyBaremetalProvisionDoneResponse struct {
|
||||
JobID string `json:"jobid"`
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
|
|
|||
327
vendor/github.com/xanzy/go-cloudstack/cloudstack/BigSwitchBCFService.go
generated
vendored
Normal file
327
vendor/github.com/xanzy/go-cloudstack/cloudstack/BigSwitchBCFService.go
generated
vendored
Normal file
|
|
@ -0,0 +1,327 @@
|
|||
//
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
package cloudstack
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"net/url"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
type AddBigSwitchBcfDeviceParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *AddBigSwitchBcfDeviceParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["hostname"]; found {
|
||||
u.Set("hostname", v.(string))
|
||||
}
|
||||
if v, found := p.p["nat"]; found {
|
||||
vv := strconv.FormatBool(v.(bool))
|
||||
u.Set("nat", vv)
|
||||
}
|
||||
if v, found := p.p["password"]; found {
|
||||
u.Set("password", v.(string))
|
||||
}
|
||||
if v, found := p.p["physicalnetworkid"]; found {
|
||||
u.Set("physicalnetworkid", v.(string))
|
||||
}
|
||||
if v, found := p.p["username"]; found {
|
||||
u.Set("username", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *AddBigSwitchBcfDeviceParams) SetHostname(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["hostname"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *AddBigSwitchBcfDeviceParams) SetNat(v bool) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["nat"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *AddBigSwitchBcfDeviceParams) SetPassword(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["password"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *AddBigSwitchBcfDeviceParams) SetPhysicalnetworkid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["physicalnetworkid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *AddBigSwitchBcfDeviceParams) SetUsername(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["username"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new AddBigSwitchBcfDeviceParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *BigSwitchBCFService) NewAddBigSwitchBcfDeviceParams(hostname string, nat bool, password string, physicalnetworkid string, username string) *AddBigSwitchBcfDeviceParams {
|
||||
p := &AddBigSwitchBcfDeviceParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["hostname"] = hostname
|
||||
p.p["nat"] = nat
|
||||
p.p["password"] = password
|
||||
p.p["physicalnetworkid"] = physicalnetworkid
|
||||
p.p["username"] = username
|
||||
return p
|
||||
}
|
||||
|
||||
// Adds a BigSwitch BCF Controller device
|
||||
func (s *BigSwitchBCFService) AddBigSwitchBcfDevice(p *AddBigSwitchBcfDeviceParams) (*AddBigSwitchBcfDeviceResponse, error) {
|
||||
resp, err := s.cs.newRequest("addBigSwitchBcfDevice", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r AddBigSwitchBcfDeviceResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// If we have a async client, we need to wait for the async result
|
||||
if s.cs.async {
|
||||
b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
|
||||
if err != nil {
|
||||
if err == AsyncTimeoutErr {
|
||||
return &r, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
b, err = getRawValue(b)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(b, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type AddBigSwitchBcfDeviceResponse struct {
|
||||
JobID string `json:"jobid"`
|
||||
Bcfdeviceid string `json:"bcfdeviceid"`
|
||||
Bigswitchdevicename string `json:"bigswitchdevicename"`
|
||||
Hostname string `json:"hostname"`
|
||||
Nat bool `json:"nat"`
|
||||
Password string `json:"password"`
|
||||
Physicalnetworkid string `json:"physicalnetworkid"`
|
||||
Provider string `json:"provider"`
|
||||
Username string `json:"username"`
|
||||
}
|
||||
|
||||
type DeleteBigSwitchBcfDeviceParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *DeleteBigSwitchBcfDeviceParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["bcfdeviceid"]; found {
|
||||
u.Set("bcfdeviceid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *DeleteBigSwitchBcfDeviceParams) SetBcfdeviceid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["bcfdeviceid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new DeleteBigSwitchBcfDeviceParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *BigSwitchBCFService) NewDeleteBigSwitchBcfDeviceParams(bcfdeviceid string) *DeleteBigSwitchBcfDeviceParams {
|
||||
p := &DeleteBigSwitchBcfDeviceParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["bcfdeviceid"] = bcfdeviceid
|
||||
return p
|
||||
}
|
||||
|
||||
// delete a BigSwitch BCF Controller device
|
||||
func (s *BigSwitchBCFService) DeleteBigSwitchBcfDevice(p *DeleteBigSwitchBcfDeviceParams) (*DeleteBigSwitchBcfDeviceResponse, error) {
|
||||
resp, err := s.cs.newRequest("deleteBigSwitchBcfDevice", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r DeleteBigSwitchBcfDeviceResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// If we have a async client, we need to wait for the async result
|
||||
if s.cs.async {
|
||||
b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
|
||||
if err != nil {
|
||||
if err == AsyncTimeoutErr {
|
||||
return &r, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(b, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type DeleteBigSwitchBcfDeviceResponse struct {
|
||||
JobID string `json:"jobid"`
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
||||
type ListBigSwitchBcfDevicesParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *ListBigSwitchBcfDevicesParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["bcfdeviceid"]; found {
|
||||
u.Set("bcfdeviceid", v.(string))
|
||||
}
|
||||
if v, found := p.p["keyword"]; found {
|
||||
u.Set("keyword", v.(string))
|
||||
}
|
||||
if v, found := p.p["page"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("page", vv)
|
||||
}
|
||||
if v, found := p.p["pagesize"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("pagesize", vv)
|
||||
}
|
||||
if v, found := p.p["physicalnetworkid"]; found {
|
||||
u.Set("physicalnetworkid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *ListBigSwitchBcfDevicesParams) SetBcfdeviceid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["bcfdeviceid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListBigSwitchBcfDevicesParams) SetKeyword(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["keyword"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListBigSwitchBcfDevicesParams) SetPage(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["page"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListBigSwitchBcfDevicesParams) SetPagesize(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["pagesize"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListBigSwitchBcfDevicesParams) SetPhysicalnetworkid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["physicalnetworkid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new ListBigSwitchBcfDevicesParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *BigSwitchBCFService) NewListBigSwitchBcfDevicesParams() *ListBigSwitchBcfDevicesParams {
|
||||
p := &ListBigSwitchBcfDevicesParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
return p
|
||||
}
|
||||
|
||||
// Lists BigSwitch BCF Controller devices
|
||||
func (s *BigSwitchBCFService) ListBigSwitchBcfDevices(p *ListBigSwitchBcfDevicesParams) (*ListBigSwitchBcfDevicesResponse, error) {
|
||||
resp, err := s.cs.newRequest("listBigSwitchBcfDevices", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ListBigSwitchBcfDevicesResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ListBigSwitchBcfDevicesResponse struct {
|
||||
Count int `json:"count"`
|
||||
BigSwitchBcfDevices []*BigSwitchBcfDevice `json:"bigswitchbcfdevice"`
|
||||
}
|
||||
|
||||
type BigSwitchBcfDevice struct {
|
||||
Bcfdeviceid string `json:"bcfdeviceid"`
|
||||
Bigswitchdevicename string `json:"bigswitchdevicename"`
|
||||
Hostname string `json:"hostname"`
|
||||
Nat bool `json:"nat"`
|
||||
Password string `json:"password"`
|
||||
Physicalnetworkid string `json:"physicalnetworkid"`
|
||||
Provider string `json:"provider"`
|
||||
Username string `json:"username"`
|
||||
}
|
||||
508
vendor/github.com/xanzy/go-cloudstack/cloudstack/BrocadeVCSService.go
generated
vendored
Normal file
508
vendor/github.com/xanzy/go-cloudstack/cloudstack/BrocadeVCSService.go
generated
vendored
Normal file
|
|
@ -0,0 +1,508 @@
|
|||
//
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
package cloudstack
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"net/url"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
type AddBrocadeVcsDeviceParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *AddBrocadeVcsDeviceParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["hostname"]; found {
|
||||
u.Set("hostname", v.(string))
|
||||
}
|
||||
if v, found := p.p["password"]; found {
|
||||
u.Set("password", v.(string))
|
||||
}
|
||||
if v, found := p.p["physicalnetworkid"]; found {
|
||||
u.Set("physicalnetworkid", v.(string))
|
||||
}
|
||||
if v, found := p.p["username"]; found {
|
||||
u.Set("username", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *AddBrocadeVcsDeviceParams) SetHostname(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["hostname"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *AddBrocadeVcsDeviceParams) SetPassword(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["password"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *AddBrocadeVcsDeviceParams) SetPhysicalnetworkid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["physicalnetworkid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *AddBrocadeVcsDeviceParams) SetUsername(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["username"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new AddBrocadeVcsDeviceParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *BrocadeVCSService) NewAddBrocadeVcsDeviceParams(hostname string, password string, physicalnetworkid string, username string) *AddBrocadeVcsDeviceParams {
|
||||
p := &AddBrocadeVcsDeviceParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["hostname"] = hostname
|
||||
p.p["password"] = password
|
||||
p.p["physicalnetworkid"] = physicalnetworkid
|
||||
p.p["username"] = username
|
||||
return p
|
||||
}
|
||||
|
||||
// Adds a Brocade VCS Switch
|
||||
func (s *BrocadeVCSService) AddBrocadeVcsDevice(p *AddBrocadeVcsDeviceParams) (*AddBrocadeVcsDeviceResponse, error) {
|
||||
resp, err := s.cs.newRequest("addBrocadeVcsDevice", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r AddBrocadeVcsDeviceResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// If we have a async client, we need to wait for the async result
|
||||
if s.cs.async {
|
||||
b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
|
||||
if err != nil {
|
||||
if err == AsyncTimeoutErr {
|
||||
return &r, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
b, err = getRawValue(b)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(b, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type AddBrocadeVcsDeviceResponse struct {
|
||||
JobID string `json:"jobid"`
|
||||
Brocadedevicename string `json:"brocadedevicename"`
|
||||
Hostname string `json:"hostname"`
|
||||
Physicalnetworkid string `json:"physicalnetworkid"`
|
||||
Provider string `json:"provider"`
|
||||
Vcsdeviceid string `json:"vcsdeviceid"`
|
||||
}
|
||||
|
||||
type DeleteBrocadeVcsDeviceParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *DeleteBrocadeVcsDeviceParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["vcsdeviceid"]; found {
|
||||
u.Set("vcsdeviceid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *DeleteBrocadeVcsDeviceParams) SetVcsdeviceid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["vcsdeviceid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new DeleteBrocadeVcsDeviceParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *BrocadeVCSService) NewDeleteBrocadeVcsDeviceParams(vcsdeviceid string) *DeleteBrocadeVcsDeviceParams {
|
||||
p := &DeleteBrocadeVcsDeviceParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["vcsdeviceid"] = vcsdeviceid
|
||||
return p
|
||||
}
|
||||
|
||||
// delete a Brocade VCS Switch
|
||||
func (s *BrocadeVCSService) DeleteBrocadeVcsDevice(p *DeleteBrocadeVcsDeviceParams) (*DeleteBrocadeVcsDeviceResponse, error) {
|
||||
resp, err := s.cs.newRequest("deleteBrocadeVcsDevice", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r DeleteBrocadeVcsDeviceResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// If we have a async client, we need to wait for the async result
|
||||
if s.cs.async {
|
||||
b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
|
||||
if err != nil {
|
||||
if err == AsyncTimeoutErr {
|
||||
return &r, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(b, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type DeleteBrocadeVcsDeviceResponse struct {
|
||||
JobID string `json:"jobid"`
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
||||
type ListBrocadeVcsDeviceNetworksParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *ListBrocadeVcsDeviceNetworksParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["keyword"]; found {
|
||||
u.Set("keyword", v.(string))
|
||||
}
|
||||
if v, found := p.p["page"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("page", vv)
|
||||
}
|
||||
if v, found := p.p["pagesize"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("pagesize", vv)
|
||||
}
|
||||
if v, found := p.p["vcsdeviceid"]; found {
|
||||
u.Set("vcsdeviceid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *ListBrocadeVcsDeviceNetworksParams) SetKeyword(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["keyword"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListBrocadeVcsDeviceNetworksParams) SetPage(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["page"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListBrocadeVcsDeviceNetworksParams) SetPagesize(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["pagesize"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListBrocadeVcsDeviceNetworksParams) SetVcsdeviceid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["vcsdeviceid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new ListBrocadeVcsDeviceNetworksParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *BrocadeVCSService) NewListBrocadeVcsDeviceNetworksParams(vcsdeviceid string) *ListBrocadeVcsDeviceNetworksParams {
|
||||
p := &ListBrocadeVcsDeviceNetworksParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["vcsdeviceid"] = vcsdeviceid
|
||||
return p
|
||||
}
|
||||
|
||||
// This is a courtesy helper function, which in some cases may not work as expected!
|
||||
func (s *BrocadeVCSService) GetBrocadeVcsDeviceNetworkID(keyword string, vcsdeviceid string, opts ...OptionFunc) (string, int, error) {
|
||||
p := &ListBrocadeVcsDeviceNetworksParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
|
||||
p.p["keyword"] = keyword
|
||||
p.p["vcsdeviceid"] = vcsdeviceid
|
||||
|
||||
for _, fn := range append(s.cs.options, opts...) {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return "", -1, err
|
||||
}
|
||||
}
|
||||
|
||||
l, err := s.ListBrocadeVcsDeviceNetworks(p)
|
||||
if err != nil {
|
||||
return "", -1, err
|
||||
}
|
||||
|
||||
if l.Count == 0 {
|
||||
return "", l.Count, fmt.Errorf("No match found for %s: %+v", keyword, l)
|
||||
}
|
||||
|
||||
if l.Count == 1 {
|
||||
return l.BrocadeVcsDeviceNetworks[0].Id, l.Count, nil
|
||||
}
|
||||
|
||||
if l.Count > 1 {
|
||||
for _, v := range l.BrocadeVcsDeviceNetworks {
|
||||
if v.Name == keyword {
|
||||
return v.Id, l.Count, nil
|
||||
}
|
||||
}
|
||||
}
|
||||
return "", l.Count, fmt.Errorf("Could not find an exact match for %s: %+v", keyword, l)
|
||||
}
|
||||
|
||||
// lists network that are using a brocade vcs switch
|
||||
func (s *BrocadeVCSService) ListBrocadeVcsDeviceNetworks(p *ListBrocadeVcsDeviceNetworksParams) (*ListBrocadeVcsDeviceNetworksResponse, error) {
|
||||
resp, err := s.cs.newRequest("listBrocadeVcsDeviceNetworks", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ListBrocadeVcsDeviceNetworksResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ListBrocadeVcsDeviceNetworksResponse struct {
|
||||
Count int `json:"count"`
|
||||
BrocadeVcsDeviceNetworks []*BrocadeVcsDeviceNetwork `json:"brocadevcsdevicenetwork"`
|
||||
}
|
||||
|
||||
type BrocadeVcsDeviceNetwork struct {
|
||||
Account string `json:"account"`
|
||||
Aclid string `json:"aclid"`
|
||||
Acltype string `json:"acltype"`
|
||||
Broadcastdomaintype string `json:"broadcastdomaintype"`
|
||||
Broadcasturi string `json:"broadcasturi"`
|
||||
Canusefordeploy bool `json:"canusefordeploy"`
|
||||
Cidr string `json:"cidr"`
|
||||
Displaynetwork bool `json:"displaynetwork"`
|
||||
Displaytext string `json:"displaytext"`
|
||||
Dns1 string `json:"dns1"`
|
||||
Dns2 string `json:"dns2"`
|
||||
Domain string `json:"domain"`
|
||||
Domainid string `json:"domainid"`
|
||||
Externalid string `json:"externalid"`
|
||||
Gateway string `json:"gateway"`
|
||||
Id string `json:"id"`
|
||||
Ip6cidr string `json:"ip6cidr"`
|
||||
Ip6gateway string `json:"ip6gateway"`
|
||||
Isdefault bool `json:"isdefault"`
|
||||
Ispersistent bool `json:"ispersistent"`
|
||||
Issystem bool `json:"issystem"`
|
||||
Name string `json:"name"`
|
||||
Netmask string `json:"netmask"`
|
||||
Networkcidr string `json:"networkcidr"`
|
||||
Networkdomain string `json:"networkdomain"`
|
||||
Networkofferingavailability string `json:"networkofferingavailability"`
|
||||
Networkofferingconservemode bool `json:"networkofferingconservemode"`
|
||||
Networkofferingdisplaytext string `json:"networkofferingdisplaytext"`
|
||||
Networkofferingid string `json:"networkofferingid"`
|
||||
Networkofferingname string `json:"networkofferingname"`
|
||||
Physicalnetworkid string `json:"physicalnetworkid"`
|
||||
Project string `json:"project"`
|
||||
Projectid string `json:"projectid"`
|
||||
Redundantrouter bool `json:"redundantrouter"`
|
||||
Related string `json:"related"`
|
||||
Reservediprange string `json:"reservediprange"`
|
||||
Restartrequired bool `json:"restartrequired"`
|
||||
Service []BrocadeVcsDeviceNetworkService `json:"service"`
|
||||
Specifyipranges bool `json:"specifyipranges"`
|
||||
State string `json:"state"`
|
||||
Strechedl2subnet bool `json:"strechedl2subnet"`
|
||||
Subdomainaccess bool `json:"subdomainaccess"`
|
||||
Tags []Tags `json:"tags"`
|
||||
Traffictype string `json:"traffictype"`
|
||||
Type string `json:"type"`
|
||||
Vlan string `json:"vlan"`
|
||||
Vpcid string `json:"vpcid"`
|
||||
Zoneid string `json:"zoneid"`
|
||||
Zonename string `json:"zonename"`
|
||||
Zonesnetworkspans []interface{} `json:"zonesnetworkspans"`
|
||||
}
|
||||
|
||||
type BrocadeVcsDeviceNetworkService struct {
|
||||
Capability []BrocadeVcsDeviceNetworkServiceCapability `json:"capability"`
|
||||
Name string `json:"name"`
|
||||
Provider []BrocadeVcsDeviceNetworkServiceProvider `json:"provider"`
|
||||
}
|
||||
|
||||
type BrocadeVcsDeviceNetworkServiceProvider struct {
|
||||
Canenableindividualservice bool `json:"canenableindividualservice"`
|
||||
Destinationphysicalnetworkid string `json:"destinationphysicalnetworkid"`
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Physicalnetworkid string `json:"physicalnetworkid"`
|
||||
Servicelist []string `json:"servicelist"`
|
||||
State string `json:"state"`
|
||||
}
|
||||
|
||||
type BrocadeVcsDeviceNetworkServiceCapability struct {
|
||||
Canchooseservicecapability bool `json:"canchooseservicecapability"`
|
||||
Name string `json:"name"`
|
||||
Value string `json:"value"`
|
||||
}
|
||||
|
||||
type ListBrocadeVcsDevicesParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *ListBrocadeVcsDevicesParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["keyword"]; found {
|
||||
u.Set("keyword", v.(string))
|
||||
}
|
||||
if v, found := p.p["page"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("page", vv)
|
||||
}
|
||||
if v, found := p.p["pagesize"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("pagesize", vv)
|
||||
}
|
||||
if v, found := p.p["physicalnetworkid"]; found {
|
||||
u.Set("physicalnetworkid", v.(string))
|
||||
}
|
||||
if v, found := p.p["vcsdeviceid"]; found {
|
||||
u.Set("vcsdeviceid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *ListBrocadeVcsDevicesParams) SetKeyword(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["keyword"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListBrocadeVcsDevicesParams) SetPage(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["page"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListBrocadeVcsDevicesParams) SetPagesize(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["pagesize"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListBrocadeVcsDevicesParams) SetPhysicalnetworkid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["physicalnetworkid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListBrocadeVcsDevicesParams) SetVcsdeviceid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["vcsdeviceid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new ListBrocadeVcsDevicesParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *BrocadeVCSService) NewListBrocadeVcsDevicesParams() *ListBrocadeVcsDevicesParams {
|
||||
p := &ListBrocadeVcsDevicesParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
return p
|
||||
}
|
||||
|
||||
// Lists Brocade VCS Switches
|
||||
func (s *BrocadeVCSService) ListBrocadeVcsDevices(p *ListBrocadeVcsDevicesParams) (*ListBrocadeVcsDevicesResponse, error) {
|
||||
resp, err := s.cs.newRequest("listBrocadeVcsDevices", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ListBrocadeVcsDevicesResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ListBrocadeVcsDevicesResponse struct {
|
||||
Count int `json:"count"`
|
||||
BrocadeVcsDevices []*BrocadeVcsDevice `json:"brocadevcsdevice"`
|
||||
}
|
||||
|
||||
type BrocadeVcsDevice struct {
|
||||
Brocadedevicename string `json:"brocadedevicename"`
|
||||
Hostname string `json:"hostname"`
|
||||
Physicalnetworkid string `json:"physicalnetworkid"`
|
||||
Provider string `json:"provider"`
|
||||
Vcsdeviceid string `json:"vcsdeviceid"`
|
||||
}
|
||||
7
vendor/github.com/xanzy/go-cloudstack/cloudstack/CertificateService.go
generated
vendored
7
vendor/github.com/xanzy/go-cloudstack/cloudstack/CertificateService.go
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// Copyright 2016, Sander van Harmelen
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
@ -131,10 +131,11 @@ func (s *CertificateService) UploadCustomCertificate(p *UploadCustomCertificateP
|
|||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type UploadCustomCertificateResponse struct {
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
Message string `json:"message,omitempty"`
|
||||
JobID string `json:"jobid"`
|
||||
Message string `json:"message"`
|
||||
}
|
||||
|
|
|
|||
9
vendor/github.com/xanzy/go-cloudstack/cloudstack/CloudIdentifierService.go
generated
vendored
9
vendor/github.com/xanzy/go-cloudstack/cloudstack/CloudIdentifierService.go
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// Copyright 2016, Sander van Harmelen
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
@ -64,11 +64,12 @@ func (s *CloudIdentifierService) GetCloudIdentifier(p *GetCloudIdentifierParams)
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type GetCloudIdentifierResponse struct {
|
||||
Cloudidentifier string `json:"cloudidentifier,omitempty"`
|
||||
Signature string `json:"signature,omitempty"`
|
||||
Userid string `json:"userid,omitempty"`
|
||||
Cloudidentifier string `json:"cloudidentifier"`
|
||||
Signature string `json:"signature"`
|
||||
Userid string `json:"userid"`
|
||||
}
|
||||
|
|
|
|||
845
vendor/github.com/xanzy/go-cloudstack/cloudstack/ClusterService.go
generated
vendored
845
vendor/github.com/xanzy/go-cloudstack/cloudstack/ClusterService.go
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// Copyright 2016, Sander van Harmelen
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
@ -269,35 +269,141 @@ func (s *ClusterService) AddCluster(p *AddClusterParams) (*AddClusterResponse, e
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type AddClusterResponse struct {
|
||||
Allocationstate string `json:"allocationstate,omitempty"`
|
||||
Capacity []struct {
|
||||
Capacitytotal int64 `json:"capacitytotal,omitempty"`
|
||||
Capacityused int64 `json:"capacityused,omitempty"`
|
||||
Clusterid string `json:"clusterid,omitempty"`
|
||||
Clustername string `json:"clustername,omitempty"`
|
||||
Percentused string `json:"percentused,omitempty"`
|
||||
Podid string `json:"podid,omitempty"`
|
||||
Podname string `json:"podname,omitempty"`
|
||||
Type int `json:"type,omitempty"`
|
||||
Zoneid string `json:"zoneid,omitempty"`
|
||||
Zonename string `json:"zonename,omitempty"`
|
||||
} `json:"capacity,omitempty"`
|
||||
Clustertype string `json:"clustertype,omitempty"`
|
||||
Cpuovercommitratio string `json:"cpuovercommitratio,omitempty"`
|
||||
Hypervisortype string `json:"hypervisortype,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Managedstate string `json:"managedstate,omitempty"`
|
||||
Memoryovercommitratio string `json:"memoryovercommitratio,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Ovm3vip string `json:"ovm3vip,omitempty"`
|
||||
Podid string `json:"podid,omitempty"`
|
||||
Podname string `json:"podname,omitempty"`
|
||||
Zoneid string `json:"zoneid,omitempty"`
|
||||
Zonename string `json:"zonename,omitempty"`
|
||||
Allocationstate string `json:"allocationstate"`
|
||||
Capacity []AddClusterResponseCapacity `json:"capacity"`
|
||||
Clustertype string `json:"clustertype"`
|
||||
Cpuovercommitratio string `json:"cpuovercommitratio"`
|
||||
Hypervisortype string `json:"hypervisortype"`
|
||||
Id string `json:"id"`
|
||||
Managedstate string `json:"managedstate"`
|
||||
Memoryovercommitratio string `json:"memoryovercommitratio"`
|
||||
Name string `json:"name"`
|
||||
Ovm3vip string `json:"ovm3vip"`
|
||||
Podid string `json:"podid"`
|
||||
Podname string `json:"podname"`
|
||||
Resourcedetails map[string]string `json:"resourcedetails"`
|
||||
Zoneid string `json:"zoneid"`
|
||||
Zonename string `json:"zonename"`
|
||||
}
|
||||
|
||||
type AddClusterResponseCapacity struct {
|
||||
Capacityallocated int64 `json:"capacityallocated"`
|
||||
Capacitytotal int64 `json:"capacitytotal"`
|
||||
Capacityused int64 `json:"capacityused"`
|
||||
Clusterid string `json:"clusterid"`
|
||||
Clustername string `json:"clustername"`
|
||||
Name string `json:"name"`
|
||||
Percentused string `json:"percentused"`
|
||||
Podid string `json:"podid"`
|
||||
Podname string `json:"podname"`
|
||||
Type int `json:"type"`
|
||||
Zoneid string `json:"zoneid"`
|
||||
Zonename string `json:"zonename"`
|
||||
}
|
||||
|
||||
type DedicateClusterParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *DedicateClusterParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["account"]; found {
|
||||
u.Set("account", v.(string))
|
||||
}
|
||||
if v, found := p.p["clusterid"]; found {
|
||||
u.Set("clusterid", v.(string))
|
||||
}
|
||||
if v, found := p.p["domainid"]; found {
|
||||
u.Set("domainid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *DedicateClusterParams) SetAccount(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["account"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *DedicateClusterParams) SetClusterid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["clusterid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *DedicateClusterParams) SetDomainid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["domainid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new DedicateClusterParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *ClusterService) NewDedicateClusterParams(clusterid string, domainid string) *DedicateClusterParams {
|
||||
p := &DedicateClusterParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["clusterid"] = clusterid
|
||||
p.p["domainid"] = domainid
|
||||
return p
|
||||
}
|
||||
|
||||
// Dedicate an existing cluster
|
||||
func (s *ClusterService) DedicateCluster(p *DedicateClusterParams) (*DedicateClusterResponse, error) {
|
||||
resp, err := s.cs.newRequest("dedicateCluster", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r DedicateClusterResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// If we have a async client, we need to wait for the async result
|
||||
if s.cs.async {
|
||||
b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
|
||||
if err != nil {
|
||||
if err == AsyncTimeoutErr {
|
||||
return &r, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
b, err = getRawValue(b)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(b, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type DedicateClusterResponse struct {
|
||||
JobID string `json:"jobid"`
|
||||
Accountid string `json:"accountid"`
|
||||
Affinitygroupid string `json:"affinitygroupid"`
|
||||
Clusterid string `json:"clusterid"`
|
||||
Clustername string `json:"clustername"`
|
||||
Domainid string `json:"domainid"`
|
||||
Id string `json:"id"`
|
||||
}
|
||||
|
||||
type DeleteClusterParams struct {
|
||||
|
|
@ -343,141 +449,196 @@ func (s *ClusterService) DeleteCluster(p *DeleteClusterParams) (*DeleteClusterRe
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type DeleteClusterResponse struct {
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Success string `json:"success,omitempty"`
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
||||
type UpdateClusterParams struct {
|
||||
func (r *DeleteClusterResponse) UnmarshalJSON(b []byte) error {
|
||||
var m map[string]interface{}
|
||||
err := json.Unmarshal(b, &m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if success, ok := m["success"].(string); ok {
|
||||
m["success"] = success == "true"
|
||||
b, err = json.Marshal(m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
type alias DeleteClusterResponse
|
||||
return json.Unmarshal(b, (*alias)(r))
|
||||
}
|
||||
|
||||
type DisableOutOfBandManagementForClusterParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *UpdateClusterParams) toURLValues() url.Values {
|
||||
func (p *DisableOutOfBandManagementForClusterParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["allocationstate"]; found {
|
||||
u.Set("allocationstate", v.(string))
|
||||
}
|
||||
if v, found := p.p["clustername"]; found {
|
||||
u.Set("clustername", v.(string))
|
||||
}
|
||||
if v, found := p.p["clustertype"]; found {
|
||||
u.Set("clustertype", v.(string))
|
||||
}
|
||||
if v, found := p.p["hypervisor"]; found {
|
||||
u.Set("hypervisor", v.(string))
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
if v, found := p.p["managedstate"]; found {
|
||||
u.Set("managedstate", v.(string))
|
||||
if v, found := p.p["clusterid"]; found {
|
||||
u.Set("clusterid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *UpdateClusterParams) SetAllocationstate(v string) {
|
||||
func (p *DisableOutOfBandManagementForClusterParams) SetClusterid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["allocationstate"] = v
|
||||
p.p["clusterid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateClusterParams) SetClustername(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["clustername"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateClusterParams) SetClustertype(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["clustertype"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateClusterParams) SetHypervisor(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["hypervisor"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateClusterParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateClusterParams) SetManagedstate(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["managedstate"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new UpdateClusterParams instance,
|
||||
// You should always use this function to get a new DisableOutOfBandManagementForClusterParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *ClusterService) NewUpdateClusterParams(id string) *UpdateClusterParams {
|
||||
p := &UpdateClusterParams{}
|
||||
func (s *ClusterService) NewDisableOutOfBandManagementForClusterParams(clusterid string) *DisableOutOfBandManagementForClusterParams {
|
||||
p := &DisableOutOfBandManagementForClusterParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["id"] = id
|
||||
p.p["clusterid"] = clusterid
|
||||
return p
|
||||
}
|
||||
|
||||
// Updates an existing cluster
|
||||
func (s *ClusterService) UpdateCluster(p *UpdateClusterParams) (*UpdateClusterResponse, error) {
|
||||
resp, err := s.cs.newRequest("updateCluster", p.toURLValues())
|
||||
// Disables out-of-band management for a cluster
|
||||
func (s *ClusterService) DisableOutOfBandManagementForCluster(p *DisableOutOfBandManagementForClusterParams) (*DisableOutOfBandManagementForClusterResponse, error) {
|
||||
resp, err := s.cs.newRequest("disableOutOfBandManagementForCluster", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r UpdateClusterResponse
|
||||
var r DisableOutOfBandManagementForClusterResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// If we have a async client, we need to wait for the async result
|
||||
if s.cs.async {
|
||||
b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
|
||||
if err != nil {
|
||||
if err == AsyncTimeoutErr {
|
||||
return &r, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
b, err = getRawValue(b)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(b, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type UpdateClusterResponse struct {
|
||||
Allocationstate string `json:"allocationstate,omitempty"`
|
||||
Capacity []struct {
|
||||
Capacitytotal int64 `json:"capacitytotal,omitempty"`
|
||||
Capacityused int64 `json:"capacityused,omitempty"`
|
||||
Clusterid string `json:"clusterid,omitempty"`
|
||||
Clustername string `json:"clustername,omitempty"`
|
||||
Percentused string `json:"percentused,omitempty"`
|
||||
Podid string `json:"podid,omitempty"`
|
||||
Podname string `json:"podname,omitempty"`
|
||||
Type int `json:"type,omitempty"`
|
||||
Zoneid string `json:"zoneid,omitempty"`
|
||||
Zonename string `json:"zonename,omitempty"`
|
||||
} `json:"capacity,omitempty"`
|
||||
Clustertype string `json:"clustertype,omitempty"`
|
||||
Cpuovercommitratio string `json:"cpuovercommitratio,omitempty"`
|
||||
Hypervisortype string `json:"hypervisortype,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Managedstate string `json:"managedstate,omitempty"`
|
||||
Memoryovercommitratio string `json:"memoryovercommitratio,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Ovm3vip string `json:"ovm3vip,omitempty"`
|
||||
Podid string `json:"podid,omitempty"`
|
||||
Podname string `json:"podname,omitempty"`
|
||||
Zoneid string `json:"zoneid,omitempty"`
|
||||
Zonename string `json:"zonename,omitempty"`
|
||||
type DisableOutOfBandManagementForClusterResponse struct {
|
||||
JobID string `json:"jobid"`
|
||||
Action string `json:"action"`
|
||||
Address string `json:"address"`
|
||||
Description string `json:"description"`
|
||||
Driver string `json:"driver"`
|
||||
Enabled bool `json:"enabled"`
|
||||
Hostid string `json:"hostid"`
|
||||
Password string `json:"password"`
|
||||
Port string `json:"port"`
|
||||
Powerstate string `json:"powerstate"`
|
||||
Status bool `json:"status"`
|
||||
Username string `json:"username"`
|
||||
}
|
||||
|
||||
type EnableOutOfBandManagementForClusterParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *EnableOutOfBandManagementForClusterParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["clusterid"]; found {
|
||||
u.Set("clusterid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *EnableOutOfBandManagementForClusterParams) SetClusterid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["clusterid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new EnableOutOfBandManagementForClusterParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *ClusterService) NewEnableOutOfBandManagementForClusterParams(clusterid string) *EnableOutOfBandManagementForClusterParams {
|
||||
p := &EnableOutOfBandManagementForClusterParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["clusterid"] = clusterid
|
||||
return p
|
||||
}
|
||||
|
||||
// Enables out-of-band management for a cluster
|
||||
func (s *ClusterService) EnableOutOfBandManagementForCluster(p *EnableOutOfBandManagementForClusterParams) (*EnableOutOfBandManagementForClusterResponse, error) {
|
||||
resp, err := s.cs.newRequest("enableOutOfBandManagementForCluster", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r EnableOutOfBandManagementForClusterResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// If we have a async client, we need to wait for the async result
|
||||
if s.cs.async {
|
||||
b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
|
||||
if err != nil {
|
||||
if err == AsyncTimeoutErr {
|
||||
return &r, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
b, err = getRawValue(b)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(b, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type EnableOutOfBandManagementForClusterResponse struct {
|
||||
JobID string `json:"jobid"`
|
||||
Action string `json:"action"`
|
||||
Address string `json:"address"`
|
||||
Description string `json:"description"`
|
||||
Driver string `json:"driver"`
|
||||
Enabled bool `json:"enabled"`
|
||||
Hostid string `json:"hostid"`
|
||||
Password string `json:"password"`
|
||||
Port string `json:"port"`
|
||||
Powerstate string `json:"powerstate"`
|
||||
Status bool `json:"status"`
|
||||
Username string `json:"username"`
|
||||
}
|
||||
|
||||
type ListClustersParams struct {
|
||||
|
|
@ -642,7 +803,7 @@ func (s *ClusterService) GetClusterID(name string, opts ...OptionFunc) (string,
|
|||
|
||||
p.p["name"] = name
|
||||
|
||||
for _, fn := range opts {
|
||||
for _, fn := range append(s.cs.options, opts...) {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return "", -1, err
|
||||
}
|
||||
|
|
@ -692,7 +853,7 @@ func (s *ClusterService) GetClusterByID(id string, opts ...OptionFunc) (*Cluster
|
|||
|
||||
p.p["id"] = id
|
||||
|
||||
for _, fn := range opts {
|
||||
for _, fn := range append(s.cs.options, opts...) {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return nil, -1, err
|
||||
}
|
||||
|
|
@ -729,6 +890,7 @@ func (s *ClusterService) ListClusters(p *ListClustersParams) (*ListClustersRespo
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
|
|
@ -738,197 +900,36 @@ type ListClustersResponse struct {
|
|||
}
|
||||
|
||||
type Cluster struct {
|
||||
Allocationstate string `json:"allocationstate,omitempty"`
|
||||
Capacity []struct {
|
||||
Capacitytotal int64 `json:"capacitytotal,omitempty"`
|
||||
Capacityused int64 `json:"capacityused,omitempty"`
|
||||
Clusterid string `json:"clusterid,omitempty"`
|
||||
Clustername string `json:"clustername,omitempty"`
|
||||
Percentused string `json:"percentused,omitempty"`
|
||||
Podid string `json:"podid,omitempty"`
|
||||
Podname string `json:"podname,omitempty"`
|
||||
Type int `json:"type,omitempty"`
|
||||
Zoneid string `json:"zoneid,omitempty"`
|
||||
Zonename string `json:"zonename,omitempty"`
|
||||
} `json:"capacity,omitempty"`
|
||||
Clustertype string `json:"clustertype,omitempty"`
|
||||
Cpuovercommitratio string `json:"cpuovercommitratio,omitempty"`
|
||||
Hypervisortype string `json:"hypervisortype,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Managedstate string `json:"managedstate,omitempty"`
|
||||
Memoryovercommitratio string `json:"memoryovercommitratio,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Ovm3vip string `json:"ovm3vip,omitempty"`
|
||||
Podid string `json:"podid,omitempty"`
|
||||
Podname string `json:"podname,omitempty"`
|
||||
Zoneid string `json:"zoneid,omitempty"`
|
||||
Zonename string `json:"zonename,omitempty"`
|
||||
Allocationstate string `json:"allocationstate"`
|
||||
Capacity []ClusterCapacity `json:"capacity"`
|
||||
Clustertype string `json:"clustertype"`
|
||||
Cpuovercommitratio string `json:"cpuovercommitratio"`
|
||||
Hypervisortype string `json:"hypervisortype"`
|
||||
Id string `json:"id"`
|
||||
Managedstate string `json:"managedstate"`
|
||||
Memoryovercommitratio string `json:"memoryovercommitratio"`
|
||||
Name string `json:"name"`
|
||||
Ovm3vip string `json:"ovm3vip"`
|
||||
Podid string `json:"podid"`
|
||||
Podname string `json:"podname"`
|
||||
Resourcedetails map[string]string `json:"resourcedetails"`
|
||||
Zoneid string `json:"zoneid"`
|
||||
Zonename string `json:"zonename"`
|
||||
}
|
||||
|
||||
type DedicateClusterParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *DedicateClusterParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["account"]; found {
|
||||
u.Set("account", v.(string))
|
||||
}
|
||||
if v, found := p.p["clusterid"]; found {
|
||||
u.Set("clusterid", v.(string))
|
||||
}
|
||||
if v, found := p.p["domainid"]; found {
|
||||
u.Set("domainid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *DedicateClusterParams) SetAccount(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["account"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *DedicateClusterParams) SetClusterid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["clusterid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *DedicateClusterParams) SetDomainid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["domainid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new DedicateClusterParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *ClusterService) NewDedicateClusterParams(clusterid string, domainid string) *DedicateClusterParams {
|
||||
p := &DedicateClusterParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["clusterid"] = clusterid
|
||||
p.p["domainid"] = domainid
|
||||
return p
|
||||
}
|
||||
|
||||
// Dedicate an existing cluster
|
||||
func (s *ClusterService) DedicateCluster(p *DedicateClusterParams) (*DedicateClusterResponse, error) {
|
||||
resp, err := s.cs.newRequest("dedicateCluster", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r DedicateClusterResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// If we have a async client, we need to wait for the async result
|
||||
if s.cs.async {
|
||||
b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
|
||||
if err != nil {
|
||||
if err == AsyncTimeoutErr {
|
||||
return &r, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
b, err = getRawValue(b)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(b, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type DedicateClusterResponse struct {
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
Accountid string `json:"accountid,omitempty"`
|
||||
Affinitygroupid string `json:"affinitygroupid,omitempty"`
|
||||
Clusterid string `json:"clusterid,omitempty"`
|
||||
Clustername string `json:"clustername,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
}
|
||||
|
||||
type ReleaseDedicatedClusterParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *ReleaseDedicatedClusterParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["clusterid"]; found {
|
||||
u.Set("clusterid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *ReleaseDedicatedClusterParams) SetClusterid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["clusterid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new ReleaseDedicatedClusterParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *ClusterService) NewReleaseDedicatedClusterParams(clusterid string) *ReleaseDedicatedClusterParams {
|
||||
p := &ReleaseDedicatedClusterParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["clusterid"] = clusterid
|
||||
return p
|
||||
}
|
||||
|
||||
// Release the dedication for cluster
|
||||
func (s *ClusterService) ReleaseDedicatedCluster(p *ReleaseDedicatedClusterParams) (*ReleaseDedicatedClusterResponse, error) {
|
||||
resp, err := s.cs.newRequest("releaseDedicatedCluster", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ReleaseDedicatedClusterResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// If we have a async client, we need to wait for the async result
|
||||
if s.cs.async {
|
||||
b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
|
||||
if err != nil {
|
||||
if err == AsyncTimeoutErr {
|
||||
return &r, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(b, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ReleaseDedicatedClusterResponse struct {
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Success bool `json:"success,omitempty"`
|
||||
type ClusterCapacity struct {
|
||||
Capacityallocated int64 `json:"capacityallocated"`
|
||||
Capacitytotal int64 `json:"capacitytotal"`
|
||||
Capacityused int64 `json:"capacityused"`
|
||||
Clusterid string `json:"clusterid"`
|
||||
Clustername string `json:"clustername"`
|
||||
Name string `json:"name"`
|
||||
Percentused string `json:"percentused"`
|
||||
Podid string `json:"podid"`
|
||||
Podname string `json:"podname"`
|
||||
Type int `json:"type"`
|
||||
Zoneid string `json:"zoneid"`
|
||||
Zonename string `json:"zonename"`
|
||||
}
|
||||
|
||||
type ListDedicatedClustersParams struct {
|
||||
|
|
@ -1041,6 +1042,7 @@ func (s *ClusterService) ListDedicatedClusters(p *ListDedicatedClustersParams) (
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
|
|
@ -1050,10 +1052,213 @@ type ListDedicatedClustersResponse struct {
|
|||
}
|
||||
|
||||
type DedicatedCluster struct {
|
||||
Accountid string `json:"accountid,omitempty"`
|
||||
Affinitygroupid string `json:"affinitygroupid,omitempty"`
|
||||
Clusterid string `json:"clusterid,omitempty"`
|
||||
Clustername string `json:"clustername,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Accountid string `json:"accountid"`
|
||||
Affinitygroupid string `json:"affinitygroupid"`
|
||||
Clusterid string `json:"clusterid"`
|
||||
Clustername string `json:"clustername"`
|
||||
Domainid string `json:"domainid"`
|
||||
Id string `json:"id"`
|
||||
}
|
||||
|
||||
type ReleaseDedicatedClusterParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *ReleaseDedicatedClusterParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["clusterid"]; found {
|
||||
u.Set("clusterid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *ReleaseDedicatedClusterParams) SetClusterid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["clusterid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new ReleaseDedicatedClusterParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *ClusterService) NewReleaseDedicatedClusterParams(clusterid string) *ReleaseDedicatedClusterParams {
|
||||
p := &ReleaseDedicatedClusterParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["clusterid"] = clusterid
|
||||
return p
|
||||
}
|
||||
|
||||
// Release the dedication for cluster
|
||||
func (s *ClusterService) ReleaseDedicatedCluster(p *ReleaseDedicatedClusterParams) (*ReleaseDedicatedClusterResponse, error) {
|
||||
resp, err := s.cs.newRequest("releaseDedicatedCluster", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ReleaseDedicatedClusterResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// If we have a async client, we need to wait for the async result
|
||||
if s.cs.async {
|
||||
b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
|
||||
if err != nil {
|
||||
if err == AsyncTimeoutErr {
|
||||
return &r, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(b, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ReleaseDedicatedClusterResponse struct {
|
||||
JobID string `json:"jobid"`
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
||||
type UpdateClusterParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *UpdateClusterParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["allocationstate"]; found {
|
||||
u.Set("allocationstate", v.(string))
|
||||
}
|
||||
if v, found := p.p["clustername"]; found {
|
||||
u.Set("clustername", v.(string))
|
||||
}
|
||||
if v, found := p.p["clustertype"]; found {
|
||||
u.Set("clustertype", v.(string))
|
||||
}
|
||||
if v, found := p.p["hypervisor"]; found {
|
||||
u.Set("hypervisor", v.(string))
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
if v, found := p.p["managedstate"]; found {
|
||||
u.Set("managedstate", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *UpdateClusterParams) SetAllocationstate(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["allocationstate"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateClusterParams) SetClustername(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["clustername"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateClusterParams) SetClustertype(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["clustertype"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateClusterParams) SetHypervisor(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["hypervisor"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateClusterParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateClusterParams) SetManagedstate(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["managedstate"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new UpdateClusterParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *ClusterService) NewUpdateClusterParams(id string) *UpdateClusterParams {
|
||||
p := &UpdateClusterParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["id"] = id
|
||||
return p
|
||||
}
|
||||
|
||||
// Updates an existing cluster
|
||||
func (s *ClusterService) UpdateCluster(p *UpdateClusterParams) (*UpdateClusterResponse, error) {
|
||||
resp, err := s.cs.newRequest("updateCluster", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r UpdateClusterResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type UpdateClusterResponse struct {
|
||||
Allocationstate string `json:"allocationstate"`
|
||||
Capacity []UpdateClusterResponseCapacity `json:"capacity"`
|
||||
Clustertype string `json:"clustertype"`
|
||||
Cpuovercommitratio string `json:"cpuovercommitratio"`
|
||||
Hypervisortype string `json:"hypervisortype"`
|
||||
Id string `json:"id"`
|
||||
Managedstate string `json:"managedstate"`
|
||||
Memoryovercommitratio string `json:"memoryovercommitratio"`
|
||||
Name string `json:"name"`
|
||||
Ovm3vip string `json:"ovm3vip"`
|
||||
Podid string `json:"podid"`
|
||||
Podname string `json:"podname"`
|
||||
Resourcedetails map[string]string `json:"resourcedetails"`
|
||||
Zoneid string `json:"zoneid"`
|
||||
Zonename string `json:"zonename"`
|
||||
}
|
||||
|
||||
type UpdateClusterResponseCapacity struct {
|
||||
Capacityallocated int64 `json:"capacityallocated"`
|
||||
Capacitytotal int64 `json:"capacitytotal"`
|
||||
Capacityused int64 `json:"capacityused"`
|
||||
Clusterid string `json:"clusterid"`
|
||||
Clustername string `json:"clustername"`
|
||||
Name string `json:"name"`
|
||||
Percentused string `json:"percentused"`
|
||||
Podid string `json:"podid"`
|
||||
Podname string `json:"podname"`
|
||||
Type int `json:"type"`
|
||||
Zoneid string `json:"zoneid"`
|
||||
Zonename string `json:"zonename"`
|
||||
}
|
||||
|
|
|
|||
436
vendor/github.com/xanzy/go-cloudstack/cloudstack/ConfigurationService.go
generated
vendored
436
vendor/github.com/xanzy/go-cloudstack/cloudstack/ConfigurationService.go
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// Copyright 2016, Sander van Harmelen
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
@ -22,114 +22,62 @@ import (
|
|||
"strconv"
|
||||
)
|
||||
|
||||
type UpdateConfigurationParams struct {
|
||||
type ListCapabilitiesParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *UpdateConfigurationParams) toURLValues() url.Values {
|
||||
func (p *ListCapabilitiesParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["accountid"]; found {
|
||||
u.Set("accountid", v.(string))
|
||||
}
|
||||
if v, found := p.p["clusterid"]; found {
|
||||
u.Set("clusterid", v.(string))
|
||||
}
|
||||
if v, found := p.p["name"]; found {
|
||||
u.Set("name", v.(string))
|
||||
}
|
||||
if v, found := p.p["storageid"]; found {
|
||||
u.Set("storageid", v.(string))
|
||||
}
|
||||
if v, found := p.p["value"]; found {
|
||||
u.Set("value", v.(string))
|
||||
}
|
||||
if v, found := p.p["zoneid"]; found {
|
||||
u.Set("zoneid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *UpdateConfigurationParams) SetAccountid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["accountid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateConfigurationParams) SetClusterid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["clusterid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateConfigurationParams) SetName(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["name"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateConfigurationParams) SetStorageid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["storageid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateConfigurationParams) SetValue(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["value"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateConfigurationParams) SetZoneid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["zoneid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new UpdateConfigurationParams instance,
|
||||
// You should always use this function to get a new ListCapabilitiesParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *ConfigurationService) NewUpdateConfigurationParams(name string) *UpdateConfigurationParams {
|
||||
p := &UpdateConfigurationParams{}
|
||||
func (s *ConfigurationService) NewListCapabilitiesParams() *ListCapabilitiesParams {
|
||||
p := &ListCapabilitiesParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["name"] = name
|
||||
return p
|
||||
}
|
||||
|
||||
// Updates a configuration.
|
||||
func (s *ConfigurationService) UpdateConfiguration(p *UpdateConfigurationParams) (*UpdateConfigurationResponse, error) {
|
||||
resp, err := s.cs.newRequest("updateConfiguration", p.toURLValues())
|
||||
// Lists capabilities
|
||||
func (s *ConfigurationService) ListCapabilities(p *ListCapabilitiesParams) (*ListCapabilitiesResponse, error) {
|
||||
resp, err := s.cs.newRequest("listCapabilities", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r UpdateConfigurationResponse
|
||||
var r ListCapabilitiesResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type UpdateConfigurationResponse struct {
|
||||
Category string `json:"category,omitempty"`
|
||||
Description string `json:"description,omitempty"`
|
||||
Id int64 `json:"id,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Scope string `json:"scope,omitempty"`
|
||||
Value string `json:"value,omitempty"`
|
||||
type ListCapabilitiesResponse struct {
|
||||
Count int `json:"count"`
|
||||
Capabilities []*Capability `json:"capability"`
|
||||
}
|
||||
|
||||
type Capability struct {
|
||||
Allowusercreateprojects bool `json:"allowusercreateprojects"`
|
||||
Allowuserexpungerecovervm bool `json:"allowuserexpungerecovervm"`
|
||||
Allowuserviewdestroyedvm bool `json:"allowuserviewdestroyedvm"`
|
||||
Apilimitinterval int `json:"apilimitinterval"`
|
||||
Apilimitmax int `json:"apilimitmax"`
|
||||
Cloudstackversion string `json:"cloudstackversion"`
|
||||
Customdiskofferingmaxsize int64 `json:"customdiskofferingmaxsize"`
|
||||
Customdiskofferingminsize int64 `json:"customdiskofferingminsize"`
|
||||
Dynamicrolesenabled bool `json:"dynamicrolesenabled"`
|
||||
Kvmsnapshotenabled bool `json:"kvmsnapshotenabled"`
|
||||
Projectinviterequired bool `json:"projectinviterequired"`
|
||||
Regionsecondaryenabled bool `json:"regionsecondaryenabled"`
|
||||
Securitygroupsenabled bool `json:"securitygroupsenabled"`
|
||||
SupportELB string `json:"supportELB"`
|
||||
Userpublictemplateenabled bool `json:"userpublictemplateenabled"`
|
||||
}
|
||||
|
||||
type ListConfigurationsParams struct {
|
||||
|
|
@ -150,6 +98,12 @@ func (p *ListConfigurationsParams) toURLValues() url.Values {
|
|||
if v, found := p.p["clusterid"]; found {
|
||||
u.Set("clusterid", v.(string))
|
||||
}
|
||||
if v, found := p.p["domainid"]; found {
|
||||
u.Set("domainid", v.(string))
|
||||
}
|
||||
if v, found := p.p["imagestoreuuid"]; found {
|
||||
u.Set("imagestoreuuid", v.(string))
|
||||
}
|
||||
if v, found := p.p["keyword"]; found {
|
||||
u.Set("keyword", v.(string))
|
||||
}
|
||||
|
|
@ -197,6 +151,22 @@ func (p *ListConfigurationsParams) SetClusterid(v string) {
|
|||
return
|
||||
}
|
||||
|
||||
func (p *ListConfigurationsParams) SetDomainid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["domainid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListConfigurationsParams) SetImagestoreuuid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["imagestoreuuid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListConfigurationsParams) SetKeyword(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
|
|
@ -264,6 +234,7 @@ func (s *ConfigurationService) ListConfigurations(p *ListConfigurationsParams) (
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
|
|
@ -273,68 +244,12 @@ type ListConfigurationsResponse struct {
|
|||
}
|
||||
|
||||
type Configuration struct {
|
||||
Category string `json:"category,omitempty"`
|
||||
Description string `json:"description,omitempty"`
|
||||
Id int64 `json:"id,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Scope string `json:"scope,omitempty"`
|
||||
Value string `json:"value,omitempty"`
|
||||
}
|
||||
|
||||
type ListCapabilitiesParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *ListCapabilitiesParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
// You should always use this function to get a new ListCapabilitiesParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *ConfigurationService) NewListCapabilitiesParams() *ListCapabilitiesParams {
|
||||
p := &ListCapabilitiesParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
return p
|
||||
}
|
||||
|
||||
// Lists capabilities
|
||||
func (s *ConfigurationService) ListCapabilities(p *ListCapabilitiesParams) (*ListCapabilitiesResponse, error) {
|
||||
resp, err := s.cs.newRequest("listCapabilities", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ListCapabilitiesResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ListCapabilitiesResponse struct {
|
||||
Count int `json:"count"`
|
||||
Capabilities []*Capability `json:"capability"`
|
||||
}
|
||||
|
||||
type Capability struct {
|
||||
Allowusercreateprojects bool `json:"allowusercreateprojects,omitempty"`
|
||||
Allowuserexpungerecovervm bool `json:"allowuserexpungerecovervm,omitempty"`
|
||||
Allowuserviewdestroyedvm bool `json:"allowuserviewdestroyedvm,omitempty"`
|
||||
Apilimitinterval int `json:"apilimitinterval,omitempty"`
|
||||
Apilimitmax int `json:"apilimitmax,omitempty"`
|
||||
Cloudstackversion string `json:"cloudstackversion,omitempty"`
|
||||
Customdiskofferingmaxsize int64 `json:"customdiskofferingmaxsize,omitempty"`
|
||||
Customdiskofferingminsize int64 `json:"customdiskofferingminsize,omitempty"`
|
||||
Kvmsnapshotenabled bool `json:"kvmsnapshotenabled,omitempty"`
|
||||
Projectinviterequired bool `json:"projectinviterequired,omitempty"`
|
||||
Regionsecondaryenabled bool `json:"regionsecondaryenabled,omitempty"`
|
||||
Securitygroupsenabled bool `json:"securitygroupsenabled,omitempty"`
|
||||
SupportELB string `json:"supportELB,omitempty"`
|
||||
Userpublictemplateenabled bool `json:"userpublictemplateenabled,omitempty"`
|
||||
Category string `json:"category"`
|
||||
Description string `json:"description"`
|
||||
Id int64 `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Scope string `json:"scope"`
|
||||
Value string `json:"value"`
|
||||
}
|
||||
|
||||
type ListDeploymentPlannersParams struct {
|
||||
|
|
@ -403,6 +318,7 @@ func (s *ConfigurationService) ListDeploymentPlanners(p *ListDeploymentPlannersP
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
|
|
@ -412,222 +328,138 @@ type ListDeploymentPlannersResponse struct {
|
|||
}
|
||||
|
||||
type DeploymentPlanner struct {
|
||||
Name string `json:"name,omitempty"`
|
||||
Name string `json:"name"`
|
||||
}
|
||||
|
||||
type ListLdapConfigurationsParams struct {
|
||||
type UpdateConfigurationParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *ListLdapConfigurationsParams) toURLValues() url.Values {
|
||||
func (p *UpdateConfigurationParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["hostname"]; found {
|
||||
u.Set("hostname", v.(string))
|
||||
if v, found := p.p["accountid"]; found {
|
||||
u.Set("accountid", v.(string))
|
||||
}
|
||||
if v, found := p.p["keyword"]; found {
|
||||
u.Set("keyword", v.(string))
|
||||
if v, found := p.p["clusterid"]; found {
|
||||
u.Set("clusterid", v.(string))
|
||||
}
|
||||
if v, found := p.p["page"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("page", vv)
|
||||
if v, found := p.p["domainid"]; found {
|
||||
u.Set("domainid", v.(string))
|
||||
}
|
||||
if v, found := p.p["pagesize"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("pagesize", vv)
|
||||
if v, found := p.p["imagestoreuuid"]; found {
|
||||
u.Set("imagestoreuuid", v.(string))
|
||||
}
|
||||
if v, found := p.p["port"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("port", vv)
|
||||
if v, found := p.p["name"]; found {
|
||||
u.Set("name", v.(string))
|
||||
}
|
||||
if v, found := p.p["storageid"]; found {
|
||||
u.Set("storageid", v.(string))
|
||||
}
|
||||
if v, found := p.p["value"]; found {
|
||||
u.Set("value", v.(string))
|
||||
}
|
||||
if v, found := p.p["zoneid"]; found {
|
||||
u.Set("zoneid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *ListLdapConfigurationsParams) SetHostname(v string) {
|
||||
func (p *UpdateConfigurationParams) SetAccountid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["hostname"] = v
|
||||
p.p["accountid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListLdapConfigurationsParams) SetKeyword(v string) {
|
||||
func (p *UpdateConfigurationParams) SetClusterid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["keyword"] = v
|
||||
p.p["clusterid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListLdapConfigurationsParams) SetPage(v int) {
|
||||
func (p *UpdateConfigurationParams) SetDomainid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["page"] = v
|
||||
p.p["domainid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListLdapConfigurationsParams) SetPagesize(v int) {
|
||||
func (p *UpdateConfigurationParams) SetImagestoreuuid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["pagesize"] = v
|
||||
p.p["imagestoreuuid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListLdapConfigurationsParams) SetPort(v int) {
|
||||
func (p *UpdateConfigurationParams) SetName(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["port"] = v
|
||||
p.p["name"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new ListLdapConfigurationsParams instance,
|
||||
func (p *UpdateConfigurationParams) SetStorageid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["storageid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateConfigurationParams) SetValue(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["value"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateConfigurationParams) SetZoneid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["zoneid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new UpdateConfigurationParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *ConfigurationService) NewListLdapConfigurationsParams() *ListLdapConfigurationsParams {
|
||||
p := &ListLdapConfigurationsParams{}
|
||||
func (s *ConfigurationService) NewUpdateConfigurationParams(name string) *UpdateConfigurationParams {
|
||||
p := &UpdateConfigurationParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["name"] = name
|
||||
return p
|
||||
}
|
||||
|
||||
// Lists all LDAP configurations
|
||||
func (s *ConfigurationService) ListLdapConfigurations(p *ListLdapConfigurationsParams) (*ListLdapConfigurationsResponse, error) {
|
||||
resp, err := s.cs.newRequest("listLdapConfigurations", p.toURLValues())
|
||||
// Updates a configuration.
|
||||
func (s *ConfigurationService) UpdateConfiguration(p *UpdateConfigurationParams) (*UpdateConfigurationResponse, error) {
|
||||
resp, err := s.cs.newRequest("updateConfiguration", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ListLdapConfigurationsResponse
|
||||
var r UpdateConfigurationResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ListLdapConfigurationsResponse struct {
|
||||
Count int `json:"count"`
|
||||
LdapConfigurations []*LdapConfiguration `json:"ldapconfiguration"`
|
||||
}
|
||||
|
||||
type LdapConfiguration struct {
|
||||
Hostname string `json:"hostname,omitempty"`
|
||||
Port int `json:"port,omitempty"`
|
||||
}
|
||||
|
||||
type AddLdapConfigurationParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *AddLdapConfigurationParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["hostname"]; found {
|
||||
u.Set("hostname", v.(string))
|
||||
}
|
||||
if v, found := p.p["port"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("port", vv)
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *AddLdapConfigurationParams) SetHostname(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["hostname"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *AddLdapConfigurationParams) SetPort(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["port"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new AddLdapConfigurationParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *ConfigurationService) NewAddLdapConfigurationParams(hostname string, port int) *AddLdapConfigurationParams {
|
||||
p := &AddLdapConfigurationParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["hostname"] = hostname
|
||||
p.p["port"] = port
|
||||
return p
|
||||
}
|
||||
|
||||
// Add a new Ldap Configuration
|
||||
func (s *ConfigurationService) AddLdapConfiguration(p *AddLdapConfigurationParams) (*AddLdapConfigurationResponse, error) {
|
||||
resp, err := s.cs.newRequest("addLdapConfiguration", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r AddLdapConfigurationResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type AddLdapConfigurationResponse struct {
|
||||
Hostname string `json:"hostname,omitempty"`
|
||||
Port int `json:"port,omitempty"`
|
||||
}
|
||||
|
||||
type DeleteLdapConfigurationParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *DeleteLdapConfigurationParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["hostname"]; found {
|
||||
u.Set("hostname", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *DeleteLdapConfigurationParams) SetHostname(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["hostname"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new DeleteLdapConfigurationParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *ConfigurationService) NewDeleteLdapConfigurationParams(hostname string) *DeleteLdapConfigurationParams {
|
||||
p := &DeleteLdapConfigurationParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["hostname"] = hostname
|
||||
return p
|
||||
}
|
||||
|
||||
// Remove an Ldap Configuration
|
||||
func (s *ConfigurationService) DeleteLdapConfiguration(p *DeleteLdapConfigurationParams) (*DeleteLdapConfigurationResponse, error) {
|
||||
resp, err := s.cs.newRequest("deleteLdapConfiguration", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r DeleteLdapConfigurationResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type DeleteLdapConfigurationResponse struct {
|
||||
Hostname string `json:"hostname,omitempty"`
|
||||
Port int `json:"port,omitempty"`
|
||||
type UpdateConfigurationResponse struct {
|
||||
Category string `json:"category"`
|
||||
Description string `json:"description"`
|
||||
Id int64 `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Scope string `json:"scope"`
|
||||
Value string `json:"value"`
|
||||
}
|
||||
|
|
|
|||
77
vendor/github.com/xanzy/go-cloudstack/cloudstack/CustomService.go
generated
vendored
Normal file
77
vendor/github.com/xanzy/go-cloudstack/cloudstack/CustomService.go
generated
vendored
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
//
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
package cloudstack
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"net/url"
|
||||
"strconv"
|
||||
"strings"
|
||||
)
|
||||
|
||||
type CustomServiceParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *CustomServiceParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
|
||||
for k, v := range p.p {
|
||||
switch t := v.(type) {
|
||||
case bool:
|
||||
u.Set(k, strconv.FormatBool(t))
|
||||
case int:
|
||||
u.Set(k, strconv.Itoa(t))
|
||||
case int64:
|
||||
vv := strconv.FormatInt(t, 10)
|
||||
u.Set(k, vv)
|
||||
case string:
|
||||
u.Set(k, t)
|
||||
case []string:
|
||||
u.Set(k, strings.Join(t, ", "))
|
||||
case map[string]string:
|
||||
i := 0
|
||||
for kk, vv := range t {
|
||||
u.Set(fmt.Sprintf("%s[%d].%s", k, i, kk), vv)
|
||||
i++
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *CustomServiceParams) SetParam(param string, v interface{}) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p[param] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (s *CustomService) CustomRequest(api string, p *CustomServiceParams, result interface{}) error {
|
||||
resp, err := s.cs.newRequest(api, p.toURLValues())
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return json.Unmarshal(resp, result)
|
||||
}
|
||||
349
vendor/github.com/xanzy/go-cloudstack/cloudstack/DiskOfferingService.go
generated
vendored
349
vendor/github.com/xanzy/go-cloudstack/cloudstack/DiskOfferingService.go
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// Copyright 2016, Sander van Harmelen
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
@ -255,147 +255,32 @@ func (s *DiskOfferingService) CreateDiskOffering(p *CreateDiskOfferingParams) (*
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type CreateDiskOfferingResponse struct {
|
||||
CacheMode string `json:"cacheMode,omitempty"`
|
||||
Created string `json:"created,omitempty"`
|
||||
DiskBytesReadRate int64 `json:"diskBytesReadRate,omitempty"`
|
||||
DiskBytesWriteRate int64 `json:"diskBytesWriteRate,omitempty"`
|
||||
DiskIopsReadRate int64 `json:"diskIopsReadRate,omitempty"`
|
||||
DiskIopsWriteRate int64 `json:"diskIopsWriteRate,omitempty"`
|
||||
Disksize int64 `json:"disksize,omitempty"`
|
||||
Displayoffering bool `json:"displayoffering,omitempty"`
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Hypervisorsnapshotreserve int `json:"hypervisorsnapshotreserve,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Iscustomized bool `json:"iscustomized,omitempty"`
|
||||
Iscustomizediops bool `json:"iscustomizediops,omitempty"`
|
||||
Maxiops int64 `json:"maxiops,omitempty"`
|
||||
Miniops int64 `json:"miniops,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Provisioningtype string `json:"provisioningtype,omitempty"`
|
||||
Storagetype string `json:"storagetype,omitempty"`
|
||||
Tags string `json:"tags,omitempty"`
|
||||
}
|
||||
|
||||
type UpdateDiskOfferingParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *UpdateDiskOfferingParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["displayoffering"]; found {
|
||||
vv := strconv.FormatBool(v.(bool))
|
||||
u.Set("displayoffering", vv)
|
||||
}
|
||||
if v, found := p.p["displaytext"]; found {
|
||||
u.Set("displaytext", v.(string))
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
if v, found := p.p["name"]; found {
|
||||
u.Set("name", v.(string))
|
||||
}
|
||||
if v, found := p.p["sortkey"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("sortkey", vv)
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *UpdateDiskOfferingParams) SetDisplayoffering(v bool) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["displayoffering"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateDiskOfferingParams) SetDisplaytext(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["displaytext"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateDiskOfferingParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateDiskOfferingParams) SetName(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["name"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateDiskOfferingParams) SetSortkey(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["sortkey"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new UpdateDiskOfferingParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *DiskOfferingService) NewUpdateDiskOfferingParams(id string) *UpdateDiskOfferingParams {
|
||||
p := &UpdateDiskOfferingParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["id"] = id
|
||||
return p
|
||||
}
|
||||
|
||||
// Updates a disk offering.
|
||||
func (s *DiskOfferingService) UpdateDiskOffering(p *UpdateDiskOfferingParams) (*UpdateDiskOfferingResponse, error) {
|
||||
resp, err := s.cs.newRequest("updateDiskOffering", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r UpdateDiskOfferingResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type UpdateDiskOfferingResponse struct {
|
||||
CacheMode string `json:"cacheMode,omitempty"`
|
||||
Created string `json:"created,omitempty"`
|
||||
DiskBytesReadRate int64 `json:"diskBytesReadRate,omitempty"`
|
||||
DiskBytesWriteRate int64 `json:"diskBytesWriteRate,omitempty"`
|
||||
DiskIopsReadRate int64 `json:"diskIopsReadRate,omitempty"`
|
||||
DiskIopsWriteRate int64 `json:"diskIopsWriteRate,omitempty"`
|
||||
Disksize int64 `json:"disksize,omitempty"`
|
||||
Displayoffering bool `json:"displayoffering,omitempty"`
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Hypervisorsnapshotreserve int `json:"hypervisorsnapshotreserve,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Iscustomized bool `json:"iscustomized,omitempty"`
|
||||
Iscustomizediops bool `json:"iscustomizediops,omitempty"`
|
||||
Maxiops int64 `json:"maxiops,omitempty"`
|
||||
Miniops int64 `json:"miniops,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Provisioningtype string `json:"provisioningtype,omitempty"`
|
||||
Storagetype string `json:"storagetype,omitempty"`
|
||||
Tags string `json:"tags,omitempty"`
|
||||
CacheMode string `json:"cacheMode"`
|
||||
Created string `json:"created"`
|
||||
DiskBytesReadRate int64 `json:"diskBytesReadRate"`
|
||||
DiskBytesWriteRate int64 `json:"diskBytesWriteRate"`
|
||||
DiskIopsReadRate int64 `json:"diskIopsReadRate"`
|
||||
DiskIopsWriteRate int64 `json:"diskIopsWriteRate"`
|
||||
Disksize int64 `json:"disksize"`
|
||||
Displayoffering bool `json:"displayoffering"`
|
||||
Displaytext string `json:"displaytext"`
|
||||
Domain string `json:"domain"`
|
||||
Domainid string `json:"domainid"`
|
||||
Hypervisorsnapshotreserve int `json:"hypervisorsnapshotreserve"`
|
||||
Id string `json:"id"`
|
||||
Iscustomized bool `json:"iscustomized"`
|
||||
Iscustomizediops bool `json:"iscustomizediops"`
|
||||
Maxiops int64 `json:"maxiops"`
|
||||
Miniops int64 `json:"miniops"`
|
||||
Name string `json:"name"`
|
||||
Provisioningtype string `json:"provisioningtype"`
|
||||
Storagetype string `json:"storagetype"`
|
||||
Tags string `json:"tags"`
|
||||
}
|
||||
|
||||
type DeleteDiskOfferingParams struct {
|
||||
|
|
@ -441,12 +326,32 @@ func (s *DiskOfferingService) DeleteDiskOffering(p *DeleteDiskOfferingParams) (*
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type DeleteDiskOfferingResponse struct {
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Success string `json:"success,omitempty"`
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
||||
func (r *DeleteDiskOfferingResponse) UnmarshalJSON(b []byte) error {
|
||||
var m map[string]interface{}
|
||||
err := json.Unmarshal(b, &m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if success, ok := m["success"].(string); ok {
|
||||
m["success"] = success == "true"
|
||||
b, err = json.Marshal(m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
type alias DeleteDiskOfferingResponse
|
||||
return json.Unmarshal(b, (*alias)(r))
|
||||
}
|
||||
|
||||
type ListDiskOfferingsParams struct {
|
||||
|
|
@ -568,7 +473,7 @@ func (s *DiskOfferingService) GetDiskOfferingID(name string, opts ...OptionFunc)
|
|||
|
||||
p.p["name"] = name
|
||||
|
||||
for _, fn := range opts {
|
||||
for _, fn := range append(s.cs.options, opts...) {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return "", -1, err
|
||||
}
|
||||
|
|
@ -618,7 +523,7 @@ func (s *DiskOfferingService) GetDiskOfferingByID(id string, opts ...OptionFunc)
|
|||
|
||||
p.p["id"] = id
|
||||
|
||||
for _, fn := range opts {
|
||||
for _, fn := range append(s.cs.options, opts...) {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return nil, -1, err
|
||||
}
|
||||
|
|
@ -655,6 +560,7 @@ func (s *DiskOfferingService) ListDiskOfferings(p *ListDiskOfferingsParams) (*Li
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
|
|
@ -664,25 +570,142 @@ type ListDiskOfferingsResponse struct {
|
|||
}
|
||||
|
||||
type DiskOffering struct {
|
||||
CacheMode string `json:"cacheMode,omitempty"`
|
||||
Created string `json:"created,omitempty"`
|
||||
DiskBytesReadRate int64 `json:"diskBytesReadRate,omitempty"`
|
||||
DiskBytesWriteRate int64 `json:"diskBytesWriteRate,omitempty"`
|
||||
DiskIopsReadRate int64 `json:"diskIopsReadRate,omitempty"`
|
||||
DiskIopsWriteRate int64 `json:"diskIopsWriteRate,omitempty"`
|
||||
Disksize int64 `json:"disksize,omitempty"`
|
||||
Displayoffering bool `json:"displayoffering,omitempty"`
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Hypervisorsnapshotreserve int `json:"hypervisorsnapshotreserve,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Iscustomized bool `json:"iscustomized,omitempty"`
|
||||
Iscustomizediops bool `json:"iscustomizediops,omitempty"`
|
||||
Maxiops int64 `json:"maxiops,omitempty"`
|
||||
Miniops int64 `json:"miniops,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Provisioningtype string `json:"provisioningtype,omitempty"`
|
||||
Storagetype string `json:"storagetype,omitempty"`
|
||||
Tags string `json:"tags,omitempty"`
|
||||
CacheMode string `json:"cacheMode"`
|
||||
Created string `json:"created"`
|
||||
DiskBytesReadRate int64 `json:"diskBytesReadRate"`
|
||||
DiskBytesWriteRate int64 `json:"diskBytesWriteRate"`
|
||||
DiskIopsReadRate int64 `json:"diskIopsReadRate"`
|
||||
DiskIopsWriteRate int64 `json:"diskIopsWriteRate"`
|
||||
Disksize int64 `json:"disksize"`
|
||||
Displayoffering bool `json:"displayoffering"`
|
||||
Displaytext string `json:"displaytext"`
|
||||
Domain string `json:"domain"`
|
||||
Domainid string `json:"domainid"`
|
||||
Hypervisorsnapshotreserve int `json:"hypervisorsnapshotreserve"`
|
||||
Id string `json:"id"`
|
||||
Iscustomized bool `json:"iscustomized"`
|
||||
Iscustomizediops bool `json:"iscustomizediops"`
|
||||
Maxiops int64 `json:"maxiops"`
|
||||
Miniops int64 `json:"miniops"`
|
||||
Name string `json:"name"`
|
||||
Provisioningtype string `json:"provisioningtype"`
|
||||
Storagetype string `json:"storagetype"`
|
||||
Tags string `json:"tags"`
|
||||
}
|
||||
|
||||
type UpdateDiskOfferingParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *UpdateDiskOfferingParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["displayoffering"]; found {
|
||||
vv := strconv.FormatBool(v.(bool))
|
||||
u.Set("displayoffering", vv)
|
||||
}
|
||||
if v, found := p.p["displaytext"]; found {
|
||||
u.Set("displaytext", v.(string))
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
if v, found := p.p["name"]; found {
|
||||
u.Set("name", v.(string))
|
||||
}
|
||||
if v, found := p.p["sortkey"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("sortkey", vv)
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *UpdateDiskOfferingParams) SetDisplayoffering(v bool) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["displayoffering"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateDiskOfferingParams) SetDisplaytext(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["displaytext"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateDiskOfferingParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateDiskOfferingParams) SetName(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["name"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateDiskOfferingParams) SetSortkey(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["sortkey"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new UpdateDiskOfferingParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *DiskOfferingService) NewUpdateDiskOfferingParams(id string) *UpdateDiskOfferingParams {
|
||||
p := &UpdateDiskOfferingParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["id"] = id
|
||||
return p
|
||||
}
|
||||
|
||||
// Updates a disk offering.
|
||||
func (s *DiskOfferingService) UpdateDiskOffering(p *UpdateDiskOfferingParams) (*UpdateDiskOfferingResponse, error) {
|
||||
resp, err := s.cs.newRequest("updateDiskOffering", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r UpdateDiskOfferingResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type UpdateDiskOfferingResponse struct {
|
||||
CacheMode string `json:"cacheMode"`
|
||||
Created string `json:"created"`
|
||||
DiskBytesReadRate int64 `json:"diskBytesReadRate"`
|
||||
DiskBytesWriteRate int64 `json:"diskBytesWriteRate"`
|
||||
DiskIopsReadRate int64 `json:"diskIopsReadRate"`
|
||||
DiskIopsWriteRate int64 `json:"diskIopsWriteRate"`
|
||||
Disksize int64 `json:"disksize"`
|
||||
Displayoffering bool `json:"displayoffering"`
|
||||
Displaytext string `json:"displaytext"`
|
||||
Domain string `json:"domain"`
|
||||
Domainid string `json:"domainid"`
|
||||
Hypervisorsnapshotreserve int `json:"hypervisorsnapshotreserve"`
|
||||
Id string `json:"id"`
|
||||
Iscustomized bool `json:"iscustomized"`
|
||||
Iscustomizediops bool `json:"iscustomizediops"`
|
||||
Maxiops int64 `json:"maxiops"`
|
||||
Miniops int64 `json:"miniops"`
|
||||
Name string `json:"name"`
|
||||
Provisioningtype string `json:"provisioningtype"`
|
||||
Storagetype string `json:"storagetype"`
|
||||
Tags string `json:"tags"`
|
||||
}
|
||||
|
|
|
|||
915
vendor/github.com/xanzy/go-cloudstack/cloudstack/DomainService.go
generated
vendored
915
vendor/github.com/xanzy/go-cloudstack/cloudstack/DomainService.go
generated
vendored
File diff suppressed because it is too large
Load diff
505
vendor/github.com/xanzy/go-cloudstack/cloudstack/EventService.go
generated
vendored
505
vendor/github.com/xanzy/go-cloudstack/cloudstack/EventService.go
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// Copyright 2016, Sander van Harmelen
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
@ -24,6 +24,258 @@ import (
|
|||
"strings"
|
||||
)
|
||||
|
||||
type ArchiveEventsParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *ArchiveEventsParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["enddate"]; found {
|
||||
u.Set("enddate", v.(string))
|
||||
}
|
||||
if v, found := p.p["ids"]; found {
|
||||
vv := strings.Join(v.([]string), ",")
|
||||
u.Set("ids", vv)
|
||||
}
|
||||
if v, found := p.p["startdate"]; found {
|
||||
u.Set("startdate", v.(string))
|
||||
}
|
||||
if v, found := p.p["type"]; found {
|
||||
u.Set("type", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *ArchiveEventsParams) SetEnddate(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["enddate"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ArchiveEventsParams) SetIds(v []string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["ids"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ArchiveEventsParams) SetStartdate(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["startdate"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ArchiveEventsParams) SetType(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["type"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new ArchiveEventsParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *EventService) NewArchiveEventsParams() *ArchiveEventsParams {
|
||||
p := &ArchiveEventsParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
return p
|
||||
}
|
||||
|
||||
// Archive one or more events.
|
||||
func (s *EventService) ArchiveEvents(p *ArchiveEventsParams) (*ArchiveEventsResponse, error) {
|
||||
resp, err := s.cs.newRequest("archiveEvents", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ArchiveEventsResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ArchiveEventsResponse struct {
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
||||
func (r *ArchiveEventsResponse) UnmarshalJSON(b []byte) error {
|
||||
var m map[string]interface{}
|
||||
err := json.Unmarshal(b, &m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if success, ok := m["success"].(string); ok {
|
||||
m["success"] = success == "true"
|
||||
b, err = json.Marshal(m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
type alias ArchiveEventsResponse
|
||||
return json.Unmarshal(b, (*alias)(r))
|
||||
}
|
||||
|
||||
type DeleteEventsParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *DeleteEventsParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["enddate"]; found {
|
||||
u.Set("enddate", v.(string))
|
||||
}
|
||||
if v, found := p.p["ids"]; found {
|
||||
vv := strings.Join(v.([]string), ",")
|
||||
u.Set("ids", vv)
|
||||
}
|
||||
if v, found := p.p["startdate"]; found {
|
||||
u.Set("startdate", v.(string))
|
||||
}
|
||||
if v, found := p.p["type"]; found {
|
||||
u.Set("type", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *DeleteEventsParams) SetEnddate(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["enddate"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *DeleteEventsParams) SetIds(v []string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["ids"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *DeleteEventsParams) SetStartdate(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["startdate"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *DeleteEventsParams) SetType(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["type"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new DeleteEventsParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *EventService) NewDeleteEventsParams() *DeleteEventsParams {
|
||||
p := &DeleteEventsParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
return p
|
||||
}
|
||||
|
||||
// Delete one or more events.
|
||||
func (s *EventService) DeleteEvents(p *DeleteEventsParams) (*DeleteEventsResponse, error) {
|
||||
resp, err := s.cs.newRequest("deleteEvents", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r DeleteEventsResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type DeleteEventsResponse struct {
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
||||
func (r *DeleteEventsResponse) UnmarshalJSON(b []byte) error {
|
||||
var m map[string]interface{}
|
||||
err := json.Unmarshal(b, &m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if success, ok := m["success"].(string); ok {
|
||||
m["success"] = success == "true"
|
||||
b, err = json.Marshal(m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
type alias DeleteEventsResponse
|
||||
return json.Unmarshal(b, (*alias)(r))
|
||||
}
|
||||
|
||||
type ListEventTypesParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *ListEventTypesParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
// You should always use this function to get a new ListEventTypesParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *EventService) NewListEventTypesParams() *ListEventTypesParams {
|
||||
p := &ListEventTypesParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
return p
|
||||
}
|
||||
|
||||
// List Event Types
|
||||
func (s *EventService) ListEventTypes(p *ListEventTypesParams) (*ListEventTypesResponse, error) {
|
||||
resp, err := s.cs.newRequest("listEventTypes", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ListEventTypesResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ListEventTypesResponse struct {
|
||||
Count int `json:"count"`
|
||||
EventTypes []*EventType `json:"eventtype"`
|
||||
}
|
||||
|
||||
type EventType struct {
|
||||
Name string `json:"name"`
|
||||
}
|
||||
|
||||
type ListEventsParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
|
@ -81,6 +333,9 @@ func (p *ListEventsParams) toURLValues() url.Values {
|
|||
if v, found := p.p["startdate"]; found {
|
||||
u.Set("startdate", v.(string))
|
||||
}
|
||||
if v, found := p.p["startid"]; found {
|
||||
u.Set("startid", v.(string))
|
||||
}
|
||||
if v, found := p.p["type"]; found {
|
||||
u.Set("type", v.(string))
|
||||
}
|
||||
|
|
@ -199,6 +454,14 @@ func (p *ListEventsParams) SetStartdate(v string) {
|
|||
return
|
||||
}
|
||||
|
||||
func (p *ListEventsParams) SetStartid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["startid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListEventsParams) SetType(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
|
|
@ -222,7 +485,7 @@ func (s *EventService) GetEventByID(id string, opts ...OptionFunc) (*Event, int,
|
|||
|
||||
p.p["id"] = id
|
||||
|
||||
for _, fn := range opts {
|
||||
for _, fn := range append(s.cs.options, opts...) {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return nil, -1, err
|
||||
}
|
||||
|
|
@ -259,6 +522,7 @@ func (s *EventService) ListEvents(p *ListEventsParams) (*ListEventsResponse, err
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
|
|
@ -268,228 +532,17 @@ type ListEventsResponse struct {
|
|||
}
|
||||
|
||||
type Event struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Created string `json:"created,omitempty"`
|
||||
Description string `json:"description,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Level string `json:"level,omitempty"`
|
||||
Parentid string `json:"parentid,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
State string `json:"state,omitempty"`
|
||||
Type string `json:"type,omitempty"`
|
||||
Username string `json:"username,omitempty"`
|
||||
}
|
||||
|
||||
type ListEventTypesParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *ListEventTypesParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
// You should always use this function to get a new ListEventTypesParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *EventService) NewListEventTypesParams() *ListEventTypesParams {
|
||||
p := &ListEventTypesParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
return p
|
||||
}
|
||||
|
||||
// List Event Types
|
||||
func (s *EventService) ListEventTypes(p *ListEventTypesParams) (*ListEventTypesResponse, error) {
|
||||
resp, err := s.cs.newRequest("listEventTypes", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ListEventTypesResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ListEventTypesResponse struct {
|
||||
Count int `json:"count"`
|
||||
EventTypes []*EventType `json:"eventtype"`
|
||||
}
|
||||
|
||||
type EventType struct {
|
||||
Name string `json:"name,omitempty"`
|
||||
}
|
||||
|
||||
type ArchiveEventsParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *ArchiveEventsParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["enddate"]; found {
|
||||
u.Set("enddate", v.(string))
|
||||
}
|
||||
if v, found := p.p["ids"]; found {
|
||||
vv := strings.Join(v.([]string), ",")
|
||||
u.Set("ids", vv)
|
||||
}
|
||||
if v, found := p.p["startdate"]; found {
|
||||
u.Set("startdate", v.(string))
|
||||
}
|
||||
if v, found := p.p["type"]; found {
|
||||
u.Set("type", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *ArchiveEventsParams) SetEnddate(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["enddate"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ArchiveEventsParams) SetIds(v []string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["ids"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ArchiveEventsParams) SetStartdate(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["startdate"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ArchiveEventsParams) SetType(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["type"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new ArchiveEventsParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *EventService) NewArchiveEventsParams() *ArchiveEventsParams {
|
||||
p := &ArchiveEventsParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
return p
|
||||
}
|
||||
|
||||
// Archive one or more events.
|
||||
func (s *EventService) ArchiveEvents(p *ArchiveEventsParams) (*ArchiveEventsResponse, error) {
|
||||
resp, err := s.cs.newRequest("archiveEvents", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ArchiveEventsResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ArchiveEventsResponse struct {
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Success string `json:"success,omitempty"`
|
||||
}
|
||||
|
||||
type DeleteEventsParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *DeleteEventsParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["enddate"]; found {
|
||||
u.Set("enddate", v.(string))
|
||||
}
|
||||
if v, found := p.p["ids"]; found {
|
||||
vv := strings.Join(v.([]string), ",")
|
||||
u.Set("ids", vv)
|
||||
}
|
||||
if v, found := p.p["startdate"]; found {
|
||||
u.Set("startdate", v.(string))
|
||||
}
|
||||
if v, found := p.p["type"]; found {
|
||||
u.Set("type", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *DeleteEventsParams) SetEnddate(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["enddate"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *DeleteEventsParams) SetIds(v []string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["ids"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *DeleteEventsParams) SetStartdate(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["startdate"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *DeleteEventsParams) SetType(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["type"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new DeleteEventsParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *EventService) NewDeleteEventsParams() *DeleteEventsParams {
|
||||
p := &DeleteEventsParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
return p
|
||||
}
|
||||
|
||||
// Delete one or more events.
|
||||
func (s *EventService) DeleteEvents(p *DeleteEventsParams) (*DeleteEventsResponse, error) {
|
||||
resp, err := s.cs.newRequest("deleteEvents", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r DeleteEventsResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type DeleteEventsResponse struct {
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Success string `json:"success,omitempty"`
|
||||
Account string `json:"account"`
|
||||
Created string `json:"created"`
|
||||
Description string `json:"description"`
|
||||
Domain string `json:"domain"`
|
||||
Domainid string `json:"domainid"`
|
||||
Id string `json:"id"`
|
||||
Level string `json:"level"`
|
||||
Parentid string `json:"parentid"`
|
||||
Project string `json:"project"`
|
||||
Projectid string `json:"projectid"`
|
||||
State string `json:"state"`
|
||||
Type string `json:"type"`
|
||||
Username string `json:"username"`
|
||||
}
|
||||
|
|
|
|||
17
vendor/github.com/xanzy/go-cloudstack/cloudstack/ExtFirewallService.go
generated
vendored
Normal file
17
vendor/github.com/xanzy/go-cloudstack/cloudstack/ExtFirewallService.go
generated
vendored
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
//
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
package cloudstack
|
||||
17
vendor/github.com/xanzy/go-cloudstack/cloudstack/ExtLoadBalancerService.go
generated
vendored
Normal file
17
vendor/github.com/xanzy/go-cloudstack/cloudstack/ExtLoadBalancerService.go
generated
vendored
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
//
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
package cloudstack
|
||||
17
vendor/github.com/xanzy/go-cloudstack/cloudstack/ExternalDeviceService.go
generated
vendored
Normal file
17
vendor/github.com/xanzy/go-cloudstack/cloudstack/ExternalDeviceService.go
generated
vendored
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
//
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
package cloudstack
|
||||
3367
vendor/github.com/xanzy/go-cloudstack/cloudstack/FirewallService.go
generated
vendored
3367
vendor/github.com/xanzy/go-cloudstack/cloudstack/FirewallService.go
generated
vendored
File diff suppressed because it is too large
Load diff
1511
vendor/github.com/xanzy/go-cloudstack/cloudstack/GuestOSService.go
generated
vendored
1511
vendor/github.com/xanzy/go-cloudstack/cloudstack/GuestOSService.go
generated
vendored
File diff suppressed because it is too large
Load diff
3879
vendor/github.com/xanzy/go-cloudstack/cloudstack/HostService.go
generated
vendored
3879
vendor/github.com/xanzy/go-cloudstack/cloudstack/HostService.go
generated
vendored
File diff suppressed because it is too large
Load diff
291
vendor/github.com/xanzy/go-cloudstack/cloudstack/HypervisorService.go
generated
vendored
291
vendor/github.com/xanzy/go-cloudstack/cloudstack/HypervisorService.go
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// Copyright 2016, Sander van Harmelen
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
@ -24,140 +24,6 @@ import (
|
|||
"strings"
|
||||
)
|
||||
|
||||
type ListHypervisorsParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *ListHypervisorsParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["zoneid"]; found {
|
||||
u.Set("zoneid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *ListHypervisorsParams) SetZoneid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["zoneid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new ListHypervisorsParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *HypervisorService) NewListHypervisorsParams() *ListHypervisorsParams {
|
||||
p := &ListHypervisorsParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
return p
|
||||
}
|
||||
|
||||
// List hypervisors
|
||||
func (s *HypervisorService) ListHypervisors(p *ListHypervisorsParams) (*ListHypervisorsResponse, error) {
|
||||
resp, err := s.cs.newRequest("listHypervisors", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ListHypervisorsResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ListHypervisorsResponse struct {
|
||||
Count int `json:"count"`
|
||||
Hypervisors []*Hypervisor `json:"hypervisor"`
|
||||
}
|
||||
|
||||
type Hypervisor struct {
|
||||
Name string `json:"name,omitempty"`
|
||||
}
|
||||
|
||||
type UpdateHypervisorCapabilitiesParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *UpdateHypervisorCapabilitiesParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
if v, found := p.p["maxguestslimit"]; found {
|
||||
vv := strconv.FormatInt(v.(int64), 10)
|
||||
u.Set("maxguestslimit", vv)
|
||||
}
|
||||
if v, found := p.p["securitygroupenabled"]; found {
|
||||
vv := strconv.FormatBool(v.(bool))
|
||||
u.Set("securitygroupenabled", vv)
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *UpdateHypervisorCapabilitiesParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateHypervisorCapabilitiesParams) SetMaxguestslimit(v int64) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["maxguestslimit"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateHypervisorCapabilitiesParams) SetSecuritygroupenabled(v bool) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["securitygroupenabled"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new UpdateHypervisorCapabilitiesParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *HypervisorService) NewUpdateHypervisorCapabilitiesParams() *UpdateHypervisorCapabilitiesParams {
|
||||
p := &UpdateHypervisorCapabilitiesParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
return p
|
||||
}
|
||||
|
||||
// Updates a hypervisor capabilities.
|
||||
func (s *HypervisorService) UpdateHypervisorCapabilities(p *UpdateHypervisorCapabilitiesParams) (*UpdateHypervisorCapabilitiesResponse, error) {
|
||||
resp, err := s.cs.newRequest("updateHypervisorCapabilities", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r UpdateHypervisorCapabilitiesResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type UpdateHypervisorCapabilitiesResponse struct {
|
||||
Hypervisor string `json:"hypervisor,omitempty"`
|
||||
Hypervisorversion string `json:"hypervisorversion,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Maxdatavolumeslimit int `json:"maxdatavolumeslimit,omitempty"`
|
||||
Maxguestslimit int64 `json:"maxguestslimit,omitempty"`
|
||||
Maxhostspercluster int `json:"maxhostspercluster,omitempty"`
|
||||
Securitygroupenabled bool `json:"securitygroupenabled,omitempty"`
|
||||
Storagemotionenabled bool `json:"storagemotionenabled,omitempty"`
|
||||
}
|
||||
|
||||
type ListHypervisorCapabilitiesParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
|
@ -242,7 +108,7 @@ func (s *HypervisorService) GetHypervisorCapabilityByID(id string, opts ...Optio
|
|||
|
||||
p.p["id"] = id
|
||||
|
||||
for _, fn := range opts {
|
||||
for _, fn := range append(s.cs.options, opts...) {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return nil, -1, err
|
||||
}
|
||||
|
|
@ -279,6 +145,7 @@ func (s *HypervisorService) ListHypervisorCapabilities(p *ListHypervisorCapabili
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
|
|
@ -288,12 +155,148 @@ type ListHypervisorCapabilitiesResponse struct {
|
|||
}
|
||||
|
||||
type HypervisorCapability struct {
|
||||
Hypervisor string `json:"hypervisor,omitempty"`
|
||||
Hypervisorversion string `json:"hypervisorversion,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Maxdatavolumeslimit int `json:"maxdatavolumeslimit,omitempty"`
|
||||
Maxguestslimit int64 `json:"maxguestslimit,omitempty"`
|
||||
Maxhostspercluster int `json:"maxhostspercluster,omitempty"`
|
||||
Securitygroupenabled bool `json:"securitygroupenabled,omitempty"`
|
||||
Storagemotionenabled bool `json:"storagemotionenabled,omitempty"`
|
||||
Hypervisor string `json:"hypervisor"`
|
||||
Hypervisorversion string `json:"hypervisorversion"`
|
||||
Id string `json:"id"`
|
||||
Maxdatavolumeslimit int `json:"maxdatavolumeslimit"`
|
||||
Maxguestslimit int64 `json:"maxguestslimit"`
|
||||
Maxhostspercluster int `json:"maxhostspercluster"`
|
||||
Securitygroupenabled bool `json:"securitygroupenabled"`
|
||||
Storagemotionenabled bool `json:"storagemotionenabled"`
|
||||
}
|
||||
|
||||
type ListHypervisorsParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *ListHypervisorsParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["zoneid"]; found {
|
||||
u.Set("zoneid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *ListHypervisorsParams) SetZoneid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["zoneid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new ListHypervisorsParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *HypervisorService) NewListHypervisorsParams() *ListHypervisorsParams {
|
||||
p := &ListHypervisorsParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
return p
|
||||
}
|
||||
|
||||
// List hypervisors
|
||||
func (s *HypervisorService) ListHypervisors(p *ListHypervisorsParams) (*ListHypervisorsResponse, error) {
|
||||
resp, err := s.cs.newRequest("listHypervisors", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ListHypervisorsResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ListHypervisorsResponse struct {
|
||||
Count int `json:"count"`
|
||||
Hypervisors []*Hypervisor `json:"hypervisor"`
|
||||
}
|
||||
|
||||
type Hypervisor struct {
|
||||
Name string `json:"name"`
|
||||
}
|
||||
|
||||
type UpdateHypervisorCapabilitiesParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *UpdateHypervisorCapabilitiesParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
if v, found := p.p["maxguestslimit"]; found {
|
||||
vv := strconv.FormatInt(v.(int64), 10)
|
||||
u.Set("maxguestslimit", vv)
|
||||
}
|
||||
if v, found := p.p["securitygroupenabled"]; found {
|
||||
vv := strconv.FormatBool(v.(bool))
|
||||
u.Set("securitygroupenabled", vv)
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *UpdateHypervisorCapabilitiesParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateHypervisorCapabilitiesParams) SetMaxguestslimit(v int64) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["maxguestslimit"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateHypervisorCapabilitiesParams) SetSecuritygroupenabled(v bool) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["securitygroupenabled"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new UpdateHypervisorCapabilitiesParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *HypervisorService) NewUpdateHypervisorCapabilitiesParams() *UpdateHypervisorCapabilitiesParams {
|
||||
p := &UpdateHypervisorCapabilitiesParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
return p
|
||||
}
|
||||
|
||||
// Updates a hypervisor capabilities.
|
||||
func (s *HypervisorService) UpdateHypervisorCapabilities(p *UpdateHypervisorCapabilitiesParams) (*UpdateHypervisorCapabilitiesResponse, error) {
|
||||
resp, err := s.cs.newRequest("updateHypervisorCapabilities", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r UpdateHypervisorCapabilitiesResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type UpdateHypervisorCapabilitiesResponse struct {
|
||||
Hypervisor string `json:"hypervisor"`
|
||||
Hypervisorversion string `json:"hypervisorversion"`
|
||||
Id string `json:"id"`
|
||||
Maxdatavolumeslimit int `json:"maxdatavolumeslimit"`
|
||||
Maxguestslimit int64 `json:"maxguestslimit"`
|
||||
Maxhostspercluster int `json:"maxhostspercluster"`
|
||||
Securitygroupenabled bool `json:"securitygroupenabled"`
|
||||
Storagemotionenabled bool `json:"storagemotionenabled"`
|
||||
}
|
||||
|
|
|
|||
1727
vendor/github.com/xanzy/go-cloudstack/cloudstack/ISOService.go
generated
vendored
1727
vendor/github.com/xanzy/go-cloudstack/cloudstack/ISOService.go
generated
vendored
File diff suppressed because it is too large
Load diff
563
vendor/github.com/xanzy/go-cloudstack/cloudstack/ImageStoreService.go
generated
vendored
563
vendor/github.com/xanzy/go-cloudstack/cloudstack/ImageStoreService.go
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// Copyright 2016, Sander van Harmelen
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
@ -36,8 +36,7 @@ func (p *AddImageStoreParams) toURLValues() url.Values {
|
|||
if v, found := p.p["details"]; found {
|
||||
i := 0
|
||||
for k, vv := range v.(map[string]string) {
|
||||
u.Set(fmt.Sprintf("details[%d].key", i), k)
|
||||
u.Set(fmt.Sprintf("details[%d].value", i), vv)
|
||||
u.Set(fmt.Sprintf("details[%d].%s", i, k), vv)
|
||||
i++
|
||||
}
|
||||
}
|
||||
|
|
@ -116,19 +115,19 @@ func (s *ImageStoreService) AddImageStore(p *AddImageStoreParams) (*AddImageStor
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type AddImageStoreResponse struct {
|
||||
Details []string `json:"details,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Protocol string `json:"protocol,omitempty"`
|
||||
Providername string `json:"providername,omitempty"`
|
||||
Scope string `json:"scope,omitempty"`
|
||||
Url string `json:"url,omitempty"`
|
||||
Zoneid string `json:"zoneid,omitempty"`
|
||||
Zonename string `json:"zonename,omitempty"`
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Protocol string `json:"protocol"`
|
||||
Providername string `json:"providername"`
|
||||
Scope string `json:"scope"`
|
||||
Url string `json:"url"`
|
||||
Zoneid string `json:"zoneid"`
|
||||
Zonename string `json:"zonename"`
|
||||
}
|
||||
|
||||
type AddImageStoreS3Params struct {
|
||||
|
|
@ -293,19 +292,267 @@ func (s *ImageStoreService) AddImageStoreS3(p *AddImageStoreS3Params) (*AddImage
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type AddImageStoreS3Response struct {
|
||||
Details []string `json:"details,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Protocol string `json:"protocol,omitempty"`
|
||||
Providername string `json:"providername,omitempty"`
|
||||
Scope string `json:"scope,omitempty"`
|
||||
Url string `json:"url,omitempty"`
|
||||
Zoneid string `json:"zoneid,omitempty"`
|
||||
Zonename string `json:"zonename,omitempty"`
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Protocol string `json:"protocol"`
|
||||
Providername string `json:"providername"`
|
||||
Scope string `json:"scope"`
|
||||
Url string `json:"url"`
|
||||
Zoneid string `json:"zoneid"`
|
||||
Zonename string `json:"zonename"`
|
||||
}
|
||||
|
||||
type CreateSecondaryStagingStoreParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *CreateSecondaryStagingStoreParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["details"]; found {
|
||||
i := 0
|
||||
for k, vv := range v.(map[string]string) {
|
||||
u.Set(fmt.Sprintf("details[%d].%s", i, k), vv)
|
||||
i++
|
||||
}
|
||||
}
|
||||
if v, found := p.p["provider"]; found {
|
||||
u.Set("provider", v.(string))
|
||||
}
|
||||
if v, found := p.p["scope"]; found {
|
||||
u.Set("scope", v.(string))
|
||||
}
|
||||
if v, found := p.p["url"]; found {
|
||||
u.Set("url", v.(string))
|
||||
}
|
||||
if v, found := p.p["zoneid"]; found {
|
||||
u.Set("zoneid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *CreateSecondaryStagingStoreParams) SetDetails(v map[string]string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["details"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *CreateSecondaryStagingStoreParams) SetProvider(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["provider"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *CreateSecondaryStagingStoreParams) SetScope(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["scope"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *CreateSecondaryStagingStoreParams) SetUrl(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["url"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *CreateSecondaryStagingStoreParams) SetZoneid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["zoneid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new CreateSecondaryStagingStoreParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *ImageStoreService) NewCreateSecondaryStagingStoreParams(url string) *CreateSecondaryStagingStoreParams {
|
||||
p := &CreateSecondaryStagingStoreParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["url"] = url
|
||||
return p
|
||||
}
|
||||
|
||||
// create secondary staging store.
|
||||
func (s *ImageStoreService) CreateSecondaryStagingStore(p *CreateSecondaryStagingStoreParams) (*CreateSecondaryStagingStoreResponse, error) {
|
||||
resp, err := s.cs.newRequest("createSecondaryStagingStore", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r CreateSecondaryStagingStoreResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type CreateSecondaryStagingStoreResponse struct {
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Protocol string `json:"protocol"`
|
||||
Providername string `json:"providername"`
|
||||
Scope string `json:"scope"`
|
||||
Url string `json:"url"`
|
||||
Zoneid string `json:"zoneid"`
|
||||
Zonename string `json:"zonename"`
|
||||
}
|
||||
|
||||
type DeleteImageStoreParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *DeleteImageStoreParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *DeleteImageStoreParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new DeleteImageStoreParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *ImageStoreService) NewDeleteImageStoreParams(id string) *DeleteImageStoreParams {
|
||||
p := &DeleteImageStoreParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["id"] = id
|
||||
return p
|
||||
}
|
||||
|
||||
// Deletes an image store or Secondary Storage.
|
||||
func (s *ImageStoreService) DeleteImageStore(p *DeleteImageStoreParams) (*DeleteImageStoreResponse, error) {
|
||||
resp, err := s.cs.newRequest("deleteImageStore", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r DeleteImageStoreResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type DeleteImageStoreResponse struct {
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
||||
func (r *DeleteImageStoreResponse) UnmarshalJSON(b []byte) error {
|
||||
var m map[string]interface{}
|
||||
err := json.Unmarshal(b, &m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if success, ok := m["success"].(string); ok {
|
||||
m["success"] = success == "true"
|
||||
b, err = json.Marshal(m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
type alias DeleteImageStoreResponse
|
||||
return json.Unmarshal(b, (*alias)(r))
|
||||
}
|
||||
|
||||
type DeleteSecondaryStagingStoreParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *DeleteSecondaryStagingStoreParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *DeleteSecondaryStagingStoreParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new DeleteSecondaryStagingStoreParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *ImageStoreService) NewDeleteSecondaryStagingStoreParams(id string) *DeleteSecondaryStagingStoreParams {
|
||||
p := &DeleteSecondaryStagingStoreParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["id"] = id
|
||||
return p
|
||||
}
|
||||
|
||||
// Deletes a secondary staging store .
|
||||
func (s *ImageStoreService) DeleteSecondaryStagingStore(p *DeleteSecondaryStagingStoreParams) (*DeleteSecondaryStagingStoreResponse, error) {
|
||||
resp, err := s.cs.newRequest("deleteSecondaryStagingStore", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r DeleteSecondaryStagingStoreResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type DeleteSecondaryStagingStoreResponse struct {
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
||||
func (r *DeleteSecondaryStagingStoreResponse) UnmarshalJSON(b []byte) error {
|
||||
var m map[string]interface{}
|
||||
err := json.Unmarshal(b, &m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if success, ok := m["success"].(string); ok {
|
||||
m["success"] = success == "true"
|
||||
b, err = json.Marshal(m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
type alias DeleteSecondaryStagingStoreResponse
|
||||
return json.Unmarshal(b, (*alias)(r))
|
||||
}
|
||||
|
||||
type ListImageStoresParams struct {
|
||||
|
|
@ -425,7 +672,7 @@ func (s *ImageStoreService) GetImageStoreID(name string, opts ...OptionFunc) (st
|
|||
|
||||
p.p["name"] = name
|
||||
|
||||
for _, fn := range opts {
|
||||
for _, fn := range append(s.cs.options, opts...) {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return "", -1, err
|
||||
}
|
||||
|
|
@ -475,7 +722,7 @@ func (s *ImageStoreService) GetImageStoreByID(id string, opts ...OptionFunc) (*I
|
|||
|
||||
p.p["id"] = id
|
||||
|
||||
for _, fn := range opts {
|
||||
for _, fn := range append(s.cs.options, opts...) {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return nil, -1, err
|
||||
}
|
||||
|
|
@ -512,6 +759,7 @@ func (s *ImageStoreService) ListImageStores(p *ListImageStoresParams) (*ListImag
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
|
|
@ -521,173 +769,14 @@ type ListImageStoresResponse struct {
|
|||
}
|
||||
|
||||
type ImageStore struct {
|
||||
Details []string `json:"details,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Protocol string `json:"protocol,omitempty"`
|
||||
Providername string `json:"providername,omitempty"`
|
||||
Scope string `json:"scope,omitempty"`
|
||||
Url string `json:"url,omitempty"`
|
||||
Zoneid string `json:"zoneid,omitempty"`
|
||||
Zonename string `json:"zonename,omitempty"`
|
||||
}
|
||||
|
||||
type DeleteImageStoreParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *DeleteImageStoreParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *DeleteImageStoreParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new DeleteImageStoreParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *ImageStoreService) NewDeleteImageStoreParams(id string) *DeleteImageStoreParams {
|
||||
p := &DeleteImageStoreParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["id"] = id
|
||||
return p
|
||||
}
|
||||
|
||||
// Deletes an image store or Secondary Storage.
|
||||
func (s *ImageStoreService) DeleteImageStore(p *DeleteImageStoreParams) (*DeleteImageStoreResponse, error) {
|
||||
resp, err := s.cs.newRequest("deleteImageStore", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r DeleteImageStoreResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type DeleteImageStoreResponse struct {
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Success string `json:"success,omitempty"`
|
||||
}
|
||||
|
||||
type CreateSecondaryStagingStoreParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *CreateSecondaryStagingStoreParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["details"]; found {
|
||||
i := 0
|
||||
for k, vv := range v.(map[string]string) {
|
||||
u.Set(fmt.Sprintf("details[%d].key", i), k)
|
||||
u.Set(fmt.Sprintf("details[%d].value", i), vv)
|
||||
i++
|
||||
}
|
||||
}
|
||||
if v, found := p.p["provider"]; found {
|
||||
u.Set("provider", v.(string))
|
||||
}
|
||||
if v, found := p.p["scope"]; found {
|
||||
u.Set("scope", v.(string))
|
||||
}
|
||||
if v, found := p.p["url"]; found {
|
||||
u.Set("url", v.(string))
|
||||
}
|
||||
if v, found := p.p["zoneid"]; found {
|
||||
u.Set("zoneid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *CreateSecondaryStagingStoreParams) SetDetails(v map[string]string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["details"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *CreateSecondaryStagingStoreParams) SetProvider(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["provider"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *CreateSecondaryStagingStoreParams) SetScope(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["scope"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *CreateSecondaryStagingStoreParams) SetUrl(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["url"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *CreateSecondaryStagingStoreParams) SetZoneid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["zoneid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new CreateSecondaryStagingStoreParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *ImageStoreService) NewCreateSecondaryStagingStoreParams(url string) *CreateSecondaryStagingStoreParams {
|
||||
p := &CreateSecondaryStagingStoreParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["url"] = url
|
||||
return p
|
||||
}
|
||||
|
||||
// create secondary staging store.
|
||||
func (s *ImageStoreService) CreateSecondaryStagingStore(p *CreateSecondaryStagingStoreParams) (*CreateSecondaryStagingStoreResponse, error) {
|
||||
resp, err := s.cs.newRequest("createSecondaryStagingStore", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r CreateSecondaryStagingStoreResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type CreateSecondaryStagingStoreResponse struct {
|
||||
Details []string `json:"details,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Protocol string `json:"protocol,omitempty"`
|
||||
Providername string `json:"providername,omitempty"`
|
||||
Scope string `json:"scope,omitempty"`
|
||||
Url string `json:"url,omitempty"`
|
||||
Zoneid string `json:"zoneid,omitempty"`
|
||||
Zonename string `json:"zonename,omitempty"`
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Protocol string `json:"protocol"`
|
||||
Providername string `json:"providername"`
|
||||
Scope string `json:"scope"`
|
||||
Url string `json:"url"`
|
||||
Zoneid string `json:"zoneid"`
|
||||
Zonename string `json:"zonename"`
|
||||
}
|
||||
|
||||
type ListSecondaryStagingStoresParams struct {
|
||||
|
|
@ -807,7 +896,7 @@ func (s *ImageStoreService) GetSecondaryStagingStoreID(name string, opts ...Opti
|
|||
|
||||
p.p["name"] = name
|
||||
|
||||
for _, fn := range opts {
|
||||
for _, fn := range append(s.cs.options, opts...) {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return "", -1, err
|
||||
}
|
||||
|
|
@ -857,7 +946,7 @@ func (s *ImageStoreService) GetSecondaryStagingStoreByID(id string, opts ...Opti
|
|||
|
||||
p.p["id"] = id
|
||||
|
||||
for _, fn := range opts {
|
||||
for _, fn := range append(s.cs.options, opts...) {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return nil, -1, err
|
||||
}
|
||||
|
|
@ -894,6 +983,7 @@ func (s *ImageStoreService) ListSecondaryStagingStores(p *ListSecondaryStagingSt
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
|
|
@ -903,66 +993,14 @@ type ListSecondaryStagingStoresResponse struct {
|
|||
}
|
||||
|
||||
type SecondaryStagingStore struct {
|
||||
Details []string `json:"details,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Protocol string `json:"protocol,omitempty"`
|
||||
Providername string `json:"providername,omitempty"`
|
||||
Scope string `json:"scope,omitempty"`
|
||||
Url string `json:"url,omitempty"`
|
||||
Zoneid string `json:"zoneid,omitempty"`
|
||||
Zonename string `json:"zonename,omitempty"`
|
||||
}
|
||||
|
||||
type DeleteSecondaryStagingStoreParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *DeleteSecondaryStagingStoreParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *DeleteSecondaryStagingStoreParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new DeleteSecondaryStagingStoreParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *ImageStoreService) NewDeleteSecondaryStagingStoreParams(id string) *DeleteSecondaryStagingStoreParams {
|
||||
p := &DeleteSecondaryStagingStoreParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["id"] = id
|
||||
return p
|
||||
}
|
||||
|
||||
// Deletes a secondary staging store .
|
||||
func (s *ImageStoreService) DeleteSecondaryStagingStore(p *DeleteSecondaryStagingStoreParams) (*DeleteSecondaryStagingStoreResponse, error) {
|
||||
resp, err := s.cs.newRequest("deleteSecondaryStagingStore", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r DeleteSecondaryStagingStoreResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type DeleteSecondaryStagingStoreResponse struct {
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Success string `json:"success,omitempty"`
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Protocol string `json:"protocol"`
|
||||
Providername string `json:"providername"`
|
||||
Scope string `json:"scope"`
|
||||
Url string `json:"url"`
|
||||
Zoneid string `json:"zoneid"`
|
||||
Zonename string `json:"zonename"`
|
||||
}
|
||||
|
||||
type UpdateCloudToUseObjectStoreParams struct {
|
||||
|
|
@ -977,8 +1015,7 @@ func (p *UpdateCloudToUseObjectStoreParams) toURLValues() url.Values {
|
|||
if v, found := p.p["details"]; found {
|
||||
i := 0
|
||||
for k, vv := range v.(map[string]string) {
|
||||
u.Set(fmt.Sprintf("details[%d].key", i), k)
|
||||
u.Set(fmt.Sprintf("details[%d].value", i), vv)
|
||||
u.Set(fmt.Sprintf("details[%d].%s", i, k), vv)
|
||||
i++
|
||||
}
|
||||
}
|
||||
|
|
@ -1046,17 +1083,17 @@ func (s *ImageStoreService) UpdateCloudToUseObjectStore(p *UpdateCloudToUseObjec
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type UpdateCloudToUseObjectStoreResponse struct {
|
||||
Details []string `json:"details,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Protocol string `json:"protocol,omitempty"`
|
||||
Providername string `json:"providername,omitempty"`
|
||||
Scope string `json:"scope,omitempty"`
|
||||
Url string `json:"url,omitempty"`
|
||||
Zoneid string `json:"zoneid,omitempty"`
|
||||
Zonename string `json:"zonename,omitempty"`
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Protocol string `json:"protocol"`
|
||||
Providername string `json:"providername"`
|
||||
Scope string `json:"scope"`
|
||||
Url string `json:"url"`
|
||||
Zoneid string `json:"zoneid"`
|
||||
Zonename string `json:"zonename"`
|
||||
}
|
||||
|
|
|
|||
688
vendor/github.com/xanzy/go-cloudstack/cloudstack/InternalLBService.go
generated
vendored
688
vendor/github.com/xanzy/go-cloudstack/cloudstack/InternalLBService.go
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// Copyright 2016, Sander van Harmelen
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
@ -70,13 +70,13 @@ func (s *InternalLBService) NewConfigureInternalLoadBalancerElementParams(enable
|
|||
}
|
||||
|
||||
// Configures an Internal Load Balancer element.
|
||||
func (s *InternalLBService) ConfigureInternalLoadBalancerElement(p *ConfigureInternalLoadBalancerElementParams) (*ConfigureInternalLoadBalancerElementResponse, error) {
|
||||
func (s *InternalLBService) ConfigureInternalLoadBalancerElement(p *ConfigureInternalLoadBalancerElementParams) (*InternalLoadBalancerElementResponse, error) {
|
||||
resp, err := s.cs.newRequest("configureInternalLoadBalancerElement", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ConfigureInternalLoadBalancerElementResponse
|
||||
var r InternalLoadBalancerElementResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
|
@ -100,14 +100,15 @@ func (s *InternalLBService) ConfigureInternalLoadBalancerElement(p *ConfigureInt
|
|||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ConfigureInternalLoadBalancerElementResponse struct {
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
Enabled bool `json:"enabled,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Nspid string `json:"nspid,omitempty"`
|
||||
type InternalLoadBalancerElementResponse struct {
|
||||
JobID string `json:"jobid"`
|
||||
Enabled bool `json:"enabled"`
|
||||
Id string `json:"id"`
|
||||
Nspid string `json:"nspid"`
|
||||
}
|
||||
|
||||
type CreateInternalLoadBalancerElementParams struct {
|
||||
|
|
@ -173,14 +174,15 @@ func (s *InternalLBService) CreateInternalLoadBalancerElement(p *CreateInternalL
|
|||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type CreateInternalLoadBalancerElementResponse struct {
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
Enabled bool `json:"enabled,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Nspid string `json:"nspid,omitempty"`
|
||||
JobID string `json:"jobid"`
|
||||
Enabled bool `json:"enabled"`
|
||||
Id string `json:"id"`
|
||||
Nspid string `json:"nspid"`
|
||||
}
|
||||
|
||||
type ListInternalLoadBalancerElementsParams struct {
|
||||
|
|
@ -279,7 +281,7 @@ func (s *InternalLBService) GetInternalLoadBalancerElementByID(id string, opts .
|
|||
|
||||
p.p["id"] = id
|
||||
|
||||
for _, fn := range opts {
|
||||
for _, fn := range append(s.cs.options, opts...) {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return nil, -1, err
|
||||
}
|
||||
|
|
@ -316,6 +318,7 @@ func (s *InternalLBService) ListInternalLoadBalancerElements(p *ListInternalLoad
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
|
|
@ -325,297 +328,9 @@ type ListInternalLoadBalancerElementsResponse struct {
|
|||
}
|
||||
|
||||
type InternalLoadBalancerElement struct {
|
||||
Enabled bool `json:"enabled,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Nspid string `json:"nspid,omitempty"`
|
||||
}
|
||||
|
||||
type StopInternalLoadBalancerVMParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *StopInternalLoadBalancerVMParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["forced"]; found {
|
||||
vv := strconv.FormatBool(v.(bool))
|
||||
u.Set("forced", vv)
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *StopInternalLoadBalancerVMParams) SetForced(v bool) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["forced"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *StopInternalLoadBalancerVMParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new StopInternalLoadBalancerVMParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *InternalLBService) NewStopInternalLoadBalancerVMParams(id string) *StopInternalLoadBalancerVMParams {
|
||||
p := &StopInternalLoadBalancerVMParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["id"] = id
|
||||
return p
|
||||
}
|
||||
|
||||
// Stops an Internal LB vm.
|
||||
func (s *InternalLBService) StopInternalLoadBalancerVM(p *StopInternalLoadBalancerVMParams) (*StopInternalLoadBalancerVMResponse, error) {
|
||||
resp, err := s.cs.newRequest("stopInternalLoadBalancerVM", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r StopInternalLoadBalancerVMResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// If we have a async client, we need to wait for the async result
|
||||
if s.cs.async {
|
||||
b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
|
||||
if err != nil {
|
||||
if err == AsyncTimeoutErr {
|
||||
return &r, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
b, err = getRawValue(b)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(b, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type StopInternalLoadBalancerVMResponse struct {
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
Account string `json:"account,omitempty"`
|
||||
Created string `json:"created,omitempty"`
|
||||
Dns1 string `json:"dns1,omitempty"`
|
||||
Dns2 string `json:"dns2,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Gateway string `json:"gateway,omitempty"`
|
||||
Guestipaddress string `json:"guestipaddress,omitempty"`
|
||||
Guestmacaddress string `json:"guestmacaddress,omitempty"`
|
||||
Guestnetmask string `json:"guestnetmask,omitempty"`
|
||||
Guestnetworkid string `json:"guestnetworkid,omitempty"`
|
||||
Guestnetworkname string `json:"guestnetworkname,omitempty"`
|
||||
Hostid string `json:"hostid,omitempty"`
|
||||
Hostname string `json:"hostname,omitempty"`
|
||||
Hypervisor string `json:"hypervisor,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Ip6dns1 string `json:"ip6dns1,omitempty"`
|
||||
Ip6dns2 string `json:"ip6dns2,omitempty"`
|
||||
Isredundantrouter bool `json:"isredundantrouter,omitempty"`
|
||||
Linklocalip string `json:"linklocalip,omitempty"`
|
||||
Linklocalmacaddress string `json:"linklocalmacaddress,omitempty"`
|
||||
Linklocalnetmask string `json:"linklocalnetmask,omitempty"`
|
||||
Linklocalnetworkid string `json:"linklocalnetworkid,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Networkdomain string `json:"networkdomain,omitempty"`
|
||||
Nic []struct {
|
||||
Broadcasturi string `json:"broadcasturi,omitempty"`
|
||||
Deviceid string `json:"deviceid,omitempty"`
|
||||
Gateway string `json:"gateway,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Ip6address string `json:"ip6address,omitempty"`
|
||||
Ip6cidr string `json:"ip6cidr,omitempty"`
|
||||
Ip6gateway string `json:"ip6gateway,omitempty"`
|
||||
Ipaddress string `json:"ipaddress,omitempty"`
|
||||
Isdefault bool `json:"isdefault,omitempty"`
|
||||
Isolationuri string `json:"isolationuri,omitempty"`
|
||||
Macaddress string `json:"macaddress,omitempty"`
|
||||
Netmask string `json:"netmask,omitempty"`
|
||||
Networkid string `json:"networkid,omitempty"`
|
||||
Networkname string `json:"networkname,omitempty"`
|
||||
Secondaryip []struct {
|
||||
Id string `json:"id,omitempty"`
|
||||
Ipaddress string `json:"ipaddress,omitempty"`
|
||||
} `json:"secondaryip,omitempty"`
|
||||
Traffictype string `json:"traffictype,omitempty"`
|
||||
Type string `json:"type,omitempty"`
|
||||
Virtualmachineid string `json:"virtualmachineid,omitempty"`
|
||||
} `json:"nic,omitempty"`
|
||||
Podid string `json:"podid,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Publicip string `json:"publicip,omitempty"`
|
||||
Publicmacaddress string `json:"publicmacaddress,omitempty"`
|
||||
Publicnetmask string `json:"publicnetmask,omitempty"`
|
||||
Publicnetworkid string `json:"publicnetworkid,omitempty"`
|
||||
Redundantstate string `json:"redundantstate,omitempty"`
|
||||
Requiresupgrade bool `json:"requiresupgrade,omitempty"`
|
||||
Role string `json:"role,omitempty"`
|
||||
Scriptsversion string `json:"scriptsversion,omitempty"`
|
||||
Serviceofferingid string `json:"serviceofferingid,omitempty"`
|
||||
Serviceofferingname string `json:"serviceofferingname,omitempty"`
|
||||
State string `json:"state,omitempty"`
|
||||
Templateid string `json:"templateid,omitempty"`
|
||||
Version string `json:"version,omitempty"`
|
||||
Vpcid string `json:"vpcid,omitempty"`
|
||||
Vpcname string `json:"vpcname,omitempty"`
|
||||
Zoneid string `json:"zoneid,omitempty"`
|
||||
Zonename string `json:"zonename,omitempty"`
|
||||
}
|
||||
|
||||
type StartInternalLoadBalancerVMParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *StartInternalLoadBalancerVMParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *StartInternalLoadBalancerVMParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new StartInternalLoadBalancerVMParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *InternalLBService) NewStartInternalLoadBalancerVMParams(id string) *StartInternalLoadBalancerVMParams {
|
||||
p := &StartInternalLoadBalancerVMParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["id"] = id
|
||||
return p
|
||||
}
|
||||
|
||||
// Starts an existing internal lb vm.
|
||||
func (s *InternalLBService) StartInternalLoadBalancerVM(p *StartInternalLoadBalancerVMParams) (*StartInternalLoadBalancerVMResponse, error) {
|
||||
resp, err := s.cs.newRequest("startInternalLoadBalancerVM", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r StartInternalLoadBalancerVMResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// If we have a async client, we need to wait for the async result
|
||||
if s.cs.async {
|
||||
b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
|
||||
if err != nil {
|
||||
if err == AsyncTimeoutErr {
|
||||
return &r, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
b, err = getRawValue(b)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(b, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type StartInternalLoadBalancerVMResponse struct {
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
Account string `json:"account,omitempty"`
|
||||
Created string `json:"created,omitempty"`
|
||||
Dns1 string `json:"dns1,omitempty"`
|
||||
Dns2 string `json:"dns2,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Gateway string `json:"gateway,omitempty"`
|
||||
Guestipaddress string `json:"guestipaddress,omitempty"`
|
||||
Guestmacaddress string `json:"guestmacaddress,omitempty"`
|
||||
Guestnetmask string `json:"guestnetmask,omitempty"`
|
||||
Guestnetworkid string `json:"guestnetworkid,omitempty"`
|
||||
Guestnetworkname string `json:"guestnetworkname,omitempty"`
|
||||
Hostid string `json:"hostid,omitempty"`
|
||||
Hostname string `json:"hostname,omitempty"`
|
||||
Hypervisor string `json:"hypervisor,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Ip6dns1 string `json:"ip6dns1,omitempty"`
|
||||
Ip6dns2 string `json:"ip6dns2,omitempty"`
|
||||
Isredundantrouter bool `json:"isredundantrouter,omitempty"`
|
||||
Linklocalip string `json:"linklocalip,omitempty"`
|
||||
Linklocalmacaddress string `json:"linklocalmacaddress,omitempty"`
|
||||
Linklocalnetmask string `json:"linklocalnetmask,omitempty"`
|
||||
Linklocalnetworkid string `json:"linklocalnetworkid,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Networkdomain string `json:"networkdomain,omitempty"`
|
||||
Nic []struct {
|
||||
Broadcasturi string `json:"broadcasturi,omitempty"`
|
||||
Deviceid string `json:"deviceid,omitempty"`
|
||||
Gateway string `json:"gateway,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Ip6address string `json:"ip6address,omitempty"`
|
||||
Ip6cidr string `json:"ip6cidr,omitempty"`
|
||||
Ip6gateway string `json:"ip6gateway,omitempty"`
|
||||
Ipaddress string `json:"ipaddress,omitempty"`
|
||||
Isdefault bool `json:"isdefault,omitempty"`
|
||||
Isolationuri string `json:"isolationuri,omitempty"`
|
||||
Macaddress string `json:"macaddress,omitempty"`
|
||||
Netmask string `json:"netmask,omitempty"`
|
||||
Networkid string `json:"networkid,omitempty"`
|
||||
Networkname string `json:"networkname,omitempty"`
|
||||
Secondaryip []struct {
|
||||
Id string `json:"id,omitempty"`
|
||||
Ipaddress string `json:"ipaddress,omitempty"`
|
||||
} `json:"secondaryip,omitempty"`
|
||||
Traffictype string `json:"traffictype,omitempty"`
|
||||
Type string `json:"type,omitempty"`
|
||||
Virtualmachineid string `json:"virtualmachineid,omitempty"`
|
||||
} `json:"nic,omitempty"`
|
||||
Podid string `json:"podid,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Publicip string `json:"publicip,omitempty"`
|
||||
Publicmacaddress string `json:"publicmacaddress,omitempty"`
|
||||
Publicnetmask string `json:"publicnetmask,omitempty"`
|
||||
Publicnetworkid string `json:"publicnetworkid,omitempty"`
|
||||
Redundantstate string `json:"redundantstate,omitempty"`
|
||||
Requiresupgrade bool `json:"requiresupgrade,omitempty"`
|
||||
Role string `json:"role,omitempty"`
|
||||
Scriptsversion string `json:"scriptsversion,omitempty"`
|
||||
Serviceofferingid string `json:"serviceofferingid,omitempty"`
|
||||
Serviceofferingname string `json:"serviceofferingname,omitempty"`
|
||||
State string `json:"state,omitempty"`
|
||||
Templateid string `json:"templateid,omitempty"`
|
||||
Version string `json:"version,omitempty"`
|
||||
Vpcid string `json:"vpcid,omitempty"`
|
||||
Vpcname string `json:"vpcname,omitempty"`
|
||||
Zoneid string `json:"zoneid,omitempty"`
|
||||
Zonename string `json:"zonename,omitempty"`
|
||||
Enabled bool `json:"enabled"`
|
||||
Id string `json:"id"`
|
||||
Nspid string `json:"nspid"`
|
||||
}
|
||||
|
||||
type ListInternalLoadBalancerVMsParams struct {
|
||||
|
|
@ -837,7 +552,7 @@ func (s *InternalLBService) GetInternalLoadBalancerVMID(name string, opts ...Opt
|
|||
|
||||
p.p["name"] = name
|
||||
|
||||
for _, fn := range opts {
|
||||
for _, fn := range append(s.cs.options, opts...) {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return "", -1, err
|
||||
}
|
||||
|
|
@ -887,7 +602,7 @@ func (s *InternalLBService) GetInternalLoadBalancerVMByID(id string, opts ...Opt
|
|||
|
||||
p.p["id"] = id
|
||||
|
||||
for _, fn := range opts {
|
||||
for _, fn := range append(s.cs.options, opts...) {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return nil, -1, err
|
||||
}
|
||||
|
|
@ -924,6 +639,7 @@ func (s *InternalLBService) ListInternalLoadBalancerVMs(p *ListInternalLoadBalan
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
|
|
@ -933,72 +649,296 @@ type ListInternalLoadBalancerVMsResponse struct {
|
|||
}
|
||||
|
||||
type InternalLoadBalancerVM struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Created string `json:"created,omitempty"`
|
||||
Dns1 string `json:"dns1,omitempty"`
|
||||
Dns2 string `json:"dns2,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Gateway string `json:"gateway,omitempty"`
|
||||
Guestipaddress string `json:"guestipaddress,omitempty"`
|
||||
Guestmacaddress string `json:"guestmacaddress,omitempty"`
|
||||
Guestnetmask string `json:"guestnetmask,omitempty"`
|
||||
Guestnetworkid string `json:"guestnetworkid,omitempty"`
|
||||
Guestnetworkname string `json:"guestnetworkname,omitempty"`
|
||||
Hostid string `json:"hostid,omitempty"`
|
||||
Hostname string `json:"hostname,omitempty"`
|
||||
Hypervisor string `json:"hypervisor,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Ip6dns1 string `json:"ip6dns1,omitempty"`
|
||||
Ip6dns2 string `json:"ip6dns2,omitempty"`
|
||||
Isredundantrouter bool `json:"isredundantrouter,omitempty"`
|
||||
Linklocalip string `json:"linklocalip,omitempty"`
|
||||
Linklocalmacaddress string `json:"linklocalmacaddress,omitempty"`
|
||||
Linklocalnetmask string `json:"linklocalnetmask,omitempty"`
|
||||
Linklocalnetworkid string `json:"linklocalnetworkid,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Networkdomain string `json:"networkdomain,omitempty"`
|
||||
Nic []struct {
|
||||
Broadcasturi string `json:"broadcasturi,omitempty"`
|
||||
Deviceid string `json:"deviceid,omitempty"`
|
||||
Gateway string `json:"gateway,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Ip6address string `json:"ip6address,omitempty"`
|
||||
Ip6cidr string `json:"ip6cidr,omitempty"`
|
||||
Ip6gateway string `json:"ip6gateway,omitempty"`
|
||||
Ipaddress string `json:"ipaddress,omitempty"`
|
||||
Isdefault bool `json:"isdefault,omitempty"`
|
||||
Isolationuri string `json:"isolationuri,omitempty"`
|
||||
Macaddress string `json:"macaddress,omitempty"`
|
||||
Netmask string `json:"netmask,omitempty"`
|
||||
Networkid string `json:"networkid,omitempty"`
|
||||
Networkname string `json:"networkname,omitempty"`
|
||||
Secondaryip []struct {
|
||||
Id string `json:"id,omitempty"`
|
||||
Ipaddress string `json:"ipaddress,omitempty"`
|
||||
} `json:"secondaryip,omitempty"`
|
||||
Traffictype string `json:"traffictype,omitempty"`
|
||||
Type string `json:"type,omitempty"`
|
||||
Virtualmachineid string `json:"virtualmachineid,omitempty"`
|
||||
} `json:"nic,omitempty"`
|
||||
Podid string `json:"podid,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Publicip string `json:"publicip,omitempty"`
|
||||
Publicmacaddress string `json:"publicmacaddress,omitempty"`
|
||||
Publicnetmask string `json:"publicnetmask,omitempty"`
|
||||
Publicnetworkid string `json:"publicnetworkid,omitempty"`
|
||||
Redundantstate string `json:"redundantstate,omitempty"`
|
||||
Requiresupgrade bool `json:"requiresupgrade,omitempty"`
|
||||
Role string `json:"role,omitempty"`
|
||||
Scriptsversion string `json:"scriptsversion,omitempty"`
|
||||
Serviceofferingid string `json:"serviceofferingid,omitempty"`
|
||||
Serviceofferingname string `json:"serviceofferingname,omitempty"`
|
||||
State string `json:"state,omitempty"`
|
||||
Templateid string `json:"templateid,omitempty"`
|
||||
Version string `json:"version,omitempty"`
|
||||
Vpcid string `json:"vpcid,omitempty"`
|
||||
Vpcname string `json:"vpcname,omitempty"`
|
||||
Zoneid string `json:"zoneid,omitempty"`
|
||||
Zonename string `json:"zonename,omitempty"`
|
||||
Account string `json:"account"`
|
||||
Created string `json:"created"`
|
||||
Dns1 string `json:"dns1"`
|
||||
Dns2 string `json:"dns2"`
|
||||
Domain string `json:"domain"`
|
||||
Domainid string `json:"domainid"`
|
||||
Gateway string `json:"gateway"`
|
||||
Guestipaddress string `json:"guestipaddress"`
|
||||
Guestmacaddress string `json:"guestmacaddress"`
|
||||
Guestnetmask string `json:"guestnetmask"`
|
||||
Guestnetworkid string `json:"guestnetworkid"`
|
||||
Guestnetworkname string `json:"guestnetworkname"`
|
||||
Hostid string `json:"hostid"`
|
||||
Hostname string `json:"hostname"`
|
||||
Hypervisor string `json:"hypervisor"`
|
||||
Id string `json:"id"`
|
||||
Ip6dns1 string `json:"ip6dns1"`
|
||||
Ip6dns2 string `json:"ip6dns2"`
|
||||
Isredundantrouter bool `json:"isredundantrouter"`
|
||||
Linklocalip string `json:"linklocalip"`
|
||||
Linklocalmacaddress string `json:"linklocalmacaddress"`
|
||||
Linklocalnetmask string `json:"linklocalnetmask"`
|
||||
Linklocalnetworkid string `json:"linklocalnetworkid"`
|
||||
Name string `json:"name"`
|
||||
Networkdomain string `json:"networkdomain"`
|
||||
Nic []Nic `json:"nic"`
|
||||
Podid string `json:"podid"`
|
||||
Project string `json:"project"`
|
||||
Projectid string `json:"projectid"`
|
||||
Publicip string `json:"publicip"`
|
||||
Publicmacaddress string `json:"publicmacaddress"`
|
||||
Publicnetmask string `json:"publicnetmask"`
|
||||
Publicnetworkid string `json:"publicnetworkid"`
|
||||
Redundantstate string `json:"redundantstate"`
|
||||
Requiresupgrade bool `json:"requiresupgrade"`
|
||||
Role string `json:"role"`
|
||||
Scriptsversion string `json:"scriptsversion"`
|
||||
Serviceofferingid string `json:"serviceofferingid"`
|
||||
Serviceofferingname string `json:"serviceofferingname"`
|
||||
State string `json:"state"`
|
||||
Templateid string `json:"templateid"`
|
||||
Version string `json:"version"`
|
||||
Vpcid string `json:"vpcid"`
|
||||
Vpcname string `json:"vpcname"`
|
||||
Zoneid string `json:"zoneid"`
|
||||
Zonename string `json:"zonename"`
|
||||
}
|
||||
|
||||
type StartInternalLoadBalancerVMParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *StartInternalLoadBalancerVMParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *StartInternalLoadBalancerVMParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new StartInternalLoadBalancerVMParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *InternalLBService) NewStartInternalLoadBalancerVMParams(id string) *StartInternalLoadBalancerVMParams {
|
||||
p := &StartInternalLoadBalancerVMParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["id"] = id
|
||||
return p
|
||||
}
|
||||
|
||||
// Starts an existing internal lb vm.
|
||||
func (s *InternalLBService) StartInternalLoadBalancerVM(p *StartInternalLoadBalancerVMParams) (*StartInternalLoadBalancerVMResponse, error) {
|
||||
resp, err := s.cs.newRequest("startInternalLoadBalancerVM", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r StartInternalLoadBalancerVMResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// If we have a async client, we need to wait for the async result
|
||||
if s.cs.async {
|
||||
b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
|
||||
if err != nil {
|
||||
if err == AsyncTimeoutErr {
|
||||
return &r, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
b, err = getRawValue(b)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(b, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type StartInternalLoadBalancerVMResponse struct {
|
||||
JobID string `json:"jobid"`
|
||||
Account string `json:"account"`
|
||||
Created string `json:"created"`
|
||||
Dns1 string `json:"dns1"`
|
||||
Dns2 string `json:"dns2"`
|
||||
Domain string `json:"domain"`
|
||||
Domainid string `json:"domainid"`
|
||||
Gateway string `json:"gateway"`
|
||||
Guestipaddress string `json:"guestipaddress"`
|
||||
Guestmacaddress string `json:"guestmacaddress"`
|
||||
Guestnetmask string `json:"guestnetmask"`
|
||||
Guestnetworkid string `json:"guestnetworkid"`
|
||||
Guestnetworkname string `json:"guestnetworkname"`
|
||||
Hostid string `json:"hostid"`
|
||||
Hostname string `json:"hostname"`
|
||||
Hypervisor string `json:"hypervisor"`
|
||||
Id string `json:"id"`
|
||||
Ip6dns1 string `json:"ip6dns1"`
|
||||
Ip6dns2 string `json:"ip6dns2"`
|
||||
Isredundantrouter bool `json:"isredundantrouter"`
|
||||
Linklocalip string `json:"linklocalip"`
|
||||
Linklocalmacaddress string `json:"linklocalmacaddress"`
|
||||
Linklocalnetmask string `json:"linklocalnetmask"`
|
||||
Linklocalnetworkid string `json:"linklocalnetworkid"`
|
||||
Name string `json:"name"`
|
||||
Networkdomain string `json:"networkdomain"`
|
||||
Nic []Nic `json:"nic"`
|
||||
Podid string `json:"podid"`
|
||||
Project string `json:"project"`
|
||||
Projectid string `json:"projectid"`
|
||||
Publicip string `json:"publicip"`
|
||||
Publicmacaddress string `json:"publicmacaddress"`
|
||||
Publicnetmask string `json:"publicnetmask"`
|
||||
Publicnetworkid string `json:"publicnetworkid"`
|
||||
Redundantstate string `json:"redundantstate"`
|
||||
Requiresupgrade bool `json:"requiresupgrade"`
|
||||
Role string `json:"role"`
|
||||
Scriptsversion string `json:"scriptsversion"`
|
||||
Serviceofferingid string `json:"serviceofferingid"`
|
||||
Serviceofferingname string `json:"serviceofferingname"`
|
||||
State string `json:"state"`
|
||||
Templateid string `json:"templateid"`
|
||||
Version string `json:"version"`
|
||||
Vpcid string `json:"vpcid"`
|
||||
Vpcname string `json:"vpcname"`
|
||||
Zoneid string `json:"zoneid"`
|
||||
Zonename string `json:"zonename"`
|
||||
}
|
||||
|
||||
type StopInternalLoadBalancerVMParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *StopInternalLoadBalancerVMParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["forced"]; found {
|
||||
vv := strconv.FormatBool(v.(bool))
|
||||
u.Set("forced", vv)
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *StopInternalLoadBalancerVMParams) SetForced(v bool) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["forced"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *StopInternalLoadBalancerVMParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new StopInternalLoadBalancerVMParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *InternalLBService) NewStopInternalLoadBalancerVMParams(id string) *StopInternalLoadBalancerVMParams {
|
||||
p := &StopInternalLoadBalancerVMParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["id"] = id
|
||||
return p
|
||||
}
|
||||
|
||||
// Stops an Internal LB vm.
|
||||
func (s *InternalLBService) StopInternalLoadBalancerVM(p *StopInternalLoadBalancerVMParams) (*StopInternalLoadBalancerVMResponse, error) {
|
||||
resp, err := s.cs.newRequest("stopInternalLoadBalancerVM", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r StopInternalLoadBalancerVMResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// If we have a async client, we need to wait for the async result
|
||||
if s.cs.async {
|
||||
b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
|
||||
if err != nil {
|
||||
if err == AsyncTimeoutErr {
|
||||
return &r, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
b, err = getRawValue(b)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(b, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type StopInternalLoadBalancerVMResponse struct {
|
||||
JobID string `json:"jobid"`
|
||||
Account string `json:"account"`
|
||||
Created string `json:"created"`
|
||||
Dns1 string `json:"dns1"`
|
||||
Dns2 string `json:"dns2"`
|
||||
Domain string `json:"domain"`
|
||||
Domainid string `json:"domainid"`
|
||||
Gateway string `json:"gateway"`
|
||||
Guestipaddress string `json:"guestipaddress"`
|
||||
Guestmacaddress string `json:"guestmacaddress"`
|
||||
Guestnetmask string `json:"guestnetmask"`
|
||||
Guestnetworkid string `json:"guestnetworkid"`
|
||||
Guestnetworkname string `json:"guestnetworkname"`
|
||||
Hostid string `json:"hostid"`
|
||||
Hostname string `json:"hostname"`
|
||||
Hypervisor string `json:"hypervisor"`
|
||||
Id string `json:"id"`
|
||||
Ip6dns1 string `json:"ip6dns1"`
|
||||
Ip6dns2 string `json:"ip6dns2"`
|
||||
Isredundantrouter bool `json:"isredundantrouter"`
|
||||
Linklocalip string `json:"linklocalip"`
|
||||
Linklocalmacaddress string `json:"linklocalmacaddress"`
|
||||
Linklocalnetmask string `json:"linklocalnetmask"`
|
||||
Linklocalnetworkid string `json:"linklocalnetworkid"`
|
||||
Name string `json:"name"`
|
||||
Networkdomain string `json:"networkdomain"`
|
||||
Nic []Nic `json:"nic"`
|
||||
Podid string `json:"podid"`
|
||||
Project string `json:"project"`
|
||||
Projectid string `json:"projectid"`
|
||||
Publicip string `json:"publicip"`
|
||||
Publicmacaddress string `json:"publicmacaddress"`
|
||||
Publicnetmask string `json:"publicnetmask"`
|
||||
Publicnetworkid string `json:"publicnetworkid"`
|
||||
Redundantstate string `json:"redundantstate"`
|
||||
Requiresupgrade bool `json:"requiresupgrade"`
|
||||
Role string `json:"role"`
|
||||
Scriptsversion string `json:"scriptsversion"`
|
||||
Serviceofferingid string `json:"serviceofferingid"`
|
||||
Serviceofferingname string `json:"serviceofferingname"`
|
||||
State string `json:"state"`
|
||||
Templateid string `json:"templateid"`
|
||||
Version string `json:"version"`
|
||||
Vpcid string `json:"vpcid"`
|
||||
Vpcname string `json:"vpcname"`
|
||||
Zoneid string `json:"zoneid"`
|
||||
Zonename string `json:"zonename"`
|
||||
}
|
||||
|
|
|
|||
1101
vendor/github.com/xanzy/go-cloudstack/cloudstack/LDAPService.go
generated
vendored
1101
vendor/github.com/xanzy/go-cloudstack/cloudstack/LDAPService.go
generated
vendored
File diff suppressed because it is too large
Load diff
201
vendor/github.com/xanzy/go-cloudstack/cloudstack/LICENSE
generated
vendored
201
vendor/github.com/xanzy/go-cloudstack/cloudstack/LICENSE
generated
vendored
|
|
@ -1,201 +0,0 @@
|
|||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "{}"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright {yyyy} {name of copyright owner}
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
735
vendor/github.com/xanzy/go-cloudstack/cloudstack/LimitService.go
generated
vendored
735
vendor/github.com/xanzy/go-cloudstack/cloudstack/LimitService.go
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// Copyright 2016, Sander van Harmelen
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
@ -22,6 +22,373 @@ import (
|
|||
"strconv"
|
||||
)
|
||||
|
||||
type GetApiLimitParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *GetApiLimitParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
// You should always use this function to get a new GetApiLimitParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *LimitService) NewGetApiLimitParams() *GetApiLimitParams {
|
||||
p := &GetApiLimitParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
return p
|
||||
}
|
||||
|
||||
// Get API limit count for the caller
|
||||
func (s *LimitService) GetApiLimit(p *GetApiLimitParams) (*GetApiLimitResponse, error) {
|
||||
resp, err := s.cs.newRequest("getApiLimit", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r GetApiLimitResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type GetApiLimitResponse struct {
|
||||
Account string `json:"account"`
|
||||
Accountid string `json:"accountid"`
|
||||
ApiAllowed int `json:"apiAllowed"`
|
||||
ApiIssued int `json:"apiIssued"`
|
||||
ExpireAfter int64 `json:"expireAfter"`
|
||||
}
|
||||
|
||||
type ListResourceLimitsParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *ListResourceLimitsParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["account"]; found {
|
||||
u.Set("account", v.(string))
|
||||
}
|
||||
if v, found := p.p["domainid"]; found {
|
||||
u.Set("domainid", v.(string))
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
vv := strconv.FormatInt(v.(int64), 10)
|
||||
u.Set("id", vv)
|
||||
}
|
||||
if v, found := p.p["isrecursive"]; found {
|
||||
vv := strconv.FormatBool(v.(bool))
|
||||
u.Set("isrecursive", vv)
|
||||
}
|
||||
if v, found := p.p["keyword"]; found {
|
||||
u.Set("keyword", v.(string))
|
||||
}
|
||||
if v, found := p.p["listall"]; found {
|
||||
vv := strconv.FormatBool(v.(bool))
|
||||
u.Set("listall", vv)
|
||||
}
|
||||
if v, found := p.p["page"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("page", vv)
|
||||
}
|
||||
if v, found := p.p["pagesize"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("pagesize", vv)
|
||||
}
|
||||
if v, found := p.p["projectid"]; found {
|
||||
u.Set("projectid", v.(string))
|
||||
}
|
||||
if v, found := p.p["resourcetype"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("resourcetype", vv)
|
||||
}
|
||||
if v, found := p.p["resourcetypename"]; found {
|
||||
u.Set("resourcetypename", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *ListResourceLimitsParams) SetAccount(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["account"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListResourceLimitsParams) SetDomainid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["domainid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListResourceLimitsParams) SetId(v int64) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListResourceLimitsParams) SetIsrecursive(v bool) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["isrecursive"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListResourceLimitsParams) SetKeyword(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["keyword"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListResourceLimitsParams) SetListall(v bool) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["listall"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListResourceLimitsParams) SetPage(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["page"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListResourceLimitsParams) SetPagesize(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["pagesize"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListResourceLimitsParams) SetProjectid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["projectid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListResourceLimitsParams) SetResourcetype(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["resourcetype"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListResourceLimitsParams) SetResourcetypename(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["resourcetypename"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new ListResourceLimitsParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *LimitService) NewListResourceLimitsParams() *ListResourceLimitsParams {
|
||||
p := &ListResourceLimitsParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
return p
|
||||
}
|
||||
|
||||
// Lists resource limits.
|
||||
func (s *LimitService) ListResourceLimits(p *ListResourceLimitsParams) (*ListResourceLimitsResponse, error) {
|
||||
resp, err := s.cs.newRequest("listResourceLimits", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ListResourceLimitsResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ListResourceLimitsResponse struct {
|
||||
Count int `json:"count"`
|
||||
ResourceLimits []*ResourceLimit `json:"resourcelimit"`
|
||||
}
|
||||
|
||||
type ResourceLimit struct {
|
||||
Account string `json:"account"`
|
||||
Domain string `json:"domain"`
|
||||
Domainid string `json:"domainid"`
|
||||
Max int64 `json:"max"`
|
||||
Project string `json:"project"`
|
||||
Projectid string `json:"projectid"`
|
||||
Resourcetype string `json:"resourcetype"`
|
||||
Resourcetypename string `json:"resourcetypename"`
|
||||
}
|
||||
|
||||
type ResetApiLimitParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *ResetApiLimitParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["account"]; found {
|
||||
u.Set("account", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *ResetApiLimitParams) SetAccount(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["account"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new ResetApiLimitParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *LimitService) NewResetApiLimitParams() *ResetApiLimitParams {
|
||||
p := &ResetApiLimitParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
return p
|
||||
}
|
||||
|
||||
// Reset api count
|
||||
func (s *LimitService) ResetApiLimit(p *ResetApiLimitParams) (*ResetApiLimitResponse, error) {
|
||||
resp, err := s.cs.newRequest("resetApiLimit", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ResetApiLimitResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ResetApiLimitResponse struct {
|
||||
Account string `json:"account"`
|
||||
Accountid string `json:"accountid"`
|
||||
ApiAllowed int `json:"apiAllowed"`
|
||||
ApiIssued int `json:"apiIssued"`
|
||||
ExpireAfter int64 `json:"expireAfter"`
|
||||
}
|
||||
|
||||
type UpdateResourceCountParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *UpdateResourceCountParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["account"]; found {
|
||||
u.Set("account", v.(string))
|
||||
}
|
||||
if v, found := p.p["domainid"]; found {
|
||||
u.Set("domainid", v.(string))
|
||||
}
|
||||
if v, found := p.p["projectid"]; found {
|
||||
u.Set("projectid", v.(string))
|
||||
}
|
||||
if v, found := p.p["resourcetype"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("resourcetype", vv)
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *UpdateResourceCountParams) SetAccount(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["account"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateResourceCountParams) SetDomainid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["domainid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateResourceCountParams) SetProjectid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["projectid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateResourceCountParams) SetResourcetype(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["resourcetype"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new UpdateResourceCountParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *LimitService) NewUpdateResourceCountParams(domainid string) *UpdateResourceCountParams {
|
||||
p := &UpdateResourceCountParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["domainid"] = domainid
|
||||
return p
|
||||
}
|
||||
|
||||
// Recalculate and update resource count for an account or domain.
|
||||
func (s *LimitService) UpdateResourceCount(p *UpdateResourceCountParams) (*UpdateResourceCountResponse, error) {
|
||||
resp, err := s.cs.newRequest("updateResourceCount", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r UpdateResourceCountResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type UpdateResourceCountResponse struct {
|
||||
Account string `json:"account"`
|
||||
Domain string `json:"domain"`
|
||||
Domainid string `json:"domainid"`
|
||||
Project string `json:"project"`
|
||||
Projectid string `json:"projectid"`
|
||||
Resourcecount int64 `json:"resourcecount"`
|
||||
Resourcetype string `json:"resourcetype"`
|
||||
Resourcetypename string `json:"resourcetypename"`
|
||||
}
|
||||
|
||||
type UpdateResourceLimitParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
|
@ -111,365 +478,17 @@ func (s *LimitService) UpdateResourceLimit(p *UpdateResourceLimitParams) (*Updat
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type UpdateResourceLimitResponse struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Max int64 `json:"max,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Resourcetype string `json:"resourcetype,omitempty"`
|
||||
}
|
||||
|
||||
type UpdateResourceCountParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *UpdateResourceCountParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["account"]; found {
|
||||
u.Set("account", v.(string))
|
||||
}
|
||||
if v, found := p.p["domainid"]; found {
|
||||
u.Set("domainid", v.(string))
|
||||
}
|
||||
if v, found := p.p["projectid"]; found {
|
||||
u.Set("projectid", v.(string))
|
||||
}
|
||||
if v, found := p.p["resourcetype"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("resourcetype", vv)
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *UpdateResourceCountParams) SetAccount(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["account"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateResourceCountParams) SetDomainid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["domainid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateResourceCountParams) SetProjectid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["projectid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateResourceCountParams) SetResourcetype(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["resourcetype"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new UpdateResourceCountParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *LimitService) NewUpdateResourceCountParams(domainid string) *UpdateResourceCountParams {
|
||||
p := &UpdateResourceCountParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["domainid"] = domainid
|
||||
return p
|
||||
}
|
||||
|
||||
// Recalculate and update resource count for an account or domain.
|
||||
func (s *LimitService) UpdateResourceCount(p *UpdateResourceCountParams) (*UpdateResourceCountResponse, error) {
|
||||
resp, err := s.cs.newRequest("updateResourceCount", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r UpdateResourceCountResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type UpdateResourceCountResponse struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Resourcecount int64 `json:"resourcecount,omitempty"`
|
||||
Resourcetype string `json:"resourcetype,omitempty"`
|
||||
}
|
||||
|
||||
type ListResourceLimitsParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *ListResourceLimitsParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["account"]; found {
|
||||
u.Set("account", v.(string))
|
||||
}
|
||||
if v, found := p.p["domainid"]; found {
|
||||
u.Set("domainid", v.(string))
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
vv := strconv.FormatInt(v.(int64), 10)
|
||||
u.Set("id", vv)
|
||||
}
|
||||
if v, found := p.p["isrecursive"]; found {
|
||||
vv := strconv.FormatBool(v.(bool))
|
||||
u.Set("isrecursive", vv)
|
||||
}
|
||||
if v, found := p.p["keyword"]; found {
|
||||
u.Set("keyword", v.(string))
|
||||
}
|
||||
if v, found := p.p["listall"]; found {
|
||||
vv := strconv.FormatBool(v.(bool))
|
||||
u.Set("listall", vv)
|
||||
}
|
||||
if v, found := p.p["page"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("page", vv)
|
||||
}
|
||||
if v, found := p.p["pagesize"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("pagesize", vv)
|
||||
}
|
||||
if v, found := p.p["projectid"]; found {
|
||||
u.Set("projectid", v.(string))
|
||||
}
|
||||
if v, found := p.p["resourcetype"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("resourcetype", vv)
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *ListResourceLimitsParams) SetAccount(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["account"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListResourceLimitsParams) SetDomainid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["domainid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListResourceLimitsParams) SetId(v int64) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListResourceLimitsParams) SetIsrecursive(v bool) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["isrecursive"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListResourceLimitsParams) SetKeyword(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["keyword"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListResourceLimitsParams) SetListall(v bool) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["listall"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListResourceLimitsParams) SetPage(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["page"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListResourceLimitsParams) SetPagesize(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["pagesize"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListResourceLimitsParams) SetProjectid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["projectid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListResourceLimitsParams) SetResourcetype(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["resourcetype"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new ListResourceLimitsParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *LimitService) NewListResourceLimitsParams() *ListResourceLimitsParams {
|
||||
p := &ListResourceLimitsParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
return p
|
||||
}
|
||||
|
||||
// Lists resource limits.
|
||||
func (s *LimitService) ListResourceLimits(p *ListResourceLimitsParams) (*ListResourceLimitsResponse, error) {
|
||||
resp, err := s.cs.newRequest("listResourceLimits", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ListResourceLimitsResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ListResourceLimitsResponse struct {
|
||||
Count int `json:"count"`
|
||||
ResourceLimits []*ResourceLimit `json:"resourcelimit"`
|
||||
}
|
||||
|
||||
type ResourceLimit struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Max int64 `json:"max,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Resourcetype string `json:"resourcetype,omitempty"`
|
||||
}
|
||||
|
||||
type GetApiLimitParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *GetApiLimitParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
// You should always use this function to get a new GetApiLimitParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *LimitService) NewGetApiLimitParams() *GetApiLimitParams {
|
||||
p := &GetApiLimitParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
return p
|
||||
}
|
||||
|
||||
// Get API limit count for the caller
|
||||
func (s *LimitService) GetApiLimit(p *GetApiLimitParams) (*GetApiLimitResponse, error) {
|
||||
resp, err := s.cs.newRequest("getApiLimit", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r GetApiLimitResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type GetApiLimitResponse struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Accountid string `json:"accountid,omitempty"`
|
||||
ApiAllowed int `json:"apiAllowed,omitempty"`
|
||||
ApiIssued int `json:"apiIssued,omitempty"`
|
||||
ExpireAfter int64 `json:"expireAfter,omitempty"`
|
||||
}
|
||||
|
||||
type ResetApiLimitParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *ResetApiLimitParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["account"]; found {
|
||||
u.Set("account", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *ResetApiLimitParams) SetAccount(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["account"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new ResetApiLimitParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *LimitService) NewResetApiLimitParams() *ResetApiLimitParams {
|
||||
p := &ResetApiLimitParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
return p
|
||||
}
|
||||
|
||||
// Reset api count
|
||||
func (s *LimitService) ResetApiLimit(p *ResetApiLimitParams) (*ResetApiLimitResponse, error) {
|
||||
resp, err := s.cs.newRequest("resetApiLimit", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ResetApiLimitResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ResetApiLimitResponse struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Accountid string `json:"accountid,omitempty"`
|
||||
ApiAllowed int `json:"apiAllowed,omitempty"`
|
||||
ApiIssued int `json:"apiIssued,omitempty"`
|
||||
ExpireAfter int64 `json:"expireAfter,omitempty"`
|
||||
Account string `json:"account"`
|
||||
Domain string `json:"domain"`
|
||||
Domainid string `json:"domainid"`
|
||||
Max int64 `json:"max"`
|
||||
Project string `json:"project"`
|
||||
Projectid string `json:"projectid"`
|
||||
Resourcetype string `json:"resourcetype"`
|
||||
Resourcetypename string `json:"resourcetypename"`
|
||||
}
|
||||
|
|
|
|||
7159
vendor/github.com/xanzy/go-cloudstack/cloudstack/LoadBalancerService.go
generated
vendored
7159
vendor/github.com/xanzy/go-cloudstack/cloudstack/LoadBalancerService.go
generated
vendored
File diff suppressed because it is too large
Load diff
430
vendor/github.com/xanzy/go-cloudstack/cloudstack/NATService.go
generated
vendored
430
vendor/github.com/xanzy/go-cloudstack/cloudstack/NATService.go
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// Copyright 2016, Sander van Harmelen
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
@ -24,91 +24,6 @@ import (
|
|||
"strings"
|
||||
)
|
||||
|
||||
type EnableStaticNatParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *EnableStaticNatParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["ipaddressid"]; found {
|
||||
u.Set("ipaddressid", v.(string))
|
||||
}
|
||||
if v, found := p.p["networkid"]; found {
|
||||
u.Set("networkid", v.(string))
|
||||
}
|
||||
if v, found := p.p["virtualmachineid"]; found {
|
||||
u.Set("virtualmachineid", v.(string))
|
||||
}
|
||||
if v, found := p.p["vmguestip"]; found {
|
||||
u.Set("vmguestip", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *EnableStaticNatParams) SetIpaddressid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["ipaddressid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *EnableStaticNatParams) SetNetworkid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["networkid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *EnableStaticNatParams) SetVirtualmachineid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["virtualmachineid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *EnableStaticNatParams) SetVmguestip(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["vmguestip"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new EnableStaticNatParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *NATService) NewEnableStaticNatParams(ipaddressid string, virtualmachineid string) *EnableStaticNatParams {
|
||||
p := &EnableStaticNatParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["ipaddressid"] = ipaddressid
|
||||
p.p["virtualmachineid"] = virtualmachineid
|
||||
return p
|
||||
}
|
||||
|
||||
// Enables static NAT for given IP address
|
||||
func (s *NATService) EnableStaticNat(p *EnableStaticNatParams) (*EnableStaticNatResponse, error) {
|
||||
resp, err := s.cs.newRequest("enableStaticNat", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r EnableStaticNatResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type EnableStaticNatResponse struct {
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Success string `json:"success,omitempty"`
|
||||
}
|
||||
|
||||
type CreateIpForwardingRuleParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
|
@ -233,39 +148,29 @@ func (s *NATService) CreateIpForwardingRule(p *CreateIpForwardingRuleParams) (*C
|
|||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type CreateIpForwardingRuleResponse struct {
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
Cidrlist string `json:"cidrlist,omitempty"`
|
||||
Fordisplay bool `json:"fordisplay,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Ipaddress string `json:"ipaddress,omitempty"`
|
||||
Ipaddressid string `json:"ipaddressid,omitempty"`
|
||||
Networkid string `json:"networkid,omitempty"`
|
||||
Privateendport string `json:"privateendport,omitempty"`
|
||||
Privateport string `json:"privateport,omitempty"`
|
||||
Protocol string `json:"protocol,omitempty"`
|
||||
Publicendport string `json:"publicendport,omitempty"`
|
||||
Publicport string `json:"publicport,omitempty"`
|
||||
State string `json:"state,omitempty"`
|
||||
Tags []struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Customer string `json:"customer,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Key string `json:"key,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Resourceid string `json:"resourceid,omitempty"`
|
||||
Resourcetype string `json:"resourcetype,omitempty"`
|
||||
Value string `json:"value,omitempty"`
|
||||
} `json:"tags,omitempty"`
|
||||
Virtualmachinedisplayname string `json:"virtualmachinedisplayname,omitempty"`
|
||||
Virtualmachineid string `json:"virtualmachineid,omitempty"`
|
||||
Virtualmachinename string `json:"virtualmachinename,omitempty"`
|
||||
Vmguestip string `json:"vmguestip,omitempty"`
|
||||
JobID string `json:"jobid"`
|
||||
Cidrlist string `json:"cidrlist"`
|
||||
Fordisplay bool `json:"fordisplay"`
|
||||
Id string `json:"id"`
|
||||
Ipaddress string `json:"ipaddress"`
|
||||
Ipaddressid string `json:"ipaddressid"`
|
||||
Networkid string `json:"networkid"`
|
||||
Privateendport string `json:"privateendport"`
|
||||
Privateport string `json:"privateport"`
|
||||
Protocol string `json:"protocol"`
|
||||
Publicendport string `json:"publicendport"`
|
||||
Publicport string `json:"publicport"`
|
||||
State string `json:"state"`
|
||||
Tags []Tags `json:"tags"`
|
||||
Virtualmachinedisplayname string `json:"virtualmachinedisplayname"`
|
||||
Virtualmachineid string `json:"virtualmachineid"`
|
||||
Virtualmachinename string `json:"virtualmachinename"`
|
||||
Vmguestip string `json:"vmguestip"`
|
||||
}
|
||||
|
||||
type DeleteIpForwardingRuleParams struct {
|
||||
|
|
@ -326,13 +231,187 @@ func (s *NATService) DeleteIpForwardingRule(p *DeleteIpForwardingRuleParams) (*D
|
|||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type DeleteIpForwardingRuleResponse struct {
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Success bool `json:"success,omitempty"`
|
||||
JobID string `json:"jobid"`
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
||||
type DisableStaticNatParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *DisableStaticNatParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["ipaddressid"]; found {
|
||||
u.Set("ipaddressid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *DisableStaticNatParams) SetIpaddressid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["ipaddressid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new DisableStaticNatParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *NATService) NewDisableStaticNatParams(ipaddressid string) *DisableStaticNatParams {
|
||||
p := &DisableStaticNatParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["ipaddressid"] = ipaddressid
|
||||
return p
|
||||
}
|
||||
|
||||
// Disables static rule for given IP address
|
||||
func (s *NATService) DisableStaticNat(p *DisableStaticNatParams) (*DisableStaticNatResponse, error) {
|
||||
resp, err := s.cs.newRequest("disableStaticNat", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r DisableStaticNatResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// If we have a async client, we need to wait for the async result
|
||||
if s.cs.async {
|
||||
b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
|
||||
if err != nil {
|
||||
if err == AsyncTimeoutErr {
|
||||
return &r, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(b, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type DisableStaticNatResponse struct {
|
||||
JobID string `json:"jobid"`
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
||||
type EnableStaticNatParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *EnableStaticNatParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["ipaddressid"]; found {
|
||||
u.Set("ipaddressid", v.(string))
|
||||
}
|
||||
if v, found := p.p["networkid"]; found {
|
||||
u.Set("networkid", v.(string))
|
||||
}
|
||||
if v, found := p.p["virtualmachineid"]; found {
|
||||
u.Set("virtualmachineid", v.(string))
|
||||
}
|
||||
if v, found := p.p["vmguestip"]; found {
|
||||
u.Set("vmguestip", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *EnableStaticNatParams) SetIpaddressid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["ipaddressid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *EnableStaticNatParams) SetNetworkid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["networkid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *EnableStaticNatParams) SetVirtualmachineid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["virtualmachineid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *EnableStaticNatParams) SetVmguestip(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["vmguestip"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new EnableStaticNatParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *NATService) NewEnableStaticNatParams(ipaddressid string, virtualmachineid string) *EnableStaticNatParams {
|
||||
p := &EnableStaticNatParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["ipaddressid"] = ipaddressid
|
||||
p.p["virtualmachineid"] = virtualmachineid
|
||||
return p
|
||||
}
|
||||
|
||||
// Enables static NAT for given IP address
|
||||
func (s *NATService) EnableStaticNat(p *EnableStaticNatParams) (*EnableStaticNatResponse, error) {
|
||||
resp, err := s.cs.newRequest("enableStaticNat", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r EnableStaticNatResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type EnableStaticNatResponse struct {
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
||||
func (r *EnableStaticNatResponse) UnmarshalJSON(b []byte) error {
|
||||
var m map[string]interface{}
|
||||
err := json.Unmarshal(b, &m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if success, ok := m["success"].(string); ok {
|
||||
m["success"] = success == "true"
|
||||
b, err = json.Marshal(m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
type alias EnableStaticNatResponse
|
||||
return json.Unmarshal(b, (*alias)(r))
|
||||
}
|
||||
|
||||
type ListIpForwardingRulesParams struct {
|
||||
|
|
@ -487,7 +566,7 @@ func (s *NATService) GetIpForwardingRuleByID(id string, opts ...OptionFunc) (*Ip
|
|||
|
||||
p.p["id"] = id
|
||||
|
||||
for _, fn := range opts {
|
||||
for _, fn := range append(s.cs.options, opts...) {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return nil, -1, err
|
||||
}
|
||||
|
|
@ -524,6 +603,7 @@ func (s *NATService) ListIpForwardingRules(p *ListIpForwardingRulesParams) (*Lis
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
|
|
@ -533,99 +613,21 @@ type ListIpForwardingRulesResponse struct {
|
|||
}
|
||||
|
||||
type IpForwardingRule struct {
|
||||
Cidrlist string `json:"cidrlist,omitempty"`
|
||||
Fordisplay bool `json:"fordisplay,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Ipaddress string `json:"ipaddress,omitempty"`
|
||||
Ipaddressid string `json:"ipaddressid,omitempty"`
|
||||
Networkid string `json:"networkid,omitempty"`
|
||||
Privateendport string `json:"privateendport,omitempty"`
|
||||
Privateport string `json:"privateport,omitempty"`
|
||||
Protocol string `json:"protocol,omitempty"`
|
||||
Publicendport string `json:"publicendport,omitempty"`
|
||||
Publicport string `json:"publicport,omitempty"`
|
||||
State string `json:"state,omitempty"`
|
||||
Tags []struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Customer string `json:"customer,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Key string `json:"key,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Resourceid string `json:"resourceid,omitempty"`
|
||||
Resourcetype string `json:"resourcetype,omitempty"`
|
||||
Value string `json:"value,omitempty"`
|
||||
} `json:"tags,omitempty"`
|
||||
Virtualmachinedisplayname string `json:"virtualmachinedisplayname,omitempty"`
|
||||
Virtualmachineid string `json:"virtualmachineid,omitempty"`
|
||||
Virtualmachinename string `json:"virtualmachinename,omitempty"`
|
||||
Vmguestip string `json:"vmguestip,omitempty"`
|
||||
}
|
||||
|
||||
type DisableStaticNatParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *DisableStaticNatParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["ipaddressid"]; found {
|
||||
u.Set("ipaddressid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *DisableStaticNatParams) SetIpaddressid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["ipaddressid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new DisableStaticNatParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *NATService) NewDisableStaticNatParams(ipaddressid string) *DisableStaticNatParams {
|
||||
p := &DisableStaticNatParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["ipaddressid"] = ipaddressid
|
||||
return p
|
||||
}
|
||||
|
||||
// Disables static rule for given IP address
|
||||
func (s *NATService) DisableStaticNat(p *DisableStaticNatParams) (*DisableStaticNatResponse, error) {
|
||||
resp, err := s.cs.newRequest("disableStaticNat", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r DisableStaticNatResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// If we have a async client, we need to wait for the async result
|
||||
if s.cs.async {
|
||||
b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
|
||||
if err != nil {
|
||||
if err == AsyncTimeoutErr {
|
||||
return &r, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(b, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type DisableStaticNatResponse struct {
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Success bool `json:"success,omitempty"`
|
||||
Cidrlist string `json:"cidrlist"`
|
||||
Fordisplay bool `json:"fordisplay"`
|
||||
Id string `json:"id"`
|
||||
Ipaddress string `json:"ipaddress"`
|
||||
Ipaddressid string `json:"ipaddressid"`
|
||||
Networkid string `json:"networkid"`
|
||||
Privateendport string `json:"privateendport"`
|
||||
Privateport string `json:"privateport"`
|
||||
Protocol string `json:"protocol"`
|
||||
Publicendport string `json:"publicendport"`
|
||||
Publicport string `json:"publicport"`
|
||||
State string `json:"state"`
|
||||
Tags []Tags `json:"tags"`
|
||||
Virtualmachinedisplayname string `json:"virtualmachinedisplayname"`
|
||||
Virtualmachineid string `json:"virtualmachineid"`
|
||||
Virtualmachinename string `json:"virtualmachinename"`
|
||||
Vmguestip string `json:"vmguestip"`
|
||||
}
|
||||
|
|
|
|||
1116
vendor/github.com/xanzy/go-cloudstack/cloudstack/NetworkACLService.go
generated
vendored
1116
vendor/github.com/xanzy/go-cloudstack/cloudstack/NetworkACLService.go
generated
vendored
File diff suppressed because it is too large
Load diff
130
vendor/github.com/xanzy/go-cloudstack/cloudstack/NetworkDeviceService.go
generated
vendored
130
vendor/github.com/xanzy/go-cloudstack/cloudstack/NetworkDeviceService.go
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// Copyright 2016, Sander van Harmelen
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
@ -81,11 +81,83 @@ func (s *NetworkDeviceService) AddNetworkDevice(p *AddNetworkDeviceParams) (*Add
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type AddNetworkDeviceResponse struct {
|
||||
Id string `json:"id,omitempty"`
|
||||
Id string `json:"id"`
|
||||
}
|
||||
|
||||
type DeleteNetworkDeviceParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *DeleteNetworkDeviceParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *DeleteNetworkDeviceParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new DeleteNetworkDeviceParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *NetworkDeviceService) NewDeleteNetworkDeviceParams(id string) *DeleteNetworkDeviceParams {
|
||||
p := &DeleteNetworkDeviceParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["id"] = id
|
||||
return p
|
||||
}
|
||||
|
||||
// Deletes network device.
|
||||
func (s *NetworkDeviceService) DeleteNetworkDevice(p *DeleteNetworkDeviceParams) (*DeleteNetworkDeviceResponse, error) {
|
||||
resp, err := s.cs.newRequest("deleteNetworkDevice", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r DeleteNetworkDeviceResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type DeleteNetworkDeviceResponse struct {
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
||||
func (r *DeleteNetworkDeviceResponse) UnmarshalJSON(b []byte) error {
|
||||
var m map[string]interface{}
|
||||
err := json.Unmarshal(b, &m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if success, ok := m["success"].(string); ok {
|
||||
m["success"] = success == "true"
|
||||
b, err = json.Marshal(m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
type alias DeleteNetworkDeviceResponse
|
||||
return json.Unmarshal(b, (*alias)(r))
|
||||
}
|
||||
|
||||
type ListNetworkDeviceParams struct {
|
||||
|
|
@ -181,6 +253,7 @@ func (s *NetworkDeviceService) ListNetworkDevice(p *ListNetworkDeviceParams) (*L
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
|
|
@ -190,56 +263,5 @@ type ListNetworkDeviceResponse struct {
|
|||
}
|
||||
|
||||
type NetworkDevice struct {
|
||||
Id string `json:"id,omitempty"`
|
||||
}
|
||||
|
||||
type DeleteNetworkDeviceParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *DeleteNetworkDeviceParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *DeleteNetworkDeviceParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new DeleteNetworkDeviceParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *NetworkDeviceService) NewDeleteNetworkDeviceParams(id string) *DeleteNetworkDeviceParams {
|
||||
p := &DeleteNetworkDeviceParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["id"] = id
|
||||
return p
|
||||
}
|
||||
|
||||
// Deletes network device.
|
||||
func (s *NetworkDeviceService) DeleteNetworkDevice(p *DeleteNetworkDeviceParams) (*DeleteNetworkDeviceResponse, error) {
|
||||
resp, err := s.cs.newRequest("deleteNetworkDevice", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r DeleteNetworkDeviceResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type DeleteNetworkDeviceResponse struct {
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Success string `json:"success,omitempty"`
|
||||
Id string `json:"id"`
|
||||
}
|
||||
|
|
|
|||
552
vendor/github.com/xanzy/go-cloudstack/cloudstack/NetworkOfferingService.go
generated
vendored
552
vendor/github.com/xanzy/go-cloudstack/cloudstack/NetworkOfferingService.go
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// Copyright 2016, Sander van Harmelen
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
@ -43,8 +43,7 @@ func (p *CreateNetworkOfferingParams) toURLValues() url.Values {
|
|||
if v, found := p.p["details"]; found {
|
||||
i := 0
|
||||
for k, vv := range v.(map[string]string) {
|
||||
u.Set(fmt.Sprintf("details[%d].key", i), k)
|
||||
u.Set(fmt.Sprintf("details[%d].value", i), vv)
|
||||
u.Set(fmt.Sprintf("details[%d].%s", i, k), vv)
|
||||
i++
|
||||
}
|
||||
}
|
||||
|
|
@ -55,6 +54,10 @@ func (p *CreateNetworkOfferingParams) toURLValues() url.Values {
|
|||
vv := strconv.FormatBool(v.(bool))
|
||||
u.Set("egressdefaultpolicy", vv)
|
||||
}
|
||||
if v, found := p.p["forvpc"]; found {
|
||||
vv := strconv.FormatBool(v.(bool))
|
||||
u.Set("forvpc", vv)
|
||||
}
|
||||
if v, found := p.p["guestiptype"]; found {
|
||||
u.Set("guestiptype", v.(string))
|
||||
}
|
||||
|
|
@ -157,6 +160,14 @@ func (p *CreateNetworkOfferingParams) SetEgressdefaultpolicy(v bool) {
|
|||
return
|
||||
}
|
||||
|
||||
func (p *CreateNetworkOfferingParams) SetForvpc(v bool) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["forvpc"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *CreateNetworkOfferingParams) SetGuestiptype(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
|
|
@ -297,214 +308,56 @@ func (s *NetworkOfferingService) CreateNetworkOffering(p *CreateNetworkOfferingP
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type CreateNetworkOfferingResponse struct {
|
||||
Availability string `json:"availability,omitempty"`
|
||||
Conservemode bool `json:"conservemode,omitempty"`
|
||||
Created string `json:"created,omitempty"`
|
||||
Details map[string]string `json:"details,omitempty"`
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Egressdefaultpolicy bool `json:"egressdefaultpolicy,omitempty"`
|
||||
Forvpc bool `json:"forvpc,omitempty"`
|
||||
Guestiptype string `json:"guestiptype,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Isdefault bool `json:"isdefault,omitempty"`
|
||||
Ispersistent bool `json:"ispersistent,omitempty"`
|
||||
Maxconnections int `json:"maxconnections,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Networkrate int `json:"networkrate,omitempty"`
|
||||
Service []struct {
|
||||
Capability []struct {
|
||||
Canchooseservicecapability bool `json:"canchooseservicecapability,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Value string `json:"value,omitempty"`
|
||||
} `json:"capability,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Provider []struct {
|
||||
Canenableindividualservice bool `json:"canenableindividualservice,omitempty"`
|
||||
Destinationphysicalnetworkid string `json:"destinationphysicalnetworkid,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Physicalnetworkid string `json:"physicalnetworkid,omitempty"`
|
||||
Servicelist []string `json:"servicelist,omitempty"`
|
||||
State string `json:"state,omitempty"`
|
||||
} `json:"provider,omitempty"`
|
||||
} `json:"service,omitempty"`
|
||||
Serviceofferingid string `json:"serviceofferingid,omitempty"`
|
||||
Specifyipranges bool `json:"specifyipranges,omitempty"`
|
||||
Specifyvlan bool `json:"specifyvlan,omitempty"`
|
||||
State string `json:"state,omitempty"`
|
||||
Supportsstrechedl2subnet bool `json:"supportsstrechedl2subnet,omitempty"`
|
||||
Tags string `json:"tags,omitempty"`
|
||||
Traffictype string `json:"traffictype,omitempty"`
|
||||
Availability string `json:"availability"`
|
||||
Conservemode bool `json:"conservemode"`
|
||||
Created string `json:"created"`
|
||||
Details map[string]string `json:"details"`
|
||||
Displaytext string `json:"displaytext"`
|
||||
Egressdefaultpolicy bool `json:"egressdefaultpolicy"`
|
||||
Forvpc bool `json:"forvpc"`
|
||||
Guestiptype string `json:"guestiptype"`
|
||||
Id string `json:"id"`
|
||||
Isdefault bool `json:"isdefault"`
|
||||
Ispersistent bool `json:"ispersistent"`
|
||||
Maxconnections int `json:"maxconnections"`
|
||||
Name string `json:"name"`
|
||||
Networkrate int `json:"networkrate"`
|
||||
Service []CreateNetworkOfferingResponseService `json:"service"`
|
||||
Serviceofferingid string `json:"serviceofferingid"`
|
||||
Specifyipranges bool `json:"specifyipranges"`
|
||||
Specifyvlan bool `json:"specifyvlan"`
|
||||
State string `json:"state"`
|
||||
Supportspublicaccess bool `json:"supportspublicaccess"`
|
||||
Supportsstrechedl2subnet bool `json:"supportsstrechedl2subnet"`
|
||||
Tags string `json:"tags"`
|
||||
Traffictype string `json:"traffictype"`
|
||||
}
|
||||
|
||||
type UpdateNetworkOfferingParams struct {
|
||||
p map[string]interface{}
|
||||
type CreateNetworkOfferingResponseService struct {
|
||||
Capability []CreateNetworkOfferingResponseServiceCapability `json:"capability"`
|
||||
Name string `json:"name"`
|
||||
Provider []CreateNetworkOfferingResponseServiceProvider `json:"provider"`
|
||||
}
|
||||
|
||||
func (p *UpdateNetworkOfferingParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["availability"]; found {
|
||||
u.Set("availability", v.(string))
|
||||
}
|
||||
if v, found := p.p["displaytext"]; found {
|
||||
u.Set("displaytext", v.(string))
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
if v, found := p.p["keepaliveenabled"]; found {
|
||||
vv := strconv.FormatBool(v.(bool))
|
||||
u.Set("keepaliveenabled", vv)
|
||||
}
|
||||
if v, found := p.p["maxconnections"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("maxconnections", vv)
|
||||
}
|
||||
if v, found := p.p["name"]; found {
|
||||
u.Set("name", v.(string))
|
||||
}
|
||||
if v, found := p.p["sortkey"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("sortkey", vv)
|
||||
}
|
||||
if v, found := p.p["state"]; found {
|
||||
u.Set("state", v.(string))
|
||||
}
|
||||
return u
|
||||
type CreateNetworkOfferingResponseServiceProvider struct {
|
||||
Canenableindividualservice bool `json:"canenableindividualservice"`
|
||||
Destinationphysicalnetworkid string `json:"destinationphysicalnetworkid"`
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Physicalnetworkid string `json:"physicalnetworkid"`
|
||||
Servicelist []string `json:"servicelist"`
|
||||
State string `json:"state"`
|
||||
}
|
||||
|
||||
func (p *UpdateNetworkOfferingParams) SetAvailability(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["availability"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateNetworkOfferingParams) SetDisplaytext(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["displaytext"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateNetworkOfferingParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateNetworkOfferingParams) SetKeepaliveenabled(v bool) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["keepaliveenabled"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateNetworkOfferingParams) SetMaxconnections(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["maxconnections"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateNetworkOfferingParams) SetName(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["name"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateNetworkOfferingParams) SetSortkey(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["sortkey"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateNetworkOfferingParams) SetState(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["state"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new UpdateNetworkOfferingParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *NetworkOfferingService) NewUpdateNetworkOfferingParams() *UpdateNetworkOfferingParams {
|
||||
p := &UpdateNetworkOfferingParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
return p
|
||||
}
|
||||
|
||||
// Updates a network offering.
|
||||
func (s *NetworkOfferingService) UpdateNetworkOffering(p *UpdateNetworkOfferingParams) (*UpdateNetworkOfferingResponse, error) {
|
||||
resp, err := s.cs.newRequest("updateNetworkOffering", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r UpdateNetworkOfferingResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type UpdateNetworkOfferingResponse struct {
|
||||
Availability string `json:"availability,omitempty"`
|
||||
Conservemode bool `json:"conservemode,omitempty"`
|
||||
Created string `json:"created,omitempty"`
|
||||
Details map[string]string `json:"details,omitempty"`
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Egressdefaultpolicy bool `json:"egressdefaultpolicy,omitempty"`
|
||||
Forvpc bool `json:"forvpc,omitempty"`
|
||||
Guestiptype string `json:"guestiptype,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Isdefault bool `json:"isdefault,omitempty"`
|
||||
Ispersistent bool `json:"ispersistent,omitempty"`
|
||||
Maxconnections int `json:"maxconnections,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Networkrate int `json:"networkrate,omitempty"`
|
||||
Service []struct {
|
||||
Capability []struct {
|
||||
Canchooseservicecapability bool `json:"canchooseservicecapability,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Value string `json:"value,omitempty"`
|
||||
} `json:"capability,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Provider []struct {
|
||||
Canenableindividualservice bool `json:"canenableindividualservice,omitempty"`
|
||||
Destinationphysicalnetworkid string `json:"destinationphysicalnetworkid,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Physicalnetworkid string `json:"physicalnetworkid,omitempty"`
|
||||
Servicelist []string `json:"servicelist,omitempty"`
|
||||
State string `json:"state,omitempty"`
|
||||
} `json:"provider,omitempty"`
|
||||
} `json:"service,omitempty"`
|
||||
Serviceofferingid string `json:"serviceofferingid,omitempty"`
|
||||
Specifyipranges bool `json:"specifyipranges,omitempty"`
|
||||
Specifyvlan bool `json:"specifyvlan,omitempty"`
|
||||
State string `json:"state,omitempty"`
|
||||
Supportsstrechedl2subnet bool `json:"supportsstrechedl2subnet,omitempty"`
|
||||
Tags string `json:"tags,omitempty"`
|
||||
Traffictype string `json:"traffictype,omitempty"`
|
||||
type CreateNetworkOfferingResponseServiceCapability struct {
|
||||
Canchooseservicecapability bool `json:"canchooseservicecapability"`
|
||||
Name string `json:"name"`
|
||||
Value string `json:"value"`
|
||||
}
|
||||
|
||||
type DeleteNetworkOfferingParams struct {
|
||||
|
|
@ -550,12 +403,32 @@ func (s *NetworkOfferingService) DeleteNetworkOffering(p *DeleteNetworkOfferingP
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type DeleteNetworkOfferingResponse struct {
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Success string `json:"success,omitempty"`
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
||||
func (r *DeleteNetworkOfferingResponse) UnmarshalJSON(b []byte) error {
|
||||
var m map[string]interface{}
|
||||
err := json.Unmarshal(b, &m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if success, ok := m["success"].(string); ok {
|
||||
m["success"] = success == "true"
|
||||
b, err = json.Marshal(m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
type alias DeleteNetworkOfferingResponse
|
||||
return json.Unmarshal(b, (*alias)(r))
|
||||
}
|
||||
|
||||
type ListNetworkOfferingsParams struct {
|
||||
|
|
@ -814,7 +687,7 @@ func (s *NetworkOfferingService) GetNetworkOfferingID(name string, opts ...Optio
|
|||
|
||||
p.p["name"] = name
|
||||
|
||||
for _, fn := range opts {
|
||||
for _, fn := range append(s.cs.options, opts...) {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return "", -1, err
|
||||
}
|
||||
|
|
@ -864,7 +737,7 @@ func (s *NetworkOfferingService) GetNetworkOfferingByID(id string, opts ...Optio
|
|||
|
||||
p.p["id"] = id
|
||||
|
||||
for _, fn := range opts {
|
||||
for _, fn := range append(s.cs.options, opts...) {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return nil, -1, err
|
||||
}
|
||||
|
|
@ -901,6 +774,7 @@ func (s *NetworkOfferingService) ListNetworkOfferings(p *ListNetworkOfferingsPar
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
|
|
@ -910,42 +784,234 @@ type ListNetworkOfferingsResponse struct {
|
|||
}
|
||||
|
||||
type NetworkOffering struct {
|
||||
Availability string `json:"availability,omitempty"`
|
||||
Conservemode bool `json:"conservemode,omitempty"`
|
||||
Created string `json:"created,omitempty"`
|
||||
Details map[string]string `json:"details,omitempty"`
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Egressdefaultpolicy bool `json:"egressdefaultpolicy,omitempty"`
|
||||
Forvpc bool `json:"forvpc,omitempty"`
|
||||
Guestiptype string `json:"guestiptype,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Isdefault bool `json:"isdefault,omitempty"`
|
||||
Ispersistent bool `json:"ispersistent,omitempty"`
|
||||
Maxconnections int `json:"maxconnections,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Networkrate int `json:"networkrate,omitempty"`
|
||||
Service []struct {
|
||||
Capability []struct {
|
||||
Canchooseservicecapability bool `json:"canchooseservicecapability,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Value string `json:"value,omitempty"`
|
||||
} `json:"capability,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Provider []struct {
|
||||
Canenableindividualservice bool `json:"canenableindividualservice,omitempty"`
|
||||
Destinationphysicalnetworkid string `json:"destinationphysicalnetworkid,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Physicalnetworkid string `json:"physicalnetworkid,omitempty"`
|
||||
Servicelist []string `json:"servicelist,omitempty"`
|
||||
State string `json:"state,omitempty"`
|
||||
} `json:"provider,omitempty"`
|
||||
} `json:"service,omitempty"`
|
||||
Serviceofferingid string `json:"serviceofferingid,omitempty"`
|
||||
Specifyipranges bool `json:"specifyipranges,omitempty"`
|
||||
Specifyvlan bool `json:"specifyvlan,omitempty"`
|
||||
State string `json:"state,omitempty"`
|
||||
Supportsstrechedl2subnet bool `json:"supportsstrechedl2subnet,omitempty"`
|
||||
Tags string `json:"tags,omitempty"`
|
||||
Traffictype string `json:"traffictype,omitempty"`
|
||||
Availability string `json:"availability"`
|
||||
Conservemode bool `json:"conservemode"`
|
||||
Created string `json:"created"`
|
||||
Details map[string]string `json:"details"`
|
||||
Displaytext string `json:"displaytext"`
|
||||
Egressdefaultpolicy bool `json:"egressdefaultpolicy"`
|
||||
Forvpc bool `json:"forvpc"`
|
||||
Guestiptype string `json:"guestiptype"`
|
||||
Id string `json:"id"`
|
||||
Isdefault bool `json:"isdefault"`
|
||||
Ispersistent bool `json:"ispersistent"`
|
||||
Maxconnections int `json:"maxconnections"`
|
||||
Name string `json:"name"`
|
||||
Networkrate int `json:"networkrate"`
|
||||
Service []NetworkOfferingServiceInternal `json:"service"`
|
||||
Serviceofferingid string `json:"serviceofferingid"`
|
||||
Specifyipranges bool `json:"specifyipranges"`
|
||||
Specifyvlan bool `json:"specifyvlan"`
|
||||
State string `json:"state"`
|
||||
Supportspublicaccess bool `json:"supportspublicaccess"`
|
||||
Supportsstrechedl2subnet bool `json:"supportsstrechedl2subnet"`
|
||||
Tags string `json:"tags"`
|
||||
Traffictype string `json:"traffictype"`
|
||||
}
|
||||
|
||||
type NetworkOfferingServiceInternal struct {
|
||||
Capability []NetworkOfferingServiceInternalCapability `json:"capability"`
|
||||
Name string `json:"name"`
|
||||
Provider []NetworkOfferingServiceInternalProvider `json:"provider"`
|
||||
}
|
||||
|
||||
type NetworkOfferingServiceInternalProvider struct {
|
||||
Canenableindividualservice bool `json:"canenableindividualservice"`
|
||||
Destinationphysicalnetworkid string `json:"destinationphysicalnetworkid"`
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Physicalnetworkid string `json:"physicalnetworkid"`
|
||||
Servicelist []string `json:"servicelist"`
|
||||
State string `json:"state"`
|
||||
}
|
||||
|
||||
type NetworkOfferingServiceInternalCapability struct {
|
||||
Canchooseservicecapability bool `json:"canchooseservicecapability"`
|
||||
Name string `json:"name"`
|
||||
Value string `json:"value"`
|
||||
}
|
||||
|
||||
type UpdateNetworkOfferingParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *UpdateNetworkOfferingParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["availability"]; found {
|
||||
u.Set("availability", v.(string))
|
||||
}
|
||||
if v, found := p.p["displaytext"]; found {
|
||||
u.Set("displaytext", v.(string))
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
if v, found := p.p["keepaliveenabled"]; found {
|
||||
vv := strconv.FormatBool(v.(bool))
|
||||
u.Set("keepaliveenabled", vv)
|
||||
}
|
||||
if v, found := p.p["maxconnections"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("maxconnections", vv)
|
||||
}
|
||||
if v, found := p.p["name"]; found {
|
||||
u.Set("name", v.(string))
|
||||
}
|
||||
if v, found := p.p["sortkey"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("sortkey", vv)
|
||||
}
|
||||
if v, found := p.p["state"]; found {
|
||||
u.Set("state", v.(string))
|
||||
}
|
||||
if v, found := p.p["tags"]; found {
|
||||
u.Set("tags", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *UpdateNetworkOfferingParams) SetAvailability(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["availability"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateNetworkOfferingParams) SetDisplaytext(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["displaytext"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateNetworkOfferingParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateNetworkOfferingParams) SetKeepaliveenabled(v bool) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["keepaliveenabled"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateNetworkOfferingParams) SetMaxconnections(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["maxconnections"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateNetworkOfferingParams) SetName(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["name"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateNetworkOfferingParams) SetSortkey(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["sortkey"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateNetworkOfferingParams) SetState(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["state"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateNetworkOfferingParams) SetTags(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["tags"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new UpdateNetworkOfferingParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *NetworkOfferingService) NewUpdateNetworkOfferingParams() *UpdateNetworkOfferingParams {
|
||||
p := &UpdateNetworkOfferingParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
return p
|
||||
}
|
||||
|
||||
// Updates a network offering.
|
||||
func (s *NetworkOfferingService) UpdateNetworkOffering(p *UpdateNetworkOfferingParams) (*UpdateNetworkOfferingResponse, error) {
|
||||
resp, err := s.cs.newRequest("updateNetworkOffering", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r UpdateNetworkOfferingResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type UpdateNetworkOfferingResponse struct {
|
||||
Availability string `json:"availability"`
|
||||
Conservemode bool `json:"conservemode"`
|
||||
Created string `json:"created"`
|
||||
Details map[string]string `json:"details"`
|
||||
Displaytext string `json:"displaytext"`
|
||||
Egressdefaultpolicy bool `json:"egressdefaultpolicy"`
|
||||
Forvpc bool `json:"forvpc"`
|
||||
Guestiptype string `json:"guestiptype"`
|
||||
Id string `json:"id"`
|
||||
Isdefault bool `json:"isdefault"`
|
||||
Ispersistent bool `json:"ispersistent"`
|
||||
Maxconnections int `json:"maxconnections"`
|
||||
Name string `json:"name"`
|
||||
Networkrate int `json:"networkrate"`
|
||||
Service []UpdateNetworkOfferingResponseService `json:"service"`
|
||||
Serviceofferingid string `json:"serviceofferingid"`
|
||||
Specifyipranges bool `json:"specifyipranges"`
|
||||
Specifyvlan bool `json:"specifyvlan"`
|
||||
State string `json:"state"`
|
||||
Supportspublicaccess bool `json:"supportspublicaccess"`
|
||||
Supportsstrechedl2subnet bool `json:"supportsstrechedl2subnet"`
|
||||
Tags string `json:"tags"`
|
||||
Traffictype string `json:"traffictype"`
|
||||
}
|
||||
|
||||
type UpdateNetworkOfferingResponseService struct {
|
||||
Capability []UpdateNetworkOfferingResponseServiceCapability `json:"capability"`
|
||||
Name string `json:"name"`
|
||||
Provider []UpdateNetworkOfferingResponseServiceProvider `json:"provider"`
|
||||
}
|
||||
|
||||
type UpdateNetworkOfferingResponseServiceProvider struct {
|
||||
Canenableindividualservice bool `json:"canenableindividualservice"`
|
||||
Destinationphysicalnetworkid string `json:"destinationphysicalnetworkid"`
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Physicalnetworkid string `json:"physicalnetworkid"`
|
||||
Servicelist []string `json:"servicelist"`
|
||||
State string `json:"state"`
|
||||
}
|
||||
|
||||
type UpdateNetworkOfferingResponseServiceCapability struct {
|
||||
Canchooseservicecapability bool `json:"canchooseservicecapability"`
|
||||
Name string `json:"name"`
|
||||
Value string `json:"value"`
|
||||
}
|
||||
|
|
|
|||
5519
vendor/github.com/xanzy/go-cloudstack/cloudstack/NetworkService.go
generated
vendored
5519
vendor/github.com/xanzy/go-cloudstack/cloudstack/NetworkService.go
generated
vendored
File diff suppressed because it is too large
Load diff
640
vendor/github.com/xanzy/go-cloudstack/cloudstack/NicService.go
generated
vendored
640
vendor/github.com/xanzy/go-cloudstack/cloudstack/NicService.go
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// Copyright 2016, Sander van Harmelen
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
@ -96,337 +96,21 @@ func (s *NicService) AddIpToNic(p *AddIpToNicParams) (*AddIpToNicResponse, error
|
|||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type AddIpToNicResponse struct {
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Ipaddress string `json:"ipaddress,omitempty"`
|
||||
Networkid string `json:"networkid,omitempty"`
|
||||
Nicid string `json:"nicid,omitempty"`
|
||||
Virtualmachineid string `json:"virtualmachineid,omitempty"`
|
||||
}
|
||||
|
||||
type RemoveIpFromNicParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *RemoveIpFromNicParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *RemoveIpFromNicParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new RemoveIpFromNicParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *NicService) NewRemoveIpFromNicParams(id string) *RemoveIpFromNicParams {
|
||||
p := &RemoveIpFromNicParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["id"] = id
|
||||
return p
|
||||
}
|
||||
|
||||
// Removes secondary IP from the NIC.
|
||||
func (s *NicService) RemoveIpFromNic(p *RemoveIpFromNicParams) (*RemoveIpFromNicResponse, error) {
|
||||
resp, err := s.cs.newRequest("removeIpFromNic", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r RemoveIpFromNicResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// If we have a async client, we need to wait for the async result
|
||||
if s.cs.async {
|
||||
b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
|
||||
if err != nil {
|
||||
if err == AsyncTimeoutErr {
|
||||
return &r, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(b, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type RemoveIpFromNicResponse struct {
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Success bool `json:"success,omitempty"`
|
||||
}
|
||||
|
||||
type UpdateVmNicIpParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *UpdateVmNicIpParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["ipaddress"]; found {
|
||||
u.Set("ipaddress", v.(string))
|
||||
}
|
||||
if v, found := p.p["nicid"]; found {
|
||||
u.Set("nicid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *UpdateVmNicIpParams) SetIpaddress(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["ipaddress"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateVmNicIpParams) SetNicid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["nicid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new UpdateVmNicIpParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *NicService) NewUpdateVmNicIpParams(nicid string) *UpdateVmNicIpParams {
|
||||
p := &UpdateVmNicIpParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["nicid"] = nicid
|
||||
return p
|
||||
}
|
||||
|
||||
// Update the default Ip of a VM Nic
|
||||
func (s *NicService) UpdateVmNicIp(p *UpdateVmNicIpParams) (*UpdateVmNicIpResponse, error) {
|
||||
resp, err := s.cs.newRequest("updateVmNicIp", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r UpdateVmNicIpResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// If we have a async client, we need to wait for the async result
|
||||
if s.cs.async {
|
||||
b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
|
||||
if err != nil {
|
||||
if err == AsyncTimeoutErr {
|
||||
return &r, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
b, err = getRawValue(b)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(b, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type UpdateVmNicIpResponse struct {
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
Account string `json:"account,omitempty"`
|
||||
Affinitygroup []struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Description string `json:"description,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Type string `json:"type,omitempty"`
|
||||
VirtualmachineIds []string `json:"virtualmachineIds,omitempty"`
|
||||
} `json:"affinitygroup,omitempty"`
|
||||
Cpunumber int `json:"cpunumber,omitempty"`
|
||||
Cpuspeed int `json:"cpuspeed,omitempty"`
|
||||
Cpuused string `json:"cpuused,omitempty"`
|
||||
Created string `json:"created,omitempty"`
|
||||
Details map[string]string `json:"details,omitempty"`
|
||||
Diskioread int64 `json:"diskioread,omitempty"`
|
||||
Diskiowrite int64 `json:"diskiowrite,omitempty"`
|
||||
Diskkbsread int64 `json:"diskkbsread,omitempty"`
|
||||
Diskkbswrite int64 `json:"diskkbswrite,omitempty"`
|
||||
Diskofferingid string `json:"diskofferingid,omitempty"`
|
||||
Diskofferingname string `json:"diskofferingname,omitempty"`
|
||||
Displayname string `json:"displayname,omitempty"`
|
||||
Displayvm bool `json:"displayvm,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Forvirtualnetwork bool `json:"forvirtualnetwork,omitempty"`
|
||||
Group string `json:"group,omitempty"`
|
||||
Groupid string `json:"groupid,omitempty"`
|
||||
Guestosid string `json:"guestosid,omitempty"`
|
||||
Haenable bool `json:"haenable,omitempty"`
|
||||
Hostid string `json:"hostid,omitempty"`
|
||||
Hostname string `json:"hostname,omitempty"`
|
||||
Hypervisor string `json:"hypervisor,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Instancename string `json:"instancename,omitempty"`
|
||||
Isdynamicallyscalable bool `json:"isdynamicallyscalable,omitempty"`
|
||||
Isodisplaytext string `json:"isodisplaytext,omitempty"`
|
||||
Isoid string `json:"isoid,omitempty"`
|
||||
Isoname string `json:"isoname,omitempty"`
|
||||
Keypair string `json:"keypair,omitempty"`
|
||||
Memory int `json:"memory,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Networkkbsread int64 `json:"networkkbsread,omitempty"`
|
||||
Networkkbswrite int64 `json:"networkkbswrite,omitempty"`
|
||||
Nic []struct {
|
||||
Broadcasturi string `json:"broadcasturi,omitempty"`
|
||||
Deviceid string `json:"deviceid,omitempty"`
|
||||
Gateway string `json:"gateway,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Ip6address string `json:"ip6address,omitempty"`
|
||||
Ip6cidr string `json:"ip6cidr,omitempty"`
|
||||
Ip6gateway string `json:"ip6gateway,omitempty"`
|
||||
Ipaddress string `json:"ipaddress,omitempty"`
|
||||
Isdefault bool `json:"isdefault,omitempty"`
|
||||
Isolationuri string `json:"isolationuri,omitempty"`
|
||||
Macaddress string `json:"macaddress,omitempty"`
|
||||
Netmask string `json:"netmask,omitempty"`
|
||||
Networkid string `json:"networkid,omitempty"`
|
||||
Networkname string `json:"networkname,omitempty"`
|
||||
Secondaryip []struct {
|
||||
Id string `json:"id,omitempty"`
|
||||
Ipaddress string `json:"ipaddress,omitempty"`
|
||||
} `json:"secondaryip,omitempty"`
|
||||
Traffictype string `json:"traffictype,omitempty"`
|
||||
Type string `json:"type,omitempty"`
|
||||
Virtualmachineid string `json:"virtualmachineid,omitempty"`
|
||||
} `json:"nic,omitempty"`
|
||||
Ostypeid int64 `json:"ostypeid,omitempty"`
|
||||
Password string `json:"password,omitempty"`
|
||||
Passwordenabled bool `json:"passwordenabled,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Publicip string `json:"publicip,omitempty"`
|
||||
Publicipid string `json:"publicipid,omitempty"`
|
||||
Rootdeviceid int64 `json:"rootdeviceid,omitempty"`
|
||||
Rootdevicetype string `json:"rootdevicetype,omitempty"`
|
||||
Securitygroup []struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Description string `json:"description,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Egressrule []struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Cidr string `json:"cidr,omitempty"`
|
||||
Endport int `json:"endport,omitempty"`
|
||||
Icmpcode int `json:"icmpcode,omitempty"`
|
||||
Icmptype int `json:"icmptype,omitempty"`
|
||||
Protocol string `json:"protocol,omitempty"`
|
||||
Ruleid string `json:"ruleid,omitempty"`
|
||||
Securitygroupname string `json:"securitygroupname,omitempty"`
|
||||
Startport int `json:"startport,omitempty"`
|
||||
Tags []struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Customer string `json:"customer,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Key string `json:"key,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Resourceid string `json:"resourceid,omitempty"`
|
||||
Resourcetype string `json:"resourcetype,omitempty"`
|
||||
Value string `json:"value,omitempty"`
|
||||
} `json:"tags,omitempty"`
|
||||
} `json:"egressrule,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Ingressrule []struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Cidr string `json:"cidr,omitempty"`
|
||||
Endport int `json:"endport,omitempty"`
|
||||
Icmpcode int `json:"icmpcode,omitempty"`
|
||||
Icmptype int `json:"icmptype,omitempty"`
|
||||
Protocol string `json:"protocol,omitempty"`
|
||||
Ruleid string `json:"ruleid,omitempty"`
|
||||
Securitygroupname string `json:"securitygroupname,omitempty"`
|
||||
Startport int `json:"startport,omitempty"`
|
||||
Tags []struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Customer string `json:"customer,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Key string `json:"key,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Resourceid string `json:"resourceid,omitempty"`
|
||||
Resourcetype string `json:"resourcetype,omitempty"`
|
||||
Value string `json:"value,omitempty"`
|
||||
} `json:"tags,omitempty"`
|
||||
} `json:"ingressrule,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Tags []struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Customer string `json:"customer,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Key string `json:"key,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Resourceid string `json:"resourceid,omitempty"`
|
||||
Resourcetype string `json:"resourcetype,omitempty"`
|
||||
Value string `json:"value,omitempty"`
|
||||
} `json:"tags,omitempty"`
|
||||
Virtualmachinecount int `json:"virtualmachinecount,omitempty"`
|
||||
Virtualmachineids []string `json:"virtualmachineids,omitempty"`
|
||||
} `json:"securitygroup,omitempty"`
|
||||
Serviceofferingid string `json:"serviceofferingid,omitempty"`
|
||||
Serviceofferingname string `json:"serviceofferingname,omitempty"`
|
||||
Servicestate string `json:"servicestate,omitempty"`
|
||||
State string `json:"state,omitempty"`
|
||||
Tags []struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Customer string `json:"customer,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Key string `json:"key,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Resourceid string `json:"resourceid,omitempty"`
|
||||
Resourcetype string `json:"resourcetype,omitempty"`
|
||||
Value string `json:"value,omitempty"`
|
||||
} `json:"tags,omitempty"`
|
||||
Templatedisplaytext string `json:"templatedisplaytext,omitempty"`
|
||||
Templateid string `json:"templateid,omitempty"`
|
||||
Templatename string `json:"templatename,omitempty"`
|
||||
Userid string `json:"userid,omitempty"`
|
||||
Username string `json:"username,omitempty"`
|
||||
Vgpu string `json:"vgpu,omitempty"`
|
||||
Zoneid string `json:"zoneid,omitempty"`
|
||||
Zonename string `json:"zonename,omitempty"`
|
||||
JobID string `json:"jobid"`
|
||||
Id string `json:"id"`
|
||||
Ipaddress string `json:"ipaddress"`
|
||||
Networkid string `json:"networkid"`
|
||||
Nicid string `json:"nicid"`
|
||||
Secondaryip []struct {
|
||||
Id string `json:"id"`
|
||||
Ipaddress string `json:"ipaddress"`
|
||||
} `json:"secondaryip"`
|
||||
Virtualmachineid string `json:"virtualmachineid"`
|
||||
}
|
||||
|
||||
type ListNicsParams struct {
|
||||
|
|
@ -541,6 +225,7 @@ func (s *NicService) ListNics(p *ListNicsParams) (*ListNicsResponse, error) {
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
|
|
@ -550,25 +235,282 @@ type ListNicsResponse struct {
|
|||
}
|
||||
|
||||
type Nic struct {
|
||||
Broadcasturi string `json:"broadcasturi,omitempty"`
|
||||
Deviceid string `json:"deviceid,omitempty"`
|
||||
Gateway string `json:"gateway,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Ip6address string `json:"ip6address,omitempty"`
|
||||
Ip6cidr string `json:"ip6cidr,omitempty"`
|
||||
Ip6gateway string `json:"ip6gateway,omitempty"`
|
||||
Ipaddress string `json:"ipaddress,omitempty"`
|
||||
Isdefault bool `json:"isdefault,omitempty"`
|
||||
Isolationuri string `json:"isolationuri,omitempty"`
|
||||
Macaddress string `json:"macaddress,omitempty"`
|
||||
Netmask string `json:"netmask,omitempty"`
|
||||
Networkid string `json:"networkid,omitempty"`
|
||||
Networkname string `json:"networkname,omitempty"`
|
||||
Secondaryip []struct {
|
||||
Id string `json:"id,omitempty"`
|
||||
Ipaddress string `json:"ipaddress,omitempty"`
|
||||
} `json:"secondaryip,omitempty"`
|
||||
Traffictype string `json:"traffictype,omitempty"`
|
||||
Type string `json:"type,omitempty"`
|
||||
Virtualmachineid string `json:"virtualmachineid,omitempty"`
|
||||
Broadcasturi string `json:"broadcasturi"`
|
||||
Deviceid string `json:"deviceid"`
|
||||
Extradhcpoption []string `json:"extradhcpoption"`
|
||||
Gateway string `json:"gateway"`
|
||||
Id string `json:"id"`
|
||||
Ip6address string `json:"ip6address"`
|
||||
Ip6cidr string `json:"ip6cidr"`
|
||||
Ip6gateway string `json:"ip6gateway"`
|
||||
Ipaddress string `json:"ipaddress"`
|
||||
Isdefault bool `json:"isdefault"`
|
||||
Isolationuri string `json:"isolationuri"`
|
||||
Macaddress string `json:"macaddress"`
|
||||
Netmask string `json:"netmask"`
|
||||
Networkid string `json:"networkid"`
|
||||
Networkname string `json:"networkname"`
|
||||
Nsxlogicalswitch string `json:"nsxlogicalswitch"`
|
||||
Nsxlogicalswitchport string `json:"nsxlogicalswitchport"`
|
||||
Secondaryip []struct {
|
||||
Id string `json:"id"`
|
||||
Ipaddress string `json:"ipaddress"`
|
||||
} `json:"secondaryip"`
|
||||
Traffictype string `json:"traffictype"`
|
||||
Type string `json:"type"`
|
||||
Virtualmachineid string `json:"virtualmachineid"`
|
||||
}
|
||||
|
||||
type RemoveIpFromNicParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *RemoveIpFromNicParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *RemoveIpFromNicParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new RemoveIpFromNicParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *NicService) NewRemoveIpFromNicParams(id string) *RemoveIpFromNicParams {
|
||||
p := &RemoveIpFromNicParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["id"] = id
|
||||
return p
|
||||
}
|
||||
|
||||
// Removes secondary IP from the NIC.
|
||||
func (s *NicService) RemoveIpFromNic(p *RemoveIpFromNicParams) (*RemoveIpFromNicResponse, error) {
|
||||
resp, err := s.cs.newRequest("removeIpFromNic", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r RemoveIpFromNicResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// If we have a async client, we need to wait for the async result
|
||||
if s.cs.async {
|
||||
b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
|
||||
if err != nil {
|
||||
if err == AsyncTimeoutErr {
|
||||
return &r, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(b, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type RemoveIpFromNicResponse struct {
|
||||
JobID string `json:"jobid"`
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
||||
type UpdateVmNicIpParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *UpdateVmNicIpParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["ipaddress"]; found {
|
||||
u.Set("ipaddress", v.(string))
|
||||
}
|
||||
if v, found := p.p["nicid"]; found {
|
||||
u.Set("nicid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *UpdateVmNicIpParams) SetIpaddress(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["ipaddress"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateVmNicIpParams) SetNicid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["nicid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new UpdateVmNicIpParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *NicService) NewUpdateVmNicIpParams(nicid string) *UpdateVmNicIpParams {
|
||||
p := &UpdateVmNicIpParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["nicid"] = nicid
|
||||
return p
|
||||
}
|
||||
|
||||
// Update the default Ip of a VM Nic
|
||||
func (s *NicService) UpdateVmNicIp(p *UpdateVmNicIpParams) (*UpdateVmNicIpResponse, error) {
|
||||
resp, err := s.cs.newRequest("updateVmNicIp", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r UpdateVmNicIpResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// If we have a async client, we need to wait for the async result
|
||||
if s.cs.async {
|
||||
b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
|
||||
if err != nil {
|
||||
if err == AsyncTimeoutErr {
|
||||
return &r, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
b, err = getRawValue(b)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(b, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type UpdateVmNicIpResponse struct {
|
||||
JobID string `json:"jobid"`
|
||||
Account string `json:"account"`
|
||||
Affinitygroup []UpdateVmNicIpResponseAffinitygroup `json:"affinitygroup"`
|
||||
Cpunumber int `json:"cpunumber"`
|
||||
Cpuspeed int `json:"cpuspeed"`
|
||||
Cpuused string `json:"cpuused"`
|
||||
Created string `json:"created"`
|
||||
Details map[string]string `json:"details"`
|
||||
Diskioread int64 `json:"diskioread"`
|
||||
Diskiowrite int64 `json:"diskiowrite"`
|
||||
Diskkbsread int64 `json:"diskkbsread"`
|
||||
Diskkbswrite int64 `json:"diskkbswrite"`
|
||||
Diskofferingid string `json:"diskofferingid"`
|
||||
Diskofferingname string `json:"diskofferingname"`
|
||||
Displayname string `json:"displayname"`
|
||||
Displayvm bool `json:"displayvm"`
|
||||
Domain string `json:"domain"`
|
||||
Domainid string `json:"domainid"`
|
||||
Forvirtualnetwork bool `json:"forvirtualnetwork"`
|
||||
Group string `json:"group"`
|
||||
Groupid string `json:"groupid"`
|
||||
Guestosid string `json:"guestosid"`
|
||||
Haenable bool `json:"haenable"`
|
||||
Hostid string `json:"hostid"`
|
||||
Hostname string `json:"hostname"`
|
||||
Hypervisor string `json:"hypervisor"`
|
||||
Id string `json:"id"`
|
||||
Instancename string `json:"instancename"`
|
||||
Isdynamicallyscalable bool `json:"isdynamicallyscalable"`
|
||||
Isodisplaytext string `json:"isodisplaytext"`
|
||||
Isoid string `json:"isoid"`
|
||||
Isoname string `json:"isoname"`
|
||||
Keypair string `json:"keypair"`
|
||||
Memory int `json:"memory"`
|
||||
Memoryintfreekbs int64 `json:"memoryintfreekbs"`
|
||||
Memorykbs int64 `json:"memorykbs"`
|
||||
Memorytargetkbs int64 `json:"memorytargetkbs"`
|
||||
Name string `json:"name"`
|
||||
Networkkbsread int64 `json:"networkkbsread"`
|
||||
Networkkbswrite int64 `json:"networkkbswrite"`
|
||||
Nic []Nic `json:"nic"`
|
||||
Ostypeid int64 `json:"ostypeid"`
|
||||
Password string `json:"password"`
|
||||
Passwordenabled bool `json:"passwordenabled"`
|
||||
Project string `json:"project"`
|
||||
Projectid string `json:"projectid"`
|
||||
Publicip string `json:"publicip"`
|
||||
Publicipid string `json:"publicipid"`
|
||||
Rootdeviceid int64 `json:"rootdeviceid"`
|
||||
Rootdevicetype string `json:"rootdevicetype"`
|
||||
Securitygroup []UpdateVmNicIpResponseSecuritygroup `json:"securitygroup"`
|
||||
Serviceofferingid string `json:"serviceofferingid"`
|
||||
Serviceofferingname string `json:"serviceofferingname"`
|
||||
Servicestate string `json:"servicestate"`
|
||||
State string `json:"state"`
|
||||
Templatedisplaytext string `json:"templatedisplaytext"`
|
||||
Templateid string `json:"templateid"`
|
||||
Templatename string `json:"templatename"`
|
||||
Userid string `json:"userid"`
|
||||
Username string `json:"username"`
|
||||
Vgpu string `json:"vgpu"`
|
||||
Zoneid string `json:"zoneid"`
|
||||
Zonename string `json:"zonename"`
|
||||
}
|
||||
|
||||
type UpdateVmNicIpResponseSecuritygroup struct {
|
||||
Account string `json:"account"`
|
||||
Description string `json:"description"`
|
||||
Domain string `json:"domain"`
|
||||
Domainid string `json:"domainid"`
|
||||
Egressrule []UpdateVmNicIpResponseSecuritygroupRule `json:"egressrule"`
|
||||
Id string `json:"id"`
|
||||
Ingressrule []UpdateVmNicIpResponseSecuritygroupRule `json:"ingressrule"`
|
||||
Name string `json:"name"`
|
||||
Project string `json:"project"`
|
||||
Projectid string `json:"projectid"`
|
||||
Tags []Tags `json:"tags"`
|
||||
Virtualmachinecount int `json:"virtualmachinecount"`
|
||||
Virtualmachineids []interface{} `json:"virtualmachineids"`
|
||||
}
|
||||
|
||||
type UpdateVmNicIpResponseSecuritygroupRule struct {
|
||||
Account string `json:"account"`
|
||||
Cidr string `json:"cidr"`
|
||||
Endport int `json:"endport"`
|
||||
Icmpcode int `json:"icmpcode"`
|
||||
Icmptype int `json:"icmptype"`
|
||||
Protocol string `json:"protocol"`
|
||||
Ruleid string `json:"ruleid"`
|
||||
Securitygroupname string `json:"securitygroupname"`
|
||||
Startport int `json:"startport"`
|
||||
Tags []Tags `json:"tags"`
|
||||
}
|
||||
|
||||
type UpdateVmNicIpResponseAffinitygroup struct {
|
||||
Account string `json:"account"`
|
||||
Description string `json:"description"`
|
||||
Domain string `json:"domain"`
|
||||
Domainid string `json:"domainid"`
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Project string `json:"project"`
|
||||
Projectid string `json:"projectid"`
|
||||
Type string `json:"type"`
|
||||
VirtualmachineIds []string `json:"virtualmachineIds"`
|
||||
}
|
||||
|
|
|
|||
54
vendor/github.com/xanzy/go-cloudstack/cloudstack/NiciraNVPService.go
generated
vendored
54
vendor/github.com/xanzy/go-cloudstack/cloudstack/NiciraNVPService.go
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// Copyright 2016, Sander van Harmelen
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
@ -34,6 +34,9 @@ func (p *AddNiciraNvpDeviceParams) toURLValues() url.Values {
|
|||
if v, found := p.p["hostname"]; found {
|
||||
u.Set("hostname", v.(string))
|
||||
}
|
||||
if v, found := p.p["l2gatewayserviceuuid"]; found {
|
||||
u.Set("l2gatewayserviceuuid", v.(string))
|
||||
}
|
||||
if v, found := p.p["l3gatewayserviceuuid"]; found {
|
||||
u.Set("l3gatewayserviceuuid", v.(string))
|
||||
}
|
||||
|
|
@ -60,6 +63,14 @@ func (p *AddNiciraNvpDeviceParams) SetHostname(v string) {
|
|||
return
|
||||
}
|
||||
|
||||
func (p *AddNiciraNvpDeviceParams) SetL2gatewayserviceuuid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["l2gatewayserviceuuid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *AddNiciraNvpDeviceParams) SetL3gatewayserviceuuid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
|
|
@ -144,18 +155,20 @@ func (s *NiciraNVPService) AddNiciraNvpDevice(p *AddNiciraNvpDeviceParams) (*Add
|
|||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type AddNiciraNvpDeviceResponse struct {
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
Hostname string `json:"hostname,omitempty"`
|
||||
L3gatewayserviceuuid string `json:"l3gatewayserviceuuid,omitempty"`
|
||||
Niciradevicename string `json:"niciradevicename,omitempty"`
|
||||
Nvpdeviceid string `json:"nvpdeviceid,omitempty"`
|
||||
Physicalnetworkid string `json:"physicalnetworkid,omitempty"`
|
||||
Provider string `json:"provider,omitempty"`
|
||||
Transportzoneuuid string `json:"transportzoneuuid,omitempty"`
|
||||
JobID string `json:"jobid"`
|
||||
Hostname string `json:"hostname"`
|
||||
L2gatewayserviceuuid string `json:"l2gatewayserviceuuid"`
|
||||
L3gatewayserviceuuid string `json:"l3gatewayserviceuuid"`
|
||||
Niciradevicename string `json:"niciradevicename"`
|
||||
Nvpdeviceid string `json:"nvpdeviceid"`
|
||||
Physicalnetworkid string `json:"physicalnetworkid"`
|
||||
Provider string `json:"provider"`
|
||||
Transportzoneuuid string `json:"transportzoneuuid"`
|
||||
}
|
||||
|
||||
type DeleteNiciraNvpDeviceParams struct {
|
||||
|
|
@ -216,13 +229,14 @@ func (s *NiciraNVPService) DeleteNiciraNvpDevice(p *DeleteNiciraNvpDeviceParams)
|
|||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type DeleteNiciraNvpDeviceResponse struct {
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Success bool `json:"success,omitempty"`
|
||||
JobID string `json:"jobid"`
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
||||
type ListNiciraNvpDevicesParams struct {
|
||||
|
|
@ -313,6 +327,7 @@ func (s *NiciraNVPService) ListNiciraNvpDevices(p *ListNiciraNvpDevicesParams) (
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
|
|
@ -322,11 +337,12 @@ type ListNiciraNvpDevicesResponse struct {
|
|||
}
|
||||
|
||||
type NiciraNvpDevice struct {
|
||||
Hostname string `json:"hostname,omitempty"`
|
||||
L3gatewayserviceuuid string `json:"l3gatewayserviceuuid,omitempty"`
|
||||
Niciradevicename string `json:"niciradevicename,omitempty"`
|
||||
Nvpdeviceid string `json:"nvpdeviceid,omitempty"`
|
||||
Physicalnetworkid string `json:"physicalnetworkid,omitempty"`
|
||||
Provider string `json:"provider,omitempty"`
|
||||
Transportzoneuuid string `json:"transportzoneuuid,omitempty"`
|
||||
Hostname string `json:"hostname"`
|
||||
L2gatewayserviceuuid string `json:"l2gatewayserviceuuid"`
|
||||
L3gatewayserviceuuid string `json:"l3gatewayserviceuuid"`
|
||||
Niciradevicename string `json:"niciradevicename"`
|
||||
Nvpdeviceid string `json:"nvpdeviceid"`
|
||||
Physicalnetworkid string `json:"physicalnetworkid"`
|
||||
Provider string `json:"provider"`
|
||||
Transportzoneuuid string `json:"transportzoneuuid"`
|
||||
}
|
||||
|
|
|
|||
527
vendor/github.com/xanzy/go-cloudstack/cloudstack/NuageVSPService.go
generated
vendored
Normal file
527
vendor/github.com/xanzy/go-cloudstack/cloudstack/NuageVSPService.go
generated
vendored
Normal file
|
|
@ -0,0 +1,527 @@
|
|||
//
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
package cloudstack
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"net/url"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
type AddNuageVspDeviceParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *AddNuageVspDeviceParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["apiversion"]; found {
|
||||
u.Set("apiversion", v.(string))
|
||||
}
|
||||
if v, found := p.p["hostname"]; found {
|
||||
u.Set("hostname", v.(string))
|
||||
}
|
||||
if v, found := p.p["password"]; found {
|
||||
u.Set("password", v.(string))
|
||||
}
|
||||
if v, found := p.p["physicalnetworkid"]; found {
|
||||
u.Set("physicalnetworkid", v.(string))
|
||||
}
|
||||
if v, found := p.p["port"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("port", vv)
|
||||
}
|
||||
if v, found := p.p["retrycount"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("retrycount", vv)
|
||||
}
|
||||
if v, found := p.p["retryinterval"]; found {
|
||||
vv := strconv.FormatInt(v.(int64), 10)
|
||||
u.Set("retryinterval", vv)
|
||||
}
|
||||
if v, found := p.p["username"]; found {
|
||||
u.Set("username", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *AddNuageVspDeviceParams) SetApiversion(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["apiversion"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *AddNuageVspDeviceParams) SetHostname(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["hostname"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *AddNuageVspDeviceParams) SetPassword(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["password"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *AddNuageVspDeviceParams) SetPhysicalnetworkid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["physicalnetworkid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *AddNuageVspDeviceParams) SetPort(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["port"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *AddNuageVspDeviceParams) SetRetrycount(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["retrycount"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *AddNuageVspDeviceParams) SetRetryinterval(v int64) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["retryinterval"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *AddNuageVspDeviceParams) SetUsername(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["username"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new AddNuageVspDeviceParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *NuageVSPService) NewAddNuageVspDeviceParams(hostname string, password string, physicalnetworkid string, port int, username string) *AddNuageVspDeviceParams {
|
||||
p := &AddNuageVspDeviceParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["hostname"] = hostname
|
||||
p.p["password"] = password
|
||||
p.p["physicalnetworkid"] = physicalnetworkid
|
||||
p.p["port"] = port
|
||||
p.p["username"] = username
|
||||
return p
|
||||
}
|
||||
|
||||
// Adds a Nuage VSP device
|
||||
func (s *NuageVSPService) AddNuageVspDevice(p *AddNuageVspDeviceParams) (*AddNuageVspDeviceResponse, error) {
|
||||
resp, err := s.cs.newRequest("addNuageVspDevice", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r AddNuageVspDeviceResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// If we have a async client, we need to wait for the async result
|
||||
if s.cs.async {
|
||||
b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
|
||||
if err != nil {
|
||||
if err == AsyncTimeoutErr {
|
||||
return &r, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
b, err = getRawValue(b)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(b, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type AddNuageVspDeviceResponse struct {
|
||||
JobID string `json:"jobid"`
|
||||
Apiversion string `json:"apiversion"`
|
||||
Cmsid string `json:"cmsid"`
|
||||
Hostname string `json:"hostname"`
|
||||
Nuagedevicename string `json:"nuagedevicename"`
|
||||
Physicalnetworkid string `json:"physicalnetworkid"`
|
||||
Port int `json:"port"`
|
||||
Provider string `json:"provider"`
|
||||
Retrycount int `json:"retrycount"`
|
||||
Retryinterval int64 `json:"retryinterval"`
|
||||
Vspdeviceid string `json:"vspdeviceid"`
|
||||
}
|
||||
|
||||
type DeleteNuageVspDeviceParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *DeleteNuageVspDeviceParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["vspdeviceid"]; found {
|
||||
u.Set("vspdeviceid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *DeleteNuageVspDeviceParams) SetVspdeviceid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["vspdeviceid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new DeleteNuageVspDeviceParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *NuageVSPService) NewDeleteNuageVspDeviceParams(vspdeviceid string) *DeleteNuageVspDeviceParams {
|
||||
p := &DeleteNuageVspDeviceParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["vspdeviceid"] = vspdeviceid
|
||||
return p
|
||||
}
|
||||
|
||||
// delete a nuage vsp device
|
||||
func (s *NuageVSPService) DeleteNuageVspDevice(p *DeleteNuageVspDeviceParams) (*DeleteNuageVspDeviceResponse, error) {
|
||||
resp, err := s.cs.newRequest("deleteNuageVspDevice", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r DeleteNuageVspDeviceResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// If we have a async client, we need to wait for the async result
|
||||
if s.cs.async {
|
||||
b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
|
||||
if err != nil {
|
||||
if err == AsyncTimeoutErr {
|
||||
return &r, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(b, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type DeleteNuageVspDeviceResponse struct {
|
||||
JobID string `json:"jobid"`
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
||||
type ListNuageVspDevicesParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *ListNuageVspDevicesParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["keyword"]; found {
|
||||
u.Set("keyword", v.(string))
|
||||
}
|
||||
if v, found := p.p["page"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("page", vv)
|
||||
}
|
||||
if v, found := p.p["pagesize"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("pagesize", vv)
|
||||
}
|
||||
if v, found := p.p["physicalnetworkid"]; found {
|
||||
u.Set("physicalnetworkid", v.(string))
|
||||
}
|
||||
if v, found := p.p["vspdeviceid"]; found {
|
||||
u.Set("vspdeviceid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *ListNuageVspDevicesParams) SetKeyword(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["keyword"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListNuageVspDevicesParams) SetPage(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["page"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListNuageVspDevicesParams) SetPagesize(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["pagesize"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListNuageVspDevicesParams) SetPhysicalnetworkid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["physicalnetworkid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListNuageVspDevicesParams) SetVspdeviceid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["vspdeviceid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new ListNuageVspDevicesParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *NuageVSPService) NewListNuageVspDevicesParams() *ListNuageVspDevicesParams {
|
||||
p := &ListNuageVspDevicesParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
return p
|
||||
}
|
||||
|
||||
// Lists Nuage VSP devices
|
||||
func (s *NuageVSPService) ListNuageVspDevices(p *ListNuageVspDevicesParams) (*ListNuageVspDevicesResponse, error) {
|
||||
resp, err := s.cs.newRequest("listNuageVspDevices", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ListNuageVspDevicesResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ListNuageVspDevicesResponse struct {
|
||||
Count int `json:"count"`
|
||||
NuageVspDevices []*NuageVspDevice `json:"nuagevspdevice"`
|
||||
}
|
||||
|
||||
type NuageVspDevice struct {
|
||||
Apiversion string `json:"apiversion"`
|
||||
Cmsid string `json:"cmsid"`
|
||||
Hostname string `json:"hostname"`
|
||||
Nuagedevicename string `json:"nuagedevicename"`
|
||||
Physicalnetworkid string `json:"physicalnetworkid"`
|
||||
Port int `json:"port"`
|
||||
Provider string `json:"provider"`
|
||||
Retrycount int `json:"retrycount"`
|
||||
Retryinterval int64 `json:"retryinterval"`
|
||||
Vspdeviceid string `json:"vspdeviceid"`
|
||||
}
|
||||
|
||||
type UpdateNuageVspDeviceParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *UpdateNuageVspDeviceParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["apiversion"]; found {
|
||||
u.Set("apiversion", v.(string))
|
||||
}
|
||||
if v, found := p.p["hostname"]; found {
|
||||
u.Set("hostname", v.(string))
|
||||
}
|
||||
if v, found := p.p["password"]; found {
|
||||
u.Set("password", v.(string))
|
||||
}
|
||||
if v, found := p.p["physicalnetworkid"]; found {
|
||||
u.Set("physicalnetworkid", v.(string))
|
||||
}
|
||||
if v, found := p.p["port"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("port", vv)
|
||||
}
|
||||
if v, found := p.p["retrycount"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("retrycount", vv)
|
||||
}
|
||||
if v, found := p.p["retryinterval"]; found {
|
||||
vv := strconv.FormatInt(v.(int64), 10)
|
||||
u.Set("retryinterval", vv)
|
||||
}
|
||||
if v, found := p.p["username"]; found {
|
||||
u.Set("username", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *UpdateNuageVspDeviceParams) SetApiversion(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["apiversion"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateNuageVspDeviceParams) SetHostname(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["hostname"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateNuageVspDeviceParams) SetPassword(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["password"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateNuageVspDeviceParams) SetPhysicalnetworkid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["physicalnetworkid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateNuageVspDeviceParams) SetPort(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["port"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateNuageVspDeviceParams) SetRetrycount(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["retrycount"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateNuageVspDeviceParams) SetRetryinterval(v int64) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["retryinterval"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateNuageVspDeviceParams) SetUsername(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["username"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new UpdateNuageVspDeviceParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *NuageVSPService) NewUpdateNuageVspDeviceParams(physicalnetworkid string) *UpdateNuageVspDeviceParams {
|
||||
p := &UpdateNuageVspDeviceParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["physicalnetworkid"] = physicalnetworkid
|
||||
return p
|
||||
}
|
||||
|
||||
// Update a Nuage VSP device
|
||||
func (s *NuageVSPService) UpdateNuageVspDevice(p *UpdateNuageVspDeviceParams) (*UpdateNuageVspDeviceResponse, error) {
|
||||
resp, err := s.cs.newRequest("updateNuageVspDevice", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r UpdateNuageVspDeviceResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// If we have a async client, we need to wait for the async result
|
||||
if s.cs.async {
|
||||
b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
|
||||
if err != nil {
|
||||
if err == AsyncTimeoutErr {
|
||||
return &r, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
b, err = getRawValue(b)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(b, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type UpdateNuageVspDeviceResponse struct {
|
||||
JobID string `json:"jobid"`
|
||||
Apiversion string `json:"apiversion"`
|
||||
Cmsid string `json:"cmsid"`
|
||||
Hostname string `json:"hostname"`
|
||||
Nuagedevicename string `json:"nuagedevicename"`
|
||||
Physicalnetworkid string `json:"physicalnetworkid"`
|
||||
Port int `json:"port"`
|
||||
Provider string `json:"provider"`
|
||||
Retrycount int `json:"retrycount"`
|
||||
Retryinterval int64 `json:"retryinterval"`
|
||||
Vspdeviceid string `json:"vspdeviceid"`
|
||||
}
|
||||
343
vendor/github.com/xanzy/go-cloudstack/cloudstack/OutofbandManagementService.go
generated
vendored
Normal file
343
vendor/github.com/xanzy/go-cloudstack/cloudstack/OutofbandManagementService.go
generated
vendored
Normal file
|
|
@ -0,0 +1,343 @@
|
|||
//
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
package cloudstack
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"net/url"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
type ChangeOutOfBandManagementPasswordParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *ChangeOutOfBandManagementPasswordParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["hostid"]; found {
|
||||
u.Set("hostid", v.(string))
|
||||
}
|
||||
if v, found := p.p["password"]; found {
|
||||
u.Set("password", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *ChangeOutOfBandManagementPasswordParams) SetHostid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["hostid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ChangeOutOfBandManagementPasswordParams) SetPassword(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["password"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new ChangeOutOfBandManagementPasswordParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *OutofbandManagementService) NewChangeOutOfBandManagementPasswordParams(hostid string) *ChangeOutOfBandManagementPasswordParams {
|
||||
p := &ChangeOutOfBandManagementPasswordParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["hostid"] = hostid
|
||||
return p
|
||||
}
|
||||
|
||||
// Changes out-of-band management interface password on the host and updates the interface configuration in CloudStack if the operation succeeds, else reverts the old password
|
||||
func (s *OutofbandManagementService) ChangeOutOfBandManagementPassword(p *ChangeOutOfBandManagementPasswordParams) (*ChangeOutOfBandManagementPasswordResponse, error) {
|
||||
resp, err := s.cs.newRequest("changeOutOfBandManagementPassword", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ChangeOutOfBandManagementPasswordResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// If we have a async client, we need to wait for the async result
|
||||
if s.cs.async {
|
||||
b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
|
||||
if err != nil {
|
||||
if err == AsyncTimeoutErr {
|
||||
return &r, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
b, err = getRawValue(b)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(b, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ChangeOutOfBandManagementPasswordResponse struct {
|
||||
JobID string `json:"jobid"`
|
||||
Action string `json:"action"`
|
||||
Address string `json:"address"`
|
||||
Description string `json:"description"`
|
||||
Driver string `json:"driver"`
|
||||
Enabled bool `json:"enabled"`
|
||||
Hostid string `json:"hostid"`
|
||||
Password string `json:"password"`
|
||||
Port string `json:"port"`
|
||||
Powerstate string `json:"powerstate"`
|
||||
Status bool `json:"status"`
|
||||
Username string `json:"username"`
|
||||
}
|
||||
|
||||
type ConfigureOutOfBandManagementParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *ConfigureOutOfBandManagementParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["address"]; found {
|
||||
u.Set("address", v.(string))
|
||||
}
|
||||
if v, found := p.p["driver"]; found {
|
||||
u.Set("driver", v.(string))
|
||||
}
|
||||
if v, found := p.p["hostid"]; found {
|
||||
u.Set("hostid", v.(string))
|
||||
}
|
||||
if v, found := p.p["password"]; found {
|
||||
u.Set("password", v.(string))
|
||||
}
|
||||
if v, found := p.p["port"]; found {
|
||||
u.Set("port", v.(string))
|
||||
}
|
||||
if v, found := p.p["username"]; found {
|
||||
u.Set("username", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *ConfigureOutOfBandManagementParams) SetAddress(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["address"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ConfigureOutOfBandManagementParams) SetDriver(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["driver"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ConfigureOutOfBandManagementParams) SetHostid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["hostid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ConfigureOutOfBandManagementParams) SetPassword(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["password"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ConfigureOutOfBandManagementParams) SetPort(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["port"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ConfigureOutOfBandManagementParams) SetUsername(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["username"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new ConfigureOutOfBandManagementParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *OutofbandManagementService) NewConfigureOutOfBandManagementParams(address string, driver string, hostid string, password string, port string, username string) *ConfigureOutOfBandManagementParams {
|
||||
p := &ConfigureOutOfBandManagementParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["address"] = address
|
||||
p.p["driver"] = driver
|
||||
p.p["hostid"] = hostid
|
||||
p.p["password"] = password
|
||||
p.p["port"] = port
|
||||
p.p["username"] = username
|
||||
return p
|
||||
}
|
||||
|
||||
// Configures a host's out-of-band management interface
|
||||
func (s *OutofbandManagementService) ConfigureOutOfBandManagement(p *ConfigureOutOfBandManagementParams) (*OutOfBandManagementResponse, error) {
|
||||
resp, err := s.cs.newRequest("configureOutOfBandManagement", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r OutOfBandManagementResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type OutOfBandManagementResponse struct {
|
||||
Action string `json:"action"`
|
||||
Address string `json:"address"`
|
||||
Description string `json:"description"`
|
||||
Driver string `json:"driver"`
|
||||
Enabled bool `json:"enabled"`
|
||||
Hostid string `json:"hostid"`
|
||||
Password string `json:"password"`
|
||||
Port string `json:"port"`
|
||||
Powerstate string `json:"powerstate"`
|
||||
Status bool `json:"status"`
|
||||
Username string `json:"username"`
|
||||
}
|
||||
|
||||
type IssueOutOfBandManagementPowerActionParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *IssueOutOfBandManagementPowerActionParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["action"]; found {
|
||||
u.Set("action", v.(string))
|
||||
}
|
||||
if v, found := p.p["hostid"]; found {
|
||||
u.Set("hostid", v.(string))
|
||||
}
|
||||
if v, found := p.p["timeout"]; found {
|
||||
vv := strconv.FormatInt(v.(int64), 10)
|
||||
u.Set("timeout", vv)
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *IssueOutOfBandManagementPowerActionParams) SetAction(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["action"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *IssueOutOfBandManagementPowerActionParams) SetHostid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["hostid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *IssueOutOfBandManagementPowerActionParams) SetTimeout(v int64) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["timeout"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new IssueOutOfBandManagementPowerActionParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *OutofbandManagementService) NewIssueOutOfBandManagementPowerActionParams(action string, hostid string) *IssueOutOfBandManagementPowerActionParams {
|
||||
p := &IssueOutOfBandManagementPowerActionParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["action"] = action
|
||||
p.p["hostid"] = hostid
|
||||
return p
|
||||
}
|
||||
|
||||
// Initiates the specified power action to the host's out-of-band management interface
|
||||
func (s *OutofbandManagementService) IssueOutOfBandManagementPowerAction(p *IssueOutOfBandManagementPowerActionParams) (*IssueOutOfBandManagementPowerActionResponse, error) {
|
||||
resp, err := s.cs.newRequest("issueOutOfBandManagementPowerAction", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r IssueOutOfBandManagementPowerActionResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// If we have a async client, we need to wait for the async result
|
||||
if s.cs.async {
|
||||
b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
|
||||
if err != nil {
|
||||
if err == AsyncTimeoutErr {
|
||||
return &r, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
b, err = getRawValue(b)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(b, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type IssueOutOfBandManagementPowerActionResponse struct {
|
||||
JobID string `json:"jobid"`
|
||||
Action string `json:"action"`
|
||||
Address string `json:"address"`
|
||||
Description string `json:"description"`
|
||||
Driver string `json:"driver"`
|
||||
Enabled bool `json:"enabled"`
|
||||
Hostid string `json:"hostid"`
|
||||
Password string `json:"password"`
|
||||
Port string `json:"port"`
|
||||
Powerstate string `json:"powerstate"`
|
||||
Status bool `json:"status"`
|
||||
Username string `json:"username"`
|
||||
}
|
||||
46
vendor/github.com/xanzy/go-cloudstack/cloudstack/OvsElementService.go
generated
vendored
46
vendor/github.com/xanzy/go-cloudstack/cloudstack/OvsElementService.go
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// Copyright 2016, Sander van Harmelen
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
@ -70,13 +70,13 @@ func (s *OvsElementService) NewConfigureOvsElementParams(enabled bool, id string
|
|||
}
|
||||
|
||||
// Configures an ovs element.
|
||||
func (s *OvsElementService) ConfigureOvsElement(p *ConfigureOvsElementParams) (*ConfigureOvsElementResponse, error) {
|
||||
func (s *OvsElementService) ConfigureOvsElement(p *ConfigureOvsElementParams) (*OvsElementResponse, error) {
|
||||
resp, err := s.cs.newRequest("configureOvsElement", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ConfigureOvsElementResponse
|
||||
var r OvsElementResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
|
@ -100,19 +100,20 @@ func (s *OvsElementService) ConfigureOvsElement(p *ConfigureOvsElementParams) (*
|
|||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ConfigureOvsElementResponse struct {
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
Account string `json:"account,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Enabled bool `json:"enabled,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Nspid string `json:"nspid,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
type OvsElementResponse struct {
|
||||
JobID string `json:"jobid"`
|
||||
Account string `json:"account"`
|
||||
Domain string `json:"domain"`
|
||||
Domainid string `json:"domainid"`
|
||||
Enabled bool `json:"enabled"`
|
||||
Id string `json:"id"`
|
||||
Nspid string `json:"nspid"`
|
||||
Project string `json:"project"`
|
||||
Projectid string `json:"projectid"`
|
||||
}
|
||||
|
||||
type ListOvsElementsParams struct {
|
||||
|
|
@ -211,7 +212,7 @@ func (s *OvsElementService) GetOvsElementByID(id string, opts ...OptionFunc) (*O
|
|||
|
||||
p.p["id"] = id
|
||||
|
||||
for _, fn := range opts {
|
||||
for _, fn := range append(s.cs.options, opts...) {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return nil, -1, err
|
||||
}
|
||||
|
|
@ -248,6 +249,7 @@ func (s *OvsElementService) ListOvsElements(p *ListOvsElementsParams) (*ListOvsE
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
|
|
@ -257,12 +259,12 @@ type ListOvsElementsResponse struct {
|
|||
}
|
||||
|
||||
type OvsElement struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Enabled bool `json:"enabled,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Nspid string `json:"nspid,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Account string `json:"account"`
|
||||
Domain string `json:"domain"`
|
||||
Domainid string `json:"domainid"`
|
||||
Enabled bool `json:"enabled"`
|
||||
Id string `json:"id"`
|
||||
Nspid string `json:"nspid"`
|
||||
Project string `json:"project"`
|
||||
Projectid string `json:"projectid"`
|
||||
}
|
||||
|
|
|
|||
612
vendor/github.com/xanzy/go-cloudstack/cloudstack/PodService.go
generated
vendored
612
vendor/github.com/xanzy/go-cloudstack/cloudstack/PodService.go
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// Copyright 2016, Sander van Harmelen
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
@ -137,167 +137,138 @@ func (s *PodService) CreatePod(p *CreatePodParams) (*CreatePodResponse, error) {
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type CreatePodResponse struct {
|
||||
Allocationstate string `json:"allocationstate,omitempty"`
|
||||
Capacity []struct {
|
||||
Capacitytotal int64 `json:"capacitytotal,omitempty"`
|
||||
Capacityused int64 `json:"capacityused,omitempty"`
|
||||
Clusterid string `json:"clusterid,omitempty"`
|
||||
Clustername string `json:"clustername,omitempty"`
|
||||
Percentused string `json:"percentused,omitempty"`
|
||||
Podid string `json:"podid,omitempty"`
|
||||
Podname string `json:"podname,omitempty"`
|
||||
Type int `json:"type,omitempty"`
|
||||
Zoneid string `json:"zoneid,omitempty"`
|
||||
Zonename string `json:"zonename,omitempty"`
|
||||
} `json:"capacity,omitempty"`
|
||||
Endip string `json:"endip,omitempty"`
|
||||
Gateway string `json:"gateway,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Netmask string `json:"netmask,omitempty"`
|
||||
Startip string `json:"startip,omitempty"`
|
||||
Zoneid string `json:"zoneid,omitempty"`
|
||||
Zonename string `json:"zonename,omitempty"`
|
||||
Allocationstate string `json:"allocationstate"`
|
||||
Capacity []CreatePodResponseCapacity `json:"capacity"`
|
||||
Endip []string `json:"endip"`
|
||||
Forsystemvms []string `json:"forsystemvms"`
|
||||
Gateway string `json:"gateway"`
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Netmask string `json:"netmask"`
|
||||
Startip []string `json:"startip"`
|
||||
Vlanid []string `json:"vlanid"`
|
||||
Zoneid string `json:"zoneid"`
|
||||
Zonename string `json:"zonename"`
|
||||
}
|
||||
|
||||
type UpdatePodParams struct {
|
||||
type CreatePodResponseCapacity struct {
|
||||
Capacityallocated int64 `json:"capacityallocated"`
|
||||
Capacitytotal int64 `json:"capacitytotal"`
|
||||
Capacityused int64 `json:"capacityused"`
|
||||
Clusterid string `json:"clusterid"`
|
||||
Clustername string `json:"clustername"`
|
||||
Name string `json:"name"`
|
||||
Percentused string `json:"percentused"`
|
||||
Podid string `json:"podid"`
|
||||
Podname string `json:"podname"`
|
||||
Type int `json:"type"`
|
||||
Zoneid string `json:"zoneid"`
|
||||
Zonename string `json:"zonename"`
|
||||
}
|
||||
|
||||
type DedicatePodParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *UpdatePodParams) toURLValues() url.Values {
|
||||
func (p *DedicatePodParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["allocationstate"]; found {
|
||||
u.Set("allocationstate", v.(string))
|
||||
if v, found := p.p["account"]; found {
|
||||
u.Set("account", v.(string))
|
||||
}
|
||||
if v, found := p.p["endip"]; found {
|
||||
u.Set("endip", v.(string))
|
||||
if v, found := p.p["domainid"]; found {
|
||||
u.Set("domainid", v.(string))
|
||||
}
|
||||
if v, found := p.p["gateway"]; found {
|
||||
u.Set("gateway", v.(string))
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
if v, found := p.p["name"]; found {
|
||||
u.Set("name", v.(string))
|
||||
}
|
||||
if v, found := p.p["netmask"]; found {
|
||||
u.Set("netmask", v.(string))
|
||||
}
|
||||
if v, found := p.p["startip"]; found {
|
||||
u.Set("startip", v.(string))
|
||||
if v, found := p.p["podid"]; found {
|
||||
u.Set("podid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *UpdatePodParams) SetAllocationstate(v string) {
|
||||
func (p *DedicatePodParams) SetAccount(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["allocationstate"] = v
|
||||
p.p["account"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdatePodParams) SetEndip(v string) {
|
||||
func (p *DedicatePodParams) SetDomainid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["endip"] = v
|
||||
p.p["domainid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdatePodParams) SetGateway(v string) {
|
||||
func (p *DedicatePodParams) SetPodid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["gateway"] = v
|
||||
p.p["podid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdatePodParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdatePodParams) SetName(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["name"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdatePodParams) SetNetmask(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["netmask"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdatePodParams) SetStartip(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["startip"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new UpdatePodParams instance,
|
||||
// You should always use this function to get a new DedicatePodParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *PodService) NewUpdatePodParams(id string) *UpdatePodParams {
|
||||
p := &UpdatePodParams{}
|
||||
func (s *PodService) NewDedicatePodParams(domainid string, podid string) *DedicatePodParams {
|
||||
p := &DedicatePodParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["id"] = id
|
||||
p.p["domainid"] = domainid
|
||||
p.p["podid"] = podid
|
||||
return p
|
||||
}
|
||||
|
||||
// Updates a Pod.
|
||||
func (s *PodService) UpdatePod(p *UpdatePodParams) (*UpdatePodResponse, error) {
|
||||
resp, err := s.cs.newRequest("updatePod", p.toURLValues())
|
||||
// Dedicates a Pod.
|
||||
func (s *PodService) DedicatePod(p *DedicatePodParams) (*DedicatePodResponse, error) {
|
||||
resp, err := s.cs.newRequest("dedicatePod", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r UpdatePodResponse
|
||||
var r DedicatePodResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// If we have a async client, we need to wait for the async result
|
||||
if s.cs.async {
|
||||
b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
|
||||
if err != nil {
|
||||
if err == AsyncTimeoutErr {
|
||||
return &r, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
b, err = getRawValue(b)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(b, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type UpdatePodResponse struct {
|
||||
Allocationstate string `json:"allocationstate,omitempty"`
|
||||
Capacity []struct {
|
||||
Capacitytotal int64 `json:"capacitytotal,omitempty"`
|
||||
Capacityused int64 `json:"capacityused,omitempty"`
|
||||
Clusterid string `json:"clusterid,omitempty"`
|
||||
Clustername string `json:"clustername,omitempty"`
|
||||
Percentused string `json:"percentused,omitempty"`
|
||||
Podid string `json:"podid,omitempty"`
|
||||
Podname string `json:"podname,omitempty"`
|
||||
Type int `json:"type,omitempty"`
|
||||
Zoneid string `json:"zoneid,omitempty"`
|
||||
Zonename string `json:"zonename,omitempty"`
|
||||
} `json:"capacity,omitempty"`
|
||||
Endip string `json:"endip,omitempty"`
|
||||
Gateway string `json:"gateway,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Netmask string `json:"netmask,omitempty"`
|
||||
Startip string `json:"startip,omitempty"`
|
||||
Zoneid string `json:"zoneid,omitempty"`
|
||||
Zonename string `json:"zonename,omitempty"`
|
||||
type DedicatePodResponse struct {
|
||||
JobID string `json:"jobid"`
|
||||
Accountid string `json:"accountid"`
|
||||
Affinitygroupid string `json:"affinitygroupid"`
|
||||
Domainid string `json:"domainid"`
|
||||
Id string `json:"id"`
|
||||
Podid string `json:"podid"`
|
||||
Podname string `json:"podname"`
|
||||
}
|
||||
|
||||
type DeletePodParams struct {
|
||||
|
|
@ -343,12 +314,160 @@ func (s *PodService) DeletePod(p *DeletePodParams) (*DeletePodResponse, error) {
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type DeletePodResponse struct {
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Success string `json:"success,omitempty"`
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
||||
func (r *DeletePodResponse) UnmarshalJSON(b []byte) error {
|
||||
var m map[string]interface{}
|
||||
err := json.Unmarshal(b, &m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if success, ok := m["success"].(string); ok {
|
||||
m["success"] = success == "true"
|
||||
b, err = json.Marshal(m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
type alias DeletePodResponse
|
||||
return json.Unmarshal(b, (*alias)(r))
|
||||
}
|
||||
|
||||
type ListDedicatedPodsParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *ListDedicatedPodsParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["account"]; found {
|
||||
u.Set("account", v.(string))
|
||||
}
|
||||
if v, found := p.p["affinitygroupid"]; found {
|
||||
u.Set("affinitygroupid", v.(string))
|
||||
}
|
||||
if v, found := p.p["domainid"]; found {
|
||||
u.Set("domainid", v.(string))
|
||||
}
|
||||
if v, found := p.p["keyword"]; found {
|
||||
u.Set("keyword", v.(string))
|
||||
}
|
||||
if v, found := p.p["page"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("page", vv)
|
||||
}
|
||||
if v, found := p.p["pagesize"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("pagesize", vv)
|
||||
}
|
||||
if v, found := p.p["podid"]; found {
|
||||
u.Set("podid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *ListDedicatedPodsParams) SetAccount(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["account"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListDedicatedPodsParams) SetAffinitygroupid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["affinitygroupid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListDedicatedPodsParams) SetDomainid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["domainid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListDedicatedPodsParams) SetKeyword(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["keyword"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListDedicatedPodsParams) SetPage(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["page"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListDedicatedPodsParams) SetPagesize(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["pagesize"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListDedicatedPodsParams) SetPodid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["podid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new ListDedicatedPodsParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *PodService) NewListDedicatedPodsParams() *ListDedicatedPodsParams {
|
||||
p := &ListDedicatedPodsParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
return p
|
||||
}
|
||||
|
||||
// Lists dedicated pods.
|
||||
func (s *PodService) ListDedicatedPods(p *ListDedicatedPodsParams) (*ListDedicatedPodsResponse, error) {
|
||||
resp, err := s.cs.newRequest("listDedicatedPods", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ListDedicatedPodsResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ListDedicatedPodsResponse struct {
|
||||
Count int `json:"count"`
|
||||
DedicatedPods []*DedicatedPod `json:"dedicatedpod"`
|
||||
}
|
||||
|
||||
type DedicatedPod struct {
|
||||
Accountid string `json:"accountid"`
|
||||
Affinitygroupid string `json:"affinitygroupid"`
|
||||
Domainid string `json:"domainid"`
|
||||
Id string `json:"id"`
|
||||
Podid string `json:"podid"`
|
||||
Podname string `json:"podname"`
|
||||
}
|
||||
|
||||
type ListPodsParams struct {
|
||||
|
|
@ -469,7 +588,7 @@ func (s *PodService) GetPodID(name string, opts ...OptionFunc) (string, int, err
|
|||
|
||||
p.p["name"] = name
|
||||
|
||||
for _, fn := range opts {
|
||||
for _, fn := range append(s.cs.options, opts...) {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return "", -1, err
|
||||
}
|
||||
|
|
@ -519,7 +638,7 @@ func (s *PodService) GetPodByID(id string, opts ...OptionFunc) (*Pod, int, error
|
|||
|
||||
p.p["id"] = id
|
||||
|
||||
for _, fn := range opts {
|
||||
for _, fn := range append(s.cs.options, opts...) {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return nil, -1, err
|
||||
}
|
||||
|
|
@ -556,6 +675,7 @@ func (s *PodService) ListPods(p *ListPodsParams) (*ListPodsResponse, error) {
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
|
|
@ -565,126 +685,33 @@ type ListPodsResponse struct {
|
|||
}
|
||||
|
||||
type Pod struct {
|
||||
Allocationstate string `json:"allocationstate,omitempty"`
|
||||
Capacity []struct {
|
||||
Capacitytotal int64 `json:"capacitytotal,omitempty"`
|
||||
Capacityused int64 `json:"capacityused,omitempty"`
|
||||
Clusterid string `json:"clusterid,omitempty"`
|
||||
Clustername string `json:"clustername,omitempty"`
|
||||
Percentused string `json:"percentused,omitempty"`
|
||||
Podid string `json:"podid,omitempty"`
|
||||
Podname string `json:"podname,omitempty"`
|
||||
Type int `json:"type,omitempty"`
|
||||
Zoneid string `json:"zoneid,omitempty"`
|
||||
Zonename string `json:"zonename,omitempty"`
|
||||
} `json:"capacity,omitempty"`
|
||||
Endip string `json:"endip,omitempty"`
|
||||
Gateway string `json:"gateway,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Netmask string `json:"netmask,omitempty"`
|
||||
Startip string `json:"startip,omitempty"`
|
||||
Zoneid string `json:"zoneid,omitempty"`
|
||||
Zonename string `json:"zonename,omitempty"`
|
||||
Allocationstate string `json:"allocationstate"`
|
||||
Capacity []PodCapacity `json:"capacity"`
|
||||
Endip []string `json:"endip"`
|
||||
Forsystemvms []string `json:"forsystemvms"`
|
||||
Gateway string `json:"gateway"`
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Netmask string `json:"netmask"`
|
||||
Startip []string `json:"startip"`
|
||||
Vlanid []string `json:"vlanid"`
|
||||
Zoneid string `json:"zoneid"`
|
||||
Zonename string `json:"zonename"`
|
||||
}
|
||||
|
||||
type DedicatePodParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *DedicatePodParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["account"]; found {
|
||||
u.Set("account", v.(string))
|
||||
}
|
||||
if v, found := p.p["domainid"]; found {
|
||||
u.Set("domainid", v.(string))
|
||||
}
|
||||
if v, found := p.p["podid"]; found {
|
||||
u.Set("podid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *DedicatePodParams) SetAccount(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["account"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *DedicatePodParams) SetDomainid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["domainid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *DedicatePodParams) SetPodid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["podid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new DedicatePodParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *PodService) NewDedicatePodParams(domainid string, podid string) *DedicatePodParams {
|
||||
p := &DedicatePodParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["domainid"] = domainid
|
||||
p.p["podid"] = podid
|
||||
return p
|
||||
}
|
||||
|
||||
// Dedicates a Pod.
|
||||
func (s *PodService) DedicatePod(p *DedicatePodParams) (*DedicatePodResponse, error) {
|
||||
resp, err := s.cs.newRequest("dedicatePod", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r DedicatePodResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// If we have a async client, we need to wait for the async result
|
||||
if s.cs.async {
|
||||
b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
|
||||
if err != nil {
|
||||
if err == AsyncTimeoutErr {
|
||||
return &r, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
b, err = getRawValue(b)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(b, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type DedicatePodResponse struct {
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
Accountid string `json:"accountid,omitempty"`
|
||||
Affinitygroupid string `json:"affinitygroupid,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Podid string `json:"podid,omitempty"`
|
||||
Podname string `json:"podname,omitempty"`
|
||||
type PodCapacity struct {
|
||||
Capacityallocated int64 `json:"capacityallocated"`
|
||||
Capacitytotal int64 `json:"capacitytotal"`
|
||||
Capacityused int64 `json:"capacityused"`
|
||||
Clusterid string `json:"clusterid"`
|
||||
Clustername string `json:"clustername"`
|
||||
Name string `json:"name"`
|
||||
Percentused string `json:"percentused"`
|
||||
Podid string `json:"podid"`
|
||||
Podname string `json:"podname"`
|
||||
Type int `json:"type"`
|
||||
Zoneid string `json:"zoneid"`
|
||||
Zonename string `json:"zonename"`
|
||||
}
|
||||
|
||||
type ReleaseDedicatedPodParams struct {
|
||||
|
|
@ -745,138 +772,155 @@ func (s *PodService) ReleaseDedicatedPod(p *ReleaseDedicatedPodParams) (*Release
|
|||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ReleaseDedicatedPodResponse struct {
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Success bool `json:"success,omitempty"`
|
||||
JobID string `json:"jobid"`
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
||||
type ListDedicatedPodsParams struct {
|
||||
type UpdatePodParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *ListDedicatedPodsParams) toURLValues() url.Values {
|
||||
func (p *UpdatePodParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["account"]; found {
|
||||
u.Set("account", v.(string))
|
||||
if v, found := p.p["allocationstate"]; found {
|
||||
u.Set("allocationstate", v.(string))
|
||||
}
|
||||
if v, found := p.p["affinitygroupid"]; found {
|
||||
u.Set("affinitygroupid", v.(string))
|
||||
if v, found := p.p["endip"]; found {
|
||||
u.Set("endip", v.(string))
|
||||
}
|
||||
if v, found := p.p["domainid"]; found {
|
||||
u.Set("domainid", v.(string))
|
||||
if v, found := p.p["gateway"]; found {
|
||||
u.Set("gateway", v.(string))
|
||||
}
|
||||
if v, found := p.p["keyword"]; found {
|
||||
u.Set("keyword", v.(string))
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
if v, found := p.p["page"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("page", vv)
|
||||
if v, found := p.p["name"]; found {
|
||||
u.Set("name", v.(string))
|
||||
}
|
||||
if v, found := p.p["pagesize"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("pagesize", vv)
|
||||
if v, found := p.p["netmask"]; found {
|
||||
u.Set("netmask", v.(string))
|
||||
}
|
||||
if v, found := p.p["podid"]; found {
|
||||
u.Set("podid", v.(string))
|
||||
if v, found := p.p["startip"]; found {
|
||||
u.Set("startip", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *ListDedicatedPodsParams) SetAccount(v string) {
|
||||
func (p *UpdatePodParams) SetAllocationstate(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["account"] = v
|
||||
p.p["allocationstate"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListDedicatedPodsParams) SetAffinitygroupid(v string) {
|
||||
func (p *UpdatePodParams) SetEndip(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["affinitygroupid"] = v
|
||||
p.p["endip"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListDedicatedPodsParams) SetDomainid(v string) {
|
||||
func (p *UpdatePodParams) SetGateway(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["domainid"] = v
|
||||
p.p["gateway"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListDedicatedPodsParams) SetKeyword(v string) {
|
||||
func (p *UpdatePodParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["keyword"] = v
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListDedicatedPodsParams) SetPage(v int) {
|
||||
func (p *UpdatePodParams) SetName(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["page"] = v
|
||||
p.p["name"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListDedicatedPodsParams) SetPagesize(v int) {
|
||||
func (p *UpdatePodParams) SetNetmask(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["pagesize"] = v
|
||||
p.p["netmask"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListDedicatedPodsParams) SetPodid(v string) {
|
||||
func (p *UpdatePodParams) SetStartip(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["podid"] = v
|
||||
p.p["startip"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new ListDedicatedPodsParams instance,
|
||||
// You should always use this function to get a new UpdatePodParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *PodService) NewListDedicatedPodsParams() *ListDedicatedPodsParams {
|
||||
p := &ListDedicatedPodsParams{}
|
||||
func (s *PodService) NewUpdatePodParams(id string) *UpdatePodParams {
|
||||
p := &UpdatePodParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["id"] = id
|
||||
return p
|
||||
}
|
||||
|
||||
// Lists dedicated pods.
|
||||
func (s *PodService) ListDedicatedPods(p *ListDedicatedPodsParams) (*ListDedicatedPodsResponse, error) {
|
||||
resp, err := s.cs.newRequest("listDedicatedPods", p.toURLValues())
|
||||
// Updates a Pod.
|
||||
func (s *PodService) UpdatePod(p *UpdatePodParams) (*UpdatePodResponse, error) {
|
||||
resp, err := s.cs.newRequest("updatePod", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ListDedicatedPodsResponse
|
||||
var r UpdatePodResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ListDedicatedPodsResponse struct {
|
||||
Count int `json:"count"`
|
||||
DedicatedPods []*DedicatedPod `json:"dedicatedpod"`
|
||||
type UpdatePodResponse struct {
|
||||
Allocationstate string `json:"allocationstate"`
|
||||
Capacity []UpdatePodResponseCapacity `json:"capacity"`
|
||||
Endip []string `json:"endip"`
|
||||
Forsystemvms []string `json:"forsystemvms"`
|
||||
Gateway string `json:"gateway"`
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Netmask string `json:"netmask"`
|
||||
Startip []string `json:"startip"`
|
||||
Vlanid []string `json:"vlanid"`
|
||||
Zoneid string `json:"zoneid"`
|
||||
Zonename string `json:"zonename"`
|
||||
}
|
||||
|
||||
type DedicatedPod struct {
|
||||
Accountid string `json:"accountid,omitempty"`
|
||||
Affinitygroupid string `json:"affinitygroupid,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Podid string `json:"podid,omitempty"`
|
||||
Podname string `json:"podname,omitempty"`
|
||||
type UpdatePodResponseCapacity struct {
|
||||
Capacityallocated int64 `json:"capacityallocated"`
|
||||
Capacitytotal int64 `json:"capacitytotal"`
|
||||
Capacityused int64 `json:"capacityused"`
|
||||
Clusterid string `json:"clusterid"`
|
||||
Clustername string `json:"clustername"`
|
||||
Name string `json:"name"`
|
||||
Percentused string `json:"percentused"`
|
||||
Podid string `json:"podid"`
|
||||
Podname string `json:"podname"`
|
||||
Type int `json:"type"`
|
||||
Zoneid string `json:"zoneid"`
|
||||
Zonename string `json:"zonename"`
|
||||
}
|
||||
|
|
|
|||
1011
vendor/github.com/xanzy/go-cloudstack/cloudstack/PoolService.go
generated
vendored
1011
vendor/github.com/xanzy/go-cloudstack/cloudstack/PoolService.go
generated
vendored
File diff suppressed because it is too large
Load diff
95
vendor/github.com/xanzy/go-cloudstack/cloudstack/PortableIPService.go
generated
vendored
95
vendor/github.com/xanzy/go-cloudstack/cloudstack/PortableIPService.go
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// Copyright 2016, Sander van Harmelen
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
@ -147,30 +147,33 @@ func (s *PortableIPService) CreatePortableIpRange(p *CreatePortableIpRangeParams
|
|||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type CreatePortableIpRangeResponse struct {
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
Endip string `json:"endip,omitempty"`
|
||||
Gateway string `json:"gateway,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Netmask string `json:"netmask,omitempty"`
|
||||
Portableipaddress []struct {
|
||||
Accountid string `json:"accountid,omitempty"`
|
||||
Allocated string `json:"allocated,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Ipaddress string `json:"ipaddress,omitempty"`
|
||||
Networkid string `json:"networkid,omitempty"`
|
||||
Physicalnetworkid string `json:"physicalnetworkid,omitempty"`
|
||||
Regionid int `json:"regionid,omitempty"`
|
||||
State string `json:"state,omitempty"`
|
||||
Vpcid string `json:"vpcid,omitempty"`
|
||||
Zoneid string `json:"zoneid,omitempty"`
|
||||
} `json:"portableipaddress,omitempty"`
|
||||
Regionid int `json:"regionid,omitempty"`
|
||||
Startip string `json:"startip,omitempty"`
|
||||
Vlan string `json:"vlan,omitempty"`
|
||||
JobID string `json:"jobid"`
|
||||
Endip string `json:"endip"`
|
||||
Gateway string `json:"gateway"`
|
||||
Id string `json:"id"`
|
||||
Netmask string `json:"netmask"`
|
||||
Portableipaddress []CreatePortableIpRangeResponsePortableipaddress `json:"portableipaddress"`
|
||||
Regionid int `json:"regionid"`
|
||||
Startip string `json:"startip"`
|
||||
Vlan string `json:"vlan"`
|
||||
}
|
||||
|
||||
type CreatePortableIpRangeResponsePortableipaddress struct {
|
||||
Accountid string `json:"accountid"`
|
||||
Allocated string `json:"allocated"`
|
||||
Domainid string `json:"domainid"`
|
||||
Ipaddress string `json:"ipaddress"`
|
||||
Networkid string `json:"networkid"`
|
||||
Physicalnetworkid string `json:"physicalnetworkid"`
|
||||
Regionid int `json:"regionid"`
|
||||
State string `json:"state"`
|
||||
Vpcid string `json:"vpcid"`
|
||||
Zoneid string `json:"zoneid"`
|
||||
}
|
||||
|
||||
type DeletePortableIpRangeParams struct {
|
||||
|
|
@ -231,13 +234,14 @@ func (s *PortableIPService) DeletePortableIpRange(p *DeletePortableIpRangeParams
|
|||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type DeletePortableIpRangeResponse struct {
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Success bool `json:"success,omitempty"`
|
||||
JobID string `json:"jobid"`
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
||||
type ListPortableIpRangesParams struct {
|
||||
|
|
@ -325,7 +329,7 @@ func (s *PortableIPService) GetPortableIpRangeByID(id string, opts ...OptionFunc
|
|||
|
||||
p.p["id"] = id
|
||||
|
||||
for _, fn := range opts {
|
||||
for _, fn := range append(s.cs.options, opts...) {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return nil, -1, err
|
||||
}
|
||||
|
|
@ -362,6 +366,7 @@ func (s *PortableIPService) ListPortableIpRanges(p *ListPortableIpRangesParams)
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
|
|
@ -371,23 +376,25 @@ type ListPortableIpRangesResponse struct {
|
|||
}
|
||||
|
||||
type PortableIpRange struct {
|
||||
Endip string `json:"endip,omitempty"`
|
||||
Gateway string `json:"gateway,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Netmask string `json:"netmask,omitempty"`
|
||||
Portableipaddress []struct {
|
||||
Accountid string `json:"accountid,omitempty"`
|
||||
Allocated string `json:"allocated,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Ipaddress string `json:"ipaddress,omitempty"`
|
||||
Networkid string `json:"networkid,omitempty"`
|
||||
Physicalnetworkid string `json:"physicalnetworkid,omitempty"`
|
||||
Regionid int `json:"regionid,omitempty"`
|
||||
State string `json:"state,omitempty"`
|
||||
Vpcid string `json:"vpcid,omitempty"`
|
||||
Zoneid string `json:"zoneid,omitempty"`
|
||||
} `json:"portableipaddress,omitempty"`
|
||||
Regionid int `json:"regionid,omitempty"`
|
||||
Startip string `json:"startip,omitempty"`
|
||||
Vlan string `json:"vlan,omitempty"`
|
||||
Endip string `json:"endip"`
|
||||
Gateway string `json:"gateway"`
|
||||
Id string `json:"id"`
|
||||
Netmask string `json:"netmask"`
|
||||
Portableipaddress []PortableIpRangePortableipaddress `json:"portableipaddress"`
|
||||
Regionid int `json:"regionid"`
|
||||
Startip string `json:"startip"`
|
||||
Vlan string `json:"vlan"`
|
||||
}
|
||||
|
||||
type PortableIpRangePortableipaddress struct {
|
||||
Accountid string `json:"accountid"`
|
||||
Allocated string `json:"allocated"`
|
||||
Domainid string `json:"domainid"`
|
||||
Ipaddress string `json:"ipaddress"`
|
||||
Networkid string `json:"networkid"`
|
||||
Physicalnetworkid string `json:"physicalnetworkid"`
|
||||
Regionid int `json:"regionid"`
|
||||
State string `json:"state"`
|
||||
Vpcid string `json:"vpcid"`
|
||||
Zoneid string `json:"zoneid"`
|
||||
}
|
||||
|
|
|
|||
1323
vendor/github.com/xanzy/go-cloudstack/cloudstack/ProjectService.go
generated
vendored
1323
vendor/github.com/xanzy/go-cloudstack/cloudstack/ProjectService.go
generated
vendored
File diff suppressed because it is too large
Load diff
5
vendor/github.com/xanzy/go-cloudstack/cloudstack/QuotaService.go
generated
vendored
5
vendor/github.com/xanzy/go-cloudstack/cloudstack/QuotaService.go
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// Copyright 2016, Sander van Harmelen
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
@ -52,9 +52,10 @@ func (s *QuotaService) QuotaIsEnabled(p *QuotaIsEnabledParams) (*QuotaIsEnabledR
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type QuotaIsEnabledResponse struct {
|
||||
Isenabled bool `json:"isenabled,omitempty"`
|
||||
Isenabled bool `json:"isenabled"`
|
||||
}
|
||||
|
|
|
|||
303
vendor/github.com/xanzy/go-cloudstack/cloudstack/RegionService.go
generated
vendored
303
vendor/github.com/xanzy/go-cloudstack/cloudstack/RegionService.go
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// Copyright 2016, Sander van Harmelen
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
@ -90,144 +90,16 @@ func (s *RegionService) AddRegion(p *AddRegionParams) (*AddRegionResponse, error
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type AddRegionResponse struct {
|
||||
Endpoint string `json:"endpoint,omitempty"`
|
||||
Gslbserviceenabled bool `json:"gslbserviceenabled,omitempty"`
|
||||
Id int `json:"id,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Portableipserviceenabled bool `json:"portableipserviceenabled,omitempty"`
|
||||
}
|
||||
|
||||
type UpdateRegionParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *UpdateRegionParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["endpoint"]; found {
|
||||
u.Set("endpoint", v.(string))
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("id", vv)
|
||||
}
|
||||
if v, found := p.p["name"]; found {
|
||||
u.Set("name", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *UpdateRegionParams) SetEndpoint(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["endpoint"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateRegionParams) SetId(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateRegionParams) SetName(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["name"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new UpdateRegionParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *RegionService) NewUpdateRegionParams(id int) *UpdateRegionParams {
|
||||
p := &UpdateRegionParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["id"] = id
|
||||
return p
|
||||
}
|
||||
|
||||
// Updates a region
|
||||
func (s *RegionService) UpdateRegion(p *UpdateRegionParams) (*UpdateRegionResponse, error) {
|
||||
resp, err := s.cs.newRequest("updateRegion", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r UpdateRegionResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type UpdateRegionResponse struct {
|
||||
Endpoint string `json:"endpoint,omitempty"`
|
||||
Gslbserviceenabled bool `json:"gslbserviceenabled,omitempty"`
|
||||
Id int `json:"id,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Portableipserviceenabled bool `json:"portableipserviceenabled,omitempty"`
|
||||
}
|
||||
|
||||
type RemoveRegionParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *RemoveRegionParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("id", vv)
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *RemoveRegionParams) SetId(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new RemoveRegionParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *RegionService) NewRemoveRegionParams(id int) *RemoveRegionParams {
|
||||
p := &RemoveRegionParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["id"] = id
|
||||
return p
|
||||
}
|
||||
|
||||
// Removes specified region
|
||||
func (s *RegionService) RemoveRegion(p *RemoveRegionParams) (*RemoveRegionResponse, error) {
|
||||
resp, err := s.cs.newRequest("removeRegion", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r RemoveRegionResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type RemoveRegionResponse struct {
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Success string `json:"success,omitempty"`
|
||||
Endpoint string `json:"endpoint"`
|
||||
Gslbserviceenabled bool `json:"gslbserviceenabled"`
|
||||
Id int `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Portableipserviceenabled bool `json:"portableipserviceenabled"`
|
||||
}
|
||||
|
||||
type ListRegionsParams struct {
|
||||
|
|
@ -319,6 +191,7 @@ func (s *RegionService) ListRegions(p *ListRegionsParams) (*ListRegionsResponse,
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
|
|
@ -328,9 +201,159 @@ type ListRegionsResponse struct {
|
|||
}
|
||||
|
||||
type Region struct {
|
||||
Endpoint string `json:"endpoint,omitempty"`
|
||||
Gslbserviceenabled bool `json:"gslbserviceenabled,omitempty"`
|
||||
Id int `json:"id,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Portableipserviceenabled bool `json:"portableipserviceenabled,omitempty"`
|
||||
Endpoint string `json:"endpoint"`
|
||||
Gslbserviceenabled bool `json:"gslbserviceenabled"`
|
||||
Id int `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Portableipserviceenabled bool `json:"portableipserviceenabled"`
|
||||
}
|
||||
|
||||
type RemoveRegionParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *RemoveRegionParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("id", vv)
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *RemoveRegionParams) SetId(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new RemoveRegionParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *RegionService) NewRemoveRegionParams(id int) *RemoveRegionParams {
|
||||
p := &RemoveRegionParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["id"] = id
|
||||
return p
|
||||
}
|
||||
|
||||
// Removes specified region
|
||||
func (s *RegionService) RemoveRegion(p *RemoveRegionParams) (*RemoveRegionResponse, error) {
|
||||
resp, err := s.cs.newRequest("removeRegion", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r RemoveRegionResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type RemoveRegionResponse struct {
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
||||
func (r *RemoveRegionResponse) UnmarshalJSON(b []byte) error {
|
||||
var m map[string]interface{}
|
||||
err := json.Unmarshal(b, &m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if success, ok := m["success"].(string); ok {
|
||||
m["success"] = success == "true"
|
||||
b, err = json.Marshal(m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
type alias RemoveRegionResponse
|
||||
return json.Unmarshal(b, (*alias)(r))
|
||||
}
|
||||
|
||||
type UpdateRegionParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *UpdateRegionParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["endpoint"]; found {
|
||||
u.Set("endpoint", v.(string))
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("id", vv)
|
||||
}
|
||||
if v, found := p.p["name"]; found {
|
||||
u.Set("name", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *UpdateRegionParams) SetEndpoint(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["endpoint"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateRegionParams) SetId(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateRegionParams) SetName(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["name"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new UpdateRegionParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *RegionService) NewUpdateRegionParams(id int) *UpdateRegionParams {
|
||||
p := &UpdateRegionParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["id"] = id
|
||||
return p
|
||||
}
|
||||
|
||||
// Updates a region
|
||||
func (s *RegionService) UpdateRegion(p *UpdateRegionParams) (*UpdateRegionResponse, error) {
|
||||
resp, err := s.cs.newRequest("updateRegion", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r UpdateRegionResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type UpdateRegionResponse struct {
|
||||
Endpoint string `json:"endpoint"`
|
||||
Gslbserviceenabled bool `json:"gslbserviceenabled"`
|
||||
Id int `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Portableipserviceenabled bool `json:"portableipserviceenabled"`
|
||||
}
|
||||
|
|
|
|||
195
vendor/github.com/xanzy/go-cloudstack/cloudstack/ResourcemetadataService.go
generated
vendored
195
vendor/github.com/xanzy/go-cloudstack/cloudstack/ResourcemetadataService.go
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// Copyright 2016, Sander van Harmelen
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
@ -35,8 +35,7 @@ func (p *AddResourceDetailParams) toURLValues() url.Values {
|
|||
if v, found := p.p["details"]; found {
|
||||
i := 0
|
||||
for k, vv := range v.(map[string]string) {
|
||||
u.Set(fmt.Sprintf("details[%d].key", i), k)
|
||||
u.Set(fmt.Sprintf("details[%d].value", i), vv)
|
||||
u.Set(fmt.Sprintf("details[%d].%s", i, k), vv)
|
||||
i++
|
||||
}
|
||||
}
|
||||
|
|
@ -122,103 +121,65 @@ func (s *ResourcemetadataService) AddResourceDetail(p *AddResourceDetailParams)
|
|||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type AddResourceDetailResponse struct {
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Success bool `json:"success,omitempty"`
|
||||
JobID string `json:"jobid"`
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
||||
type RemoveResourceDetailParams struct {
|
||||
type GetVolumeSnapshotDetailsParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *RemoveResourceDetailParams) toURLValues() url.Values {
|
||||
func (p *GetVolumeSnapshotDetailsParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["key"]; found {
|
||||
u.Set("key", v.(string))
|
||||
}
|
||||
if v, found := p.p["resourceid"]; found {
|
||||
u.Set("resourceid", v.(string))
|
||||
}
|
||||
if v, found := p.p["resourcetype"]; found {
|
||||
u.Set("resourcetype", v.(string))
|
||||
if v, found := p.p["snapshotid"]; found {
|
||||
u.Set("snapshotid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *RemoveResourceDetailParams) SetKey(v string) {
|
||||
func (p *GetVolumeSnapshotDetailsParams) SetSnapshotid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["key"] = v
|
||||
p.p["snapshotid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *RemoveResourceDetailParams) SetResourceid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["resourceid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *RemoveResourceDetailParams) SetResourcetype(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["resourcetype"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new RemoveResourceDetailParams instance,
|
||||
// You should always use this function to get a new GetVolumeSnapshotDetailsParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *ResourcemetadataService) NewRemoveResourceDetailParams(resourceid string, resourcetype string) *RemoveResourceDetailParams {
|
||||
p := &RemoveResourceDetailParams{}
|
||||
func (s *ResourcemetadataService) NewGetVolumeSnapshotDetailsParams(snapshotid string) *GetVolumeSnapshotDetailsParams {
|
||||
p := &GetVolumeSnapshotDetailsParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["resourceid"] = resourceid
|
||||
p.p["resourcetype"] = resourcetype
|
||||
p.p["snapshotid"] = snapshotid
|
||||
return p
|
||||
}
|
||||
|
||||
// Removes detail for the Resource.
|
||||
func (s *ResourcemetadataService) RemoveResourceDetail(p *RemoveResourceDetailParams) (*RemoveResourceDetailResponse, error) {
|
||||
resp, err := s.cs.newRequest("removeResourceDetail", p.toURLValues())
|
||||
// Get Volume Snapshot Details
|
||||
func (s *ResourcemetadataService) GetVolumeSnapshotDetails(p *GetVolumeSnapshotDetailsParams) (*GetVolumeSnapshotDetailsResponse, error) {
|
||||
resp, err := s.cs.newRequest("getVolumeSnapshotDetails", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r RemoveResourceDetailResponse
|
||||
var r GetVolumeSnapshotDetailsResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// If we have a async client, we need to wait for the async result
|
||||
if s.cs.async {
|
||||
b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
|
||||
if err != nil {
|
||||
if err == AsyncTimeoutErr {
|
||||
return &r, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(b, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type RemoveResourceDetailResponse struct {
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Success bool `json:"success,omitempty"`
|
||||
type GetVolumeSnapshotDetailsResponse struct {
|
||||
VolumeiScsiName string `json:"volumeiScsiName"`
|
||||
}
|
||||
|
||||
type ListResourceDetailsParams struct {
|
||||
|
|
@ -401,6 +362,7 @@ func (s *ResourcemetadataService) ListResourceDetails(p *ListResourceDetailsPara
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
|
|
@ -410,14 +372,105 @@ type ListResourceDetailsResponse struct {
|
|||
}
|
||||
|
||||
type ResourceDetail struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Customer string `json:"customer,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Key string `json:"key,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Resourceid string `json:"resourceid,omitempty"`
|
||||
Resourcetype string `json:"resourcetype,omitempty"`
|
||||
Value string `json:"value,omitempty"`
|
||||
Account string `json:"account"`
|
||||
Customer string `json:"customer"`
|
||||
Domain string `json:"domain"`
|
||||
Domainid string `json:"domainid"`
|
||||
Key string `json:"key"`
|
||||
Project string `json:"project"`
|
||||
Projectid string `json:"projectid"`
|
||||
Resourceid string `json:"resourceid"`
|
||||
Resourcetype string `json:"resourcetype"`
|
||||
Value string `json:"value"`
|
||||
}
|
||||
|
||||
type RemoveResourceDetailParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *RemoveResourceDetailParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["key"]; found {
|
||||
u.Set("key", v.(string))
|
||||
}
|
||||
if v, found := p.p["resourceid"]; found {
|
||||
u.Set("resourceid", v.(string))
|
||||
}
|
||||
if v, found := p.p["resourcetype"]; found {
|
||||
u.Set("resourcetype", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *RemoveResourceDetailParams) SetKey(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["key"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *RemoveResourceDetailParams) SetResourceid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["resourceid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *RemoveResourceDetailParams) SetResourcetype(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["resourcetype"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new RemoveResourceDetailParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *ResourcemetadataService) NewRemoveResourceDetailParams(resourceid string, resourcetype string) *RemoveResourceDetailParams {
|
||||
p := &RemoveResourceDetailParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["resourceid"] = resourceid
|
||||
p.p["resourcetype"] = resourcetype
|
||||
return p
|
||||
}
|
||||
|
||||
// Removes detail for the Resource.
|
||||
func (s *ResourcemetadataService) RemoveResourceDetail(p *RemoveResourceDetailParams) (*RemoveResourceDetailResponse, error) {
|
||||
resp, err := s.cs.newRequest("removeResourceDetail", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r RemoveResourceDetailResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// If we have a async client, we need to wait for the async result
|
||||
if s.cs.async {
|
||||
b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
|
||||
if err != nil {
|
||||
if err == AsyncTimeoutErr {
|
||||
return &r, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(b, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type RemoveResourceDetailResponse struct {
|
||||
JobID string `json:"jobid"`
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
|
|
|||
270
vendor/github.com/xanzy/go-cloudstack/cloudstack/ResourcetagsService.go
generated
vendored
270
vendor/github.com/xanzy/go-cloudstack/cloudstack/ResourcetagsService.go
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// Copyright 2016, Sander van Harmelen
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
@ -24,122 +24,6 @@ import (
|
|||
"strings"
|
||||
)
|
||||
|
||||
type ListStorageTagsParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *ListStorageTagsParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["keyword"]; found {
|
||||
u.Set("keyword", v.(string))
|
||||
}
|
||||
if v, found := p.p["page"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("page", vv)
|
||||
}
|
||||
if v, found := p.p["pagesize"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("pagesize", vv)
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *ListStorageTagsParams) SetKeyword(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["keyword"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListStorageTagsParams) SetPage(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["page"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListStorageTagsParams) SetPagesize(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["pagesize"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new ListStorageTagsParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *ResourcetagsService) NewListStorageTagsParams() *ListStorageTagsParams {
|
||||
p := &ListStorageTagsParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
return p
|
||||
}
|
||||
|
||||
// This is a courtesy helper function, which in some cases may not work as expected!
|
||||
func (s *ResourcetagsService) GetStorageTagID(keyword string, opts ...OptionFunc) (string, int, error) {
|
||||
p := &ListStorageTagsParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
|
||||
p.p["keyword"] = keyword
|
||||
|
||||
for _, fn := range opts {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return "", -1, err
|
||||
}
|
||||
}
|
||||
|
||||
l, err := s.ListStorageTags(p)
|
||||
if err != nil {
|
||||
return "", -1, err
|
||||
}
|
||||
|
||||
if l.Count == 0 {
|
||||
return "", l.Count, fmt.Errorf("No match found for %s: %+v", keyword, l)
|
||||
}
|
||||
|
||||
if l.Count == 1 {
|
||||
return l.StorageTags[0].Id, l.Count, nil
|
||||
}
|
||||
|
||||
if l.Count > 1 {
|
||||
for _, v := range l.StorageTags {
|
||||
if v.Name == keyword {
|
||||
return v.Id, l.Count, nil
|
||||
}
|
||||
}
|
||||
}
|
||||
return "", l.Count, fmt.Errorf("Could not find an exact match for %s: %+v", keyword, l)
|
||||
}
|
||||
|
||||
// Lists storage tags
|
||||
func (s *ResourcetagsService) ListStorageTags(p *ListStorageTagsParams) (*ListStorageTagsResponse, error) {
|
||||
resp, err := s.cs.newRequest("listStorageTags", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ListStorageTagsResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ListStorageTagsResponse struct {
|
||||
Count int `json:"count"`
|
||||
StorageTags []*StorageTag `json:"storagetag"`
|
||||
}
|
||||
|
||||
type StorageTag struct {
|
||||
Id string `json:"id,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Poolid int64 `json:"poolid,omitempty"`
|
||||
}
|
||||
|
||||
type CreateTagsParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
|
@ -239,13 +123,14 @@ func (s *ResourcetagsService) CreateTags(p *CreateTagsParams) (*CreateTagsRespon
|
|||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type CreateTagsResponse struct {
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Success bool `json:"success,omitempty"`
|
||||
JobID string `json:"jobid"`
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
||||
type DeleteTagsParams struct {
|
||||
|
|
@ -335,13 +220,131 @@ func (s *ResourcetagsService) DeleteTags(p *DeleteTagsParams) (*DeleteTagsRespon
|
|||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type DeleteTagsResponse struct {
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Success bool `json:"success,omitempty"`
|
||||
JobID string `json:"jobid"`
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
||||
type ListStorageTagsParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *ListStorageTagsParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["keyword"]; found {
|
||||
u.Set("keyword", v.(string))
|
||||
}
|
||||
if v, found := p.p["page"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("page", vv)
|
||||
}
|
||||
if v, found := p.p["pagesize"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("pagesize", vv)
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *ListStorageTagsParams) SetKeyword(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["keyword"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListStorageTagsParams) SetPage(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["page"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListStorageTagsParams) SetPagesize(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["pagesize"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new ListStorageTagsParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *ResourcetagsService) NewListStorageTagsParams() *ListStorageTagsParams {
|
||||
p := &ListStorageTagsParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
return p
|
||||
}
|
||||
|
||||
// This is a courtesy helper function, which in some cases may not work as expected!
|
||||
func (s *ResourcetagsService) GetStorageTagID(keyword string, opts ...OptionFunc) (string, int, error) {
|
||||
p := &ListStorageTagsParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
|
||||
p.p["keyword"] = keyword
|
||||
|
||||
for _, fn := range append(s.cs.options, opts...) {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return "", -1, err
|
||||
}
|
||||
}
|
||||
|
||||
l, err := s.ListStorageTags(p)
|
||||
if err != nil {
|
||||
return "", -1, err
|
||||
}
|
||||
|
||||
if l.Count == 0 {
|
||||
return "", l.Count, fmt.Errorf("No match found for %s: %+v", keyword, l)
|
||||
}
|
||||
|
||||
if l.Count == 1 {
|
||||
return l.StorageTags[0].Id, l.Count, nil
|
||||
}
|
||||
|
||||
if l.Count > 1 {
|
||||
for _, v := range l.StorageTags {
|
||||
if v.Name == keyword {
|
||||
return v.Id, l.Count, nil
|
||||
}
|
||||
}
|
||||
}
|
||||
return "", l.Count, fmt.Errorf("Could not find an exact match for %s: %+v", keyword, l)
|
||||
}
|
||||
|
||||
// Lists storage tags
|
||||
func (s *ResourcetagsService) ListStorageTags(p *ListStorageTagsParams) (*ListStorageTagsResponse, error) {
|
||||
resp, err := s.cs.newRequest("listStorageTags", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ListStorageTagsResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ListStorageTagsResponse struct {
|
||||
Count int `json:"count"`
|
||||
StorageTags []*StorageTag `json:"storagetag"`
|
||||
}
|
||||
|
||||
type StorageTag struct {
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Poolid int64 `json:"poolid"`
|
||||
}
|
||||
|
||||
type ListTagsParams struct {
|
||||
|
|
@ -522,6 +525,7 @@ func (s *ResourcetagsService) ListTags(p *ListTagsParams) (*ListTagsResponse, er
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
|
|
@ -531,14 +535,14 @@ type ListTagsResponse struct {
|
|||
}
|
||||
|
||||
type Tag struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Customer string `json:"customer,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Key string `json:"key,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Resourceid string `json:"resourceid,omitempty"`
|
||||
Resourcetype string `json:"resourcetype,omitempty"`
|
||||
Value string `json:"value,omitempty"`
|
||||
Account string `json:"account"`
|
||||
Customer string `json:"customer"`
|
||||
Domain string `json:"domain"`
|
||||
Domainid string `json:"domainid"`
|
||||
Key string `json:"key"`
|
||||
Project string `json:"project"`
|
||||
Projectid string `json:"projectid"`
|
||||
Resourceid string `json:"resourceid"`
|
||||
Resourcetype string `json:"resourcetype"`
|
||||
Value string `json:"value"`
|
||||
}
|
||||
|
|
|
|||
749
vendor/github.com/xanzy/go-cloudstack/cloudstack/RoleService.go
generated
vendored
Normal file
749
vendor/github.com/xanzy/go-cloudstack/cloudstack/RoleService.go
generated
vendored
Normal file
|
|
@ -0,0 +1,749 @@
|
|||
//
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
package cloudstack
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"net/url"
|
||||
"strings"
|
||||
)
|
||||
|
||||
type CreateRoleParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *CreateRoleParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["description"]; found {
|
||||
u.Set("description", v.(string))
|
||||
}
|
||||
if v, found := p.p["name"]; found {
|
||||
u.Set("name", v.(string))
|
||||
}
|
||||
if v, found := p.p["type"]; found {
|
||||
u.Set("type", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *CreateRoleParams) SetDescription(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["description"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *CreateRoleParams) SetName(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["name"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *CreateRoleParams) SetType(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["type"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new CreateRoleParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *RoleService) NewCreateRoleParams(name string, roleType string) *CreateRoleParams {
|
||||
p := &CreateRoleParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["name"] = name
|
||||
p.p["type"] = roleType
|
||||
return p
|
||||
}
|
||||
|
||||
// Creates a role
|
||||
func (s *RoleService) CreateRole(p *CreateRoleParams) (*CreateRoleResponse, error) {
|
||||
resp, err := s.cs.newRequest("createRole", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r CreateRoleResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type CreateRoleResponse struct {
|
||||
Description string `json:"description"`
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Type string `json:"type"`
|
||||
}
|
||||
|
||||
type CreateRolePermissionParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *CreateRolePermissionParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["description"]; found {
|
||||
u.Set("description", v.(string))
|
||||
}
|
||||
if v, found := p.p["permission"]; found {
|
||||
u.Set("permission", v.(string))
|
||||
}
|
||||
if v, found := p.p["roleid"]; found {
|
||||
u.Set("roleid", v.(string))
|
||||
}
|
||||
if v, found := p.p["rule"]; found {
|
||||
u.Set("rule", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *CreateRolePermissionParams) SetDescription(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["description"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *CreateRolePermissionParams) SetPermission(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["permission"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *CreateRolePermissionParams) SetRoleid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["roleid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *CreateRolePermissionParams) SetRule(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["rule"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new CreateRolePermissionParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *RoleService) NewCreateRolePermissionParams(permission string, roleid string, rule string) *CreateRolePermissionParams {
|
||||
p := &CreateRolePermissionParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["permission"] = permission
|
||||
p.p["roleid"] = roleid
|
||||
p.p["rule"] = rule
|
||||
return p
|
||||
}
|
||||
|
||||
// Adds a API permission to a role
|
||||
func (s *RoleService) CreateRolePermission(p *CreateRolePermissionParams) (*CreateRolePermissionResponse, error) {
|
||||
resp, err := s.cs.newRequest("createRolePermission", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r CreateRolePermissionResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type CreateRolePermissionResponse struct {
|
||||
Description string `json:"description"`
|
||||
Id string `json:"id"`
|
||||
Permission string `json:"permission"`
|
||||
Roleid string `json:"roleid"`
|
||||
Rolename string `json:"rolename"`
|
||||
Rule string `json:"rule"`
|
||||
}
|
||||
|
||||
type DeleteRoleParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *DeleteRoleParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *DeleteRoleParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new DeleteRoleParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *RoleService) NewDeleteRoleParams(id string) *DeleteRoleParams {
|
||||
p := &DeleteRoleParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["id"] = id
|
||||
return p
|
||||
}
|
||||
|
||||
// Deletes a role
|
||||
func (s *RoleService) DeleteRole(p *DeleteRoleParams) (*DeleteRoleResponse, error) {
|
||||
resp, err := s.cs.newRequest("deleteRole", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r DeleteRoleResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type DeleteRoleResponse struct {
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
||||
func (r *DeleteRoleResponse) UnmarshalJSON(b []byte) error {
|
||||
var m map[string]interface{}
|
||||
err := json.Unmarshal(b, &m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if success, ok := m["success"].(string); ok {
|
||||
m["success"] = success == "true"
|
||||
b, err = json.Marshal(m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
type alias DeleteRoleResponse
|
||||
return json.Unmarshal(b, (*alias)(r))
|
||||
}
|
||||
|
||||
type DeleteRolePermissionParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *DeleteRolePermissionParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *DeleteRolePermissionParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new DeleteRolePermissionParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *RoleService) NewDeleteRolePermissionParams(id string) *DeleteRolePermissionParams {
|
||||
p := &DeleteRolePermissionParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["id"] = id
|
||||
return p
|
||||
}
|
||||
|
||||
// Deletes a role permission
|
||||
func (s *RoleService) DeleteRolePermission(p *DeleteRolePermissionParams) (*DeleteRolePermissionResponse, error) {
|
||||
resp, err := s.cs.newRequest("deleteRolePermission", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r DeleteRolePermissionResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type DeleteRolePermissionResponse struct {
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
||||
func (r *DeleteRolePermissionResponse) UnmarshalJSON(b []byte) error {
|
||||
var m map[string]interface{}
|
||||
err := json.Unmarshal(b, &m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if success, ok := m["success"].(string); ok {
|
||||
m["success"] = success == "true"
|
||||
b, err = json.Marshal(m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
type alias DeleteRolePermissionResponse
|
||||
return json.Unmarshal(b, (*alias)(r))
|
||||
}
|
||||
|
||||
type ListRolePermissionsParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *ListRolePermissionsParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["roleid"]; found {
|
||||
u.Set("roleid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *ListRolePermissionsParams) SetRoleid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["roleid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new ListRolePermissionsParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *RoleService) NewListRolePermissionsParams() *ListRolePermissionsParams {
|
||||
p := &ListRolePermissionsParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
return p
|
||||
}
|
||||
|
||||
// Lists role permissions
|
||||
func (s *RoleService) ListRolePermissions(p *ListRolePermissionsParams) (*ListRolePermissionsResponse, error) {
|
||||
resp, err := s.cs.newRequest("listRolePermissions", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ListRolePermissionsResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ListRolePermissionsResponse struct {
|
||||
Count int `json:"count"`
|
||||
RolePermissions []*RolePermission `json:"rolepermission"`
|
||||
}
|
||||
|
||||
type RolePermission struct {
|
||||
Description string `json:"description"`
|
||||
Id string `json:"id"`
|
||||
Permission string `json:"permission"`
|
||||
Roleid string `json:"roleid"`
|
||||
Rolename string `json:"rolename"`
|
||||
Rule string `json:"rule"`
|
||||
}
|
||||
|
||||
type ListRolesParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *ListRolesParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
if v, found := p.p["name"]; found {
|
||||
u.Set("name", v.(string))
|
||||
}
|
||||
if v, found := p.p["type"]; found {
|
||||
u.Set("type", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *ListRolesParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListRolesParams) SetName(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["name"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListRolesParams) SetType(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["type"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new ListRolesParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *RoleService) NewListRolesParams() *ListRolesParams {
|
||||
p := &ListRolesParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
return p
|
||||
}
|
||||
|
||||
// This is a courtesy helper function, which in some cases may not work as expected!
|
||||
func (s *RoleService) GetRoleID(name string, opts ...OptionFunc) (string, int, error) {
|
||||
p := &ListRolesParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
|
||||
p.p["name"] = name
|
||||
|
||||
for _, fn := range append(s.cs.options, opts...) {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return "", -1, err
|
||||
}
|
||||
}
|
||||
|
||||
l, err := s.ListRoles(p)
|
||||
if err != nil {
|
||||
return "", -1, err
|
||||
}
|
||||
|
||||
if l.Count == 0 {
|
||||
return "", l.Count, fmt.Errorf("No match found for %s: %+v", name, l)
|
||||
}
|
||||
|
||||
if l.Count == 1 {
|
||||
return l.Roles[0].Id, l.Count, nil
|
||||
}
|
||||
|
||||
if l.Count > 1 {
|
||||
for _, v := range l.Roles {
|
||||
if v.Name == name {
|
||||
return v.Id, l.Count, nil
|
||||
}
|
||||
}
|
||||
}
|
||||
return "", l.Count, fmt.Errorf("Could not find an exact match for %s: %+v", name, l)
|
||||
}
|
||||
|
||||
// This is a courtesy helper function, which in some cases may not work as expected!
|
||||
func (s *RoleService) GetRoleByName(name string, opts ...OptionFunc) (*Role, int, error) {
|
||||
id, count, err := s.GetRoleID(name, opts...)
|
||||
if err != nil {
|
||||
return nil, count, err
|
||||
}
|
||||
|
||||
r, count, err := s.GetRoleByID(id, opts...)
|
||||
if err != nil {
|
||||
return nil, count, err
|
||||
}
|
||||
return r, count, nil
|
||||
}
|
||||
|
||||
// This is a courtesy helper function, which in some cases may not work as expected!
|
||||
func (s *RoleService) GetRoleByID(id string, opts ...OptionFunc) (*Role, int, error) {
|
||||
p := &ListRolesParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
|
||||
p.p["id"] = id
|
||||
|
||||
for _, fn := range append(s.cs.options, opts...) {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return nil, -1, err
|
||||
}
|
||||
}
|
||||
|
||||
l, err := s.ListRoles(p)
|
||||
if err != nil {
|
||||
if strings.Contains(err.Error(), fmt.Sprintf(
|
||||
"Invalid parameter id value=%s due to incorrect long value format, "+
|
||||
"or entity does not exist", id)) {
|
||||
return nil, 0, fmt.Errorf("No match found for %s: %+v", id, l)
|
||||
}
|
||||
return nil, -1, err
|
||||
}
|
||||
|
||||
if l.Count == 0 {
|
||||
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
|
||||
}
|
||||
|
||||
if l.Count == 1 {
|
||||
return l.Roles[0], l.Count, nil
|
||||
}
|
||||
return nil, l.Count, fmt.Errorf("There is more then one result for Role UUID: %s!", id)
|
||||
}
|
||||
|
||||
// Lists dynamic roles in CloudStack
|
||||
func (s *RoleService) ListRoles(p *ListRolesParams) (*ListRolesResponse, error) {
|
||||
resp, err := s.cs.newRequest("listRoles", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ListRolesResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ListRolesResponse struct {
|
||||
Count int `json:"count"`
|
||||
Roles []*Role `json:"role"`
|
||||
}
|
||||
|
||||
type Role struct {
|
||||
Description string `json:"description"`
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Type string `json:"type"`
|
||||
}
|
||||
|
||||
type UpdateRoleParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *UpdateRoleParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["description"]; found {
|
||||
u.Set("description", v.(string))
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
if v, found := p.p["name"]; found {
|
||||
u.Set("name", v.(string))
|
||||
}
|
||||
if v, found := p.p["type"]; found {
|
||||
u.Set("type", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *UpdateRoleParams) SetDescription(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["description"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateRoleParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateRoleParams) SetName(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["name"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateRoleParams) SetType(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["type"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new UpdateRoleParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *RoleService) NewUpdateRoleParams(id string) *UpdateRoleParams {
|
||||
p := &UpdateRoleParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["id"] = id
|
||||
return p
|
||||
}
|
||||
|
||||
// Updates a role
|
||||
func (s *RoleService) UpdateRole(p *UpdateRoleParams) (*UpdateRoleResponse, error) {
|
||||
resp, err := s.cs.newRequest("updateRole", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r UpdateRoleResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type UpdateRoleResponse struct {
|
||||
Description string `json:"description"`
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Type string `json:"type"`
|
||||
}
|
||||
|
||||
type UpdateRolePermissionParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *UpdateRolePermissionParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["permission"]; found {
|
||||
u.Set("permission", v.(string))
|
||||
}
|
||||
if v, found := p.p["roleid"]; found {
|
||||
u.Set("roleid", v.(string))
|
||||
}
|
||||
if v, found := p.p["ruleid"]; found {
|
||||
u.Set("ruleid", v.(string))
|
||||
}
|
||||
if v, found := p.p["ruleorder"]; found {
|
||||
vv := strings.Join(v.([]string), ",")
|
||||
u.Set("ruleorder", vv)
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *UpdateRolePermissionParams) SetPermission(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["permission"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateRolePermissionParams) SetRoleid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["roleid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateRolePermissionParams) SetRuleid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["ruleid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateRolePermissionParams) SetRuleorder(v []string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["ruleorder"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new UpdateRolePermissionParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *RoleService) NewUpdateRolePermissionParams(roleid string) *UpdateRolePermissionParams {
|
||||
p := &UpdateRolePermissionParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["roleid"] = roleid
|
||||
return p
|
||||
}
|
||||
|
||||
// Updates a role permission order
|
||||
func (s *RoleService) UpdateRolePermission(p *UpdateRolePermissionParams) (*UpdateRolePermissionResponse, error) {
|
||||
resp, err := s.cs.newRequest("updateRolePermission", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r UpdateRolePermissionResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type UpdateRolePermissionResponse struct {
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
||||
func (r *UpdateRolePermissionResponse) UnmarshalJSON(b []byte) error {
|
||||
var m map[string]interface{}
|
||||
err := json.Unmarshal(b, &m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if success, ok := m["success"].(string); ok {
|
||||
m["success"] = success == "true"
|
||||
b, err = json.Marshal(m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
type alias UpdateRolePermissionResponse
|
||||
return json.Unmarshal(b, (*alias)(r))
|
||||
}
|
||||
1199
vendor/github.com/xanzy/go-cloudstack/cloudstack/RouterService.go
generated
vendored
1199
vendor/github.com/xanzy/go-cloudstack/cloudstack/RouterService.go
generated
vendored
File diff suppressed because it is too large
Load diff
755
vendor/github.com/xanzy/go-cloudstack/cloudstack/SSHService.go
generated
vendored
755
vendor/github.com/xanzy/go-cloudstack/cloudstack/SSHService.go
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// Copyright 2016, Sander van Harmelen
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
@ -22,397 +22,6 @@ import (
|
|||
"strconv"
|
||||
)
|
||||
|
||||
type ResetSSHKeyForVirtualMachineParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *ResetSSHKeyForVirtualMachineParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["account"]; found {
|
||||
u.Set("account", v.(string))
|
||||
}
|
||||
if v, found := p.p["domainid"]; found {
|
||||
u.Set("domainid", v.(string))
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
if v, found := p.p["keypair"]; found {
|
||||
u.Set("keypair", v.(string))
|
||||
}
|
||||
if v, found := p.p["projectid"]; found {
|
||||
u.Set("projectid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *ResetSSHKeyForVirtualMachineParams) SetAccount(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["account"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ResetSSHKeyForVirtualMachineParams) SetDomainid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["domainid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ResetSSHKeyForVirtualMachineParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ResetSSHKeyForVirtualMachineParams) SetKeypair(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["keypair"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ResetSSHKeyForVirtualMachineParams) SetProjectid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["projectid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new ResetSSHKeyForVirtualMachineParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *SSHService) NewResetSSHKeyForVirtualMachineParams(id string, keypair string) *ResetSSHKeyForVirtualMachineParams {
|
||||
p := &ResetSSHKeyForVirtualMachineParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["id"] = id
|
||||
p.p["keypair"] = keypair
|
||||
return p
|
||||
}
|
||||
|
||||
// Resets the SSH Key for virtual machine. The virtual machine must be in a "Stopped" state. [async]
|
||||
func (s *SSHService) ResetSSHKeyForVirtualMachine(p *ResetSSHKeyForVirtualMachineParams) (*ResetSSHKeyForVirtualMachineResponse, error) {
|
||||
resp, err := s.cs.newRequest("resetSSHKeyForVirtualMachine", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ResetSSHKeyForVirtualMachineResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// If we have a async client, we need to wait for the async result
|
||||
if s.cs.async {
|
||||
b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
|
||||
if err != nil {
|
||||
if err == AsyncTimeoutErr {
|
||||
return &r, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
b, err = getRawValue(b)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(b, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ResetSSHKeyForVirtualMachineResponse struct {
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
Account string `json:"account,omitempty"`
|
||||
Affinitygroup []struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Description string `json:"description,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Type string `json:"type,omitempty"`
|
||||
VirtualmachineIds []string `json:"virtualmachineIds,omitempty"`
|
||||
} `json:"affinitygroup,omitempty"`
|
||||
Cpunumber int `json:"cpunumber,omitempty"`
|
||||
Cpuspeed int `json:"cpuspeed,omitempty"`
|
||||
Cpuused string `json:"cpuused,omitempty"`
|
||||
Created string `json:"created,omitempty"`
|
||||
Details map[string]string `json:"details,omitempty"`
|
||||
Diskioread int64 `json:"diskioread,omitempty"`
|
||||
Diskiowrite int64 `json:"diskiowrite,omitempty"`
|
||||
Diskkbsread int64 `json:"diskkbsread,omitempty"`
|
||||
Diskkbswrite int64 `json:"diskkbswrite,omitempty"`
|
||||
Diskofferingid string `json:"diskofferingid,omitempty"`
|
||||
Diskofferingname string `json:"diskofferingname,omitempty"`
|
||||
Displayname string `json:"displayname,omitempty"`
|
||||
Displayvm bool `json:"displayvm,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Forvirtualnetwork bool `json:"forvirtualnetwork,omitempty"`
|
||||
Group string `json:"group,omitempty"`
|
||||
Groupid string `json:"groupid,omitempty"`
|
||||
Guestosid string `json:"guestosid,omitempty"`
|
||||
Haenable bool `json:"haenable,omitempty"`
|
||||
Hostid string `json:"hostid,omitempty"`
|
||||
Hostname string `json:"hostname,omitempty"`
|
||||
Hypervisor string `json:"hypervisor,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Instancename string `json:"instancename,omitempty"`
|
||||
Isdynamicallyscalable bool `json:"isdynamicallyscalable,omitempty"`
|
||||
Isodisplaytext string `json:"isodisplaytext,omitempty"`
|
||||
Isoid string `json:"isoid,omitempty"`
|
||||
Isoname string `json:"isoname,omitempty"`
|
||||
Keypair string `json:"keypair,omitempty"`
|
||||
Memory int `json:"memory,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Networkkbsread int64 `json:"networkkbsread,omitempty"`
|
||||
Networkkbswrite int64 `json:"networkkbswrite,omitempty"`
|
||||
Nic []struct {
|
||||
Broadcasturi string `json:"broadcasturi,omitempty"`
|
||||
Deviceid string `json:"deviceid,omitempty"`
|
||||
Gateway string `json:"gateway,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Ip6address string `json:"ip6address,omitempty"`
|
||||
Ip6cidr string `json:"ip6cidr,omitempty"`
|
||||
Ip6gateway string `json:"ip6gateway,omitempty"`
|
||||
Ipaddress string `json:"ipaddress,omitempty"`
|
||||
Isdefault bool `json:"isdefault,omitempty"`
|
||||
Isolationuri string `json:"isolationuri,omitempty"`
|
||||
Macaddress string `json:"macaddress,omitempty"`
|
||||
Netmask string `json:"netmask,omitempty"`
|
||||
Networkid string `json:"networkid,omitempty"`
|
||||
Networkname string `json:"networkname,omitempty"`
|
||||
Secondaryip []struct {
|
||||
Id string `json:"id,omitempty"`
|
||||
Ipaddress string `json:"ipaddress,omitempty"`
|
||||
} `json:"secondaryip,omitempty"`
|
||||
Traffictype string `json:"traffictype,omitempty"`
|
||||
Type string `json:"type,omitempty"`
|
||||
Virtualmachineid string `json:"virtualmachineid,omitempty"`
|
||||
} `json:"nic,omitempty"`
|
||||
Ostypeid int64 `json:"ostypeid,omitempty"`
|
||||
Password string `json:"password,omitempty"`
|
||||
Passwordenabled bool `json:"passwordenabled,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Publicip string `json:"publicip,omitempty"`
|
||||
Publicipid string `json:"publicipid,omitempty"`
|
||||
Rootdeviceid int64 `json:"rootdeviceid,omitempty"`
|
||||
Rootdevicetype string `json:"rootdevicetype,omitempty"`
|
||||
Securitygroup []struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Description string `json:"description,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Egressrule []struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Cidr string `json:"cidr,omitempty"`
|
||||
Endport int `json:"endport,omitempty"`
|
||||
Icmpcode int `json:"icmpcode,omitempty"`
|
||||
Icmptype int `json:"icmptype,omitempty"`
|
||||
Protocol string `json:"protocol,omitempty"`
|
||||
Ruleid string `json:"ruleid,omitempty"`
|
||||
Securitygroupname string `json:"securitygroupname,omitempty"`
|
||||
Startport int `json:"startport,omitempty"`
|
||||
Tags []struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Customer string `json:"customer,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Key string `json:"key,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Resourceid string `json:"resourceid,omitempty"`
|
||||
Resourcetype string `json:"resourcetype,omitempty"`
|
||||
Value string `json:"value,omitempty"`
|
||||
} `json:"tags,omitempty"`
|
||||
} `json:"egressrule,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Ingressrule []struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Cidr string `json:"cidr,omitempty"`
|
||||
Endport int `json:"endport,omitempty"`
|
||||
Icmpcode int `json:"icmpcode,omitempty"`
|
||||
Icmptype int `json:"icmptype,omitempty"`
|
||||
Protocol string `json:"protocol,omitempty"`
|
||||
Ruleid string `json:"ruleid,omitempty"`
|
||||
Securitygroupname string `json:"securitygroupname,omitempty"`
|
||||
Startport int `json:"startport,omitempty"`
|
||||
Tags []struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Customer string `json:"customer,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Key string `json:"key,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Resourceid string `json:"resourceid,omitempty"`
|
||||
Resourcetype string `json:"resourcetype,omitempty"`
|
||||
Value string `json:"value,omitempty"`
|
||||
} `json:"tags,omitempty"`
|
||||
} `json:"ingressrule,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Tags []struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Customer string `json:"customer,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Key string `json:"key,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Resourceid string `json:"resourceid,omitempty"`
|
||||
Resourcetype string `json:"resourcetype,omitempty"`
|
||||
Value string `json:"value,omitempty"`
|
||||
} `json:"tags,omitempty"`
|
||||
Virtualmachinecount int `json:"virtualmachinecount,omitempty"`
|
||||
Virtualmachineids []string `json:"virtualmachineids,omitempty"`
|
||||
} `json:"securitygroup,omitempty"`
|
||||
Serviceofferingid string `json:"serviceofferingid,omitempty"`
|
||||
Serviceofferingname string `json:"serviceofferingname,omitempty"`
|
||||
Servicestate string `json:"servicestate,omitempty"`
|
||||
State string `json:"state,omitempty"`
|
||||
Tags []struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Customer string `json:"customer,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Key string `json:"key,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Resourceid string `json:"resourceid,omitempty"`
|
||||
Resourcetype string `json:"resourcetype,omitempty"`
|
||||
Value string `json:"value,omitempty"`
|
||||
} `json:"tags,omitempty"`
|
||||
Templatedisplaytext string `json:"templatedisplaytext,omitempty"`
|
||||
Templateid string `json:"templateid,omitempty"`
|
||||
Templatename string `json:"templatename,omitempty"`
|
||||
Userid string `json:"userid,omitempty"`
|
||||
Username string `json:"username,omitempty"`
|
||||
Vgpu string `json:"vgpu,omitempty"`
|
||||
Zoneid string `json:"zoneid,omitempty"`
|
||||
Zonename string `json:"zonename,omitempty"`
|
||||
}
|
||||
|
||||
type RegisterSSHKeyPairParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *RegisterSSHKeyPairParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["account"]; found {
|
||||
u.Set("account", v.(string))
|
||||
}
|
||||
if v, found := p.p["domainid"]; found {
|
||||
u.Set("domainid", v.(string))
|
||||
}
|
||||
if v, found := p.p["name"]; found {
|
||||
u.Set("name", v.(string))
|
||||
}
|
||||
if v, found := p.p["projectid"]; found {
|
||||
u.Set("projectid", v.(string))
|
||||
}
|
||||
if v, found := p.p["publickey"]; found {
|
||||
u.Set("publickey", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *RegisterSSHKeyPairParams) SetAccount(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["account"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *RegisterSSHKeyPairParams) SetDomainid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["domainid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *RegisterSSHKeyPairParams) SetName(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["name"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *RegisterSSHKeyPairParams) SetProjectid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["projectid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *RegisterSSHKeyPairParams) SetPublickey(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["publickey"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new RegisterSSHKeyPairParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *SSHService) NewRegisterSSHKeyPairParams(name string, publickey string) *RegisterSSHKeyPairParams {
|
||||
p := &RegisterSSHKeyPairParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["name"] = name
|
||||
p.p["publickey"] = publickey
|
||||
return p
|
||||
}
|
||||
|
||||
// Register a public key in a keypair under a certain name
|
||||
func (s *SSHService) RegisterSSHKeyPair(p *RegisterSSHKeyPairParams) (*RegisterSSHKeyPairResponse, error) {
|
||||
resp, err := s.cs.newRequest("registerSSHKeyPair", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if resp, err = getRawValue(resp); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r RegisterSSHKeyPairResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type RegisterSSHKeyPairResponse struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Fingerprint string `json:"fingerprint,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
}
|
||||
|
||||
type CreateSSHKeyPairParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
|
@ -493,11 +102,12 @@ func (s *SSHService) CreateSSHKeyPair(p *CreateSSHKeyPairParams) (*CreateSSHKeyP
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type CreateSSHKeyPairResponse struct {
|
||||
Privatekey string `json:"privatekey,omitempty"`
|
||||
Privatekey string `json:"privatekey"`
|
||||
}
|
||||
|
||||
type DeleteSSHKeyPairParams struct {
|
||||
|
|
@ -576,12 +186,32 @@ func (s *SSHService) DeleteSSHKeyPair(p *DeleteSSHKeyPairParams) (*DeleteSSHKeyP
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type DeleteSSHKeyPairResponse struct {
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Success string `json:"success,omitempty"`
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
||||
func (r *DeleteSSHKeyPairResponse) UnmarshalJSON(b []byte) error {
|
||||
var m map[string]interface{}
|
||||
err := json.Unmarshal(b, &m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if success, ok := m["success"].(string); ok {
|
||||
m["success"] = success == "true"
|
||||
b, err = json.Marshal(m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
type alias DeleteSSHKeyPairResponse
|
||||
return json.Unmarshal(b, (*alias)(r))
|
||||
}
|
||||
|
||||
type ListSSHKeyPairsParams struct {
|
||||
|
|
@ -729,6 +359,7 @@ func (s *SSHService) ListSSHKeyPairs(p *ListSSHKeyPairsParams) (*ListSSHKeyPairs
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
|
|
@ -738,9 +369,333 @@ type ListSSHKeyPairsResponse struct {
|
|||
}
|
||||
|
||||
type SSHKeyPair struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Fingerprint string `json:"fingerprint,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Account string `json:"account"`
|
||||
Domain string `json:"domain"`
|
||||
Domainid string `json:"domainid"`
|
||||
Fingerprint string `json:"fingerprint"`
|
||||
Name string `json:"name"`
|
||||
}
|
||||
|
||||
type RegisterSSHKeyPairParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *RegisterSSHKeyPairParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["account"]; found {
|
||||
u.Set("account", v.(string))
|
||||
}
|
||||
if v, found := p.p["domainid"]; found {
|
||||
u.Set("domainid", v.(string))
|
||||
}
|
||||
if v, found := p.p["name"]; found {
|
||||
u.Set("name", v.(string))
|
||||
}
|
||||
if v, found := p.p["projectid"]; found {
|
||||
u.Set("projectid", v.(string))
|
||||
}
|
||||
if v, found := p.p["publickey"]; found {
|
||||
u.Set("publickey", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *RegisterSSHKeyPairParams) SetAccount(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["account"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *RegisterSSHKeyPairParams) SetDomainid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["domainid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *RegisterSSHKeyPairParams) SetName(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["name"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *RegisterSSHKeyPairParams) SetProjectid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["projectid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *RegisterSSHKeyPairParams) SetPublickey(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["publickey"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new RegisterSSHKeyPairParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *SSHService) NewRegisterSSHKeyPairParams(name string, publickey string) *RegisterSSHKeyPairParams {
|
||||
p := &RegisterSSHKeyPairParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["name"] = name
|
||||
p.p["publickey"] = publickey
|
||||
return p
|
||||
}
|
||||
|
||||
// Register a public key in a keypair under a certain name
|
||||
func (s *SSHService) RegisterSSHKeyPair(p *RegisterSSHKeyPairParams) (*RegisterSSHKeyPairResponse, error) {
|
||||
resp, err := s.cs.newRequest("registerSSHKeyPair", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if resp, err = getRawValue(resp); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r RegisterSSHKeyPairResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type RegisterSSHKeyPairResponse struct {
|
||||
Account string `json:"account"`
|
||||
Domain string `json:"domain"`
|
||||
Domainid string `json:"domainid"`
|
||||
Fingerprint string `json:"fingerprint"`
|
||||
Name string `json:"name"`
|
||||
}
|
||||
|
||||
type ResetSSHKeyForVirtualMachineParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *ResetSSHKeyForVirtualMachineParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["account"]; found {
|
||||
u.Set("account", v.(string))
|
||||
}
|
||||
if v, found := p.p["domainid"]; found {
|
||||
u.Set("domainid", v.(string))
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
if v, found := p.p["keypair"]; found {
|
||||
u.Set("keypair", v.(string))
|
||||
}
|
||||
if v, found := p.p["projectid"]; found {
|
||||
u.Set("projectid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *ResetSSHKeyForVirtualMachineParams) SetAccount(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["account"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ResetSSHKeyForVirtualMachineParams) SetDomainid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["domainid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ResetSSHKeyForVirtualMachineParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ResetSSHKeyForVirtualMachineParams) SetKeypair(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["keypair"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ResetSSHKeyForVirtualMachineParams) SetProjectid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["projectid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new ResetSSHKeyForVirtualMachineParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *SSHService) NewResetSSHKeyForVirtualMachineParams(id string, keypair string) *ResetSSHKeyForVirtualMachineParams {
|
||||
p := &ResetSSHKeyForVirtualMachineParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["id"] = id
|
||||
p.p["keypair"] = keypair
|
||||
return p
|
||||
}
|
||||
|
||||
// Resets the SSH Key for virtual machine. The virtual machine must be in a "Stopped" state. [async]
|
||||
func (s *SSHService) ResetSSHKeyForVirtualMachine(p *ResetSSHKeyForVirtualMachineParams) (*ResetSSHKeyForVirtualMachineResponse, error) {
|
||||
resp, err := s.cs.newRequest("resetSSHKeyForVirtualMachine", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ResetSSHKeyForVirtualMachineResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// If we have a async client, we need to wait for the async result
|
||||
if s.cs.async {
|
||||
b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
|
||||
if err != nil {
|
||||
if err == AsyncTimeoutErr {
|
||||
return &r, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
b, err = getRawValue(b)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(b, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ResetSSHKeyForVirtualMachineResponse struct {
|
||||
JobID string `json:"jobid"`
|
||||
Account string `json:"account"`
|
||||
Affinitygroup []ResetSSHKeyForVirtualMachineResponseAffinitygroup `json:"affinitygroup"`
|
||||
Cpunumber int `json:"cpunumber"`
|
||||
Cpuspeed int `json:"cpuspeed"`
|
||||
Cpuused string `json:"cpuused"`
|
||||
Created string `json:"created"`
|
||||
Details map[string]string `json:"details"`
|
||||
Diskioread int64 `json:"diskioread"`
|
||||
Diskiowrite int64 `json:"diskiowrite"`
|
||||
Diskkbsread int64 `json:"diskkbsread"`
|
||||
Diskkbswrite int64 `json:"diskkbswrite"`
|
||||
Diskofferingid string `json:"diskofferingid"`
|
||||
Diskofferingname string `json:"diskofferingname"`
|
||||
Displayname string `json:"displayname"`
|
||||
Displayvm bool `json:"displayvm"`
|
||||
Domain string `json:"domain"`
|
||||
Domainid string `json:"domainid"`
|
||||
Forvirtualnetwork bool `json:"forvirtualnetwork"`
|
||||
Group string `json:"group"`
|
||||
Groupid string `json:"groupid"`
|
||||
Guestosid string `json:"guestosid"`
|
||||
Haenable bool `json:"haenable"`
|
||||
Hostid string `json:"hostid"`
|
||||
Hostname string `json:"hostname"`
|
||||
Hypervisor string `json:"hypervisor"`
|
||||
Id string `json:"id"`
|
||||
Instancename string `json:"instancename"`
|
||||
Isdynamicallyscalable bool `json:"isdynamicallyscalable"`
|
||||
Isodisplaytext string `json:"isodisplaytext"`
|
||||
Isoid string `json:"isoid"`
|
||||
Isoname string `json:"isoname"`
|
||||
Keypair string `json:"keypair"`
|
||||
Memory int `json:"memory"`
|
||||
Memoryintfreekbs int64 `json:"memoryintfreekbs"`
|
||||
Memorykbs int64 `json:"memorykbs"`
|
||||
Memorytargetkbs int64 `json:"memorytargetkbs"`
|
||||
Name string `json:"name"`
|
||||
Networkkbsread int64 `json:"networkkbsread"`
|
||||
Networkkbswrite int64 `json:"networkkbswrite"`
|
||||
Nic []Nic `json:"nic"`
|
||||
Ostypeid int64 `json:"ostypeid"`
|
||||
Password string `json:"password"`
|
||||
Passwordenabled bool `json:"passwordenabled"`
|
||||
Project string `json:"project"`
|
||||
Projectid string `json:"projectid"`
|
||||
Publicip string `json:"publicip"`
|
||||
Publicipid string `json:"publicipid"`
|
||||
Rootdeviceid int64 `json:"rootdeviceid"`
|
||||
Rootdevicetype string `json:"rootdevicetype"`
|
||||
Securitygroup []ResetSSHKeyForVirtualMachineResponseSecuritygroup `json:"securitygroup"`
|
||||
Serviceofferingid string `json:"serviceofferingid"`
|
||||
Serviceofferingname string `json:"serviceofferingname"`
|
||||
Servicestate string `json:"servicestate"`
|
||||
State string `json:"state"`
|
||||
Templatedisplaytext string `json:"templatedisplaytext"`
|
||||
Templateid string `json:"templateid"`
|
||||
Templatename string `json:"templatename"`
|
||||
Userid string `json:"userid"`
|
||||
Username string `json:"username"`
|
||||
Vgpu string `json:"vgpu"`
|
||||
Zoneid string `json:"zoneid"`
|
||||
Zonename string `json:"zonename"`
|
||||
}
|
||||
|
||||
type ResetSSHKeyForVirtualMachineResponseSecuritygroup struct {
|
||||
Account string `json:"account"`
|
||||
Description string `json:"description"`
|
||||
Domain string `json:"domain"`
|
||||
Domainid string `json:"domainid"`
|
||||
Egressrule []ResetSSHKeyForVirtualMachineResponseSecuritygroupRule `json:"egressrule"`
|
||||
Id string `json:"id"`
|
||||
Ingressrule []ResetSSHKeyForVirtualMachineResponseSecuritygroupRule `json:"ingressrule"`
|
||||
Name string `json:"name"`
|
||||
Project string `json:"project"`
|
||||
Projectid string `json:"projectid"`
|
||||
Tags []Tags `json:"tags"`
|
||||
Virtualmachinecount int `json:"virtualmachinecount"`
|
||||
Virtualmachineids []interface{} `json:"virtualmachineids"`
|
||||
}
|
||||
|
||||
type ResetSSHKeyForVirtualMachineResponseSecuritygroupRule struct {
|
||||
Account string `json:"account"`
|
||||
Cidr string `json:"cidr"`
|
||||
Endport int `json:"endport"`
|
||||
Icmpcode int `json:"icmpcode"`
|
||||
Icmptype int `json:"icmptype"`
|
||||
Protocol string `json:"protocol"`
|
||||
Ruleid string `json:"ruleid"`
|
||||
Securitygroupname string `json:"securitygroupname"`
|
||||
Startport int `json:"startport"`
|
||||
Tags []Tags `json:"tags"`
|
||||
}
|
||||
|
||||
type ResetSSHKeyForVirtualMachineResponseAffinitygroup struct {
|
||||
Account string `json:"account"`
|
||||
Description string `json:"description"`
|
||||
Domain string `json:"domain"`
|
||||
Domainid string `json:"domainid"`
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Project string `json:"project"`
|
||||
Projectid string `json:"projectid"`
|
||||
Type string `json:"type"`
|
||||
VirtualmachineIds []string `json:"virtualmachineIds"`
|
||||
}
|
||||
|
|
|
|||
1260
vendor/github.com/xanzy/go-cloudstack/cloudstack/SecurityGroupService.go
generated
vendored
1260
vendor/github.com/xanzy/go-cloudstack/cloudstack/SecurityGroupService.go
generated
vendored
File diff suppressed because it is too large
Load diff
371
vendor/github.com/xanzy/go-cloudstack/cloudstack/ServiceOfferingService.go
generated
vendored
371
vendor/github.com/xanzy/go-cloudstack/cloudstack/ServiceOfferingService.go
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// Copyright 2016, Sander van Harmelen
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
@ -368,41 +368,42 @@ func (s *ServiceOfferingService) CreateServiceOffering(p *CreateServiceOfferingP
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type CreateServiceOfferingResponse struct {
|
||||
Cpunumber int `json:"cpunumber,omitempty"`
|
||||
Cpuspeed int `json:"cpuspeed,omitempty"`
|
||||
Created string `json:"created,omitempty"`
|
||||
Defaultuse bool `json:"defaultuse,omitempty"`
|
||||
Deploymentplanner string `json:"deploymentplanner,omitempty"`
|
||||
DiskBytesReadRate int64 `json:"diskBytesReadRate,omitempty"`
|
||||
DiskBytesWriteRate int64 `json:"diskBytesWriteRate,omitempty"`
|
||||
DiskIopsReadRate int64 `json:"diskIopsReadRate,omitempty"`
|
||||
DiskIopsWriteRate int64 `json:"diskIopsWriteRate,omitempty"`
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Hosttags string `json:"hosttags,omitempty"`
|
||||
Hypervisorsnapshotreserve int `json:"hypervisorsnapshotreserve,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Iscustomized bool `json:"iscustomized,omitempty"`
|
||||
Iscustomizediops bool `json:"iscustomizediops,omitempty"`
|
||||
Issystem bool `json:"issystem,omitempty"`
|
||||
Isvolatile bool `json:"isvolatile,omitempty"`
|
||||
Limitcpuuse bool `json:"limitcpuuse,omitempty"`
|
||||
Maxiops int64 `json:"maxiops,omitempty"`
|
||||
Memory int `json:"memory,omitempty"`
|
||||
Miniops int64 `json:"miniops,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Networkrate int `json:"networkrate,omitempty"`
|
||||
Offerha bool `json:"offerha,omitempty"`
|
||||
Provisioningtype string `json:"provisioningtype,omitempty"`
|
||||
Serviceofferingdetails map[string]string `json:"serviceofferingdetails,omitempty"`
|
||||
Storagetype string `json:"storagetype,omitempty"`
|
||||
Systemvmtype string `json:"systemvmtype,omitempty"`
|
||||
Tags string `json:"tags,omitempty"`
|
||||
Cpunumber int `json:"cpunumber"`
|
||||
Cpuspeed int `json:"cpuspeed"`
|
||||
Created string `json:"created"`
|
||||
Defaultuse bool `json:"defaultuse"`
|
||||
Deploymentplanner string `json:"deploymentplanner"`
|
||||
DiskBytesReadRate int64 `json:"diskBytesReadRate"`
|
||||
DiskBytesWriteRate int64 `json:"diskBytesWriteRate"`
|
||||
DiskIopsReadRate int64 `json:"diskIopsReadRate"`
|
||||
DiskIopsWriteRate int64 `json:"diskIopsWriteRate"`
|
||||
Displaytext string `json:"displaytext"`
|
||||
Domain string `json:"domain"`
|
||||
Domainid string `json:"domainid"`
|
||||
Hosttags string `json:"hosttags"`
|
||||
Hypervisorsnapshotreserve int `json:"hypervisorsnapshotreserve"`
|
||||
Id string `json:"id"`
|
||||
Iscustomized bool `json:"iscustomized"`
|
||||
Iscustomizediops bool `json:"iscustomizediops"`
|
||||
Issystem bool `json:"issystem"`
|
||||
Isvolatile bool `json:"isvolatile"`
|
||||
Limitcpuuse bool `json:"limitcpuuse"`
|
||||
Maxiops int64 `json:"maxiops"`
|
||||
Memory int `json:"memory"`
|
||||
Miniops int64 `json:"miniops"`
|
||||
Name string `json:"name"`
|
||||
Networkrate int `json:"networkrate"`
|
||||
Offerha bool `json:"offerha"`
|
||||
Provisioningtype string `json:"provisioningtype"`
|
||||
Serviceofferingdetails map[string]string `json:"serviceofferingdetails"`
|
||||
Storagetype string `json:"storagetype"`
|
||||
Systemvmtype string `json:"systemvmtype"`
|
||||
Tags string `json:"tags"`
|
||||
}
|
||||
|
||||
type DeleteServiceOfferingParams struct {
|
||||
|
|
@ -448,126 +449,32 @@ func (s *ServiceOfferingService) DeleteServiceOffering(p *DeleteServiceOfferingP
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type DeleteServiceOfferingResponse struct {
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Success string `json:"success,omitempty"`
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
||||
type UpdateServiceOfferingParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *UpdateServiceOfferingParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["displaytext"]; found {
|
||||
u.Set("displaytext", v.(string))
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
if v, found := p.p["name"]; found {
|
||||
u.Set("name", v.(string))
|
||||
}
|
||||
if v, found := p.p["sortkey"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("sortkey", vv)
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *UpdateServiceOfferingParams) SetDisplaytext(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["displaytext"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateServiceOfferingParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateServiceOfferingParams) SetName(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["name"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateServiceOfferingParams) SetSortkey(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["sortkey"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new UpdateServiceOfferingParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *ServiceOfferingService) NewUpdateServiceOfferingParams(id string) *UpdateServiceOfferingParams {
|
||||
p := &UpdateServiceOfferingParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["id"] = id
|
||||
return p
|
||||
}
|
||||
|
||||
// Updates a service offering.
|
||||
func (s *ServiceOfferingService) UpdateServiceOffering(p *UpdateServiceOfferingParams) (*UpdateServiceOfferingResponse, error) {
|
||||
resp, err := s.cs.newRequest("updateServiceOffering", p.toURLValues())
|
||||
func (r *DeleteServiceOfferingResponse) UnmarshalJSON(b []byte) error {
|
||||
var m map[string]interface{}
|
||||
err := json.Unmarshal(b, &m)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return err
|
||||
}
|
||||
|
||||
var r UpdateServiceOfferingResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
if success, ok := m["success"].(string); ok {
|
||||
m["success"] = success == "true"
|
||||
b, err = json.Marshal(m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type UpdateServiceOfferingResponse struct {
|
||||
Cpunumber int `json:"cpunumber,omitempty"`
|
||||
Cpuspeed int `json:"cpuspeed,omitempty"`
|
||||
Created string `json:"created,omitempty"`
|
||||
Defaultuse bool `json:"defaultuse,omitempty"`
|
||||
Deploymentplanner string `json:"deploymentplanner,omitempty"`
|
||||
DiskBytesReadRate int64 `json:"diskBytesReadRate,omitempty"`
|
||||
DiskBytesWriteRate int64 `json:"diskBytesWriteRate,omitempty"`
|
||||
DiskIopsReadRate int64 `json:"diskIopsReadRate,omitempty"`
|
||||
DiskIopsWriteRate int64 `json:"diskIopsWriteRate,omitempty"`
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Hosttags string `json:"hosttags,omitempty"`
|
||||
Hypervisorsnapshotreserve int `json:"hypervisorsnapshotreserve,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Iscustomized bool `json:"iscustomized,omitempty"`
|
||||
Iscustomizediops bool `json:"iscustomizediops,omitempty"`
|
||||
Issystem bool `json:"issystem,omitempty"`
|
||||
Isvolatile bool `json:"isvolatile,omitempty"`
|
||||
Limitcpuuse bool `json:"limitcpuuse,omitempty"`
|
||||
Maxiops int64 `json:"maxiops,omitempty"`
|
||||
Memory int `json:"memory,omitempty"`
|
||||
Miniops int64 `json:"miniops,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Networkrate int `json:"networkrate,omitempty"`
|
||||
Offerha bool `json:"offerha,omitempty"`
|
||||
Provisioningtype string `json:"provisioningtype,omitempty"`
|
||||
Serviceofferingdetails map[string]string `json:"serviceofferingdetails,omitempty"`
|
||||
Storagetype string `json:"storagetype,omitempty"`
|
||||
Systemvmtype string `json:"systemvmtype,omitempty"`
|
||||
Tags string `json:"tags,omitempty"`
|
||||
type alias DeleteServiceOfferingResponse
|
||||
return json.Unmarshal(b, (*alias)(r))
|
||||
}
|
||||
|
||||
type ListServiceOfferingsParams struct {
|
||||
|
|
@ -723,7 +630,7 @@ func (s *ServiceOfferingService) GetServiceOfferingID(name string, opts ...Optio
|
|||
|
||||
p.p["name"] = name
|
||||
|
||||
for _, fn := range opts {
|
||||
for _, fn := range append(s.cs.options, opts...) {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return "", -1, err
|
||||
}
|
||||
|
|
@ -773,7 +680,7 @@ func (s *ServiceOfferingService) GetServiceOfferingByID(id string, opts ...Optio
|
|||
|
||||
p.p["id"] = id
|
||||
|
||||
for _, fn := range opts {
|
||||
for _, fn := range append(s.cs.options, opts...) {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return nil, -1, err
|
||||
}
|
||||
|
|
@ -810,6 +717,7 @@ func (s *ServiceOfferingService) ListServiceOfferings(p *ListServiceOfferingsPar
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
|
|
@ -819,35 +727,150 @@ type ListServiceOfferingsResponse struct {
|
|||
}
|
||||
|
||||
type ServiceOffering struct {
|
||||
Cpunumber int `json:"cpunumber,omitempty"`
|
||||
Cpuspeed int `json:"cpuspeed,omitempty"`
|
||||
Created string `json:"created,omitempty"`
|
||||
Defaultuse bool `json:"defaultuse,omitempty"`
|
||||
Deploymentplanner string `json:"deploymentplanner,omitempty"`
|
||||
DiskBytesReadRate int64 `json:"diskBytesReadRate,omitempty"`
|
||||
DiskBytesWriteRate int64 `json:"diskBytesWriteRate,omitempty"`
|
||||
DiskIopsReadRate int64 `json:"diskIopsReadRate,omitempty"`
|
||||
DiskIopsWriteRate int64 `json:"diskIopsWriteRate,omitempty"`
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Hosttags string `json:"hosttags,omitempty"`
|
||||
Hypervisorsnapshotreserve int `json:"hypervisorsnapshotreserve,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Iscustomized bool `json:"iscustomized,omitempty"`
|
||||
Iscustomizediops bool `json:"iscustomizediops,omitempty"`
|
||||
Issystem bool `json:"issystem,omitempty"`
|
||||
Isvolatile bool `json:"isvolatile,omitempty"`
|
||||
Limitcpuuse bool `json:"limitcpuuse,omitempty"`
|
||||
Maxiops int64 `json:"maxiops,omitempty"`
|
||||
Memory int `json:"memory,omitempty"`
|
||||
Miniops int64 `json:"miniops,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Networkrate int `json:"networkrate,omitempty"`
|
||||
Offerha bool `json:"offerha,omitempty"`
|
||||
Provisioningtype string `json:"provisioningtype,omitempty"`
|
||||
Serviceofferingdetails map[string]string `json:"serviceofferingdetails,omitempty"`
|
||||
Storagetype string `json:"storagetype,omitempty"`
|
||||
Systemvmtype string `json:"systemvmtype,omitempty"`
|
||||
Tags string `json:"tags,omitempty"`
|
||||
Cpunumber int `json:"cpunumber"`
|
||||
Cpuspeed int `json:"cpuspeed"`
|
||||
Created string `json:"created"`
|
||||
Defaultuse bool `json:"defaultuse"`
|
||||
Deploymentplanner string `json:"deploymentplanner"`
|
||||
DiskBytesReadRate int64 `json:"diskBytesReadRate"`
|
||||
DiskBytesWriteRate int64 `json:"diskBytesWriteRate"`
|
||||
DiskIopsReadRate int64 `json:"diskIopsReadRate"`
|
||||
DiskIopsWriteRate int64 `json:"diskIopsWriteRate"`
|
||||
Displaytext string `json:"displaytext"`
|
||||
Domain string `json:"domain"`
|
||||
Domainid string `json:"domainid"`
|
||||
Hosttags string `json:"hosttags"`
|
||||
Hypervisorsnapshotreserve int `json:"hypervisorsnapshotreserve"`
|
||||
Id string `json:"id"`
|
||||
Iscustomized bool `json:"iscustomized"`
|
||||
Iscustomizediops bool `json:"iscustomizediops"`
|
||||
Issystem bool `json:"issystem"`
|
||||
Isvolatile bool `json:"isvolatile"`
|
||||
Limitcpuuse bool `json:"limitcpuuse"`
|
||||
Maxiops int64 `json:"maxiops"`
|
||||
Memory int `json:"memory"`
|
||||
Miniops int64 `json:"miniops"`
|
||||
Name string `json:"name"`
|
||||
Networkrate int `json:"networkrate"`
|
||||
Offerha bool `json:"offerha"`
|
||||
Provisioningtype string `json:"provisioningtype"`
|
||||
Serviceofferingdetails map[string]string `json:"serviceofferingdetails"`
|
||||
Storagetype string `json:"storagetype"`
|
||||
Systemvmtype string `json:"systemvmtype"`
|
||||
Tags string `json:"tags"`
|
||||
}
|
||||
|
||||
type UpdateServiceOfferingParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *UpdateServiceOfferingParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["displaytext"]; found {
|
||||
u.Set("displaytext", v.(string))
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
if v, found := p.p["name"]; found {
|
||||
u.Set("name", v.(string))
|
||||
}
|
||||
if v, found := p.p["sortkey"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("sortkey", vv)
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *UpdateServiceOfferingParams) SetDisplaytext(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["displaytext"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateServiceOfferingParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateServiceOfferingParams) SetName(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["name"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateServiceOfferingParams) SetSortkey(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["sortkey"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new UpdateServiceOfferingParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *ServiceOfferingService) NewUpdateServiceOfferingParams(id string) *UpdateServiceOfferingParams {
|
||||
p := &UpdateServiceOfferingParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["id"] = id
|
||||
return p
|
||||
}
|
||||
|
||||
// Updates a service offering.
|
||||
func (s *ServiceOfferingService) UpdateServiceOffering(p *UpdateServiceOfferingParams) (*UpdateServiceOfferingResponse, error) {
|
||||
resp, err := s.cs.newRequest("updateServiceOffering", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r UpdateServiceOfferingResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type UpdateServiceOfferingResponse struct {
|
||||
Cpunumber int `json:"cpunumber"`
|
||||
Cpuspeed int `json:"cpuspeed"`
|
||||
Created string `json:"created"`
|
||||
Defaultuse bool `json:"defaultuse"`
|
||||
Deploymentplanner string `json:"deploymentplanner"`
|
||||
DiskBytesReadRate int64 `json:"diskBytesReadRate"`
|
||||
DiskBytesWriteRate int64 `json:"diskBytesWriteRate"`
|
||||
DiskIopsReadRate int64 `json:"diskIopsReadRate"`
|
||||
DiskIopsWriteRate int64 `json:"diskIopsWriteRate"`
|
||||
Displaytext string `json:"displaytext"`
|
||||
Domain string `json:"domain"`
|
||||
Domainid string `json:"domainid"`
|
||||
Hosttags string `json:"hosttags"`
|
||||
Hypervisorsnapshotreserve int `json:"hypervisorsnapshotreserve"`
|
||||
Id string `json:"id"`
|
||||
Iscustomized bool `json:"iscustomized"`
|
||||
Iscustomizediops bool `json:"iscustomizediops"`
|
||||
Issystem bool `json:"issystem"`
|
||||
Isvolatile bool `json:"isvolatile"`
|
||||
Limitcpuuse bool `json:"limitcpuuse"`
|
||||
Maxiops int64 `json:"maxiops"`
|
||||
Memory int `json:"memory"`
|
||||
Miniops int64 `json:"miniops"`
|
||||
Name string `json:"name"`
|
||||
Networkrate int `json:"networkrate"`
|
||||
Offerha bool `json:"offerha"`
|
||||
Provisioningtype string `json:"provisioningtype"`
|
||||
Serviceofferingdetails map[string]string `json:"serviceofferingdetails"`
|
||||
Storagetype string `json:"storagetype"`
|
||||
Systemvmtype string `json:"systemvmtype"`
|
||||
Tags string `json:"tags"`
|
||||
}
|
||||
|
|
|
|||
1978
vendor/github.com/xanzy/go-cloudstack/cloudstack/SnapshotService.go
generated
vendored
1978
vendor/github.com/xanzy/go-cloudstack/cloudstack/SnapshotService.go
generated
vendored
File diff suppressed because it is too large
Load diff
385
vendor/github.com/xanzy/go-cloudstack/cloudstack/StoragePoolService.go
generated
vendored
385
vendor/github.com/xanzy/go-cloudstack/cloudstack/StoragePoolService.go
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// Copyright 2016, Sander van Harmelen
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
@ -22,6 +22,198 @@ import (
|
|||
"strconv"
|
||||
)
|
||||
|
||||
type CancelStorageMaintenanceParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *CancelStorageMaintenanceParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *CancelStorageMaintenanceParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new CancelStorageMaintenanceParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *StoragePoolService) NewCancelStorageMaintenanceParams(id string) *CancelStorageMaintenanceParams {
|
||||
p := &CancelStorageMaintenanceParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["id"] = id
|
||||
return p
|
||||
}
|
||||
|
||||
// Cancels maintenance for primary storage
|
||||
func (s *StoragePoolService) CancelStorageMaintenance(p *CancelStorageMaintenanceParams) (*CancelStorageMaintenanceResponse, error) {
|
||||
resp, err := s.cs.newRequest("cancelStorageMaintenance", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r CancelStorageMaintenanceResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// If we have a async client, we need to wait for the async result
|
||||
if s.cs.async {
|
||||
b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
|
||||
if err != nil {
|
||||
if err == AsyncTimeoutErr {
|
||||
return &r, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
b, err = getRawValue(b)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(b, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type CancelStorageMaintenanceResponse struct {
|
||||
JobID string `json:"jobid"`
|
||||
Allocatediops int64 `json:"allocatediops"`
|
||||
Capacityiops int64 `json:"capacityiops"`
|
||||
Clusterid string `json:"clusterid"`
|
||||
Clustername string `json:"clustername"`
|
||||
Created string `json:"created"`
|
||||
Disksizeallocated int64 `json:"disksizeallocated"`
|
||||
Disksizetotal int64 `json:"disksizetotal"`
|
||||
Disksizeused int64 `json:"disksizeused"`
|
||||
Hypervisor string `json:"hypervisor"`
|
||||
Id string `json:"id"`
|
||||
Ipaddress string `json:"ipaddress"`
|
||||
Name string `json:"name"`
|
||||
Overprovisionfactor string `json:"overprovisionfactor"`
|
||||
Path string `json:"path"`
|
||||
Podid string `json:"podid"`
|
||||
Podname string `json:"podname"`
|
||||
Provider string `json:"provider"`
|
||||
Scope string `json:"scope"`
|
||||
State string `json:"state"`
|
||||
Storagecapabilities map[string]string `json:"storagecapabilities"`
|
||||
Suitableformigration bool `json:"suitableformigration"`
|
||||
Tags string `json:"tags"`
|
||||
Type string `json:"type"`
|
||||
Zoneid string `json:"zoneid"`
|
||||
Zonename string `json:"zonename"`
|
||||
}
|
||||
|
||||
type EnableStorageMaintenanceParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *EnableStorageMaintenanceParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *EnableStorageMaintenanceParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new EnableStorageMaintenanceParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *StoragePoolService) NewEnableStorageMaintenanceParams(id string) *EnableStorageMaintenanceParams {
|
||||
p := &EnableStorageMaintenanceParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["id"] = id
|
||||
return p
|
||||
}
|
||||
|
||||
// Puts storage pool into maintenance state
|
||||
func (s *StoragePoolService) EnableStorageMaintenance(p *EnableStorageMaintenanceParams) (*EnableStorageMaintenanceResponse, error) {
|
||||
resp, err := s.cs.newRequest("enableStorageMaintenance", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r EnableStorageMaintenanceResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// If we have a async client, we need to wait for the async result
|
||||
if s.cs.async {
|
||||
b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
|
||||
if err != nil {
|
||||
if err == AsyncTimeoutErr {
|
||||
return &r, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
b, err = getRawValue(b)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(b, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type EnableStorageMaintenanceResponse struct {
|
||||
JobID string `json:"jobid"`
|
||||
Allocatediops int64 `json:"allocatediops"`
|
||||
Capacityiops int64 `json:"capacityiops"`
|
||||
Clusterid string `json:"clusterid"`
|
||||
Clustername string `json:"clustername"`
|
||||
Created string `json:"created"`
|
||||
Disksizeallocated int64 `json:"disksizeallocated"`
|
||||
Disksizetotal int64 `json:"disksizetotal"`
|
||||
Disksizeused int64 `json:"disksizeused"`
|
||||
Hypervisor string `json:"hypervisor"`
|
||||
Id string `json:"id"`
|
||||
Ipaddress string `json:"ipaddress"`
|
||||
Name string `json:"name"`
|
||||
Overprovisionfactor string `json:"overprovisionfactor"`
|
||||
Path string `json:"path"`
|
||||
Podid string `json:"podid"`
|
||||
Podname string `json:"podname"`
|
||||
Provider string `json:"provider"`
|
||||
Scope string `json:"scope"`
|
||||
State string `json:"state"`
|
||||
Storagecapabilities map[string]string `json:"storagecapabilities"`
|
||||
Suitableformigration bool `json:"suitableformigration"`
|
||||
Tags string `json:"tags"`
|
||||
Type string `json:"type"`
|
||||
Zoneid string `json:"zoneid"`
|
||||
Zonename string `json:"zonename"`
|
||||
}
|
||||
|
||||
type ListStorageProvidersParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
|
@ -100,6 +292,7 @@ func (s *StoragePoolService) ListStorageProviders(p *ListStorageProvidersParams)
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
|
|
@ -109,192 +302,6 @@ type ListStorageProvidersResponse struct {
|
|||
}
|
||||
|
||||
type StorageProvider struct {
|
||||
Name string `json:"name,omitempty"`
|
||||
Type string `json:"type,omitempty"`
|
||||
}
|
||||
|
||||
type EnableStorageMaintenanceParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *EnableStorageMaintenanceParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *EnableStorageMaintenanceParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new EnableStorageMaintenanceParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *StoragePoolService) NewEnableStorageMaintenanceParams(id string) *EnableStorageMaintenanceParams {
|
||||
p := &EnableStorageMaintenanceParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["id"] = id
|
||||
return p
|
||||
}
|
||||
|
||||
// Puts storage pool into maintenance state
|
||||
func (s *StoragePoolService) EnableStorageMaintenance(p *EnableStorageMaintenanceParams) (*EnableStorageMaintenanceResponse, error) {
|
||||
resp, err := s.cs.newRequest("enableStorageMaintenance", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r EnableStorageMaintenanceResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// If we have a async client, we need to wait for the async result
|
||||
if s.cs.async {
|
||||
b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
|
||||
if err != nil {
|
||||
if err == AsyncTimeoutErr {
|
||||
return &r, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
b, err = getRawValue(b)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(b, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type EnableStorageMaintenanceResponse struct {
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
Capacityiops int64 `json:"capacityiops,omitempty"`
|
||||
Clusterid string `json:"clusterid,omitempty"`
|
||||
Clustername string `json:"clustername,omitempty"`
|
||||
Created string `json:"created,omitempty"`
|
||||
Disksizeallocated int64 `json:"disksizeallocated,omitempty"`
|
||||
Disksizetotal int64 `json:"disksizetotal,omitempty"`
|
||||
Disksizeused int64 `json:"disksizeused,omitempty"`
|
||||
Hypervisor string `json:"hypervisor,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Ipaddress string `json:"ipaddress,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Overprovisionfactor string `json:"overprovisionfactor,omitempty"`
|
||||
Path string `json:"path,omitempty"`
|
||||
Podid string `json:"podid,omitempty"`
|
||||
Podname string `json:"podname,omitempty"`
|
||||
Scope string `json:"scope,omitempty"`
|
||||
State string `json:"state,omitempty"`
|
||||
Storagecapabilities map[string]string `json:"storagecapabilities,omitempty"`
|
||||
Suitableformigration bool `json:"suitableformigration,omitempty"`
|
||||
Tags string `json:"tags,omitempty"`
|
||||
Type string `json:"type,omitempty"`
|
||||
Zoneid string `json:"zoneid,omitempty"`
|
||||
Zonename string `json:"zonename,omitempty"`
|
||||
}
|
||||
|
||||
type CancelStorageMaintenanceParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *CancelStorageMaintenanceParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *CancelStorageMaintenanceParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new CancelStorageMaintenanceParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *StoragePoolService) NewCancelStorageMaintenanceParams(id string) *CancelStorageMaintenanceParams {
|
||||
p := &CancelStorageMaintenanceParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["id"] = id
|
||||
return p
|
||||
}
|
||||
|
||||
// Cancels maintenance for primary storage
|
||||
func (s *StoragePoolService) CancelStorageMaintenance(p *CancelStorageMaintenanceParams) (*CancelStorageMaintenanceResponse, error) {
|
||||
resp, err := s.cs.newRequest("cancelStorageMaintenance", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r CancelStorageMaintenanceResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// If we have a async client, we need to wait for the async result
|
||||
if s.cs.async {
|
||||
b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
|
||||
if err != nil {
|
||||
if err == AsyncTimeoutErr {
|
||||
return &r, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
b, err = getRawValue(b)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(b, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type CancelStorageMaintenanceResponse struct {
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
Capacityiops int64 `json:"capacityiops,omitempty"`
|
||||
Clusterid string `json:"clusterid,omitempty"`
|
||||
Clustername string `json:"clustername,omitempty"`
|
||||
Created string `json:"created,omitempty"`
|
||||
Disksizeallocated int64 `json:"disksizeallocated,omitempty"`
|
||||
Disksizetotal int64 `json:"disksizetotal,omitempty"`
|
||||
Disksizeused int64 `json:"disksizeused,omitempty"`
|
||||
Hypervisor string `json:"hypervisor,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Ipaddress string `json:"ipaddress,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Overprovisionfactor string `json:"overprovisionfactor,omitempty"`
|
||||
Path string `json:"path,omitempty"`
|
||||
Podid string `json:"podid,omitempty"`
|
||||
Podname string `json:"podname,omitempty"`
|
||||
Scope string `json:"scope,omitempty"`
|
||||
State string `json:"state,omitempty"`
|
||||
Storagecapabilities map[string]string `json:"storagecapabilities,omitempty"`
|
||||
Suitableformigration bool `json:"suitableformigration,omitempty"`
|
||||
Tags string `json:"tags,omitempty"`
|
||||
Type string `json:"type,omitempty"`
|
||||
Zoneid string `json:"zoneid,omitempty"`
|
||||
Zonename string `json:"zonename,omitempty"`
|
||||
Name string `json:"name"`
|
||||
Type string `json:"type"`
|
||||
}
|
||||
|
|
|
|||
82
vendor/github.com/xanzy/go-cloudstack/cloudstack/StratosphereSSPService.go
generated
vendored
82
vendor/github.com/xanzy/go-cloudstack/cloudstack/StratosphereSSPService.go
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// Copyright 2016, Sander van Harmelen
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
@ -121,12 +121,84 @@ func (s *StratosphereSSPService) AddStratosphereSsp(p *AddStratosphereSspParams)
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type AddStratosphereSspResponse struct {
|
||||
Hostid string `json:"hostid,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Url string `json:"url,omitempty"`
|
||||
Zoneid string `json:"zoneid,omitempty"`
|
||||
Hostid string `json:"hostid"`
|
||||
Name string `json:"name"`
|
||||
Url string `json:"url"`
|
||||
Zoneid string `json:"zoneid"`
|
||||
}
|
||||
|
||||
type DeleteStratosphereSspParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *DeleteStratosphereSspParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["hostid"]; found {
|
||||
u.Set("hostid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *DeleteStratosphereSspParams) SetHostid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["hostid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new DeleteStratosphereSspParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *StratosphereSSPService) NewDeleteStratosphereSspParams(hostid string) *DeleteStratosphereSspParams {
|
||||
p := &DeleteStratosphereSspParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["hostid"] = hostid
|
||||
return p
|
||||
}
|
||||
|
||||
// Removes stratosphere ssp server
|
||||
func (s *StratosphereSSPService) DeleteStratosphereSsp(p *DeleteStratosphereSspParams) (*DeleteStratosphereSspResponse, error) {
|
||||
resp, err := s.cs.newRequest("deleteStratosphereSsp", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r DeleteStratosphereSspResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type DeleteStratosphereSspResponse struct {
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
||||
func (r *DeleteStratosphereSspResponse) UnmarshalJSON(b []byte) error {
|
||||
var m map[string]interface{}
|
||||
err := json.Unmarshal(b, &m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if success, ok := m["success"].(string); ok {
|
||||
m["success"] = success == "true"
|
||||
b, err = json.Marshal(m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
type alias DeleteStratosphereSspResponse
|
||||
return json.Unmarshal(b, (*alias)(r))
|
||||
}
|
||||
|
|
|
|||
40
vendor/github.com/xanzy/go-cloudstack/cloudstack/SwiftService.go
generated
vendored
40
vendor/github.com/xanzy/go-cloudstack/cloudstack/SwiftService.go
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// Copyright 2016, Sander van Harmelen
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
@ -99,19 +99,19 @@ func (s *SwiftService) AddSwift(p *AddSwiftParams) (*AddSwiftResponse, error) {
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type AddSwiftResponse struct {
|
||||
Details []string `json:"details,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Protocol string `json:"protocol,omitempty"`
|
||||
Providername string `json:"providername,omitempty"`
|
||||
Scope string `json:"scope,omitempty"`
|
||||
Url string `json:"url,omitempty"`
|
||||
Zoneid string `json:"zoneid,omitempty"`
|
||||
Zonename string `json:"zonename,omitempty"`
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Protocol string `json:"protocol"`
|
||||
Providername string `json:"providername"`
|
||||
Scope string `json:"scope"`
|
||||
Url string `json:"url"`
|
||||
Zoneid string `json:"zoneid"`
|
||||
Zonename string `json:"zonename"`
|
||||
}
|
||||
|
||||
type ListSwiftsParams struct {
|
||||
|
|
@ -188,7 +188,7 @@ func (s *SwiftService) GetSwiftID(keyword string, opts ...OptionFunc) (string, i
|
|||
|
||||
p.p["keyword"] = keyword
|
||||
|
||||
for _, fn := range opts {
|
||||
for _, fn := range append(s.cs.options, opts...) {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return "", -1, err
|
||||
}
|
||||
|
|
@ -228,6 +228,7 @@ func (s *SwiftService) ListSwifts(p *ListSwiftsParams) (*ListSwiftsResponse, err
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
|
|
@ -237,13 +238,12 @@ type ListSwiftsResponse struct {
|
|||
}
|
||||
|
||||
type Swift struct {
|
||||
Details []string `json:"details,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Protocol string `json:"protocol,omitempty"`
|
||||
Providername string `json:"providername,omitempty"`
|
||||
Scope string `json:"scope,omitempty"`
|
||||
Url string `json:"url,omitempty"`
|
||||
Zoneid string `json:"zoneid,omitempty"`
|
||||
Zonename string `json:"zonename,omitempty"`
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Protocol string `json:"protocol"`
|
||||
Providername string `json:"providername"`
|
||||
Scope string `json:"scope"`
|
||||
Url string `json:"url"`
|
||||
Zoneid string `json:"zoneid"`
|
||||
Zonename string `json:"zonename"`
|
||||
}
|
||||
|
|
|
|||
25
vendor/github.com/xanzy/go-cloudstack/cloudstack/SystemCapacityService.go
generated
vendored
25
vendor/github.com/xanzy/go-cloudstack/cloudstack/SystemCapacityService.go
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// Copyright 2016, Sander van Harmelen
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
@ -156,6 +156,7 @@ func (s *SystemCapacityService) ListCapacity(p *ListCapacityParams) (*ListCapaci
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
|
|
@ -165,14 +166,16 @@ type ListCapacityResponse struct {
|
|||
}
|
||||
|
||||
type Capacity struct {
|
||||
Capacitytotal int64 `json:"capacitytotal,omitempty"`
|
||||
Capacityused int64 `json:"capacityused,omitempty"`
|
||||
Clusterid string `json:"clusterid,omitempty"`
|
||||
Clustername string `json:"clustername,omitempty"`
|
||||
Percentused string `json:"percentused,omitempty"`
|
||||
Podid string `json:"podid,omitempty"`
|
||||
Podname string `json:"podname,omitempty"`
|
||||
Type int `json:"type,omitempty"`
|
||||
Zoneid string `json:"zoneid,omitempty"`
|
||||
Zonename string `json:"zonename,omitempty"`
|
||||
Capacityallocated int64 `json:"capacityallocated"`
|
||||
Capacitytotal int64 `json:"capacitytotal"`
|
||||
Capacityused int64 `json:"capacityused"`
|
||||
Clusterid string `json:"clusterid"`
|
||||
Clustername string `json:"clustername"`
|
||||
Name string `json:"name"`
|
||||
Percentused string `json:"percentused"`
|
||||
Podid string `json:"podid"`
|
||||
Podname string `json:"podname"`
|
||||
Type int `json:"type"`
|
||||
Zoneid string `json:"zoneid"`
|
||||
Zonename string `json:"zonename"`
|
||||
}
|
||||
|
|
|
|||
924
vendor/github.com/xanzy/go-cloudstack/cloudstack/SystemVMService.go
generated
vendored
924
vendor/github.com/xanzy/go-cloudstack/cloudstack/SystemVMService.go
generated
vendored
File diff suppressed because it is too large
Load diff
3236
vendor/github.com/xanzy/go-cloudstack/cloudstack/TemplateService.go
generated
vendored
3236
vendor/github.com/xanzy/go-cloudstack/cloudstack/TemplateService.go
generated
vendored
File diff suppressed because it is too large
Load diff
838
vendor/github.com/xanzy/go-cloudstack/cloudstack/UCSService.go
generated
vendored
838
vendor/github.com/xanzy/go-cloudstack/cloudstack/UCSService.go
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// Copyright 2016, Sander van Harmelen
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
@ -114,384 +114,15 @@ func (s *UCSService) AddUcsManager(p *AddUcsManagerParams) (*AddUcsManagerRespon
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type AddUcsManagerResponse struct {
|
||||
Id string `json:"id,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Url string `json:"url,omitempty"`
|
||||
Zoneid string `json:"zoneid,omitempty"`
|
||||
}
|
||||
|
||||
type ListUcsManagersParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *ListUcsManagersParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
if v, found := p.p["keyword"]; found {
|
||||
u.Set("keyword", v.(string))
|
||||
}
|
||||
if v, found := p.p["page"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("page", vv)
|
||||
}
|
||||
if v, found := p.p["pagesize"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("pagesize", vv)
|
||||
}
|
||||
if v, found := p.p["zoneid"]; found {
|
||||
u.Set("zoneid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *ListUcsManagersParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListUcsManagersParams) SetKeyword(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["keyword"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListUcsManagersParams) SetPage(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["page"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListUcsManagersParams) SetPagesize(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["pagesize"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListUcsManagersParams) SetZoneid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["zoneid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new ListUcsManagersParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *UCSService) NewListUcsManagersParams() *ListUcsManagersParams {
|
||||
p := &ListUcsManagersParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
return p
|
||||
}
|
||||
|
||||
// This is a courtesy helper function, which in some cases may not work as expected!
|
||||
func (s *UCSService) GetUcsManagerID(keyword string, opts ...OptionFunc) (string, int, error) {
|
||||
p := &ListUcsManagersParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
|
||||
p.p["keyword"] = keyword
|
||||
|
||||
for _, fn := range opts {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return "", -1, err
|
||||
}
|
||||
}
|
||||
|
||||
l, err := s.ListUcsManagers(p)
|
||||
if err != nil {
|
||||
return "", -1, err
|
||||
}
|
||||
|
||||
if l.Count == 0 {
|
||||
return "", l.Count, fmt.Errorf("No match found for %s: %+v", keyword, l)
|
||||
}
|
||||
|
||||
if l.Count == 1 {
|
||||
return l.UcsManagers[0].Id, l.Count, nil
|
||||
}
|
||||
|
||||
if l.Count > 1 {
|
||||
for _, v := range l.UcsManagers {
|
||||
if v.Name == keyword {
|
||||
return v.Id, l.Count, nil
|
||||
}
|
||||
}
|
||||
}
|
||||
return "", l.Count, fmt.Errorf("Could not find an exact match for %s: %+v", keyword, l)
|
||||
}
|
||||
|
||||
// This is a courtesy helper function, which in some cases may not work as expected!
|
||||
func (s *UCSService) GetUcsManagerByName(name string, opts ...OptionFunc) (*UcsManager, int, error) {
|
||||
id, count, err := s.GetUcsManagerID(name, opts...)
|
||||
if err != nil {
|
||||
return nil, count, err
|
||||
}
|
||||
|
||||
r, count, err := s.GetUcsManagerByID(id, opts...)
|
||||
if err != nil {
|
||||
return nil, count, err
|
||||
}
|
||||
return r, count, nil
|
||||
}
|
||||
|
||||
// This is a courtesy helper function, which in some cases may not work as expected!
|
||||
func (s *UCSService) GetUcsManagerByID(id string, opts ...OptionFunc) (*UcsManager, int, error) {
|
||||
p := &ListUcsManagersParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
|
||||
p.p["id"] = id
|
||||
|
||||
for _, fn := range opts {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return nil, -1, err
|
||||
}
|
||||
}
|
||||
|
||||
l, err := s.ListUcsManagers(p)
|
||||
if err != nil {
|
||||
if strings.Contains(err.Error(), fmt.Sprintf(
|
||||
"Invalid parameter id value=%s due to incorrect long value format, "+
|
||||
"or entity does not exist", id)) {
|
||||
return nil, 0, fmt.Errorf("No match found for %s: %+v", id, l)
|
||||
}
|
||||
return nil, -1, err
|
||||
}
|
||||
|
||||
if l.Count == 0 {
|
||||
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
|
||||
}
|
||||
|
||||
if l.Count == 1 {
|
||||
return l.UcsManagers[0], l.Count, nil
|
||||
}
|
||||
return nil, l.Count, fmt.Errorf("There is more then one result for UcsManager UUID: %s!", id)
|
||||
}
|
||||
|
||||
// List ucs manager
|
||||
func (s *UCSService) ListUcsManagers(p *ListUcsManagersParams) (*ListUcsManagersResponse, error) {
|
||||
resp, err := s.cs.newRequest("listUcsManagers", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ListUcsManagersResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ListUcsManagersResponse struct {
|
||||
Count int `json:"count"`
|
||||
UcsManagers []*UcsManager `json:"ucsmanager"`
|
||||
}
|
||||
|
||||
type UcsManager struct {
|
||||
Id string `json:"id,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Url string `json:"url,omitempty"`
|
||||
Zoneid string `json:"zoneid,omitempty"`
|
||||
}
|
||||
|
||||
type ListUcsProfilesParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *ListUcsProfilesParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["keyword"]; found {
|
||||
u.Set("keyword", v.(string))
|
||||
}
|
||||
if v, found := p.p["page"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("page", vv)
|
||||
}
|
||||
if v, found := p.p["pagesize"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("pagesize", vv)
|
||||
}
|
||||
if v, found := p.p["ucsmanagerid"]; found {
|
||||
u.Set("ucsmanagerid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *ListUcsProfilesParams) SetKeyword(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["keyword"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListUcsProfilesParams) SetPage(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["page"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListUcsProfilesParams) SetPagesize(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["pagesize"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListUcsProfilesParams) SetUcsmanagerid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["ucsmanagerid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new ListUcsProfilesParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *UCSService) NewListUcsProfilesParams(ucsmanagerid string) *ListUcsProfilesParams {
|
||||
p := &ListUcsProfilesParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["ucsmanagerid"] = ucsmanagerid
|
||||
return p
|
||||
}
|
||||
|
||||
// List profile in ucs manager
|
||||
func (s *UCSService) ListUcsProfiles(p *ListUcsProfilesParams) (*ListUcsProfilesResponse, error) {
|
||||
resp, err := s.cs.newRequest("listUcsProfiles", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ListUcsProfilesResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ListUcsProfilesResponse struct {
|
||||
Count int `json:"count"`
|
||||
UcsProfiles []*UcsProfile `json:"ucsprofile"`
|
||||
}
|
||||
|
||||
type UcsProfile struct {
|
||||
Ucsdn string `json:"ucsdn,omitempty"`
|
||||
}
|
||||
|
||||
type ListUcsBladesParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *ListUcsBladesParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["keyword"]; found {
|
||||
u.Set("keyword", v.(string))
|
||||
}
|
||||
if v, found := p.p["page"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("page", vv)
|
||||
}
|
||||
if v, found := p.p["pagesize"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("pagesize", vv)
|
||||
}
|
||||
if v, found := p.p["ucsmanagerid"]; found {
|
||||
u.Set("ucsmanagerid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *ListUcsBladesParams) SetKeyword(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["keyword"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListUcsBladesParams) SetPage(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["page"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListUcsBladesParams) SetPagesize(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["pagesize"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListUcsBladesParams) SetUcsmanagerid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["ucsmanagerid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new ListUcsBladesParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *UCSService) NewListUcsBladesParams(ucsmanagerid string) *ListUcsBladesParams {
|
||||
p := &ListUcsBladesParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["ucsmanagerid"] = ucsmanagerid
|
||||
return p
|
||||
}
|
||||
|
||||
// List ucs blades
|
||||
func (s *UCSService) ListUcsBlades(p *ListUcsBladesParams) (*ListUcsBladesResponse, error) {
|
||||
resp, err := s.cs.newRequest("listUcsBlades", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ListUcsBladesResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ListUcsBladesResponse struct {
|
||||
Count int `json:"count"`
|
||||
UcsBlades []*UcsBlade `json:"ucsblade"`
|
||||
}
|
||||
|
||||
type UcsBlade struct {
|
||||
Bladedn string `json:"bladedn,omitempty"`
|
||||
Hostid string `json:"hostid,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Profiledn string `json:"profiledn,omitempty"`
|
||||
Ucsmanagerid string `json:"ucsmanagerid,omitempty"`
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Url string `json:"url"`
|
||||
Zoneid string `json:"zoneid"`
|
||||
}
|
||||
|
||||
type AssociateUcsProfileToBladeParams struct {
|
||||
|
|
@ -581,14 +212,459 @@ func (s *UCSService) AssociateUcsProfileToBlade(p *AssociateUcsProfileToBladePar
|
|||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type AssociateUcsProfileToBladeResponse struct {
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
Bladedn string `json:"bladedn,omitempty"`
|
||||
Hostid string `json:"hostid,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Profiledn string `json:"profiledn,omitempty"`
|
||||
Ucsmanagerid string `json:"ucsmanagerid,omitempty"`
|
||||
JobID string `json:"jobid"`
|
||||
Bladedn string `json:"bladedn"`
|
||||
Hostid string `json:"hostid"`
|
||||
Id string `json:"id"`
|
||||
Profiledn string `json:"profiledn"`
|
||||
Ucsmanagerid string `json:"ucsmanagerid"`
|
||||
}
|
||||
|
||||
type DeleteUcsManagerParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *DeleteUcsManagerParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["ucsmanagerid"]; found {
|
||||
u.Set("ucsmanagerid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *DeleteUcsManagerParams) SetUcsmanagerid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["ucsmanagerid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new DeleteUcsManagerParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *UCSService) NewDeleteUcsManagerParams(ucsmanagerid string) *DeleteUcsManagerParams {
|
||||
p := &DeleteUcsManagerParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["ucsmanagerid"] = ucsmanagerid
|
||||
return p
|
||||
}
|
||||
|
||||
// Delete a Ucs manager
|
||||
func (s *UCSService) DeleteUcsManager(p *DeleteUcsManagerParams) (*DeleteUcsManagerResponse, error) {
|
||||
resp, err := s.cs.newRequest("deleteUcsManager", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r DeleteUcsManagerResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type DeleteUcsManagerResponse struct {
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
||||
func (r *DeleteUcsManagerResponse) UnmarshalJSON(b []byte) error {
|
||||
var m map[string]interface{}
|
||||
err := json.Unmarshal(b, &m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if success, ok := m["success"].(string); ok {
|
||||
m["success"] = success == "true"
|
||||
b, err = json.Marshal(m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
type alias DeleteUcsManagerResponse
|
||||
return json.Unmarshal(b, (*alias)(r))
|
||||
}
|
||||
|
||||
type ListUcsBladesParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *ListUcsBladesParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["keyword"]; found {
|
||||
u.Set("keyword", v.(string))
|
||||
}
|
||||
if v, found := p.p["page"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("page", vv)
|
||||
}
|
||||
if v, found := p.p["pagesize"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("pagesize", vv)
|
||||
}
|
||||
if v, found := p.p["ucsmanagerid"]; found {
|
||||
u.Set("ucsmanagerid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *ListUcsBladesParams) SetKeyword(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["keyword"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListUcsBladesParams) SetPage(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["page"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListUcsBladesParams) SetPagesize(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["pagesize"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListUcsBladesParams) SetUcsmanagerid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["ucsmanagerid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new ListUcsBladesParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *UCSService) NewListUcsBladesParams(ucsmanagerid string) *ListUcsBladesParams {
|
||||
p := &ListUcsBladesParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["ucsmanagerid"] = ucsmanagerid
|
||||
return p
|
||||
}
|
||||
|
||||
// List ucs blades
|
||||
func (s *UCSService) ListUcsBlades(p *ListUcsBladesParams) (*ListUcsBladesResponse, error) {
|
||||
resp, err := s.cs.newRequest("listUcsBlades", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ListUcsBladesResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ListUcsBladesResponse struct {
|
||||
Count int `json:"count"`
|
||||
UcsBlades []*UcsBlade `json:"ucsblade"`
|
||||
}
|
||||
|
||||
type UcsBlade struct {
|
||||
Bladedn string `json:"bladedn"`
|
||||
Hostid string `json:"hostid"`
|
||||
Id string `json:"id"`
|
||||
Profiledn string `json:"profiledn"`
|
||||
Ucsmanagerid string `json:"ucsmanagerid"`
|
||||
}
|
||||
|
||||
type ListUcsManagersParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *ListUcsManagersParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
if v, found := p.p["keyword"]; found {
|
||||
u.Set("keyword", v.(string))
|
||||
}
|
||||
if v, found := p.p["page"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("page", vv)
|
||||
}
|
||||
if v, found := p.p["pagesize"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("pagesize", vv)
|
||||
}
|
||||
if v, found := p.p["zoneid"]; found {
|
||||
u.Set("zoneid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *ListUcsManagersParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListUcsManagersParams) SetKeyword(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["keyword"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListUcsManagersParams) SetPage(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["page"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListUcsManagersParams) SetPagesize(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["pagesize"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListUcsManagersParams) SetZoneid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["zoneid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new ListUcsManagersParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *UCSService) NewListUcsManagersParams() *ListUcsManagersParams {
|
||||
p := &ListUcsManagersParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
return p
|
||||
}
|
||||
|
||||
// This is a courtesy helper function, which in some cases may not work as expected!
|
||||
func (s *UCSService) GetUcsManagerID(keyword string, opts ...OptionFunc) (string, int, error) {
|
||||
p := &ListUcsManagersParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
|
||||
p.p["keyword"] = keyword
|
||||
|
||||
for _, fn := range append(s.cs.options, opts...) {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return "", -1, err
|
||||
}
|
||||
}
|
||||
|
||||
l, err := s.ListUcsManagers(p)
|
||||
if err != nil {
|
||||
return "", -1, err
|
||||
}
|
||||
|
||||
if l.Count == 0 {
|
||||
return "", l.Count, fmt.Errorf("No match found for %s: %+v", keyword, l)
|
||||
}
|
||||
|
||||
if l.Count == 1 {
|
||||
return l.UcsManagers[0].Id, l.Count, nil
|
||||
}
|
||||
|
||||
if l.Count > 1 {
|
||||
for _, v := range l.UcsManagers {
|
||||
if v.Name == keyword {
|
||||
return v.Id, l.Count, nil
|
||||
}
|
||||
}
|
||||
}
|
||||
return "", l.Count, fmt.Errorf("Could not find an exact match for %s: %+v", keyword, l)
|
||||
}
|
||||
|
||||
// This is a courtesy helper function, which in some cases may not work as expected!
|
||||
func (s *UCSService) GetUcsManagerByName(name string, opts ...OptionFunc) (*UcsManager, int, error) {
|
||||
id, count, err := s.GetUcsManagerID(name, opts...)
|
||||
if err != nil {
|
||||
return nil, count, err
|
||||
}
|
||||
|
||||
r, count, err := s.GetUcsManagerByID(id, opts...)
|
||||
if err != nil {
|
||||
return nil, count, err
|
||||
}
|
||||
return r, count, nil
|
||||
}
|
||||
|
||||
// This is a courtesy helper function, which in some cases may not work as expected!
|
||||
func (s *UCSService) GetUcsManagerByID(id string, opts ...OptionFunc) (*UcsManager, int, error) {
|
||||
p := &ListUcsManagersParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
|
||||
p.p["id"] = id
|
||||
|
||||
for _, fn := range append(s.cs.options, opts...) {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return nil, -1, err
|
||||
}
|
||||
}
|
||||
|
||||
l, err := s.ListUcsManagers(p)
|
||||
if err != nil {
|
||||
if strings.Contains(err.Error(), fmt.Sprintf(
|
||||
"Invalid parameter id value=%s due to incorrect long value format, "+
|
||||
"or entity does not exist", id)) {
|
||||
return nil, 0, fmt.Errorf("No match found for %s: %+v", id, l)
|
||||
}
|
||||
return nil, -1, err
|
||||
}
|
||||
|
||||
if l.Count == 0 {
|
||||
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
|
||||
}
|
||||
|
||||
if l.Count == 1 {
|
||||
return l.UcsManagers[0], l.Count, nil
|
||||
}
|
||||
return nil, l.Count, fmt.Errorf("There is more then one result for UcsManager UUID: %s!", id)
|
||||
}
|
||||
|
||||
// List ucs manager
|
||||
func (s *UCSService) ListUcsManagers(p *ListUcsManagersParams) (*ListUcsManagersResponse, error) {
|
||||
resp, err := s.cs.newRequest("listUcsManagers", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ListUcsManagersResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ListUcsManagersResponse struct {
|
||||
Count int `json:"count"`
|
||||
UcsManagers []*UcsManager `json:"ucsmanager"`
|
||||
}
|
||||
|
||||
type UcsManager struct {
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Url string `json:"url"`
|
||||
Zoneid string `json:"zoneid"`
|
||||
}
|
||||
|
||||
type ListUcsProfilesParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *ListUcsProfilesParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["keyword"]; found {
|
||||
u.Set("keyword", v.(string))
|
||||
}
|
||||
if v, found := p.p["page"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("page", vv)
|
||||
}
|
||||
if v, found := p.p["pagesize"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("pagesize", vv)
|
||||
}
|
||||
if v, found := p.p["ucsmanagerid"]; found {
|
||||
u.Set("ucsmanagerid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *ListUcsProfilesParams) SetKeyword(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["keyword"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListUcsProfilesParams) SetPage(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["page"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListUcsProfilesParams) SetPagesize(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["pagesize"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListUcsProfilesParams) SetUcsmanagerid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["ucsmanagerid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new ListUcsProfilesParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *UCSService) NewListUcsProfilesParams(ucsmanagerid string) *ListUcsProfilesParams {
|
||||
p := &ListUcsProfilesParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["ucsmanagerid"] = ucsmanagerid
|
||||
return p
|
||||
}
|
||||
|
||||
// List profile in ucs manager
|
||||
func (s *UCSService) ListUcsProfiles(p *ListUcsProfilesParams) (*ListUcsProfilesResponse, error) {
|
||||
resp, err := s.cs.newRequest("listUcsProfiles", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ListUcsProfilesResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ListUcsProfilesResponse struct {
|
||||
Count int `json:"count"`
|
||||
UcsProfiles []*UcsProfile `json:"ucsprofile"`
|
||||
}
|
||||
|
||||
type UcsProfile struct {
|
||||
Ucsdn string `json:"ucsdn"`
|
||||
}
|
||||
|
|
|
|||
1519
vendor/github.com/xanzy/go-cloudstack/cloudstack/UsageService.go
generated
vendored
1519
vendor/github.com/xanzy/go-cloudstack/cloudstack/UsageService.go
generated
vendored
File diff suppressed because it is too large
Load diff
1018
vendor/github.com/xanzy/go-cloudstack/cloudstack/UserService.go
generated
vendored
1018
vendor/github.com/xanzy/go-cloudstack/cloudstack/UserService.go
generated
vendored
File diff suppressed because it is too large
Load diff
741
vendor/github.com/xanzy/go-cloudstack/cloudstack/VLANService.go
generated
vendored
741
vendor/github.com/xanzy/go-cloudstack/cloudstack/VLANService.go
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// Copyright 2016, Sander van Harmelen
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
@ -45,6 +45,10 @@ func (p *CreateVlanIpRangeParams) toURLValues() url.Values {
|
|||
if v, found := p.p["endipv6"]; found {
|
||||
u.Set("endipv6", v.(string))
|
||||
}
|
||||
if v, found := p.p["forsystemvms"]; found {
|
||||
vv := strconv.FormatBool(v.(bool))
|
||||
u.Set("forsystemvms", vv)
|
||||
}
|
||||
if v, found := p.p["forvirtualnetwork"]; found {
|
||||
vv := strconv.FormatBool(v.(bool))
|
||||
u.Set("forvirtualnetwork", vv)
|
||||
|
|
@ -120,6 +124,14 @@ func (p *CreateVlanIpRangeParams) SetEndipv6(v string) {
|
|||
return
|
||||
}
|
||||
|
||||
func (p *CreateVlanIpRangeParams) SetForsystemvms(v bool) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["forsystemvms"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *CreateVlanIpRangeParams) SetForvirtualnetwork(v bool) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
|
|
@ -243,32 +255,138 @@ func (s *VLANService) CreateVlanIpRange(p *CreateVlanIpRangeParams) (*CreateVlan
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type CreateVlanIpRangeResponse struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Description string `json:"description,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Endip string `json:"endip,omitempty"`
|
||||
Endipv6 string `json:"endipv6,omitempty"`
|
||||
Forvirtualnetwork bool `json:"forvirtualnetwork,omitempty"`
|
||||
Gateway string `json:"gateway,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Ip6cidr string `json:"ip6cidr,omitempty"`
|
||||
Ip6gateway string `json:"ip6gateway,omitempty"`
|
||||
Netmask string `json:"netmask,omitempty"`
|
||||
Networkid string `json:"networkid,omitempty"`
|
||||
Physicalnetworkid string `json:"physicalnetworkid,omitempty"`
|
||||
Podid string `json:"podid,omitempty"`
|
||||
Podname string `json:"podname,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Startip string `json:"startip,omitempty"`
|
||||
Startipv6 string `json:"startipv6,omitempty"`
|
||||
Vlan string `json:"vlan,omitempty"`
|
||||
Zoneid string `json:"zoneid,omitempty"`
|
||||
Account string `json:"account"`
|
||||
Description string `json:"description"`
|
||||
Domain string `json:"domain"`
|
||||
Domainid string `json:"domainid"`
|
||||
Endip string `json:"endip"`
|
||||
Endipv6 string `json:"endipv6"`
|
||||
Forsystemvms bool `json:"forsystemvms"`
|
||||
Forvirtualnetwork bool `json:"forvirtualnetwork"`
|
||||
Gateway string `json:"gateway"`
|
||||
Id string `json:"id"`
|
||||
Ip6cidr string `json:"ip6cidr"`
|
||||
Ip6gateway string `json:"ip6gateway"`
|
||||
Netmask string `json:"netmask"`
|
||||
Networkid string `json:"networkid"`
|
||||
Physicalnetworkid string `json:"physicalnetworkid"`
|
||||
Podid string `json:"podid"`
|
||||
Podname string `json:"podname"`
|
||||
Project string `json:"project"`
|
||||
Projectid string `json:"projectid"`
|
||||
Startip string `json:"startip"`
|
||||
Startipv6 string `json:"startipv6"`
|
||||
Vlan string `json:"vlan"`
|
||||
Zoneid string `json:"zoneid"`
|
||||
}
|
||||
|
||||
type DedicateGuestVlanRangeParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *DedicateGuestVlanRangeParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["account"]; found {
|
||||
u.Set("account", v.(string))
|
||||
}
|
||||
if v, found := p.p["domainid"]; found {
|
||||
u.Set("domainid", v.(string))
|
||||
}
|
||||
if v, found := p.p["physicalnetworkid"]; found {
|
||||
u.Set("physicalnetworkid", v.(string))
|
||||
}
|
||||
if v, found := p.p["projectid"]; found {
|
||||
u.Set("projectid", v.(string))
|
||||
}
|
||||
if v, found := p.p["vlanrange"]; found {
|
||||
u.Set("vlanrange", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *DedicateGuestVlanRangeParams) SetAccount(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["account"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *DedicateGuestVlanRangeParams) SetDomainid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["domainid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *DedicateGuestVlanRangeParams) SetPhysicalnetworkid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["physicalnetworkid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *DedicateGuestVlanRangeParams) SetProjectid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["projectid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *DedicateGuestVlanRangeParams) SetVlanrange(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["vlanrange"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new DedicateGuestVlanRangeParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *VLANService) NewDedicateGuestVlanRangeParams(physicalnetworkid string, vlanrange string) *DedicateGuestVlanRangeParams {
|
||||
p := &DedicateGuestVlanRangeParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["physicalnetworkid"] = physicalnetworkid
|
||||
p.p["vlanrange"] = vlanrange
|
||||
return p
|
||||
}
|
||||
|
||||
// Dedicates a guest vlan range to an account
|
||||
func (s *VLANService) DedicateGuestVlanRange(p *DedicateGuestVlanRangeParams) (*DedicateGuestVlanRangeResponse, error) {
|
||||
resp, err := s.cs.newRequest("dedicateGuestVlanRange", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r DedicateGuestVlanRangeResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type DedicateGuestVlanRangeResponse struct {
|
||||
Account string `json:"account"`
|
||||
Domain string `json:"domain"`
|
||||
Domainid string `json:"domainid"`
|
||||
Guestvlanrange string `json:"guestvlanrange"`
|
||||
Id string `json:"id"`
|
||||
Physicalnetworkid int64 `json:"physicalnetworkid"`
|
||||
Project string `json:"project"`
|
||||
Projectid string `json:"projectid"`
|
||||
Zoneid int64 `json:"zoneid"`
|
||||
}
|
||||
|
||||
type DeleteVlanIpRangeParams struct {
|
||||
|
|
@ -314,12 +432,229 @@ func (s *VLANService) DeleteVlanIpRange(p *DeleteVlanIpRangeParams) (*DeleteVlan
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type DeleteVlanIpRangeResponse struct {
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Success string `json:"success,omitempty"`
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
||||
func (r *DeleteVlanIpRangeResponse) UnmarshalJSON(b []byte) error {
|
||||
var m map[string]interface{}
|
||||
err := json.Unmarshal(b, &m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if success, ok := m["success"].(string); ok {
|
||||
m["success"] = success == "true"
|
||||
b, err = json.Marshal(m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
type alias DeleteVlanIpRangeResponse
|
||||
return json.Unmarshal(b, (*alias)(r))
|
||||
}
|
||||
|
||||
type ListDedicatedGuestVlanRangesParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *ListDedicatedGuestVlanRangesParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["account"]; found {
|
||||
u.Set("account", v.(string))
|
||||
}
|
||||
if v, found := p.p["domainid"]; found {
|
||||
u.Set("domainid", v.(string))
|
||||
}
|
||||
if v, found := p.p["guestvlanrange"]; found {
|
||||
u.Set("guestvlanrange", v.(string))
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
if v, found := p.p["keyword"]; found {
|
||||
u.Set("keyword", v.(string))
|
||||
}
|
||||
if v, found := p.p["page"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("page", vv)
|
||||
}
|
||||
if v, found := p.p["pagesize"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("pagesize", vv)
|
||||
}
|
||||
if v, found := p.p["physicalnetworkid"]; found {
|
||||
u.Set("physicalnetworkid", v.(string))
|
||||
}
|
||||
if v, found := p.p["projectid"]; found {
|
||||
u.Set("projectid", v.(string))
|
||||
}
|
||||
if v, found := p.p["zoneid"]; found {
|
||||
u.Set("zoneid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *ListDedicatedGuestVlanRangesParams) SetAccount(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["account"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListDedicatedGuestVlanRangesParams) SetDomainid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["domainid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListDedicatedGuestVlanRangesParams) SetGuestvlanrange(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["guestvlanrange"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListDedicatedGuestVlanRangesParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListDedicatedGuestVlanRangesParams) SetKeyword(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["keyword"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListDedicatedGuestVlanRangesParams) SetPage(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["page"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListDedicatedGuestVlanRangesParams) SetPagesize(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["pagesize"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListDedicatedGuestVlanRangesParams) SetPhysicalnetworkid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["physicalnetworkid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListDedicatedGuestVlanRangesParams) SetProjectid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["projectid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListDedicatedGuestVlanRangesParams) SetZoneid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["zoneid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new ListDedicatedGuestVlanRangesParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *VLANService) NewListDedicatedGuestVlanRangesParams() *ListDedicatedGuestVlanRangesParams {
|
||||
p := &ListDedicatedGuestVlanRangesParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
return p
|
||||
}
|
||||
|
||||
// This is a courtesy helper function, which in some cases may not work as expected!
|
||||
func (s *VLANService) GetDedicatedGuestVlanRangeByID(id string, opts ...OptionFunc) (*DedicatedGuestVlanRange, int, error) {
|
||||
p := &ListDedicatedGuestVlanRangesParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
|
||||
p.p["id"] = id
|
||||
|
||||
for _, fn := range append(s.cs.options, opts...) {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return nil, -1, err
|
||||
}
|
||||
}
|
||||
|
||||
l, err := s.ListDedicatedGuestVlanRanges(p)
|
||||
if err != nil {
|
||||
if strings.Contains(err.Error(), fmt.Sprintf(
|
||||
"Invalid parameter id value=%s due to incorrect long value format, "+
|
||||
"or entity does not exist", id)) {
|
||||
return nil, 0, fmt.Errorf("No match found for %s: %+v", id, l)
|
||||
}
|
||||
return nil, -1, err
|
||||
}
|
||||
|
||||
if l.Count == 0 {
|
||||
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
|
||||
}
|
||||
|
||||
if l.Count == 1 {
|
||||
return l.DedicatedGuestVlanRanges[0], l.Count, nil
|
||||
}
|
||||
return nil, l.Count, fmt.Errorf("There is more then one result for DedicatedGuestVlanRange UUID: %s!", id)
|
||||
}
|
||||
|
||||
// Lists dedicated guest vlan ranges
|
||||
func (s *VLANService) ListDedicatedGuestVlanRanges(p *ListDedicatedGuestVlanRangesParams) (*ListDedicatedGuestVlanRangesResponse, error) {
|
||||
resp, err := s.cs.newRequest("listDedicatedGuestVlanRanges", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ListDedicatedGuestVlanRangesResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ListDedicatedGuestVlanRangesResponse struct {
|
||||
Count int `json:"count"`
|
||||
DedicatedGuestVlanRanges []*DedicatedGuestVlanRange `json:"dedicatedguestvlanrange"`
|
||||
}
|
||||
|
||||
type DedicatedGuestVlanRange struct {
|
||||
Account string `json:"account"`
|
||||
Domain string `json:"domain"`
|
||||
Domainid string `json:"domainid"`
|
||||
Guestvlanrange string `json:"guestvlanrange"`
|
||||
Id string `json:"id"`
|
||||
Physicalnetworkid int64 `json:"physicalnetworkid"`
|
||||
Project string `json:"project"`
|
||||
Projectid string `json:"projectid"`
|
||||
Zoneid int64 `json:"zoneid"`
|
||||
}
|
||||
|
||||
type ListVlanIpRangesParams struct {
|
||||
|
|
@ -495,7 +830,7 @@ func (s *VLANService) GetVlanIpRangeByID(id string, opts ...OptionFunc) (*VlanIp
|
|||
|
||||
p.p["id"] = id
|
||||
|
||||
for _, fn := range opts {
|
||||
for _, fn := range append(s.cs.options, opts...) {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return nil, -1, err
|
||||
}
|
||||
|
|
@ -532,6 +867,7 @@ func (s *VLANService) ListVlanIpRanges(p *ListVlanIpRangesParams) (*ListVlanIpRa
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
|
|
@ -541,133 +877,29 @@ type ListVlanIpRangesResponse struct {
|
|||
}
|
||||
|
||||
type VlanIpRange struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Description string `json:"description,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Endip string `json:"endip,omitempty"`
|
||||
Endipv6 string `json:"endipv6,omitempty"`
|
||||
Forvirtualnetwork bool `json:"forvirtualnetwork,omitempty"`
|
||||
Gateway string `json:"gateway,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Ip6cidr string `json:"ip6cidr,omitempty"`
|
||||
Ip6gateway string `json:"ip6gateway,omitempty"`
|
||||
Netmask string `json:"netmask,omitempty"`
|
||||
Networkid string `json:"networkid,omitempty"`
|
||||
Physicalnetworkid string `json:"physicalnetworkid,omitempty"`
|
||||
Podid string `json:"podid,omitempty"`
|
||||
Podname string `json:"podname,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Startip string `json:"startip,omitempty"`
|
||||
Startipv6 string `json:"startipv6,omitempty"`
|
||||
Vlan string `json:"vlan,omitempty"`
|
||||
Zoneid string `json:"zoneid,omitempty"`
|
||||
}
|
||||
|
||||
type DedicateGuestVlanRangeParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *DedicateGuestVlanRangeParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["account"]; found {
|
||||
u.Set("account", v.(string))
|
||||
}
|
||||
if v, found := p.p["domainid"]; found {
|
||||
u.Set("domainid", v.(string))
|
||||
}
|
||||
if v, found := p.p["physicalnetworkid"]; found {
|
||||
u.Set("physicalnetworkid", v.(string))
|
||||
}
|
||||
if v, found := p.p["projectid"]; found {
|
||||
u.Set("projectid", v.(string))
|
||||
}
|
||||
if v, found := p.p["vlanrange"]; found {
|
||||
u.Set("vlanrange", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *DedicateGuestVlanRangeParams) SetAccount(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["account"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *DedicateGuestVlanRangeParams) SetDomainid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["domainid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *DedicateGuestVlanRangeParams) SetPhysicalnetworkid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["physicalnetworkid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *DedicateGuestVlanRangeParams) SetProjectid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["projectid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *DedicateGuestVlanRangeParams) SetVlanrange(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["vlanrange"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new DedicateGuestVlanRangeParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *VLANService) NewDedicateGuestVlanRangeParams(account string, domainid string, physicalnetworkid string, vlanrange string) *DedicateGuestVlanRangeParams {
|
||||
p := &DedicateGuestVlanRangeParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["account"] = account
|
||||
p.p["domainid"] = domainid
|
||||
p.p["physicalnetworkid"] = physicalnetworkid
|
||||
p.p["vlanrange"] = vlanrange
|
||||
return p
|
||||
}
|
||||
|
||||
// Dedicates a guest vlan range to an account
|
||||
func (s *VLANService) DedicateGuestVlanRange(p *DedicateGuestVlanRangeParams) (*DedicateGuestVlanRangeResponse, error) {
|
||||
resp, err := s.cs.newRequest("dedicateGuestVlanRange", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r DedicateGuestVlanRangeResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type DedicateGuestVlanRangeResponse struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Guestvlanrange string `json:"guestvlanrange,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Physicalnetworkid int64 `json:"physicalnetworkid,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Zoneid int64 `json:"zoneid,omitempty"`
|
||||
Account string `json:"account"`
|
||||
Description string `json:"description"`
|
||||
Domain string `json:"domain"`
|
||||
Domainid string `json:"domainid"`
|
||||
Endip string `json:"endip"`
|
||||
Endipv6 string `json:"endipv6"`
|
||||
Forsystemvms bool `json:"forsystemvms"`
|
||||
Forvirtualnetwork bool `json:"forvirtualnetwork"`
|
||||
Gateway string `json:"gateway"`
|
||||
Id string `json:"id"`
|
||||
Ip6cidr string `json:"ip6cidr"`
|
||||
Ip6gateway string `json:"ip6gateway"`
|
||||
Netmask string `json:"netmask"`
|
||||
Networkid string `json:"networkid"`
|
||||
Physicalnetworkid string `json:"physicalnetworkid"`
|
||||
Podid string `json:"podid"`
|
||||
Podname string `json:"podname"`
|
||||
Project string `json:"project"`
|
||||
Projectid string `json:"projectid"`
|
||||
Startip string `json:"startip"`
|
||||
Startipv6 string `json:"startipv6"`
|
||||
Vlan string `json:"vlan"`
|
||||
Zoneid string `json:"zoneid"`
|
||||
}
|
||||
|
||||
type ReleaseDedicatedGuestVlanRangeParams struct {
|
||||
|
|
@ -728,207 +960,12 @@ func (s *VLANService) ReleaseDedicatedGuestVlanRange(p *ReleaseDedicatedGuestVla
|
|||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ReleaseDedicatedGuestVlanRangeResponse struct {
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Success bool `json:"success,omitempty"`
|
||||
}
|
||||
|
||||
type ListDedicatedGuestVlanRangesParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *ListDedicatedGuestVlanRangesParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["account"]; found {
|
||||
u.Set("account", v.(string))
|
||||
}
|
||||
if v, found := p.p["domainid"]; found {
|
||||
u.Set("domainid", v.(string))
|
||||
}
|
||||
if v, found := p.p["guestvlanrange"]; found {
|
||||
u.Set("guestvlanrange", v.(string))
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
if v, found := p.p["keyword"]; found {
|
||||
u.Set("keyword", v.(string))
|
||||
}
|
||||
if v, found := p.p["page"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("page", vv)
|
||||
}
|
||||
if v, found := p.p["pagesize"]; found {
|
||||
vv := strconv.Itoa(v.(int))
|
||||
u.Set("pagesize", vv)
|
||||
}
|
||||
if v, found := p.p["physicalnetworkid"]; found {
|
||||
u.Set("physicalnetworkid", v.(string))
|
||||
}
|
||||
if v, found := p.p["projectid"]; found {
|
||||
u.Set("projectid", v.(string))
|
||||
}
|
||||
if v, found := p.p["zoneid"]; found {
|
||||
u.Set("zoneid", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *ListDedicatedGuestVlanRangesParams) SetAccount(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["account"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListDedicatedGuestVlanRangesParams) SetDomainid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["domainid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListDedicatedGuestVlanRangesParams) SetGuestvlanrange(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["guestvlanrange"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListDedicatedGuestVlanRangesParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListDedicatedGuestVlanRangesParams) SetKeyword(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["keyword"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListDedicatedGuestVlanRangesParams) SetPage(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["page"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListDedicatedGuestVlanRangesParams) SetPagesize(v int) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["pagesize"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListDedicatedGuestVlanRangesParams) SetPhysicalnetworkid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["physicalnetworkid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListDedicatedGuestVlanRangesParams) SetProjectid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["projectid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ListDedicatedGuestVlanRangesParams) SetZoneid(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["zoneid"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new ListDedicatedGuestVlanRangesParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *VLANService) NewListDedicatedGuestVlanRangesParams() *ListDedicatedGuestVlanRangesParams {
|
||||
p := &ListDedicatedGuestVlanRangesParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
return p
|
||||
}
|
||||
|
||||
// This is a courtesy helper function, which in some cases may not work as expected!
|
||||
func (s *VLANService) GetDedicatedGuestVlanRangeByID(id string, opts ...OptionFunc) (*DedicatedGuestVlanRange, int, error) {
|
||||
p := &ListDedicatedGuestVlanRangesParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
|
||||
p.p["id"] = id
|
||||
|
||||
for _, fn := range opts {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return nil, -1, err
|
||||
}
|
||||
}
|
||||
|
||||
l, err := s.ListDedicatedGuestVlanRanges(p)
|
||||
if err != nil {
|
||||
if strings.Contains(err.Error(), fmt.Sprintf(
|
||||
"Invalid parameter id value=%s due to incorrect long value format, "+
|
||||
"or entity does not exist", id)) {
|
||||
return nil, 0, fmt.Errorf("No match found for %s: %+v", id, l)
|
||||
}
|
||||
return nil, -1, err
|
||||
}
|
||||
|
||||
if l.Count == 0 {
|
||||
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
|
||||
}
|
||||
|
||||
if l.Count == 1 {
|
||||
return l.DedicatedGuestVlanRanges[0], l.Count, nil
|
||||
}
|
||||
return nil, l.Count, fmt.Errorf("There is more then one result for DedicatedGuestVlanRange UUID: %s!", id)
|
||||
}
|
||||
|
||||
// Lists dedicated guest vlan ranges
|
||||
func (s *VLANService) ListDedicatedGuestVlanRanges(p *ListDedicatedGuestVlanRangesParams) (*ListDedicatedGuestVlanRangesResponse, error) {
|
||||
resp, err := s.cs.newRequest("listDedicatedGuestVlanRanges", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ListDedicatedGuestVlanRangesResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type ListDedicatedGuestVlanRangesResponse struct {
|
||||
Count int `json:"count"`
|
||||
DedicatedGuestVlanRanges []*DedicatedGuestVlanRange `json:"dedicatedguestvlanrange"`
|
||||
}
|
||||
|
||||
type DedicatedGuestVlanRange struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Guestvlanrange string `json:"guestvlanrange,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Physicalnetworkid int64 `json:"physicalnetworkid,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Zoneid int64 `json:"zoneid,omitempty"`
|
||||
JobID string `json:"jobid"`
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
|
|
|||
187
vendor/github.com/xanzy/go-cloudstack/cloudstack/VMGroupService.go
generated
vendored
187
vendor/github.com/xanzy/go-cloudstack/cloudstack/VMGroupService.go
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// Copyright 2016, Sander van Harmelen
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
@ -100,18 +100,19 @@ func (s *VMGroupService) CreateInstanceGroup(p *CreateInstanceGroupParams) (*Cre
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type CreateInstanceGroupResponse struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Created string `json:"created,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Account string `json:"account"`
|
||||
Created string `json:"created"`
|
||||
Domain string `json:"domain"`
|
||||
Domainid string `json:"domainid"`
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Project string `json:"project"`
|
||||
Projectid string `json:"projectid"`
|
||||
}
|
||||
|
||||
type DeleteInstanceGroupParams struct {
|
||||
|
|
@ -157,80 +158,32 @@ func (s *VMGroupService) DeleteInstanceGroup(p *DeleteInstanceGroupParams) (*Del
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type DeleteInstanceGroupResponse struct {
|
||||
Displaytext string `json:"displaytext,omitempty"`
|
||||
Success string `json:"success,omitempty"`
|
||||
Displaytext string `json:"displaytext"`
|
||||
Success bool `json:"success"`
|
||||
}
|
||||
|
||||
type UpdateInstanceGroupParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *UpdateInstanceGroupParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
if v, found := p.p["name"]; found {
|
||||
u.Set("name", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *UpdateInstanceGroupParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateInstanceGroupParams) SetName(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["name"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new UpdateInstanceGroupParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *VMGroupService) NewUpdateInstanceGroupParams(id string) *UpdateInstanceGroupParams {
|
||||
p := &UpdateInstanceGroupParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["id"] = id
|
||||
return p
|
||||
}
|
||||
|
||||
// Updates a vm group
|
||||
func (s *VMGroupService) UpdateInstanceGroup(p *UpdateInstanceGroupParams) (*UpdateInstanceGroupResponse, error) {
|
||||
resp, err := s.cs.newRequest("updateInstanceGroup", p.toURLValues())
|
||||
func (r *DeleteInstanceGroupResponse) UnmarshalJSON(b []byte) error {
|
||||
var m map[string]interface{}
|
||||
err := json.Unmarshal(b, &m)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return err
|
||||
}
|
||||
|
||||
var r UpdateInstanceGroupResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
if success, ok := m["success"].(string); ok {
|
||||
m["success"] = success == "true"
|
||||
b, err = json.Marshal(m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type UpdateInstanceGroupResponse struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Created string `json:"created,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
type alias DeleteInstanceGroupResponse
|
||||
return json.Unmarshal(b, (*alias)(r))
|
||||
}
|
||||
|
||||
type ListInstanceGroupsParams struct {
|
||||
|
|
@ -374,7 +327,7 @@ func (s *VMGroupService) GetInstanceGroupID(name string, opts ...OptionFunc) (st
|
|||
|
||||
p.p["name"] = name
|
||||
|
||||
for _, fn := range opts {
|
||||
for _, fn := range append(s.cs.options, opts...) {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return "", -1, err
|
||||
}
|
||||
|
|
@ -424,7 +377,7 @@ func (s *VMGroupService) GetInstanceGroupByID(id string, opts ...OptionFunc) (*I
|
|||
|
||||
p.p["id"] = id
|
||||
|
||||
for _, fn := range opts {
|
||||
for _, fn := range append(s.cs.options, opts...) {
|
||||
if err := fn(s.cs, p); err != nil {
|
||||
return nil, -1, err
|
||||
}
|
||||
|
|
@ -461,6 +414,7 @@ func (s *VMGroupService) ListInstanceGroups(p *ListInstanceGroupsParams) (*ListI
|
|||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
|
|
@ -470,12 +424,81 @@ type ListInstanceGroupsResponse struct {
|
|||
}
|
||||
|
||||
type InstanceGroup struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Created string `json:"created,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Domainid string `json:"domainid,omitempty"`
|
||||
Id string `json:"id,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Projectid string `json:"projectid,omitempty"`
|
||||
Account string `json:"account"`
|
||||
Created string `json:"created"`
|
||||
Domain string `json:"domain"`
|
||||
Domainid string `json:"domainid"`
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Project string `json:"project"`
|
||||
Projectid string `json:"projectid"`
|
||||
}
|
||||
|
||||
type UpdateInstanceGroupParams struct {
|
||||
p map[string]interface{}
|
||||
}
|
||||
|
||||
func (p *UpdateInstanceGroupParams) toURLValues() url.Values {
|
||||
u := url.Values{}
|
||||
if p.p == nil {
|
||||
return u
|
||||
}
|
||||
if v, found := p.p["id"]; found {
|
||||
u.Set("id", v.(string))
|
||||
}
|
||||
if v, found := p.p["name"]; found {
|
||||
u.Set("name", v.(string))
|
||||
}
|
||||
return u
|
||||
}
|
||||
|
||||
func (p *UpdateInstanceGroupParams) SetId(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["id"] = v
|
||||
return
|
||||
}
|
||||
|
||||
func (p *UpdateInstanceGroupParams) SetName(v string) {
|
||||
if p.p == nil {
|
||||
p.p = make(map[string]interface{})
|
||||
}
|
||||
p.p["name"] = v
|
||||
return
|
||||
}
|
||||
|
||||
// You should always use this function to get a new UpdateInstanceGroupParams instance,
|
||||
// as then you are sure you have configured all required params
|
||||
func (s *VMGroupService) NewUpdateInstanceGroupParams(id string) *UpdateInstanceGroupParams {
|
||||
p := &UpdateInstanceGroupParams{}
|
||||
p.p = make(map[string]interface{})
|
||||
p.p["id"] = id
|
||||
return p
|
||||
}
|
||||
|
||||
// Updates a vm group
|
||||
func (s *VMGroupService) UpdateInstanceGroup(p *UpdateInstanceGroupParams) (*UpdateInstanceGroupResponse, error) {
|
||||
resp, err := s.cs.newRequest("updateInstanceGroup", p.toURLValues())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r UpdateInstanceGroupResponse
|
||||
if err := json.Unmarshal(resp, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &r, nil
|
||||
}
|
||||
|
||||
type UpdateInstanceGroupResponse struct {
|
||||
Account string `json:"account"`
|
||||
Created string `json:"created"`
|
||||
Domain string `json:"domain"`
|
||||
Domainid string `json:"domainid"`
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Project string `json:"project"`
|
||||
Projectid string `json:"projectid"`
|
||||
}
|
||||
|
|
|
|||
4001
vendor/github.com/xanzy/go-cloudstack/cloudstack/VPCService.go
generated
vendored
4001
vendor/github.com/xanzy/go-cloudstack/cloudstack/VPCService.go
generated
vendored
File diff suppressed because it is too large
Load diff
3898
vendor/github.com/xanzy/go-cloudstack/cloudstack/VPNService.go
generated
vendored
3898
vendor/github.com/xanzy/go-cloudstack/cloudstack/VPNService.go
generated
vendored
File diff suppressed because it is too large
Load diff
6894
vendor/github.com/xanzy/go-cloudstack/cloudstack/VirtualMachineService.go
generated
vendored
6894
vendor/github.com/xanzy/go-cloudstack/cloudstack/VirtualMachineService.go
generated
vendored
File diff suppressed because it is too large
Load diff
3034
vendor/github.com/xanzy/go-cloudstack/cloudstack/VolumeService.go
generated
vendored
3034
vendor/github.com/xanzy/go-cloudstack/cloudstack/VolumeService.go
generated
vendored
File diff suppressed because it is too large
Load diff
1616
vendor/github.com/xanzy/go-cloudstack/cloudstack/ZoneService.go
generated
vendored
1616
vendor/github.com/xanzy/go-cloudstack/cloudstack/ZoneService.go
generated
vendored
File diff suppressed because it is too large
Load diff
218
vendor/github.com/xanzy/go-cloudstack/cloudstack/cloudstack.go
generated
vendored
218
vendor/github.com/xanzy/go-cloudstack/cloudstack/cloudstack.go
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// Copyright 2016, Sander van Harmelen
|
||||
// Copyright 2018, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
@ -26,7 +26,9 @@ import (
|
|||
"errors"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"net"
|
||||
"net/http"
|
||||
"net/http/cookiejar"
|
||||
"net/url"
|
||||
"regexp"
|
||||
"sort"
|
||||
|
|
@ -65,80 +67,98 @@ type CloudStackClient struct {
|
|||
apiKey string // Api key
|
||||
secret string // Secret key
|
||||
async bool // Wait for async calls to finish
|
||||
options []OptionFunc // A list of option functions to apply to all API calls
|
||||
timeout int64 // Max waiting timeout in seconds for async jobs to finish; defaults to 300 seconds
|
||||
|
||||
APIDiscovery *APIDiscoveryService
|
||||
Account *AccountService
|
||||
Address *AddressService
|
||||
AffinityGroup *AffinityGroupService
|
||||
Alert *AlertService
|
||||
Asyncjob *AsyncjobService
|
||||
Authentication *AuthenticationService
|
||||
AutoScale *AutoScaleService
|
||||
Baremetal *BaremetalService
|
||||
Certificate *CertificateService
|
||||
CloudIdentifier *CloudIdentifierService
|
||||
Cluster *ClusterService
|
||||
Configuration *ConfigurationService
|
||||
DiskOffering *DiskOfferingService
|
||||
Domain *DomainService
|
||||
Event *EventService
|
||||
Firewall *FirewallService
|
||||
GuestOS *GuestOSService
|
||||
Host *HostService
|
||||
Hypervisor *HypervisorService
|
||||
ISO *ISOService
|
||||
ImageStore *ImageStoreService
|
||||
InternalLB *InternalLBService
|
||||
LDAP *LDAPService
|
||||
Limit *LimitService
|
||||
LoadBalancer *LoadBalancerService
|
||||
NAT *NATService
|
||||
NetworkACL *NetworkACLService
|
||||
NetworkDevice *NetworkDeviceService
|
||||
NetworkOffering *NetworkOfferingService
|
||||
Network *NetworkService
|
||||
Nic *NicService
|
||||
NiciraNVP *NiciraNVPService
|
||||
OvsElement *OvsElementService
|
||||
Pod *PodService
|
||||
Pool *PoolService
|
||||
PortableIP *PortableIPService
|
||||
Project *ProjectService
|
||||
Quota *QuotaService
|
||||
Region *RegionService
|
||||
Resourcemetadata *ResourcemetadataService
|
||||
Resourcetags *ResourcetagsService
|
||||
Router *RouterService
|
||||
SSH *SSHService
|
||||
SecurityGroup *SecurityGroupService
|
||||
ServiceOffering *ServiceOfferingService
|
||||
Snapshot *SnapshotService
|
||||
StoragePool *StoragePoolService
|
||||
StratosphereSSP *StratosphereSSPService
|
||||
Swift *SwiftService
|
||||
SystemCapacity *SystemCapacityService
|
||||
SystemVM *SystemVMService
|
||||
Template *TemplateService
|
||||
UCS *UCSService
|
||||
Usage *UsageService
|
||||
User *UserService
|
||||
VLAN *VLANService
|
||||
VMGroup *VMGroupService
|
||||
VPC *VPCService
|
||||
VPN *VPNService
|
||||
VirtualMachine *VirtualMachineService
|
||||
Volume *VolumeService
|
||||
Zone *ZoneService
|
||||
APIDiscovery *APIDiscoveryService
|
||||
Account *AccountService
|
||||
Address *AddressService
|
||||
AffinityGroup *AffinityGroupService
|
||||
Alert *AlertService
|
||||
Asyncjob *AsyncjobService
|
||||
Authentication *AuthenticationService
|
||||
AutoScale *AutoScaleService
|
||||
Baremetal *BaremetalService
|
||||
BigSwitchBCF *BigSwitchBCFService
|
||||
BrocadeVCS *BrocadeVCSService
|
||||
Certificate *CertificateService
|
||||
CloudIdentifier *CloudIdentifierService
|
||||
Cluster *ClusterService
|
||||
Configuration *ConfigurationService
|
||||
Custom *CustomService
|
||||
DiskOffering *DiskOfferingService
|
||||
Domain *DomainService
|
||||
Event *EventService
|
||||
Firewall *FirewallService
|
||||
GuestOS *GuestOSService
|
||||
Host *HostService
|
||||
Hypervisor *HypervisorService
|
||||
ISO *ISOService
|
||||
ImageStore *ImageStoreService
|
||||
InternalLB *InternalLBService
|
||||
LDAP *LDAPService
|
||||
Limit *LimitService
|
||||
LoadBalancer *LoadBalancerService
|
||||
NAT *NATService
|
||||
NetworkACL *NetworkACLService
|
||||
NetworkDevice *NetworkDeviceService
|
||||
NetworkOffering *NetworkOfferingService
|
||||
Network *NetworkService
|
||||
Nic *NicService
|
||||
NiciraNVP *NiciraNVPService
|
||||
NuageVSP *NuageVSPService
|
||||
OutofbandManagement *OutofbandManagementService
|
||||
OvsElement *OvsElementService
|
||||
Pod *PodService
|
||||
Pool *PoolService
|
||||
PortableIP *PortableIPService
|
||||
Project *ProjectService
|
||||
Quota *QuotaService
|
||||
Region *RegionService
|
||||
Resourcemetadata *ResourcemetadataService
|
||||
Resourcetags *ResourcetagsService
|
||||
Role *RoleService
|
||||
Router *RouterService
|
||||
SSH *SSHService
|
||||
SecurityGroup *SecurityGroupService
|
||||
ServiceOffering *ServiceOfferingService
|
||||
Snapshot *SnapshotService
|
||||
StoragePool *StoragePoolService
|
||||
StratosphereSSP *StratosphereSSPService
|
||||
Swift *SwiftService
|
||||
SystemCapacity *SystemCapacityService
|
||||
SystemVM *SystemVMService
|
||||
Template *TemplateService
|
||||
UCS *UCSService
|
||||
Usage *UsageService
|
||||
User *UserService
|
||||
VLAN *VLANService
|
||||
VMGroup *VMGroupService
|
||||
VPC *VPCService
|
||||
VPN *VPNService
|
||||
VirtualMachine *VirtualMachineService
|
||||
Volume *VolumeService
|
||||
Zone *ZoneService
|
||||
}
|
||||
|
||||
// Creates a new client for communicating with CloudStack
|
||||
func newClient(apiurl string, apikey string, secret string, async bool, verifyssl bool) *CloudStackClient {
|
||||
jar, _ := cookiejar.New(nil)
|
||||
cs := &CloudStackClient{
|
||||
client: &http.Client{
|
||||
Jar: jar,
|
||||
Transport: &http.Transport{
|
||||
Proxy: http.ProxyFromEnvironment,
|
||||
TLSClientConfig: &tls.Config{InsecureSkipVerify: !verifyssl}, // If verifyssl is true, skipping the verify should be false and vice versa
|
||||
Proxy: http.ProxyFromEnvironment,
|
||||
DialContext: (&net.Dialer{
|
||||
Timeout: 30 * time.Second,
|
||||
KeepAlive: 30 * time.Second,
|
||||
DualStack: true,
|
||||
}).DialContext,
|
||||
MaxIdleConns: 100,
|
||||
IdleConnTimeout: 90 * time.Second,
|
||||
TLSClientConfig: &tls.Config{InsecureSkipVerify: !verifyssl}, // If verifyssl is true, skipping the verify should be false and vice versa
|
||||
TLSHandshakeTimeout: 10 * time.Second,
|
||||
ExpectContinueTimeout: 1 * time.Second,
|
||||
},
|
||||
Timeout: time.Duration(60 * time.Second),
|
||||
},
|
||||
|
|
@ -146,6 +166,7 @@ func newClient(apiurl string, apikey string, secret string, async bool, verifyss
|
|||
apiKey: apikey,
|
||||
secret: secret,
|
||||
async: async,
|
||||
options: []OptionFunc{},
|
||||
timeout: 300,
|
||||
}
|
||||
cs.APIDiscovery = NewAPIDiscoveryService(cs)
|
||||
|
|
@ -157,10 +178,13 @@ func newClient(apiurl string, apikey string, secret string, async bool, verifyss
|
|||
cs.Authentication = NewAuthenticationService(cs)
|
||||
cs.AutoScale = NewAutoScaleService(cs)
|
||||
cs.Baremetal = NewBaremetalService(cs)
|
||||
cs.BigSwitchBCF = NewBigSwitchBCFService(cs)
|
||||
cs.BrocadeVCS = NewBrocadeVCSService(cs)
|
||||
cs.Certificate = NewCertificateService(cs)
|
||||
cs.CloudIdentifier = NewCloudIdentifierService(cs)
|
||||
cs.Cluster = NewClusterService(cs)
|
||||
cs.Configuration = NewConfigurationService(cs)
|
||||
cs.Custom = NewCustomService(cs)
|
||||
cs.DiskOffering = NewDiskOfferingService(cs)
|
||||
cs.Domain = NewDomainService(cs)
|
||||
cs.Event = NewEventService(cs)
|
||||
|
|
@ -181,6 +205,8 @@ func newClient(apiurl string, apikey string, secret string, async bool, verifyss
|
|||
cs.Network = NewNetworkService(cs)
|
||||
cs.Nic = NewNicService(cs)
|
||||
cs.NiciraNVP = NewNiciraNVPService(cs)
|
||||
cs.NuageVSP = NewNuageVSPService(cs)
|
||||
cs.OutofbandManagement = NewOutofbandManagementService(cs)
|
||||
cs.OvsElement = NewOvsElementService(cs)
|
||||
cs.Pod = NewPodService(cs)
|
||||
cs.Pool = NewPoolService(cs)
|
||||
|
|
@ -190,6 +216,7 @@ func newClient(apiurl string, apikey string, secret string, async bool, verifyss
|
|||
cs.Region = NewRegionService(cs)
|
||||
cs.Resourcemetadata = NewResourcemetadataService(cs)
|
||||
cs.Resourcetags = NewResourcetagsService(cs)
|
||||
cs.Role = NewRoleService(cs)
|
||||
cs.Router = NewRouterService(cs)
|
||||
cs.SSH = NewSSHService(cs)
|
||||
cs.SecurityGroup = NewSecurityGroupService(cs)
|
||||
|
|
@ -237,6 +264,15 @@ func (cs *CloudStackClient) AsyncTimeout(timeoutInSeconds int64) {
|
|||
cs.timeout = timeoutInSeconds
|
||||
}
|
||||
|
||||
// Set any default options that would be added to all API calls that support it.
|
||||
func (cs *CloudStackClient) DefaultOptions(options ...OptionFunc) {
|
||||
if options != nil {
|
||||
cs.options = options
|
||||
} else {
|
||||
cs.options = []OptionFunc{}
|
||||
}
|
||||
}
|
||||
|
||||
var AsyncTimeoutErr = errors.New("Timeout while waiting for async job to finish")
|
||||
|
||||
// A helper function that you can use to get the result of a running async job. If the job is not finished within the configured
|
||||
|
|
@ -303,7 +339,7 @@ func (cs *CloudStackClient) newRequest(api string, params url.Values) (json.RawM
|
|||
|
||||
var err error
|
||||
var resp *http.Response
|
||||
if !cs.HTTPGETOnly && (api == "deployVirtualMachine" || api == "updateVirtualMachine") {
|
||||
if !cs.HTTPGETOnly && (api == "deployVirtualMachine" || api == "login" || api == "updateVirtualMachine") {
|
||||
// The deployVirtualMachine API should be called using a POST call
|
||||
// so we don't have to worry about the userdata size
|
||||
|
||||
|
|
@ -503,6 +539,22 @@ func NewBaremetalService(cs *CloudStackClient) *BaremetalService {
|
|||
return &BaremetalService{cs: cs}
|
||||
}
|
||||
|
||||
type BigSwitchBCFService struct {
|
||||
cs *CloudStackClient
|
||||
}
|
||||
|
||||
func NewBigSwitchBCFService(cs *CloudStackClient) *BigSwitchBCFService {
|
||||
return &BigSwitchBCFService{cs: cs}
|
||||
}
|
||||
|
||||
type BrocadeVCSService struct {
|
||||
cs *CloudStackClient
|
||||
}
|
||||
|
||||
func NewBrocadeVCSService(cs *CloudStackClient) *BrocadeVCSService {
|
||||
return &BrocadeVCSService{cs: cs}
|
||||
}
|
||||
|
||||
type CertificateService struct {
|
||||
cs *CloudStackClient
|
||||
}
|
||||
|
|
@ -535,6 +587,14 @@ func NewConfigurationService(cs *CloudStackClient) *ConfigurationService {
|
|||
return &ConfigurationService{cs: cs}
|
||||
}
|
||||
|
||||
type CustomService struct {
|
||||
cs *CloudStackClient
|
||||
}
|
||||
|
||||
func NewCustomService(cs *CloudStackClient) *CustomService {
|
||||
return &CustomService{cs: cs}
|
||||
}
|
||||
|
||||
type DiskOfferingService struct {
|
||||
cs *CloudStackClient
|
||||
}
|
||||
|
|
@ -695,6 +755,22 @@ func NewNiciraNVPService(cs *CloudStackClient) *NiciraNVPService {
|
|||
return &NiciraNVPService{cs: cs}
|
||||
}
|
||||
|
||||
type NuageVSPService struct {
|
||||
cs *CloudStackClient
|
||||
}
|
||||
|
||||
func NewNuageVSPService(cs *CloudStackClient) *NuageVSPService {
|
||||
return &NuageVSPService{cs: cs}
|
||||
}
|
||||
|
||||
type OutofbandManagementService struct {
|
||||
cs *CloudStackClient
|
||||
}
|
||||
|
||||
func NewOutofbandManagementService(cs *CloudStackClient) *OutofbandManagementService {
|
||||
return &OutofbandManagementService{cs: cs}
|
||||
}
|
||||
|
||||
type OvsElementService struct {
|
||||
cs *CloudStackClient
|
||||
}
|
||||
|
|
@ -767,6 +843,14 @@ func NewResourcetagsService(cs *CloudStackClient) *ResourcetagsService {
|
|||
return &ResourcetagsService{cs: cs}
|
||||
}
|
||||
|
||||
type RoleService struct {
|
||||
cs *CloudStackClient
|
||||
}
|
||||
|
||||
func NewRoleService(cs *CloudStackClient) *RoleService {
|
||||
return &RoleService{cs: cs}
|
||||
}
|
||||
|
||||
type RouterService struct {
|
||||
cs *CloudStackClient
|
||||
}
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ DigitalOcean. Replace the mock `api_token` value with your own.
|
|||
|
||||
Required Parameters:
|
||||
|
||||
- `playbook_file` - The playbook to be run by Ansible.
|
||||
- `playbook_file` (string) - The playbook to be run by Ansible.
|
||||
|
||||
Optional Parameters:
|
||||
|
||||
|
|
@ -57,9 +57,7 @@ Optional Parameters:
|
|||
running Ansible. Usage example:
|
||||
|
||||
``` json
|
||||
{
|
||||
"ansible_env_vars": [ "ANSIBLE_HOST_KEY_CHECKING=False", "ANSIBLE_SSH_ARGS='-o ForwardAgent=yes -o ControlMaster=auto -o ControlPersist=60s'", "ANSIBLE_NOCOLOR=True" ]
|
||||
}
|
||||
```
|
||||
|
||||
If you are running a Windows build on AWS, Azure or Google Compute and
|
||||
|
|
@ -82,9 +80,7 @@ Optional Parameters:
|
|||
not be quoted. Usage example:
|
||||
|
||||
``` json
|
||||
{
|
||||
"extra_arguments": [ "--extra-vars", "Region={{user `Region`}} Stage={{user `Stage`}}" ]
|
||||
}
|
||||
```
|
||||
|
||||
If you are running a Windows build on AWS, Azure or Google Compute and
|
||||
|
|
@ -117,7 +113,7 @@ Optional Parameters:
|
|||
inventory directory with `host_vars` `group_vars` that you would like to
|
||||
use in the playbook that this provisioner will run.
|
||||
|
||||
- `local_port` (string) - The port on which to attempt to listen for SSH
|
||||
- `local_port` (uint) - The port on which to attempt to listen for SSH
|
||||
connections. This value is a starting point. The provisioner will attempt
|
||||
listen for SSH connections on the first available of ten ports, starting at
|
||||
`local_port`. A system-chosen port is used when `local_port` is missing or
|
||||
|
|
@ -175,9 +171,7 @@ To debug underlying issues with Ansible, add `"-vvvv"` to `"extra_arguments"`
|
|||
to enable verbose logging.
|
||||
|
||||
``` json
|
||||
{
|
||||
"extra_arguments": [ "-vvvv" ]
|
||||
}
|
||||
```
|
||||
|
||||
## Limitations
|
||||
|
|
|
|||
|
|
@ -202,7 +202,7 @@
|
|||
<a href="/docs/provisioners/ansible-local.html">Ansible Local</a>
|
||||
</li>
|
||||
<li<%= sidebar_current("docs-provisioners-ansible-remote")%>>
|
||||
<a href="/docs/provisioners/ansible.html">Ansible Remote</a>
|
||||
<a href="/docs/provisioners/ansible.html">Ansible (Remote)</a>
|
||||
</li>
|
||||
<li<%= sidebar_current("docs-provisioners-breakpoint")%>>
|
||||
<a href="/docs/provisioners/breakpoint.html">Breakpoint</a>
|
||||
|
|
|
|||
Loading…
Reference in a new issue