Update `go-cloudstack` dependency

This commit is contained in:
Sander van Harmelen 2016-04-21 16:57:02 +02:00
parent b53d0d29c8
commit cbea101ecf
65 changed files with 1076 additions and 1017 deletions

4
Godeps/Godeps.json generated
View File

@ -1265,8 +1265,8 @@
}, },
{ {
"ImportPath": "github.com/xanzy/go-cloudstack/cloudstack", "ImportPath": "github.com/xanzy/go-cloudstack/cloudstack",
"Comment": "2.0.0", "Comment": "2.0.0-2-gcfbfb48",
"Rev": "6e28220a0503ff25e2c1480791e23d12872140ac" "Rev": "cfbfb481e04c131cb89df1c6141b082f2714bc29"
}, },
{ {
"ImportPath": "github.com/xanzy/ssh-agent", "ImportPath": "github.com/xanzy/ssh-agent",

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -1130,12 +1130,18 @@ func (s *AccountService) NewListAccountsParams() *ListAccountsParams {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *AccountService) GetAccountID(name string) (string, error) { func (s *AccountService) GetAccountID(name string, opts ...OptionFunc) (string, error) {
p := &ListAccountsParams{} p := &ListAccountsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["name"] = name p.p["name"] = name
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListAccounts(p) l, err := s.ListAccounts(p)
if err != nil { if err != nil {
return "", err return "", err
@ -1160,13 +1166,13 @@ func (s *AccountService) GetAccountID(name string) (string, error) {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *AccountService) GetAccountByName(name string) (*Account, int, error) { func (s *AccountService) GetAccountByName(name string, opts ...OptionFunc) (*Account, int, error) {
id, err := s.GetAccountID(name) id, err := s.GetAccountID(name, opts...)
if err != nil { if err != nil {
return nil, -1, err return nil, -1, err
} }
r, count, err := s.GetAccountByID(id) r, count, err := s.GetAccountByID(id, opts...)
if err != nil { if err != nil {
return nil, count, err return nil, count, err
} }
@ -1174,12 +1180,18 @@ func (s *AccountService) GetAccountByName(name string) (*Account, int, error) {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *AccountService) GetAccountByID(id string) (*Account, int, error) { func (s *AccountService) GetAccountByID(id string, opts ...OptionFunc) (*Account, int, error) {
p := &ListAccountsParams{} p := &ListAccountsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListAccounts(p) l, err := s.ListAccounts(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -1716,28 +1728,24 @@ func (s *AccountService) NewListProjectAccountsParams(projectid string) *ListPro
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *AccountService) GetProjectAccountID(keyword string, projectid string) (string, error) { func (s *AccountService) GetProjectAccountID(keyword string, projectid string, opts ...OptionFunc) (string, error) {
p := &ListProjectAccountsParams{} p := &ListProjectAccountsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["keyword"] = keyword p.p["keyword"] = keyword
p.p["projectid"] = projectid p.p["projectid"] = projectid
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListProjectAccounts(p) l, err := s.ListProjectAccounts(p)
if err != nil { if err != nil {
return "", err return "", err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListProjectAccounts(p)
if err != nil {
return "", err
}
}
if l.Count == 0 { if l.Count == 0 {
return "", fmt.Errorf("No match found for %s: %+v", keyword, l) return "", fmt.Errorf("No match found for %s: %+v", keyword, l)
} }

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -581,12 +581,18 @@ func (s *AddressService) NewListPublicIpAddressesParams() *ListPublicIpAddresses
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *AddressService) GetPublicIpAddressByID(id string) (*PublicIpAddress, int, error) { func (s *AddressService) GetPublicIpAddressByID(id string, opts ...OptionFunc) (*PublicIpAddress, int, error) {
p := &ListPublicIpAddressesParams{} p := &ListPublicIpAddressesParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListPublicIpAddresses(p) l, err := s.ListPublicIpAddresses(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -597,21 +603,6 @@ func (s *AddressService) GetPublicIpAddressByID(id string) (*PublicIpAddress, in
return nil, -1, err return nil, -1, err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListPublicIpAddresses(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 { if l.Count == 0 {
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l) return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
} }

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -427,27 +427,23 @@ func (s *AffinityGroupService) NewListAffinityGroupsParams() *ListAffinityGroups
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *AffinityGroupService) GetAffinityGroupID(name string) (string, error) { func (s *AffinityGroupService) GetAffinityGroupID(name string, opts ...OptionFunc) (string, error) {
p := &ListAffinityGroupsParams{} p := &ListAffinityGroupsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["name"] = name p.p["name"] = name
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListAffinityGroups(p) l, err := s.ListAffinityGroups(p)
if err != nil { if err != nil {
return "", err return "", err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListAffinityGroups(p)
if err != nil {
return "", err
}
}
if l.Count == 0 { if l.Count == 0 {
return "", fmt.Errorf("No match found for %s: %+v", name, l) return "", fmt.Errorf("No match found for %s: %+v", name, l)
} }
@ -467,13 +463,13 @@ func (s *AffinityGroupService) GetAffinityGroupID(name string) (string, error) {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *AffinityGroupService) GetAffinityGroupByName(name string) (*AffinityGroup, int, error) { func (s *AffinityGroupService) GetAffinityGroupByName(name string, opts ...OptionFunc) (*AffinityGroup, int, error) {
id, err := s.GetAffinityGroupID(name) id, err := s.GetAffinityGroupID(name, opts...)
if err != nil { if err != nil {
return nil, -1, err return nil, -1, err
} }
r, count, err := s.GetAffinityGroupByID(id) r, count, err := s.GetAffinityGroupByID(id, opts...)
if err != nil { if err != nil {
return nil, count, err return nil, count, err
} }
@ -481,12 +477,18 @@ func (s *AffinityGroupService) GetAffinityGroupByName(name string) (*AffinityGro
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *AffinityGroupService) GetAffinityGroupByID(id string) (*AffinityGroup, int, error) { func (s *AffinityGroupService) GetAffinityGroupByID(id string, opts ...OptionFunc) (*AffinityGroup, int, error) {
p := &ListAffinityGroupsParams{} p := &ListAffinityGroupsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListAffinityGroups(p) l, err := s.ListAffinityGroups(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -497,21 +499,6 @@ func (s *AffinityGroupService) GetAffinityGroupByID(id string) (*AffinityGroup,
return nil, -1, err return nil, -1, err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListAffinityGroups(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 { if l.Count == 0 {
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l) return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
} }

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -113,12 +113,18 @@ func (s *AlertService) NewListAlertsParams() *ListAlertsParams {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *AlertService) GetAlertID(name string) (string, error) { func (s *AlertService) GetAlertID(name string, opts ...OptionFunc) (string, error) {
p := &ListAlertsParams{} p := &ListAlertsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["name"] = name p.p["name"] = name
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListAlerts(p) l, err := s.ListAlerts(p)
if err != nil { if err != nil {
return "", err return "", err
@ -143,13 +149,13 @@ func (s *AlertService) GetAlertID(name string) (string, error) {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *AlertService) GetAlertByName(name string) (*Alert, int, error) { func (s *AlertService) GetAlertByName(name string, opts ...OptionFunc) (*Alert, int, error) {
id, err := s.GetAlertID(name) id, err := s.GetAlertID(name, opts...)
if err != nil { if err != nil {
return nil, -1, err return nil, -1, err
} }
r, count, err := s.GetAlertByID(id) r, count, err := s.GetAlertByID(id, opts...)
if err != nil { if err != nil {
return nil, count, err return nil, count, err
} }
@ -157,12 +163,18 @@ func (s *AlertService) GetAlertByName(name string) (*Alert, int, error) {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *AlertService) GetAlertByID(id string) (*Alert, int, error) { func (s *AlertService) GetAlertByID(id string, opts ...OptionFunc) (*Alert, int, error) {
p := &ListAlertsParams{} p := &ListAlertsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id 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) l, err := s.ListAlerts(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -1134,12 +1134,18 @@ func (s *AutoScaleService) NewListCountersParams() *ListCountersParams {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *AutoScaleService) GetCounterID(name string) (string, error) { func (s *AutoScaleService) GetCounterID(name string, opts ...OptionFunc) (string, error) {
p := &ListCountersParams{} p := &ListCountersParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["name"] = name p.p["name"] = name
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListCounters(p) l, err := s.ListCounters(p)
if err != nil { if err != nil {
return "", err return "", err
@ -1164,13 +1170,13 @@ func (s *AutoScaleService) GetCounterID(name string) (string, error) {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *AutoScaleService) GetCounterByName(name string) (*Counter, int, error) { func (s *AutoScaleService) GetCounterByName(name string, opts ...OptionFunc) (*Counter, int, error) {
id, err := s.GetCounterID(name) id, err := s.GetCounterID(name, opts...)
if err != nil { if err != nil {
return nil, -1, err return nil, -1, err
} }
r, count, err := s.GetCounterByID(id) r, count, err := s.GetCounterByID(id, opts...)
if err != nil { if err != nil {
return nil, count, err return nil, count, err
} }
@ -1178,12 +1184,18 @@ func (s *AutoScaleService) GetCounterByName(name string) (*Counter, int, error)
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *AutoScaleService) GetCounterByID(id string) (*Counter, int, error) { func (s *AutoScaleService) GetCounterByID(id string, opts ...OptionFunc) (*Counter, int, error) {
p := &ListCountersParams{} p := &ListCountersParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListCounters(p) l, err := s.ListCounters(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -1366,12 +1378,18 @@ func (s *AutoScaleService) NewListConditionsParams() *ListConditionsParams {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *AutoScaleService) GetConditionByID(id string) (*Condition, int, error) { func (s *AutoScaleService) GetConditionByID(id string, opts ...OptionFunc) (*Condition, int, error) {
p := &ListConditionsParams{} p := &ListConditionsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListConditions(p) l, err := s.ListConditions(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -1570,12 +1588,18 @@ func (s *AutoScaleService) NewListAutoScalePoliciesParams() *ListAutoScalePolici
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *AutoScaleService) GetAutoScalePolicyByID(id string) (*AutoScalePolicy, int, error) { func (s *AutoScaleService) GetAutoScalePolicyByID(id string, opts ...OptionFunc) (*AutoScalePolicy, int, error) {
p := &ListAutoScalePoliciesParams{} p := &ListAutoScalePoliciesParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListAutoScalePolicies(p) l, err := s.ListAutoScalePolicies(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -1808,12 +1832,18 @@ func (s *AutoScaleService) NewListAutoScaleVmProfilesParams() *ListAutoScaleVmPr
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *AutoScaleService) GetAutoScaleVmProfileByID(id string) (*AutoScaleVmProfile, int, error) { func (s *AutoScaleService) GetAutoScaleVmProfileByID(id string, opts ...OptionFunc) (*AutoScaleVmProfile, int, error) {
p := &ListAutoScaleVmProfilesParams{} p := &ListAutoScaleVmProfilesParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListAutoScaleVmProfiles(p) l, err := s.ListAutoScaleVmProfiles(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -1824,21 +1854,6 @@ func (s *AutoScaleService) GetAutoScaleVmProfileByID(id string) (*AutoScaleVmPro
return nil, -1, err return nil, -1, err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListAutoScaleVmProfiles(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 { if l.Count == 0 {
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l) return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
} }
@ -2064,12 +2079,18 @@ func (s *AutoScaleService) NewListAutoScaleVmGroupsParams() *ListAutoScaleVmGrou
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *AutoScaleService) GetAutoScaleVmGroupByID(id string) (*AutoScaleVmGroup, int, error) { func (s *AutoScaleService) GetAutoScaleVmGroupByID(id string, opts ...OptionFunc) (*AutoScaleVmGroup, int, error) {
p := &ListAutoScaleVmGroupsParams{} p := &ListAutoScaleVmGroupsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListAutoScaleVmGroups(p) l, err := s.ListAutoScaleVmGroups(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -2080,21 +2101,6 @@ func (s *AutoScaleService) GetAutoScaleVmGroupByID(id string) (*AutoScaleVmGroup
return nil, -1, err return nil, -1, err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListAutoScaleVmGroups(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 { if l.Count == 0 {
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l) return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
} }

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -636,12 +636,18 @@ func (s *ClusterService) NewListClustersParams() *ListClustersParams {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *ClusterService) GetClusterID(name string) (string, error) { func (s *ClusterService) GetClusterID(name string, opts ...OptionFunc) (string, error) {
p := &ListClustersParams{} p := &ListClustersParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["name"] = name p.p["name"] = name
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListClusters(p) l, err := s.ListClusters(p)
if err != nil { if err != nil {
return "", err return "", err
@ -666,13 +672,13 @@ func (s *ClusterService) GetClusterID(name string) (string, error) {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *ClusterService) GetClusterByName(name string) (*Cluster, int, error) { func (s *ClusterService) GetClusterByName(name string, opts ...OptionFunc) (*Cluster, int, error) {
id, err := s.GetClusterID(name) id, err := s.GetClusterID(name, opts...)
if err != nil { if err != nil {
return nil, -1, err return nil, -1, err
} }
r, count, err := s.GetClusterByID(id) r, count, err := s.GetClusterByID(id, opts...)
if err != nil { if err != nil {
return nil, count, err return nil, count, err
} }
@ -680,12 +686,18 @@ func (s *ClusterService) GetClusterByName(name string) (*Cluster, int, error) {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *ClusterService) GetClusterByID(id string) (*Cluster, int, error) { func (s *ClusterService) GetClusterByID(id string, opts ...OptionFunc) (*Cluster, int, error) {
p := &ListClustersParams{} p := &ListClustersParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListClusters(p) l, err := s.ListClusters(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -562,12 +562,18 @@ func (s *DiskOfferingService) NewListDiskOfferingsParams() *ListDiskOfferingsPar
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *DiskOfferingService) GetDiskOfferingID(name string) (string, error) { func (s *DiskOfferingService) GetDiskOfferingID(name string, opts ...OptionFunc) (string, error) {
p := &ListDiskOfferingsParams{} p := &ListDiskOfferingsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["name"] = name p.p["name"] = name
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListDiskOfferings(p) l, err := s.ListDiskOfferings(p)
if err != nil { if err != nil {
return "", err return "", err
@ -592,13 +598,13 @@ func (s *DiskOfferingService) GetDiskOfferingID(name string) (string, error) {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *DiskOfferingService) GetDiskOfferingByName(name string) (*DiskOffering, int, error) { func (s *DiskOfferingService) GetDiskOfferingByName(name string, opts ...OptionFunc) (*DiskOffering, int, error) {
id, err := s.GetDiskOfferingID(name) id, err := s.GetDiskOfferingID(name, opts...)
if err != nil { if err != nil {
return nil, -1, err return nil, -1, err
} }
r, count, err := s.GetDiskOfferingByID(id) r, count, err := s.GetDiskOfferingByID(id, opts...)
if err != nil { if err != nil {
return nil, count, err return nil, count, err
} }
@ -606,12 +612,18 @@ func (s *DiskOfferingService) GetDiskOfferingByName(name string) (*DiskOffering,
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *DiskOfferingService) GetDiskOfferingByID(id string) (*DiskOffering, int, error) { func (s *DiskOfferingService) GetDiskOfferingByID(id string, opts ...OptionFunc) (*DiskOffering, int, error) {
p := &ListDiskOfferingsParams{} p := &ListDiskOfferingsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListDiskOfferings(p) l, err := s.ListDiskOfferings(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -448,12 +448,18 @@ func (s *DomainService) NewListDomainsParams() *ListDomainsParams {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *DomainService) GetDomainID(name string) (string, error) { func (s *DomainService) GetDomainID(name string, opts ...OptionFunc) (string, error) {
p := &ListDomainsParams{} p := &ListDomainsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["name"] = name p.p["name"] = name
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListDomains(p) l, err := s.ListDomains(p)
if err != nil { if err != nil {
return "", err return "", err
@ -478,13 +484,13 @@ func (s *DomainService) GetDomainID(name string) (string, error) {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *DomainService) GetDomainByName(name string) (*Domain, int, error) { func (s *DomainService) GetDomainByName(name string, opts ...OptionFunc) (*Domain, int, error) {
id, err := s.GetDomainID(name) id, err := s.GetDomainID(name, opts...)
if err != nil { if err != nil {
return nil, -1, err return nil, -1, err
} }
r, count, err := s.GetDomainByID(id) r, count, err := s.GetDomainByID(id, opts...)
if err != nil { if err != nil {
return nil, count, err return nil, count, err
} }
@ -492,12 +498,18 @@ func (s *DomainService) GetDomainByName(name string) (*Domain, int, error) {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *DomainService) GetDomainByID(id string) (*Domain, int, error) { func (s *DomainService) GetDomainByID(id string, opts ...OptionFunc) (*Domain, int, error) {
p := &ListDomainsParams{} p := &ListDomainsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListDomains(p) l, err := s.ListDomains(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -687,12 +699,18 @@ func (s *DomainService) NewListDomainChildrenParams() *ListDomainChildrenParams
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *DomainService) GetDomainChildrenID(name string) (string, error) { func (s *DomainService) GetDomainChildrenID(name string, opts ...OptionFunc) (string, error) {
p := &ListDomainChildrenParams{} p := &ListDomainChildrenParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["name"] = name p.p["name"] = name
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListDomainChildren(p) l, err := s.ListDomainChildren(p)
if err != nil { if err != nil {
return "", err return "", err
@ -717,13 +735,13 @@ func (s *DomainService) GetDomainChildrenID(name string) (string, error) {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *DomainService) GetDomainChildrenByName(name string) (*DomainChildren, int, error) { func (s *DomainService) GetDomainChildrenByName(name string, opts ...OptionFunc) (*DomainChildren, int, error) {
id, err := s.GetDomainChildrenID(name) id, err := s.GetDomainChildrenID(name, opts...)
if err != nil { if err != nil {
return nil, -1, err return nil, -1, err
} }
r, count, err := s.GetDomainChildrenByID(id) r, count, err := s.GetDomainChildrenByID(id, opts...)
if err != nil { if err != nil {
return nil, count, err return nil, count, err
} }
@ -731,12 +749,18 @@ func (s *DomainService) GetDomainChildrenByName(name string) (*DomainChildren, i
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *DomainService) GetDomainChildrenByID(id string) (*DomainChildren, int, error) { func (s *DomainService) GetDomainChildrenByID(id string, opts ...OptionFunc) (*DomainChildren, int, error) {
p := &ListDomainChildrenParams{} p := &ListDomainChildrenParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListDomainChildren(p) l, err := s.ListDomainChildren(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -216,12 +216,18 @@ func (s *EventService) NewListEventsParams() *ListEventsParams {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *EventService) GetEventByID(id string) (*Event, int, error) { func (s *EventService) GetEventByID(id string, opts ...OptionFunc) (*Event, int, error) {
p := &ListEventsParams{} p := &ListEventsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListEvents(p) l, err := s.ListEvents(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -232,21 +238,6 @@ func (s *EventService) GetEventByID(id string) (*Event, int, error) {
return nil, -1, err return nil, -1, err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListEvents(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 { if l.Count == 0 {
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l) return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
} }

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -248,12 +248,18 @@ func (s *FirewallService) NewListPortForwardingRulesParams() *ListPortForwarding
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *FirewallService) GetPortForwardingRuleByID(id string) (*PortForwardingRule, int, error) { func (s *FirewallService) GetPortForwardingRuleByID(id string, opts ...OptionFunc) (*PortForwardingRule, int, error) {
p := &ListPortForwardingRulesParams{} p := &ListPortForwardingRulesParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListPortForwardingRules(p) l, err := s.ListPortForwardingRules(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -264,21 +270,6 @@ func (s *FirewallService) GetPortForwardingRuleByID(id string) (*PortForwardingR
return nil, -1, err return nil, -1, err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListPortForwardingRules(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 { if l.Count == 0 {
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l) return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
} }
@ -1276,12 +1267,18 @@ func (s *FirewallService) NewListFirewallRulesParams() *ListFirewallRulesParams
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *FirewallService) GetFirewallRuleByID(id string) (*FirewallRule, int, error) { func (s *FirewallService) GetFirewallRuleByID(id string, opts ...OptionFunc) (*FirewallRule, int, error) {
p := &ListFirewallRulesParams{} p := &ListFirewallRulesParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListFirewallRules(p) l, err := s.ListFirewallRules(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -1292,21 +1289,6 @@ func (s *FirewallService) GetFirewallRuleByID(id string) (*FirewallRule, int, er
return nil, -1, err return nil, -1, err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListFirewallRules(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 { if l.Count == 0 {
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l) return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
} }
@ -1945,12 +1927,18 @@ func (s *FirewallService) NewListEgressFirewallRulesParams() *ListEgressFirewall
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *FirewallService) GetEgressFirewallRuleByID(id string) (*EgressFirewallRule, int, error) { func (s *FirewallService) GetEgressFirewallRuleByID(id string, opts ...OptionFunc) (*EgressFirewallRule, int, error) {
p := &ListEgressFirewallRulesParams{} p := &ListEgressFirewallRulesParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListEgressFirewallRules(p) l, err := s.ListEgressFirewallRules(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -1961,21 +1949,6 @@ func (s *FirewallService) GetEgressFirewallRuleByID(id string) (*EgressFirewallR
return nil, -1, err return nil, -1, err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListEgressFirewallRules(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 { if l.Count == 0 {
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l) return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
} }

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -113,12 +113,18 @@ func (s *GuestOSService) NewListOsTypesParams() *ListOsTypesParams {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *GuestOSService) GetOsTypeByID(id string) (*OsType, int, error) { func (s *GuestOSService) GetOsTypeByID(id string, opts ...OptionFunc) (*OsType, int, error) {
p := &ListOsTypesParams{} p := &ListOsTypesParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListOsTypes(p) l, err := s.ListOsTypes(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -243,12 +249,18 @@ func (s *GuestOSService) NewListOsCategoriesParams() *ListOsCategoriesParams {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *GuestOSService) GetOsCategoryID(name string) (string, error) { func (s *GuestOSService) GetOsCategoryID(name string, opts ...OptionFunc) (string, error) {
p := &ListOsCategoriesParams{} p := &ListOsCategoriesParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["name"] = name p.p["name"] = name
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListOsCategories(p) l, err := s.ListOsCategories(p)
if err != nil { if err != nil {
return "", err return "", err
@ -273,13 +285,13 @@ func (s *GuestOSService) GetOsCategoryID(name string) (string, error) {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *GuestOSService) GetOsCategoryByName(name string) (*OsCategory, int, error) { func (s *GuestOSService) GetOsCategoryByName(name string, opts ...OptionFunc) (*OsCategory, int, error) {
id, err := s.GetOsCategoryID(name) id, err := s.GetOsCategoryID(name, opts...)
if err != nil { if err != nil {
return nil, -1, err return nil, -1, err
} }
r, count, err := s.GetOsCategoryByID(id) r, count, err := s.GetOsCategoryByID(id, opts...)
if err != nil { if err != nil {
return nil, count, err return nil, count, err
} }
@ -287,12 +299,18 @@ func (s *GuestOSService) GetOsCategoryByName(name string) (*OsCategory, int, err
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *GuestOSService) GetOsCategoryByID(id string) (*OsCategory, int, error) { func (s *GuestOSService) GetOsCategoryByID(id string, opts ...OptionFunc) (*OsCategory, int, error) {
p := &ListOsCategoriesParams{} p := &ListOsCategoriesParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListOsCategories(p) l, err := s.ListOsCategories(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -687,12 +705,18 @@ func (s *GuestOSService) NewListGuestOsMappingParams() *ListGuestOsMappingParams
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *GuestOSService) GetGuestOsMappingByID(id string) (*GuestOsMapping, int, error) { func (s *GuestOSService) GetGuestOsMappingByID(id string, opts ...OptionFunc) (*GuestOsMapping, int, error) {
p := &ListGuestOsMappingParams{} p := &ListGuestOsMappingParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListGuestOsMapping(p) l, err := s.ListGuestOsMapping(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -1037,12 +1037,18 @@ func (s *HostService) NewListHostsParams() *ListHostsParams {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *HostService) GetHostID(name string) (string, error) { func (s *HostService) GetHostID(name string, opts ...OptionFunc) (string, error) {
p := &ListHostsParams{} p := &ListHostsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["name"] = name p.p["name"] = name
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListHosts(p) l, err := s.ListHosts(p)
if err != nil { if err != nil {
return "", err return "", err
@ -1067,13 +1073,13 @@ func (s *HostService) GetHostID(name string) (string, error) {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *HostService) GetHostByName(name string) (*Host, int, error) { func (s *HostService) GetHostByName(name string, opts ...OptionFunc) (*Host, int, error) {
id, err := s.GetHostID(name) id, err := s.GetHostID(name, opts...)
if err != nil { if err != nil {
return nil, -1, err return nil, -1, err
} }
r, count, err := s.GetHostByID(id) r, count, err := s.GetHostByID(id, opts...)
if err != nil { if err != nil {
return nil, count, err return nil, count, err
} }
@ -1081,12 +1087,18 @@ func (s *HostService) GetHostByName(name string) (*Host, int, error) {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *HostService) GetHostByID(id string) (*Host, int, error) { func (s *HostService) GetHostByID(id string, opts ...OptionFunc) (*Host, int, error) {
p := &ListHostsParams{} p := &ListHostsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListHosts(p) l, err := s.ListHosts(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -1243,12 +1255,18 @@ func (s *HostService) NewListHostTagsParams() *ListHostTagsParams {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *HostService) GetHostTagID(keyword string) (string, error) { func (s *HostService) GetHostTagID(keyword string, opts ...OptionFunc) (string, error) {
p := &ListHostTagsParams{} p := &ListHostTagsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["keyword"] = keyword p.p["keyword"] = keyword
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListHostTags(p) l, err := s.ListHostTags(p)
if err != nil { if err != nil {
return "", err return "", err

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -236,12 +236,18 @@ func (s *HypervisorService) NewListHypervisorCapabilitiesParams() *ListHyperviso
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *HypervisorService) GetHypervisorCapabilityByID(id string) (*HypervisorCapability, int, error) { func (s *HypervisorService) GetHypervisorCapabilityByID(id string, opts ...OptionFunc) (*HypervisorCapability, int, error) {
p := &ListHypervisorCapabilitiesParams{} p := &ListHypervisorCapabilitiesParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListHypervisorCapabilities(p) l, err := s.ListHypervisorCapabilities(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -754,7 +754,7 @@ func (s *ISOService) NewListIsosParams() *ListIsosParams {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *ISOService) GetIsoID(name string, isofilter string, zoneid string) (string, error) { func (s *ISOService) GetIsoID(name string, isofilter string, zoneid string, opts ...OptionFunc) (string, error) {
p := &ListIsosParams{} p := &ListIsosParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
@ -762,21 +762,17 @@ func (s *ISOService) GetIsoID(name string, isofilter string, zoneid string) (str
p.p["isofilter"] = isofilter p.p["isofilter"] = isofilter
p.p["zoneid"] = zoneid p.p["zoneid"] = zoneid
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListIsos(p) l, err := s.ListIsos(p)
if err != nil { if err != nil {
return "", err return "", err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListIsos(p)
if err != nil {
return "", err
}
}
if l.Count == 0 { if l.Count == 0 {
return "", fmt.Errorf("No match found for %s: %+v", name, l) return "", fmt.Errorf("No match found for %s: %+v", name, l)
} }
@ -796,13 +792,13 @@ func (s *ISOService) GetIsoID(name string, isofilter string, zoneid string) (str
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *ISOService) GetIsoByName(name string, isofilter string, zoneid string) (*Iso, int, error) { func (s *ISOService) GetIsoByName(name string, isofilter string, zoneid string, opts ...OptionFunc) (*Iso, int, error) {
id, err := s.GetIsoID(name, isofilter, zoneid) id, err := s.GetIsoID(name, isofilter, zoneid, opts...)
if err != nil { if err != nil {
return nil, -1, err return nil, -1, err
} }
r, count, err := s.GetIsoByID(id) r, count, err := s.GetIsoByID(id, opts...)
if err != nil { if err != nil {
return nil, count, err return nil, count, err
} }
@ -810,12 +806,18 @@ func (s *ISOService) GetIsoByName(name string, isofilter string, zoneid string)
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *ISOService) GetIsoByID(id string) (*Iso, int, error) { func (s *ISOService) GetIsoByID(id string, opts ...OptionFunc) (*Iso, int, error) {
p := &ListIsosParams{} p := &ListIsosParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListIsos(p) l, err := s.ListIsos(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -826,21 +828,6 @@ func (s *ISOService) GetIsoByID(id string) (*Iso, int, error) {
return nil, -1, err return nil, -1, err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListIsos(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 { if l.Count == 0 {
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l) return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
} }
@ -1779,13 +1766,19 @@ func (s *ISOService) NewListIsoPermissionsParams(id string) *ListIsoPermissionsP
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *ISOService) GetIsoPermissionByID(id string) (*IsoPermission, int, error) { func (s *ISOService) GetIsoPermissionByID(id string, opts ...OptionFunc) (*IsoPermission, int, error) {
p := &ListIsoPermissionsParams{} p := &ListIsoPermissionsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListIsoPermissions(p) l, err := s.ListIsoPermissions(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -419,12 +419,18 @@ func (s *ImageStoreService) NewListImageStoresParams() *ListImageStoresParams {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *ImageStoreService) GetImageStoreID(name string) (string, error) { func (s *ImageStoreService) GetImageStoreID(name string, opts ...OptionFunc) (string, error) {
p := &ListImageStoresParams{} p := &ListImageStoresParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["name"] = name p.p["name"] = name
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListImageStores(p) l, err := s.ListImageStores(p)
if err != nil { if err != nil {
return "", err return "", err
@ -449,13 +455,13 @@ func (s *ImageStoreService) GetImageStoreID(name string) (string, error) {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *ImageStoreService) GetImageStoreByName(name string) (*ImageStore, int, error) { func (s *ImageStoreService) GetImageStoreByName(name string, opts ...OptionFunc) (*ImageStore, int, error) {
id, err := s.GetImageStoreID(name) id, err := s.GetImageStoreID(name, opts...)
if err != nil { if err != nil {
return nil, -1, err return nil, -1, err
} }
r, count, err := s.GetImageStoreByID(id) r, count, err := s.GetImageStoreByID(id, opts...)
if err != nil { if err != nil {
return nil, count, err return nil, count, err
} }
@ -463,12 +469,18 @@ func (s *ImageStoreService) GetImageStoreByName(name string) (*ImageStore, int,
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *ImageStoreService) GetImageStoreByID(id string) (*ImageStore, int, error) { func (s *ImageStoreService) GetImageStoreByID(id string, opts ...OptionFunc) (*ImageStore, int, error) {
p := &ListImageStoresParams{} p := &ListImageStoresParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListImageStores(p) l, err := s.ListImageStores(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -789,12 +801,18 @@ func (s *ImageStoreService) NewListSecondaryStagingStoresParams() *ListSecondary
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *ImageStoreService) GetSecondaryStagingStoreID(name string) (string, error) { func (s *ImageStoreService) GetSecondaryStagingStoreID(name string, opts ...OptionFunc) (string, error) {
p := &ListSecondaryStagingStoresParams{} p := &ListSecondaryStagingStoresParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["name"] = name p.p["name"] = name
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListSecondaryStagingStores(p) l, err := s.ListSecondaryStagingStores(p)
if err != nil { if err != nil {
return "", err return "", err
@ -819,13 +837,13 @@ func (s *ImageStoreService) GetSecondaryStagingStoreID(name string) (string, err
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *ImageStoreService) GetSecondaryStagingStoreByName(name string) (*SecondaryStagingStore, int, error) { func (s *ImageStoreService) GetSecondaryStagingStoreByName(name string, opts ...OptionFunc) (*SecondaryStagingStore, int, error) {
id, err := s.GetSecondaryStagingStoreID(name) id, err := s.GetSecondaryStagingStoreID(name, opts...)
if err != nil { if err != nil {
return nil, -1, err return nil, -1, err
} }
r, count, err := s.GetSecondaryStagingStoreByID(id) r, count, err := s.GetSecondaryStagingStoreByID(id, opts...)
if err != nil { if err != nil {
return nil, count, err return nil, count, err
} }
@ -833,12 +851,18 @@ func (s *ImageStoreService) GetSecondaryStagingStoreByName(name string) (*Second
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *ImageStoreService) GetSecondaryStagingStoreByID(id string) (*SecondaryStagingStore, int, error) { func (s *ImageStoreService) GetSecondaryStagingStoreByID(id string, opts ...OptionFunc) (*SecondaryStagingStore, int, error) {
p := &ListSecondaryStagingStoresParams{} p := &ListSecondaryStagingStoresParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListSecondaryStagingStores(p) l, err := s.ListSecondaryStagingStores(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -273,12 +273,18 @@ func (s *InternalLBService) NewListInternalLoadBalancerElementsParams() *ListInt
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *InternalLBService) GetInternalLoadBalancerElementByID(id string) (*InternalLoadBalancerElement, int, error) { func (s *InternalLBService) GetInternalLoadBalancerElementByID(id string, opts ...OptionFunc) (*InternalLoadBalancerElement, int, error) {
p := &ListInternalLoadBalancerElementsParams{} p := &ListInternalLoadBalancerElementsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListInternalLoadBalancerElements(p) l, err := s.ListInternalLoadBalancerElements(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -825,27 +831,23 @@ func (s *InternalLBService) NewListInternalLoadBalancerVMsParams() *ListInternal
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *InternalLBService) GetInternalLoadBalancerVMID(name string) (string, error) { func (s *InternalLBService) GetInternalLoadBalancerVMID(name string, opts ...OptionFunc) (string, error) {
p := &ListInternalLoadBalancerVMsParams{} p := &ListInternalLoadBalancerVMsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["name"] = name p.p["name"] = name
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListInternalLoadBalancerVMs(p) l, err := s.ListInternalLoadBalancerVMs(p)
if err != nil { if err != nil {
return "", err return "", err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListInternalLoadBalancerVMs(p)
if err != nil {
return "", err
}
}
if l.Count == 0 { if l.Count == 0 {
return "", fmt.Errorf("No match found for %s: %+v", name, l) return "", fmt.Errorf("No match found for %s: %+v", name, l)
} }
@ -865,13 +867,13 @@ func (s *InternalLBService) GetInternalLoadBalancerVMID(name string) (string, er
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *InternalLBService) GetInternalLoadBalancerVMByName(name string) (*InternalLoadBalancerVM, int, error) { func (s *InternalLBService) GetInternalLoadBalancerVMByName(name string, opts ...OptionFunc) (*InternalLoadBalancerVM, int, error) {
id, err := s.GetInternalLoadBalancerVMID(name) id, err := s.GetInternalLoadBalancerVMID(name, opts...)
if err != nil { if err != nil {
return nil, -1, err return nil, -1, err
} }
r, count, err := s.GetInternalLoadBalancerVMByID(id) r, count, err := s.GetInternalLoadBalancerVMByID(id, opts...)
if err != nil { if err != nil {
return nil, count, err return nil, count, err
} }
@ -879,12 +881,18 @@ func (s *InternalLBService) GetInternalLoadBalancerVMByName(name string) (*Inter
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *InternalLBService) GetInternalLoadBalancerVMByID(id string) (*InternalLoadBalancerVM, int, error) { func (s *InternalLBService) GetInternalLoadBalancerVMByID(id string, opts ...OptionFunc) (*InternalLoadBalancerVM, int, error) {
p := &ListInternalLoadBalancerVMsParams{} p := &ListInternalLoadBalancerVMsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListInternalLoadBalancerVMs(p) l, err := s.ListInternalLoadBalancerVMs(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -895,21 +903,6 @@ func (s *InternalLBService) GetInternalLoadBalancerVMByID(id string) (*InternalL
return nil, -1, err return nil, -1, err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListInternalLoadBalancerVMs(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 { if l.Count == 0 {
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l) return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
} }

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -1067,27 +1067,23 @@ func (s *LoadBalancerService) NewListLoadBalancerRulesParams() *ListLoadBalancer
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *LoadBalancerService) GetLoadBalancerRuleID(name string) (string, error) { func (s *LoadBalancerService) GetLoadBalancerRuleID(name string, opts ...OptionFunc) (string, error) {
p := &ListLoadBalancerRulesParams{} p := &ListLoadBalancerRulesParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["name"] = name p.p["name"] = name
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListLoadBalancerRules(p) l, err := s.ListLoadBalancerRules(p)
if err != nil { if err != nil {
return "", err return "", err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListLoadBalancerRules(p)
if err != nil {
return "", err
}
}
if l.Count == 0 { if l.Count == 0 {
return "", fmt.Errorf("No match found for %s: %+v", name, l) return "", fmt.Errorf("No match found for %s: %+v", name, l)
} }
@ -1107,13 +1103,13 @@ func (s *LoadBalancerService) GetLoadBalancerRuleID(name string) (string, error)
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *LoadBalancerService) GetLoadBalancerRuleByName(name string) (*LoadBalancerRule, int, error) { func (s *LoadBalancerService) GetLoadBalancerRuleByName(name string, opts ...OptionFunc) (*LoadBalancerRule, int, error) {
id, err := s.GetLoadBalancerRuleID(name) id, err := s.GetLoadBalancerRuleID(name, opts...)
if err != nil { if err != nil {
return nil, -1, err return nil, -1, err
} }
r, count, err := s.GetLoadBalancerRuleByID(id) r, count, err := s.GetLoadBalancerRuleByID(id, opts...)
if err != nil { if err != nil {
return nil, count, err return nil, count, err
} }
@ -1121,12 +1117,18 @@ func (s *LoadBalancerService) GetLoadBalancerRuleByName(name string) (*LoadBalan
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *LoadBalancerService) GetLoadBalancerRuleByID(id string) (*LoadBalancerRule, int, error) { func (s *LoadBalancerService) GetLoadBalancerRuleByID(id string, opts ...OptionFunc) (*LoadBalancerRule, int, error) {
p := &ListLoadBalancerRulesParams{} p := &ListLoadBalancerRulesParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListLoadBalancerRules(p) l, err := s.ListLoadBalancerRules(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -1137,21 +1139,6 @@ func (s *LoadBalancerService) GetLoadBalancerRuleByID(id string) (*LoadBalancerR
return nil, -1, err return nil, -1, err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListLoadBalancerRules(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 { if l.Count == 0 {
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l) return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
} }
@ -1305,12 +1292,18 @@ func (s *LoadBalancerService) NewListLBStickinessPoliciesParams() *ListLBStickin
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *LoadBalancerService) GetLBStickinessPolicyByID(id string) (*LBStickinessPolicy, int, error) { func (s *LoadBalancerService) GetLBStickinessPolicyByID(id string, opts ...OptionFunc) (*LBStickinessPolicy, int, error) {
p := &ListLBStickinessPoliciesParams{} p := &ListLBStickinessPoliciesParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListLBStickinessPolicies(p) l, err := s.ListLBStickinessPolicies(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -1460,12 +1453,18 @@ func (s *LoadBalancerService) NewListLBHealthCheckPoliciesParams() *ListLBHealth
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *LoadBalancerService) GetLBHealthCheckPolicyByID(id string) (*LBHealthCheckPolicy, int, error) { func (s *LoadBalancerService) GetLBHealthCheckPolicyByID(id string, opts ...OptionFunc) (*LBHealthCheckPolicy, int, error) {
p := &ListLBHealthCheckPoliciesParams{} p := &ListLBHealthCheckPoliciesParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListLBHealthCheckPolicies(p) l, err := s.ListLBHealthCheckPolicies(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -1960,13 +1959,19 @@ func (s *LoadBalancerService) NewListLoadBalancerRuleInstancesParams(id string)
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *LoadBalancerService) GetLoadBalancerRuleInstanceByID(id string) (*LoadBalancerRuleInstance, int, error) { func (s *LoadBalancerService) GetLoadBalancerRuleInstanceByID(id string, opts ...OptionFunc) (*LoadBalancerRuleInstance, int, error) {
p := &ListLoadBalancerRuleInstancesParams{} p := &ListLoadBalancerRuleInstancesParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListLoadBalancerRuleInstances(p) l, err := s.ListLoadBalancerRuleInstances(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -3656,27 +3661,23 @@ func (s *LoadBalancerService) NewListGlobalLoadBalancerRulesParams() *ListGlobal
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *LoadBalancerService) GetGlobalLoadBalancerRuleID(keyword string) (string, error) { func (s *LoadBalancerService) GetGlobalLoadBalancerRuleID(keyword string, opts ...OptionFunc) (string, error) {
p := &ListGlobalLoadBalancerRulesParams{} p := &ListGlobalLoadBalancerRulesParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["keyword"] = keyword p.p["keyword"] = keyword
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListGlobalLoadBalancerRules(p) l, err := s.ListGlobalLoadBalancerRules(p)
if err != nil { if err != nil {
return "", err return "", err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListGlobalLoadBalancerRules(p)
if err != nil {
return "", err
}
}
if l.Count == 0 { if l.Count == 0 {
return "", fmt.Errorf("No match found for %s: %+v", keyword, l) return "", fmt.Errorf("No match found for %s: %+v", keyword, l)
} }
@ -3696,13 +3697,13 @@ func (s *LoadBalancerService) GetGlobalLoadBalancerRuleID(keyword string) (strin
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *LoadBalancerService) GetGlobalLoadBalancerRuleByName(name string) (*GlobalLoadBalancerRule, int, error) { func (s *LoadBalancerService) GetGlobalLoadBalancerRuleByName(name string, opts ...OptionFunc) (*GlobalLoadBalancerRule, int, error) {
id, err := s.GetGlobalLoadBalancerRuleID(name) id, err := s.GetGlobalLoadBalancerRuleID(name, opts...)
if err != nil { if err != nil {
return nil, -1, err return nil, -1, err
} }
r, count, err := s.GetGlobalLoadBalancerRuleByID(id) r, count, err := s.GetGlobalLoadBalancerRuleByID(id, opts...)
if err != nil { if err != nil {
return nil, count, err return nil, count, err
} }
@ -3710,12 +3711,18 @@ func (s *LoadBalancerService) GetGlobalLoadBalancerRuleByName(name string) (*Glo
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *LoadBalancerService) GetGlobalLoadBalancerRuleByID(id string) (*GlobalLoadBalancerRule, int, error) { func (s *LoadBalancerService) GetGlobalLoadBalancerRuleByID(id string, opts ...OptionFunc) (*GlobalLoadBalancerRule, int, error) {
p := &ListGlobalLoadBalancerRulesParams{} p := &ListGlobalLoadBalancerRulesParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListGlobalLoadBalancerRules(p) l, err := s.ListGlobalLoadBalancerRules(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -3726,21 +3733,6 @@ func (s *LoadBalancerService) GetGlobalLoadBalancerRuleByID(id string) (*GlobalL
return nil, -1, err return nil, -1, err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListGlobalLoadBalancerRules(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 { if l.Count == 0 {
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l) return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
} }
@ -4416,27 +4408,23 @@ func (s *LoadBalancerService) NewListLoadBalancersParams() *ListLoadBalancersPar
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *LoadBalancerService) GetLoadBalancerID(name string) (string, error) { func (s *LoadBalancerService) GetLoadBalancerID(name string, opts ...OptionFunc) (string, error) {
p := &ListLoadBalancersParams{} p := &ListLoadBalancersParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["name"] = name p.p["name"] = name
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListLoadBalancers(p) l, err := s.ListLoadBalancers(p)
if err != nil { if err != nil {
return "", err return "", err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListLoadBalancers(p)
if err != nil {
return "", err
}
}
if l.Count == 0 { if l.Count == 0 {
return "", fmt.Errorf("No match found for %s: %+v", name, l) return "", fmt.Errorf("No match found for %s: %+v", name, l)
} }
@ -4456,13 +4444,13 @@ func (s *LoadBalancerService) GetLoadBalancerID(name string) (string, error) {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *LoadBalancerService) GetLoadBalancerByName(name string) (*LoadBalancer, int, error) { func (s *LoadBalancerService) GetLoadBalancerByName(name string, opts ...OptionFunc) (*LoadBalancer, int, error) {
id, err := s.GetLoadBalancerID(name) id, err := s.GetLoadBalancerID(name, opts...)
if err != nil { if err != nil {
return nil, -1, err return nil, -1, err
} }
r, count, err := s.GetLoadBalancerByID(id) r, count, err := s.GetLoadBalancerByID(id, opts...)
if err != nil { if err != nil {
return nil, count, err return nil, count, err
} }
@ -4470,12 +4458,18 @@ func (s *LoadBalancerService) GetLoadBalancerByName(name string) (*LoadBalancer,
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *LoadBalancerService) GetLoadBalancerByID(id string) (*LoadBalancer, int, error) { func (s *LoadBalancerService) GetLoadBalancerByID(id string, opts ...OptionFunc) (*LoadBalancer, int, error) {
p := &ListLoadBalancersParams{} p := &ListLoadBalancersParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListLoadBalancers(p) l, err := s.ListLoadBalancers(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -4486,21 +4480,6 @@ func (s *LoadBalancerService) GetLoadBalancerByID(id string) (*LoadBalancer, int
return nil, -1, err return nil, -1, err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListLoadBalancers(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 { if l.Count == 0 {
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l) return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
} }

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -481,12 +481,18 @@ func (s *NATService) NewListIpForwardingRulesParams() *ListIpForwardingRulesPara
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *NATService) GetIpForwardingRuleByID(id string) (*IpForwardingRule, int, error) { func (s *NATService) GetIpForwardingRuleByID(id string, opts ...OptionFunc) (*IpForwardingRule, int, error) {
p := &ListIpForwardingRulesParams{} p := &ListIpForwardingRulesParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListIpForwardingRules(p) l, err := s.ListIpForwardingRules(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -497,21 +503,6 @@ func (s *NATService) GetIpForwardingRuleByID(id string) (*IpForwardingRule, int,
return nil, -1, err return nil, -1, err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListIpForwardingRules(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 { if l.Count == 0 {
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l) return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
} }

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -744,12 +744,18 @@ func (s *NetworkACLService) NewListNetworkACLsParams() *ListNetworkACLsParams {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *NetworkACLService) GetNetworkACLByID(id string) (*NetworkACL, int, error) { func (s *NetworkACLService) GetNetworkACLByID(id string, opts ...OptionFunc) (*NetworkACL, int, error) {
p := &ListNetworkACLsParams{} p := &ListNetworkACLsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListNetworkACLs(p) l, err := s.ListNetworkACLs(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -760,21 +766,6 @@ func (s *NetworkACLService) GetNetworkACLByID(id string) (*NetworkACL, int, erro
return nil, -1, err return nil, -1, err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListNetworkACLs(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 { if l.Count == 0 {
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l) return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
} }
@ -1267,27 +1258,23 @@ func (s *NetworkACLService) NewListNetworkACLListsParams() *ListNetworkACLListsP
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *NetworkACLService) GetNetworkACLListID(name string) (string, error) { func (s *NetworkACLService) GetNetworkACLListID(name string, opts ...OptionFunc) (string, error) {
p := &ListNetworkACLListsParams{} p := &ListNetworkACLListsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["name"] = name p.p["name"] = name
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListNetworkACLLists(p) l, err := s.ListNetworkACLLists(p)
if err != nil { if err != nil {
return "", err return "", err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListNetworkACLLists(p)
if err != nil {
return "", err
}
}
if l.Count == 0 { if l.Count == 0 {
return "", fmt.Errorf("No match found for %s: %+v", name, l) return "", fmt.Errorf("No match found for %s: %+v", name, l)
} }
@ -1307,13 +1294,13 @@ func (s *NetworkACLService) GetNetworkACLListID(name string) (string, error) {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *NetworkACLService) GetNetworkACLListByName(name string) (*NetworkACLList, int, error) { func (s *NetworkACLService) GetNetworkACLListByName(name string, opts ...OptionFunc) (*NetworkACLList, int, error) {
id, err := s.GetNetworkACLListID(name) id, err := s.GetNetworkACLListID(name, opts...)
if err != nil { if err != nil {
return nil, -1, err return nil, -1, err
} }
r, count, err := s.GetNetworkACLListByID(id) r, count, err := s.GetNetworkACLListByID(id, opts...)
if err != nil { if err != nil {
return nil, count, err return nil, count, err
} }
@ -1321,12 +1308,18 @@ func (s *NetworkACLService) GetNetworkACLListByName(name string) (*NetworkACLLis
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *NetworkACLService) GetNetworkACLListByID(id string) (*NetworkACLList, int, error) { func (s *NetworkACLService) GetNetworkACLListByID(id string, opts ...OptionFunc) (*NetworkACLList, int, error) {
p := &ListNetworkACLListsParams{} p := &ListNetworkACLListsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListNetworkACLLists(p) l, err := s.ListNetworkACLLists(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -1337,21 +1330,6 @@ func (s *NetworkACLService) GetNetworkACLListByID(id string) (*NetworkACLList, i
return nil, -1, err return nil, -1, err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListNetworkACLLists(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 { if l.Count == 0 {
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l) return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
} }

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -808,12 +808,18 @@ func (s *NetworkOfferingService) NewListNetworkOfferingsParams() *ListNetworkOff
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *NetworkOfferingService) GetNetworkOfferingID(name string) (string, error) { func (s *NetworkOfferingService) GetNetworkOfferingID(name string, opts ...OptionFunc) (string, error) {
p := &ListNetworkOfferingsParams{} p := &ListNetworkOfferingsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["name"] = name p.p["name"] = name
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListNetworkOfferings(p) l, err := s.ListNetworkOfferings(p)
if err != nil { if err != nil {
return "", err return "", err
@ -838,13 +844,13 @@ func (s *NetworkOfferingService) GetNetworkOfferingID(name string) (string, erro
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *NetworkOfferingService) GetNetworkOfferingByName(name string) (*NetworkOffering, int, error) { func (s *NetworkOfferingService) GetNetworkOfferingByName(name string, opts ...OptionFunc) (*NetworkOffering, int, error) {
id, err := s.GetNetworkOfferingID(name) id, err := s.GetNetworkOfferingID(name, opts...)
if err != nil { if err != nil {
return nil, -1, err return nil, -1, err
} }
r, count, err := s.GetNetworkOfferingByID(id) r, count, err := s.GetNetworkOfferingByID(id, opts...)
if err != nil { if err != nil {
return nil, count, err return nil, count, err
} }
@ -852,12 +858,18 @@ func (s *NetworkOfferingService) GetNetworkOfferingByName(name string) (*Network
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *NetworkOfferingService) GetNetworkOfferingByID(id string) (*NetworkOffering, int, error) { func (s *NetworkOfferingService) GetNetworkOfferingByID(id string, opts ...OptionFunc) (*NetworkOffering, int, error) {
p := &ListNetworkOfferingsParams{} p := &ListNetworkOfferingsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListNetworkOfferings(p) l, err := s.ListNetworkOfferings(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -935,27 +935,23 @@ func (s *NetworkService) NewListNetworksParams() *ListNetworksParams {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *NetworkService) GetNetworkID(keyword string) (string, error) { func (s *NetworkService) GetNetworkID(keyword string, opts ...OptionFunc) (string, error) {
p := &ListNetworksParams{} p := &ListNetworksParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["keyword"] = keyword p.p["keyword"] = keyword
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListNetworks(p) l, err := s.ListNetworks(p)
if err != nil { if err != nil {
return "", err return "", err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListNetworks(p)
if err != nil {
return "", err
}
}
if l.Count == 0 { if l.Count == 0 {
return "", fmt.Errorf("No match found for %s: %+v", keyword, l) return "", fmt.Errorf("No match found for %s: %+v", keyword, l)
} }
@ -975,13 +971,13 @@ func (s *NetworkService) GetNetworkID(keyword string) (string, error) {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *NetworkService) GetNetworkByName(name string) (*Network, int, error) { func (s *NetworkService) GetNetworkByName(name string, opts ...OptionFunc) (*Network, int, error) {
id, err := s.GetNetworkID(name) id, err := s.GetNetworkID(name, opts...)
if err != nil { if err != nil {
return nil, -1, err return nil, -1, err
} }
r, count, err := s.GetNetworkByID(id) r, count, err := s.GetNetworkByID(id, opts...)
if err != nil { if err != nil {
return nil, count, err return nil, count, err
} }
@ -989,12 +985,18 @@ func (s *NetworkService) GetNetworkByName(name string) (*Network, int, error) {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *NetworkService) GetNetworkByID(id string) (*Network, int, error) { func (s *NetworkService) GetNetworkByID(id string, opts ...OptionFunc) (*Network, int, error) {
p := &ListNetworksParams{} p := &ListNetworksParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListNetworks(p) l, err := s.ListNetworks(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -1005,21 +1007,6 @@ func (s *NetworkService) GetNetworkByID(id string) (*Network, int, error) {
return nil, -1, err return nil, -1, err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListNetworks(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 { if l.Count == 0 {
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l) return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
} }
@ -1801,12 +1788,18 @@ func (s *NetworkService) NewListPhysicalNetworksParams() *ListPhysicalNetworksPa
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *NetworkService) GetPhysicalNetworkID(name string) (string, error) { func (s *NetworkService) GetPhysicalNetworkID(name string, opts ...OptionFunc) (string, error) {
p := &ListPhysicalNetworksParams{} p := &ListPhysicalNetworksParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["name"] = name p.p["name"] = name
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListPhysicalNetworks(p) l, err := s.ListPhysicalNetworks(p)
if err != nil { if err != nil {
return "", err return "", err
@ -1831,13 +1824,13 @@ func (s *NetworkService) GetPhysicalNetworkID(name string) (string, error) {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *NetworkService) GetPhysicalNetworkByName(name string) (*PhysicalNetwork, int, error) { func (s *NetworkService) GetPhysicalNetworkByName(name string, opts ...OptionFunc) (*PhysicalNetwork, int, error) {
id, err := s.GetPhysicalNetworkID(name) id, err := s.GetPhysicalNetworkID(name, opts...)
if err != nil { if err != nil {
return nil, -1, err return nil, -1, err
} }
r, count, err := s.GetPhysicalNetworkByID(id) r, count, err := s.GetPhysicalNetworkByID(id, opts...)
if err != nil { if err != nil {
return nil, count, err return nil, count, err
} }
@ -1845,12 +1838,18 @@ func (s *NetworkService) GetPhysicalNetworkByName(name string) (*PhysicalNetwork
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *NetworkService) GetPhysicalNetworkByID(id string) (*PhysicalNetwork, int, error) { func (s *NetworkService) GetPhysicalNetworkByID(id string, opts ...OptionFunc) (*PhysicalNetwork, int, error) {
p := &ListPhysicalNetworksParams{} p := &ListPhysicalNetworksParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListPhysicalNetworks(p) l, err := s.ListPhysicalNetworks(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -2410,12 +2409,18 @@ func (s *NetworkService) NewListNetworkServiceProvidersParams() *ListNetworkServ
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *NetworkService) GetNetworkServiceProviderID(name string) (string, error) { func (s *NetworkService) GetNetworkServiceProviderID(name string, opts ...OptionFunc) (string, error) {
p := &ListNetworkServiceProvidersParams{} p := &ListNetworkServiceProvidersParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["name"] = name p.p["name"] = name
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListNetworkServiceProviders(p) l, err := s.ListNetworkServiceProviders(p)
if err != nil { if err != nil {
return "", err return "", err
@ -2862,12 +2867,18 @@ func (s *NetworkService) NewListStorageNetworkIpRangeParams() *ListStorageNetwor
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *NetworkService) GetStorageNetworkIpRangeByID(id string) (*StorageNetworkIpRange, int, error) { func (s *NetworkService) GetStorageNetworkIpRangeByID(id string, opts ...OptionFunc) (*StorageNetworkIpRange, int, error) {
p := &ListStorageNetworkIpRangeParams{} p := &ListStorageNetworkIpRangeParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListStorageNetworkIpRange(p) l, err := s.ListStorageNetworkIpRange(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -3111,13 +3122,19 @@ func (s *NetworkService) NewListPaloAltoFirewallNetworksParams(lbdeviceid string
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *NetworkService) GetPaloAltoFirewallNetworkID(keyword string, lbdeviceid string) (string, error) { func (s *NetworkService) GetPaloAltoFirewallNetworkID(keyword string, lbdeviceid string, opts ...OptionFunc) (string, error) {
p := &ListPaloAltoFirewallNetworksParams{} p := &ListPaloAltoFirewallNetworksParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["keyword"] = keyword p.p["keyword"] = keyword
p.p["lbdeviceid"] = lbdeviceid p.p["lbdeviceid"] = lbdeviceid
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListPaloAltoFirewallNetworks(p) l, err := s.ListPaloAltoFirewallNetworks(p)
if err != nil { if err != nil {
return "", err return "", err
@ -3306,13 +3323,19 @@ func (s *NetworkService) NewListNetscalerLoadBalancerNetworksParams(lbdeviceid s
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *NetworkService) GetNetscalerLoadBalancerNetworkID(keyword string, lbdeviceid string) (string, error) { func (s *NetworkService) GetNetscalerLoadBalancerNetworkID(keyword string, lbdeviceid string, opts ...OptionFunc) (string, error) {
p := &ListNetscalerLoadBalancerNetworksParams{} p := &ListNetscalerLoadBalancerNetworksParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["keyword"] = keyword p.p["keyword"] = keyword
p.p["lbdeviceid"] = lbdeviceid p.p["lbdeviceid"] = lbdeviceid
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListNetscalerLoadBalancerNetworks(p) l, err := s.ListNetscalerLoadBalancerNetworks(p)
if err != nil { if err != nil {
return "", err return "", err
@ -3501,13 +3524,19 @@ func (s *NetworkService) NewListNiciraNvpDeviceNetworksParams(nvpdeviceid string
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *NetworkService) GetNiciraNvpDeviceNetworkID(keyword string, nvpdeviceid string) (string, error) { func (s *NetworkService) GetNiciraNvpDeviceNetworkID(keyword string, nvpdeviceid string, opts ...OptionFunc) (string, error) {
p := &ListNiciraNvpDeviceNetworksParams{} p := &ListNiciraNvpDeviceNetworksParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["keyword"] = keyword p.p["keyword"] = keyword
p.p["nvpdeviceid"] = nvpdeviceid p.p["nvpdeviceid"] = nvpdeviceid
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListNiciraNvpDeviceNetworks(p) l, err := s.ListNiciraNvpDeviceNetworks(p)
if err != nil { if err != nil {
return "", err return "", err
@ -3935,12 +3964,18 @@ func (s *NetworkService) NewListOpenDaylightControllersParams() *ListOpenDayligh
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *NetworkService) GetOpenDaylightControllerByID(id string) (*OpenDaylightController, int, error) { func (s *NetworkService) GetOpenDaylightControllerByID(id string, opts ...OptionFunc) (*OpenDaylightController, int, error) {
p := &ListOpenDaylightControllersParams{} p := &ListOpenDaylightControllersParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListOpenDaylightControllers(p) l, err := s.ListOpenDaylightControllers(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -205,12 +205,18 @@ func (s *OvsElementService) NewListOvsElementsParams() *ListOvsElementsParams {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *OvsElementService) GetOvsElementByID(id string) (*OvsElement, int, error) { func (s *OvsElementService) GetOvsElementByID(id string, opts ...OptionFunc) (*OvsElement, int, error) {
p := &ListOvsElementsParams{} p := &ListOvsElementsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListOvsElements(p) l, err := s.ListOvsElements(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -463,12 +463,18 @@ func (s *PodService) NewListPodsParams() *ListPodsParams {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *PodService) GetPodID(name string) (string, error) { func (s *PodService) GetPodID(name string, opts ...OptionFunc) (string, error) {
p := &ListPodsParams{} p := &ListPodsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["name"] = name p.p["name"] = name
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListPods(p) l, err := s.ListPods(p)
if err != nil { if err != nil {
return "", err return "", err
@ -493,13 +499,13 @@ func (s *PodService) GetPodID(name string) (string, error) {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *PodService) GetPodByName(name string) (*Pod, int, error) { func (s *PodService) GetPodByName(name string, opts ...OptionFunc) (*Pod, int, error) {
id, err := s.GetPodID(name) id, err := s.GetPodID(name, opts...)
if err != nil { if err != nil {
return nil, -1, err return nil, -1, err
} }
r, count, err := s.GetPodByID(id) r, count, err := s.GetPodByID(id, opts...)
if err != nil { if err != nil {
return nil, count, err return nil, count, err
} }
@ -507,12 +513,18 @@ func (s *PodService) GetPodByName(name string) (*Pod, int, error) {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *PodService) GetPodByID(id string) (*Pod, int, error) { func (s *PodService) GetPodByID(id string, opts ...OptionFunc) (*Pod, int, error) {
p := &ListPodsParams{} p := &ListPodsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListPods(p) l, err := s.ListPods(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -168,12 +168,18 @@ func (s *PoolService) NewListStoragePoolsParams() *ListStoragePoolsParams {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *PoolService) GetStoragePoolID(name string) (string, error) { func (s *PoolService) GetStoragePoolID(name string, opts ...OptionFunc) (string, error) {
p := &ListStoragePoolsParams{} p := &ListStoragePoolsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["name"] = name p.p["name"] = name
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListStoragePools(p) l, err := s.ListStoragePools(p)
if err != nil { if err != nil {
return "", err return "", err
@ -198,13 +204,13 @@ func (s *PoolService) GetStoragePoolID(name string) (string, error) {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *PoolService) GetStoragePoolByName(name string) (*StoragePool, int, error) { func (s *PoolService) GetStoragePoolByName(name string, opts ...OptionFunc) (*StoragePool, int, error) {
id, err := s.GetStoragePoolID(name) id, err := s.GetStoragePoolID(name, opts...)
if err != nil { if err != nil {
return nil, -1, err return nil, -1, err
} }
r, count, err := s.GetStoragePoolByID(id) r, count, err := s.GetStoragePoolByID(id, opts...)
if err != nil { if err != nil {
return nil, count, err return nil, count, err
} }
@ -212,12 +218,18 @@ func (s *PoolService) GetStoragePoolByName(name string) (*StoragePool, int, erro
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *PoolService) GetStoragePoolByID(id string) (*StoragePool, int, error) { func (s *PoolService) GetStoragePoolByID(id string, opts ...OptionFunc) (*StoragePool, int, error) {
p := &ListStoragePoolsParams{} p := &ListStoragePoolsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListStoragePools(p) l, err := s.ListStoragePools(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -319,12 +319,18 @@ func (s *PortableIPService) NewListPortableIpRangesParams() *ListPortableIpRange
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *PortableIPService) GetPortableIpRangeByID(id string) (*PortableIpRange, int, error) { func (s *PortableIPService) GetPortableIpRangeByID(id string, opts ...OptionFunc) (*PortableIpRange, int, error) {
p := &ListPortableIpRangesParams{} p := &ListPortableIpRangesParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListPortableIpRanges(p) l, err := s.ListPortableIpRanges(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -805,12 +805,18 @@ func (s *ProjectService) NewListProjectsParams() *ListProjectsParams {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *ProjectService) GetProjectID(name string) (string, error) { func (s *ProjectService) GetProjectID(name string, opts ...OptionFunc) (string, error) {
p := &ListProjectsParams{} p := &ListProjectsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["name"] = name p.p["name"] = name
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListProjects(p) l, err := s.ListProjects(p)
if err != nil { if err != nil {
return "", err return "", err
@ -835,13 +841,13 @@ func (s *ProjectService) GetProjectID(name string) (string, error) {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *ProjectService) GetProjectByName(name string) (*Project, int, error) { func (s *ProjectService) GetProjectByName(name string, opts ...OptionFunc) (*Project, int, error) {
id, err := s.GetProjectID(name) id, err := s.GetProjectID(name, opts...)
if err != nil { if err != nil {
return nil, -1, err return nil, -1, err
} }
r, count, err := s.GetProjectByID(id) r, count, err := s.GetProjectByID(id, opts...)
if err != nil { if err != nil {
return nil, count, err return nil, count, err
} }
@ -849,12 +855,18 @@ func (s *ProjectService) GetProjectByName(name string) (*Project, int, error) {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *ProjectService) GetProjectByID(id string) (*Project, int, error) { func (s *ProjectService) GetProjectByID(id string, opts ...OptionFunc) (*Project, int, error) {
p := &ListProjectsParams{} p := &ListProjectsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListProjects(p) l, err := s.ListProjects(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -1098,12 +1110,18 @@ func (s *ProjectService) NewListProjectInvitationsParams() *ListProjectInvitatio
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *ProjectService) GetProjectInvitationByID(id string) (*ProjectInvitation, int, error) { func (s *ProjectService) GetProjectInvitationByID(id string, opts ...OptionFunc) (*ProjectInvitation, int, error) {
p := &ListProjectInvitationsParams{} p := &ListProjectInvitationsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListProjectInvitations(p) l, err := s.ListProjectInvitations(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -1114,21 +1132,6 @@ func (s *ProjectService) GetProjectInvitationByID(id string) (*ProjectInvitation
return nil, -1, err return nil, -1, err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListProjectInvitations(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 { if l.Count == 0 {
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l) return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
} }

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -80,12 +80,18 @@ func (s *ResourcetagsService) NewListStorageTagsParams() *ListStorageTagsParams
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *ResourcetagsService) GetStorageTagID(keyword string) (string, error) { func (s *ResourcetagsService) GetStorageTagID(keyword string, opts ...OptionFunc) (string, error) {
p := &ListStorageTagsParams{} p := &ListStorageTagsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["keyword"] = keyword p.p["keyword"] = keyword
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListStorageTags(p) l, err := s.ListStorageTags(p)
if err != nil { if err != nil {
return "", err return "", err

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -952,27 +952,23 @@ func (s *RouterService) NewListRoutersParams() *ListRoutersParams {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *RouterService) GetRouterID(name string) (string, error) { func (s *RouterService) GetRouterID(name string, opts ...OptionFunc) (string, error) {
p := &ListRoutersParams{} p := &ListRoutersParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["name"] = name p.p["name"] = name
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListRouters(p) l, err := s.ListRouters(p)
if err != nil { if err != nil {
return "", err return "", err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListRouters(p)
if err != nil {
return "", err
}
}
if l.Count == 0 { if l.Count == 0 {
return "", fmt.Errorf("No match found for %s: %+v", name, l) return "", fmt.Errorf("No match found for %s: %+v", name, l)
} }
@ -992,13 +988,13 @@ func (s *RouterService) GetRouterID(name string) (string, error) {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *RouterService) GetRouterByName(name string) (*Router, int, error) { func (s *RouterService) GetRouterByName(name string, opts ...OptionFunc) (*Router, int, error) {
id, err := s.GetRouterID(name) id, err := s.GetRouterID(name, opts...)
if err != nil { if err != nil {
return nil, -1, err return nil, -1, err
} }
r, count, err := s.GetRouterByID(id) r, count, err := s.GetRouterByID(id, opts...)
if err != nil { if err != nil {
return nil, count, err return nil, count, err
} }
@ -1006,12 +1002,18 @@ func (s *RouterService) GetRouterByName(name string) (*Router, int, error) {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *RouterService) GetRouterByID(id string) (*Router, int, error) { func (s *RouterService) GetRouterByID(id string, opts ...OptionFunc) (*Router, int, error) {
p := &ListRoutersParams{} p := &ListRoutersParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListRouters(p) l, err := s.ListRouters(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -1022,21 +1024,6 @@ func (s *RouterService) GetRouterByID(id string) (*Router, int, error) {
return nil, -1, err return nil, -1, err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListRouters(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 { if l.Count == 0 {
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l) return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
} }
@ -1227,12 +1214,18 @@ func (s *RouterService) NewListVirtualRouterElementsParams() *ListVirtualRouterE
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *RouterService) GetVirtualRouterElementByID(id string) (*VirtualRouterElement, int, error) { func (s *RouterService) GetVirtualRouterElementByID(id string, opts ...OptionFunc) (*VirtualRouterElement, int, error) {
p := &ListVirtualRouterElementsParams{} p := &ListVirtualRouterElementsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListVirtualRouterElements(p) l, err := s.ListVirtualRouterElements(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -1017,27 +1017,23 @@ func (s *SecurityGroupService) NewListSecurityGroupsParams() *ListSecurityGroups
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *SecurityGroupService) GetSecurityGroupID(keyword string) (string, error) { func (s *SecurityGroupService) GetSecurityGroupID(keyword string, opts ...OptionFunc) (string, error) {
p := &ListSecurityGroupsParams{} p := &ListSecurityGroupsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["keyword"] = keyword p.p["keyword"] = keyword
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListSecurityGroups(p) l, err := s.ListSecurityGroups(p)
if err != nil { if err != nil {
return "", err return "", err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListSecurityGroups(p)
if err != nil {
return "", err
}
}
if l.Count == 0 { if l.Count == 0 {
return "", fmt.Errorf("No match found for %s: %+v", keyword, l) return "", fmt.Errorf("No match found for %s: %+v", keyword, l)
} }
@ -1057,13 +1053,13 @@ func (s *SecurityGroupService) GetSecurityGroupID(keyword string) (string, error
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *SecurityGroupService) GetSecurityGroupByName(name string) (*SecurityGroup, int, error) { func (s *SecurityGroupService) GetSecurityGroupByName(name string, opts ...OptionFunc) (*SecurityGroup, int, error) {
id, err := s.GetSecurityGroupID(name) id, err := s.GetSecurityGroupID(name, opts...)
if err != nil { if err != nil {
return nil, -1, err return nil, -1, err
} }
r, count, err := s.GetSecurityGroupByID(id) r, count, err := s.GetSecurityGroupByID(id, opts...)
if err != nil { if err != nil {
return nil, count, err return nil, count, err
} }
@ -1071,12 +1067,18 @@ func (s *SecurityGroupService) GetSecurityGroupByName(name string) (*SecurityGro
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *SecurityGroupService) GetSecurityGroupByID(id string) (*SecurityGroup, int, error) { func (s *SecurityGroupService) GetSecurityGroupByID(id string, opts ...OptionFunc) (*SecurityGroup, int, error) {
p := &ListSecurityGroupsParams{} p := &ListSecurityGroupsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListSecurityGroups(p) l, err := s.ListSecurityGroups(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -1087,21 +1089,6 @@ func (s *SecurityGroupService) GetSecurityGroupByID(id string) (*SecurityGroup,
return nil, -1, err return nil, -1, err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListSecurityGroups(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 { if l.Count == 0 {
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l) return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
} }

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -717,12 +717,18 @@ func (s *ServiceOfferingService) NewListServiceOfferingsParams() *ListServiceOff
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *ServiceOfferingService) GetServiceOfferingID(name string) (string, error) { func (s *ServiceOfferingService) GetServiceOfferingID(name string, opts ...OptionFunc) (string, error) {
p := &ListServiceOfferingsParams{} p := &ListServiceOfferingsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["name"] = name p.p["name"] = name
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListServiceOfferings(p) l, err := s.ListServiceOfferings(p)
if err != nil { if err != nil {
return "", err return "", err
@ -747,13 +753,13 @@ func (s *ServiceOfferingService) GetServiceOfferingID(name string) (string, erro
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *ServiceOfferingService) GetServiceOfferingByName(name string) (*ServiceOffering, int, error) { func (s *ServiceOfferingService) GetServiceOfferingByName(name string, opts ...OptionFunc) (*ServiceOffering, int, error) {
id, err := s.GetServiceOfferingID(name) id, err := s.GetServiceOfferingID(name, opts...)
if err != nil { if err != nil {
return nil, -1, err return nil, -1, err
} }
r, count, err := s.GetServiceOfferingByID(id) r, count, err := s.GetServiceOfferingByID(id, opts...)
if err != nil { if err != nil {
return nil, count, err return nil, count, err
} }
@ -761,12 +767,18 @@ func (s *ServiceOfferingService) GetServiceOfferingByName(name string) (*Service
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *ServiceOfferingService) GetServiceOfferingByID(id string) (*ServiceOffering, int, error) { func (s *ServiceOfferingService) GetServiceOfferingByID(id string, opts ...OptionFunc) (*ServiceOffering, int, error) {
p := &ListServiceOfferingsParams{} p := &ListServiceOfferingsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListServiceOfferings(p) l, err := s.ListServiceOfferings(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -374,27 +374,23 @@ func (s *SnapshotService) NewListSnapshotsParams() *ListSnapshotsParams {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *SnapshotService) GetSnapshotID(name string) (string, error) { func (s *SnapshotService) GetSnapshotID(name string, opts ...OptionFunc) (string, error) {
p := &ListSnapshotsParams{} p := &ListSnapshotsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["name"] = name p.p["name"] = name
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListSnapshots(p) l, err := s.ListSnapshots(p)
if err != nil { if err != nil {
return "", err return "", err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListSnapshots(p)
if err != nil {
return "", err
}
}
if l.Count == 0 { if l.Count == 0 {
return "", fmt.Errorf("No match found for %s: %+v", name, l) return "", fmt.Errorf("No match found for %s: %+v", name, l)
} }
@ -414,13 +410,13 @@ func (s *SnapshotService) GetSnapshotID(name string) (string, error) {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *SnapshotService) GetSnapshotByName(name string) (*Snapshot, int, error) { func (s *SnapshotService) GetSnapshotByName(name string, opts ...OptionFunc) (*Snapshot, int, error) {
id, err := s.GetSnapshotID(name) id, err := s.GetSnapshotID(name, opts...)
if err != nil { if err != nil {
return nil, -1, err return nil, -1, err
} }
r, count, err := s.GetSnapshotByID(id) r, count, err := s.GetSnapshotByID(id, opts...)
if err != nil { if err != nil {
return nil, count, err return nil, count, err
} }
@ -428,12 +424,18 @@ func (s *SnapshotService) GetSnapshotByName(name string) (*Snapshot, int, error)
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *SnapshotService) GetSnapshotByID(id string) (*Snapshot, int, error) { func (s *SnapshotService) GetSnapshotByID(id string, opts ...OptionFunc) (*Snapshot, int, error) {
p := &ListSnapshotsParams{} p := &ListSnapshotsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListSnapshots(p) l, err := s.ListSnapshots(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -444,21 +446,6 @@ func (s *SnapshotService) GetSnapshotByID(id string) (*Snapshot, int, error) {
return nil, -1, err return nil, -1, err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListSnapshots(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 { if l.Count == 0 {
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l) return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
} }
@ -955,12 +942,18 @@ func (s *SnapshotService) NewListSnapshotPoliciesParams() *ListSnapshotPoliciesP
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *SnapshotService) GetSnapshotPolicyByID(id string) (*SnapshotPolicy, int, error) { func (s *SnapshotService) GetSnapshotPolicyByID(id string, opts ...OptionFunc) (*SnapshotPolicy, int, error) {
p := &ListSnapshotPoliciesParams{} p := &ListSnapshotPoliciesParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListSnapshotPolicies(p) l, err := s.ListSnapshotPolicies(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -1282,27 +1275,23 @@ func (s *SnapshotService) NewListVMSnapshotParams() *ListVMSnapshotParams {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *SnapshotService) GetVMSnapshotID(name string) (string, error) { func (s *SnapshotService) GetVMSnapshotID(name string, opts ...OptionFunc) (string, error) {
p := &ListVMSnapshotParams{} p := &ListVMSnapshotParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["name"] = name p.p["name"] = name
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListVMSnapshot(p) l, err := s.ListVMSnapshot(p)
if err != nil { if err != nil {
return "", err return "", err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListVMSnapshot(p)
if err != nil {
return "", err
}
}
if l.Count == 0 { if l.Count == 0 {
return "", fmt.Errorf("No match found for %s: %+v", name, l) return "", fmt.Errorf("No match found for %s: %+v", name, l)
} }

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -182,12 +182,18 @@ func (s *SwiftService) NewListSwiftsParams() *ListSwiftsParams {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *SwiftService) GetSwiftID(keyword string) (string, error) { func (s *SwiftService) GetSwiftID(keyword string, opts ...OptionFunc) (string, error) {
p := &ListSwiftsParams{} p := &ListSwiftsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["keyword"] = keyword p.p["keyword"] = keyword
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListSwifts(p) l, err := s.ListSwifts(p)
if err != nil { if err != nil {
return "", err return "", err

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -572,12 +572,18 @@ func (s *SystemVMService) NewListSystemVmsParams() *ListSystemVmsParams {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *SystemVMService) GetSystemVmID(name string) (string, error) { func (s *SystemVMService) GetSystemVmID(name string, opts ...OptionFunc) (string, error) {
p := &ListSystemVmsParams{} p := &ListSystemVmsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["name"] = name p.p["name"] = name
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListSystemVms(p) l, err := s.ListSystemVms(p)
if err != nil { if err != nil {
return "", err return "", err
@ -602,13 +608,13 @@ func (s *SystemVMService) GetSystemVmID(name string) (string, error) {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *SystemVMService) GetSystemVmByName(name string) (*SystemVm, int, error) { func (s *SystemVMService) GetSystemVmByName(name string, opts ...OptionFunc) (*SystemVm, int, error) {
id, err := s.GetSystemVmID(name) id, err := s.GetSystemVmID(name, opts...)
if err != nil { if err != nil {
return nil, -1, err return nil, -1, err
} }
r, count, err := s.GetSystemVmByID(id) r, count, err := s.GetSystemVmByID(id, opts...)
if err != nil { if err != nil {
return nil, count, err return nil, count, err
} }
@ -616,12 +622,18 @@ func (s *SystemVMService) GetSystemVmByName(name string) (*SystemVm, int, error)
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *SystemVMService) GetSystemVmByID(id string) (*SystemVm, int, error) { func (s *SystemVMService) GetSystemVmByID(id string, opts ...OptionFunc) (*SystemVm, int, error) {
p := &ListSystemVmsParams{} p := &ListSystemVmsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListSystemVms(p) l, err := s.ListSystemVms(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -1314,7 +1314,7 @@ func (s *TemplateService) NewListTemplatesParams(templatefilter string) *ListTem
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *TemplateService) GetTemplateID(name string, templatefilter string, zoneid string) (string, error) { func (s *TemplateService) GetTemplateID(name string, templatefilter string, zoneid string, opts ...OptionFunc) (string, error) {
p := &ListTemplatesParams{} p := &ListTemplatesParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
@ -1322,21 +1322,17 @@ func (s *TemplateService) GetTemplateID(name string, templatefilter string, zone
p.p["templatefilter"] = templatefilter p.p["templatefilter"] = templatefilter
p.p["zoneid"] = zoneid p.p["zoneid"] = zoneid
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListTemplates(p) l, err := s.ListTemplates(p)
if err != nil { if err != nil {
return "", err return "", err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListTemplates(p)
if err != nil {
return "", err
}
}
if l.Count == 0 { if l.Count == 0 {
return "", fmt.Errorf("No match found for %s: %+v", name, l) return "", fmt.Errorf("No match found for %s: %+v", name, l)
} }
@ -1356,13 +1352,13 @@ func (s *TemplateService) GetTemplateID(name string, templatefilter string, zone
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *TemplateService) GetTemplateByName(name string, templatefilter string, zoneid string) (*Template, int, error) { func (s *TemplateService) GetTemplateByName(name string, templatefilter string, zoneid string, opts ...OptionFunc) (*Template, int, error) {
id, err := s.GetTemplateID(name, templatefilter, zoneid) id, err := s.GetTemplateID(name, templatefilter, zoneid, opts...)
if err != nil { if err != nil {
return nil, -1, err return nil, -1, err
} }
r, count, err := s.GetTemplateByID(id, templatefilter) r, count, err := s.GetTemplateByID(id, templatefilter, opts...)
if err != nil { if err != nil {
return nil, count, err return nil, count, err
} }
@ -1370,13 +1366,19 @@ func (s *TemplateService) GetTemplateByName(name string, templatefilter string,
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *TemplateService) GetTemplateByID(id string, templatefilter string) (*Template, int, error) { func (s *TemplateService) GetTemplateByID(id string, templatefilter string, opts ...OptionFunc) (*Template, int, error) {
p := &ListTemplatesParams{} p := &ListTemplatesParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
p.p["templatefilter"] = templatefilter p.p["templatefilter"] = templatefilter
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListTemplates(p) l, err := s.ListTemplates(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -1387,21 +1389,6 @@ func (s *TemplateService) GetTemplateByID(id string, templatefilter string) (*Te
return nil, -1, err return nil, -1, err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListTemplates(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 { if l.Count == 0 {
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l) return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
} }
@ -1636,13 +1623,19 @@ func (s *TemplateService) NewListTemplatePermissionsParams(id string) *ListTempl
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *TemplateService) GetTemplatePermissionByID(id string) (*TemplatePermission, int, error) { func (s *TemplateService) GetTemplatePermissionByID(id string, opts ...OptionFunc) (*TemplatePermission, int, error) {
p := &ListTemplatePermissionsParams{} p := &ListTemplatePermissionsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListTemplatePermissions(p) l, err := s.ListTemplatePermissions(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -202,12 +202,18 @@ func (s *UCSService) NewListUcsManagersParams() *ListUcsManagersParams {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *UCSService) GetUcsManagerID(keyword string) (string, error) { func (s *UCSService) GetUcsManagerID(keyword string, opts ...OptionFunc) (string, error) {
p := &ListUcsManagersParams{} p := &ListUcsManagersParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["keyword"] = keyword p.p["keyword"] = keyword
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListUcsManagers(p) l, err := s.ListUcsManagers(p)
if err != nil { if err != nil {
return "", err return "", err
@ -232,13 +238,13 @@ func (s *UCSService) GetUcsManagerID(keyword string) (string, error) {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *UCSService) GetUcsManagerByName(name string) (*UcsManager, int, error) { func (s *UCSService) GetUcsManagerByName(name string, opts ...OptionFunc) (*UcsManager, int, error) {
id, err := s.GetUcsManagerID(name) id, err := s.GetUcsManagerID(name, opts...)
if err != nil { if err != nil {
return nil, -1, err return nil, -1, err
} }
r, count, err := s.GetUcsManagerByID(id) r, count, err := s.GetUcsManagerByID(id, opts...)
if err != nil { if err != nil {
return nil, count, err return nil, count, err
} }
@ -246,12 +252,18 @@ func (s *UCSService) GetUcsManagerByName(name string) (*UcsManager, int, error)
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *UCSService) GetUcsManagerByID(id string) (*UcsManager, int, error) { func (s *UCSService) GetUcsManagerByID(id string, opts ...OptionFunc) (*UcsManager, int, error) {
p := &ListUcsManagersParams{} p := &ListUcsManagersParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id 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) l, err := s.ListUcsManagers(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -325,13 +325,19 @@ func (s *UsageService) NewListTrafficTypesParams(physicalnetworkid string) *List
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *UsageService) GetTrafficTypeID(keyword string, physicalnetworkid string) (string, error) { func (s *UsageService) GetTrafficTypeID(keyword string, physicalnetworkid string, opts ...OptionFunc) (string, error) {
p := &ListTrafficTypesParams{} p := &ListTrafficTypesParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["keyword"] = keyword p.p["keyword"] = keyword
p.p["physicalnetworkid"] = physicalnetworkid p.p["physicalnetworkid"] = physicalnetworkid
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListTrafficTypes(p) l, err := s.ListTrafficTypes(p)
if err != nil { if err != nil {
return "", err return "", err

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -535,12 +535,18 @@ func (s *UserService) NewListUsersParams() *ListUsersParams {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *UserService) GetUserByID(id string) (*User, int, error) { func (s *UserService) GetUserByID(id string, opts ...OptionFunc) (*User, int, error) {
p := &ListUsersParams{} p := &ListUsersParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListUsers(p) l, err := s.ListUsers(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -489,12 +489,18 @@ func (s *VLANService) NewListVlanIpRangesParams() *ListVlanIpRangesParams {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *VLANService) GetVlanIpRangeByID(id string) (*VlanIpRange, int, error) { func (s *VLANService) GetVlanIpRangeByID(id string, opts ...OptionFunc) (*VlanIpRange, int, error) {
p := &ListVlanIpRangesParams{} p := &ListVlanIpRangesParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListVlanIpRanges(p) l, err := s.ListVlanIpRanges(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -505,21 +511,6 @@ func (s *VLANService) GetVlanIpRangeByID(id string) (*VlanIpRange, int, error) {
return nil, -1, err return nil, -1, err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListVlanIpRanges(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 { if l.Count == 0 {
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l) return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
} }
@ -879,12 +870,18 @@ func (s *VLANService) NewListDedicatedGuestVlanRangesParams() *ListDedicatedGues
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *VLANService) GetDedicatedGuestVlanRangeByID(id string) (*DedicatedGuestVlanRange, int, error) { func (s *VLANService) GetDedicatedGuestVlanRangeByID(id string, opts ...OptionFunc) (*DedicatedGuestVlanRange, int, error) {
p := &ListDedicatedGuestVlanRangesParams{} p := &ListDedicatedGuestVlanRangesParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id 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) l, err := s.ListDedicatedGuestVlanRanges(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -895,21 +892,6 @@ func (s *VLANService) GetDedicatedGuestVlanRangeByID(id string) (*DedicatedGuest
return nil, -1, err return nil, -1, err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
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 { if l.Count == 0 {
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l) return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
} }

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -368,27 +368,23 @@ func (s *VMGroupService) NewListInstanceGroupsParams() *ListInstanceGroupsParams
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *VMGroupService) GetInstanceGroupID(name string) (string, error) { func (s *VMGroupService) GetInstanceGroupID(name string, opts ...OptionFunc) (string, error) {
p := &ListInstanceGroupsParams{} p := &ListInstanceGroupsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["name"] = name p.p["name"] = name
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListInstanceGroups(p) l, err := s.ListInstanceGroups(p)
if err != nil { if err != nil {
return "", err return "", err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListInstanceGroups(p)
if err != nil {
return "", err
}
}
if l.Count == 0 { if l.Count == 0 {
return "", fmt.Errorf("No match found for %s: %+v", name, l) return "", fmt.Errorf("No match found for %s: %+v", name, l)
} }
@ -408,13 +404,13 @@ func (s *VMGroupService) GetInstanceGroupID(name string) (string, error) {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *VMGroupService) GetInstanceGroupByName(name string) (*InstanceGroup, int, error) { func (s *VMGroupService) GetInstanceGroupByName(name string, opts ...OptionFunc) (*InstanceGroup, int, error) {
id, err := s.GetInstanceGroupID(name) id, err := s.GetInstanceGroupID(name, opts...)
if err != nil { if err != nil {
return nil, -1, err return nil, -1, err
} }
r, count, err := s.GetInstanceGroupByID(id) r, count, err := s.GetInstanceGroupByID(id, opts...)
if err != nil { if err != nil {
return nil, count, err return nil, count, err
} }
@ -422,12 +418,18 @@ func (s *VMGroupService) GetInstanceGroupByName(name string) (*InstanceGroup, in
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *VMGroupService) GetInstanceGroupByID(id string) (*InstanceGroup, int, error) { func (s *VMGroupService) GetInstanceGroupByID(id string, opts ...OptionFunc) (*InstanceGroup, int, error) {
p := &ListInstanceGroupsParams{} p := &ListInstanceGroupsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListInstanceGroups(p) l, err := s.ListInstanceGroups(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -438,21 +440,6 @@ func (s *VMGroupService) GetInstanceGroupByID(id string) (*InstanceGroup, int, e
return nil, -1, err return nil, -1, err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListInstanceGroups(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 { if l.Count == 0 {
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l) return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
} }

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -578,27 +578,23 @@ func (s *VPCService) NewListVPCsParams() *ListVPCsParams {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *VPCService) GetVPCID(name string) (string, error) { func (s *VPCService) GetVPCID(name string, opts ...OptionFunc) (string, error) {
p := &ListVPCsParams{} p := &ListVPCsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["name"] = name p.p["name"] = name
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListVPCs(p) l, err := s.ListVPCs(p)
if err != nil { if err != nil {
return "", err return "", err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListVPCs(p)
if err != nil {
return "", err
}
}
if l.Count == 0 { if l.Count == 0 {
return "", fmt.Errorf("No match found for %s: %+v", name, l) return "", fmt.Errorf("No match found for %s: %+v", name, l)
} }
@ -618,13 +614,13 @@ func (s *VPCService) GetVPCID(name string) (string, error) {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *VPCService) GetVPCByName(name string) (*VPC, int, error) { func (s *VPCService) GetVPCByName(name string, opts ...OptionFunc) (*VPC, int, error) {
id, err := s.GetVPCID(name) id, err := s.GetVPCID(name, opts...)
if err != nil { if err != nil {
return nil, -1, err return nil, -1, err
} }
r, count, err := s.GetVPCByID(id) r, count, err := s.GetVPCByID(id, opts...)
if err != nil { if err != nil {
return nil, count, err return nil, count, err
} }
@ -632,12 +628,18 @@ func (s *VPCService) GetVPCByName(name string) (*VPC, int, error) {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *VPCService) GetVPCByID(id string) (*VPC, int, error) { func (s *VPCService) GetVPCByID(id string, opts ...OptionFunc) (*VPC, int, error) {
p := &ListVPCsParams{} p := &ListVPCsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListVPCs(p) l, err := s.ListVPCs(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -648,21 +650,6 @@ func (s *VPCService) GetVPCByID(id string) (*VPC, int, error) {
return nil, -1, err return nil, -1, err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListVPCs(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 { if l.Count == 0 {
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l) return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
} }
@ -1831,12 +1818,18 @@ func (s *VPCService) NewListVPCOfferingsParams() *ListVPCOfferingsParams {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *VPCService) GetVPCOfferingID(name string) (string, error) { func (s *VPCService) GetVPCOfferingID(name string, opts ...OptionFunc) (string, error) {
p := &ListVPCOfferingsParams{} p := &ListVPCOfferingsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["name"] = name p.p["name"] = name
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListVPCOfferings(p) l, err := s.ListVPCOfferings(p)
if err != nil { if err != nil {
return "", err return "", err
@ -1861,13 +1854,13 @@ func (s *VPCService) GetVPCOfferingID(name string) (string, error) {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *VPCService) GetVPCOfferingByName(name string) (*VPCOffering, int, error) { func (s *VPCService) GetVPCOfferingByName(name string, opts ...OptionFunc) (*VPCOffering, int, error) {
id, err := s.GetVPCOfferingID(name) id, err := s.GetVPCOfferingID(name, opts...)
if err != nil { if err != nil {
return nil, -1, err return nil, -1, err
} }
r, count, err := s.GetVPCOfferingByID(id) r, count, err := s.GetVPCOfferingByID(id, opts...)
if err != nil { if err != nil {
return nil, count, err return nil, count, err
} }
@ -1875,12 +1868,18 @@ func (s *VPCService) GetVPCOfferingByName(name string) (*VPCOffering, int, error
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *VPCService) GetVPCOfferingByID(id string) (*VPCOffering, int, error) { func (s *VPCService) GetVPCOfferingByID(id string, opts ...OptionFunc) (*VPCOffering, int, error) {
p := &ListVPCOfferingsParams{} p := &ListVPCOfferingsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListVPCOfferings(p) l, err := s.ListVPCOfferings(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -2296,12 +2295,18 @@ func (s *VPCService) NewListPrivateGatewaysParams() *ListPrivateGatewaysParams {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *VPCService) GetPrivateGatewayByID(id string) (*PrivateGateway, int, error) { func (s *VPCService) GetPrivateGatewayByID(id string, opts ...OptionFunc) (*PrivateGateway, int, error) {
p := &ListPrivateGatewaysParams{} p := &ListPrivateGatewaysParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListPrivateGateways(p) l, err := s.ListPrivateGateways(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -2312,21 +2317,6 @@ func (s *VPCService) GetPrivateGatewayByID(id string) (*PrivateGateway, int, err
return nil, -1, err return nil, -1, err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListPrivateGateways(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 { if l.Count == 0 {
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l) return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
} }
@ -2776,12 +2766,18 @@ func (s *VPCService) NewListStaticRoutesParams() *ListStaticRoutesParams {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *VPCService) GetStaticRouteByID(id string) (*StaticRoute, int, error) { func (s *VPCService) GetStaticRouteByID(id string, opts ...OptionFunc) (*StaticRoute, int, error) {
p := &ListStaticRoutesParams{} p := &ListStaticRoutesParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListStaticRoutes(p) l, err := s.ListStaticRoutes(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -2792,21 +2788,6 @@ func (s *VPCService) GetStaticRouteByID(id string) (*StaticRoute, int, error) {
return nil, -1, err return nil, -1, err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListStaticRoutes(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 { if l.Count == 0 {
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l) return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
} }

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -388,12 +388,18 @@ func (s *VPNService) NewListRemoteAccessVpnsParams() *ListRemoteAccessVpnsParams
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *VPNService) GetRemoteAccessVpnByID(id string) (*RemoteAccessVpn, int, error) { func (s *VPNService) GetRemoteAccessVpnByID(id string, opts ...OptionFunc) (*RemoteAccessVpn, int, error) {
p := &ListRemoteAccessVpnsParams{} p := &ListRemoteAccessVpnsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListRemoteAccessVpns(p) l, err := s.ListRemoteAccessVpns(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -404,21 +410,6 @@ func (s *VPNService) GetRemoteAccessVpnByID(id string) (*RemoteAccessVpn, int, e
return nil, -1, err return nil, -1, err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListRemoteAccessVpns(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 { if l.Count == 0 {
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l) return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
} }
@ -926,12 +917,18 @@ func (s *VPNService) NewListVpnUsersParams() *ListVpnUsersParams {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *VPNService) GetVpnUserByID(id string) (*VpnUser, int, error) { func (s *VPNService) GetVpnUserByID(id string, opts ...OptionFunc) (*VpnUser, int, error) {
p := &ListVpnUsersParams{} p := &ListVpnUsersParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListVpnUsers(p) l, err := s.ListVpnUsers(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -942,21 +939,6 @@ func (s *VPNService) GetVpnUserByID(id string) (*VpnUser, int, error) {
return nil, -1, err return nil, -1, err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListVpnUsers(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 { if l.Count == 0 {
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l) return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
} }
@ -2115,27 +2097,23 @@ func (s *VPNService) NewListVpnCustomerGatewaysParams() *ListVpnCustomerGateways
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *VPNService) GetVpnCustomerGatewayID(keyword string) (string, error) { func (s *VPNService) GetVpnCustomerGatewayID(keyword string, opts ...OptionFunc) (string, error) {
p := &ListVpnCustomerGatewaysParams{} p := &ListVpnCustomerGatewaysParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["keyword"] = keyword p.p["keyword"] = keyword
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListVpnCustomerGateways(p) l, err := s.ListVpnCustomerGateways(p)
if err != nil { if err != nil {
return "", err return "", err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListVpnCustomerGateways(p)
if err != nil {
return "", err
}
}
if l.Count == 0 { if l.Count == 0 {
return "", fmt.Errorf("No match found for %s: %+v", keyword, l) return "", fmt.Errorf("No match found for %s: %+v", keyword, l)
} }
@ -2155,13 +2133,13 @@ func (s *VPNService) GetVpnCustomerGatewayID(keyword string) (string, error) {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *VPNService) GetVpnCustomerGatewayByName(name string) (*VpnCustomerGateway, int, error) { func (s *VPNService) GetVpnCustomerGatewayByName(name string, opts ...OptionFunc) (*VpnCustomerGateway, int, error) {
id, err := s.GetVpnCustomerGatewayID(name) id, err := s.GetVpnCustomerGatewayID(name, opts...)
if err != nil { if err != nil {
return nil, -1, err return nil, -1, err
} }
r, count, err := s.GetVpnCustomerGatewayByID(id) r, count, err := s.GetVpnCustomerGatewayByID(id, opts...)
if err != nil { if err != nil {
return nil, count, err return nil, count, err
} }
@ -2169,12 +2147,18 @@ func (s *VPNService) GetVpnCustomerGatewayByName(name string) (*VpnCustomerGatew
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *VPNService) GetVpnCustomerGatewayByID(id string) (*VpnCustomerGateway, int, error) { func (s *VPNService) GetVpnCustomerGatewayByID(id string, opts ...OptionFunc) (*VpnCustomerGateway, int, error) {
p := &ListVpnCustomerGatewaysParams{} p := &ListVpnCustomerGatewaysParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListVpnCustomerGateways(p) l, err := s.ListVpnCustomerGateways(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -2185,21 +2169,6 @@ func (s *VPNService) GetVpnCustomerGatewayByID(id string) (*VpnCustomerGateway,
return nil, -1, err return nil, -1, err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListVpnCustomerGateways(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 { if l.Count == 0 {
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l) return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
} }
@ -2397,12 +2366,18 @@ func (s *VPNService) NewListVpnGatewaysParams() *ListVpnGatewaysParams {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *VPNService) GetVpnGatewayByID(id string) (*VpnGateway, int, error) { func (s *VPNService) GetVpnGatewayByID(id string, opts ...OptionFunc) (*VpnGateway, int, error) {
p := &ListVpnGatewaysParams{} p := &ListVpnGatewaysParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListVpnGateways(p) l, err := s.ListVpnGateways(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -2413,21 +2388,6 @@ func (s *VPNService) GetVpnGatewayByID(id string) (*VpnGateway, int, error) {
return nil, -1, err return nil, -1, err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListVpnGateways(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 { if l.Count == 0 {
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l) return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
} }
@ -2617,12 +2577,18 @@ func (s *VPNService) NewListVpnConnectionsParams() *ListVpnConnectionsParams {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *VPNService) GetVpnConnectionByID(id string) (*VpnConnection, int, error) { func (s *VPNService) GetVpnConnectionByID(id string, opts ...OptionFunc) (*VpnConnection, int, error) {
p := &ListVpnConnectionsParams{} p := &ListVpnConnectionsParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListVpnConnections(p) l, err := s.ListVpnConnections(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -2633,21 +2599,6 @@ func (s *VPNService) GetVpnConnectionByID(id string) (*VpnConnection, int, error
return nil, -1, err return nil, -1, err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListVpnConnections(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 { if l.Count == 0 {
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l) return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
} }

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -2592,27 +2592,23 @@ func (s *VirtualMachineService) NewListVirtualMachinesParams() *ListVirtualMachi
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *VirtualMachineService) GetVirtualMachineID(name string) (string, error) { func (s *VirtualMachineService) GetVirtualMachineID(name string, opts ...OptionFunc) (string, error) {
p := &ListVirtualMachinesParams{} p := &ListVirtualMachinesParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["name"] = name p.p["name"] = name
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListVirtualMachines(p) l, err := s.ListVirtualMachines(p)
if err != nil { if err != nil {
return "", err return "", err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListVirtualMachines(p)
if err != nil {
return "", err
}
}
if l.Count == 0 { if l.Count == 0 {
return "", fmt.Errorf("No match found for %s: %+v", name, l) return "", fmt.Errorf("No match found for %s: %+v", name, l)
} }
@ -2632,13 +2628,13 @@ func (s *VirtualMachineService) GetVirtualMachineID(name string) (string, error)
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *VirtualMachineService) GetVirtualMachineByName(name string) (*VirtualMachine, int, error) { func (s *VirtualMachineService) GetVirtualMachineByName(name string, opts ...OptionFunc) (*VirtualMachine, int, error) {
id, err := s.GetVirtualMachineID(name) id, err := s.GetVirtualMachineID(name, opts...)
if err != nil { if err != nil {
return nil, -1, err return nil, -1, err
} }
r, count, err := s.GetVirtualMachineByID(id) r, count, err := s.GetVirtualMachineByID(id, opts...)
if err != nil { if err != nil {
return nil, count, err return nil, count, err
} }
@ -2646,12 +2642,18 @@ func (s *VirtualMachineService) GetVirtualMachineByName(name string) (*VirtualMa
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *VirtualMachineService) GetVirtualMachineByID(id string) (*VirtualMachine, int, error) { func (s *VirtualMachineService) GetVirtualMachineByID(id string, opts ...OptionFunc) (*VirtualMachine, int, error) {
p := &ListVirtualMachinesParams{} p := &ListVirtualMachinesParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListVirtualMachines(p) l, err := s.ListVirtualMachines(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -2662,21 +2664,6 @@ func (s *VirtualMachineService) GetVirtualMachineByID(id string) (*VirtualMachin
return nil, -1, err return nil, -1, err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListVirtualMachines(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 { if l.Count == 0 {
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l) return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
} }

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -1126,27 +1126,23 @@ func (s *VolumeService) NewListVolumesParams() *ListVolumesParams {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *VolumeService) GetVolumeID(name string) (string, error) { func (s *VolumeService) GetVolumeID(name string, opts ...OptionFunc) (string, error) {
p := &ListVolumesParams{} p := &ListVolumesParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["name"] = name p.p["name"] = name
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListVolumes(p) l, err := s.ListVolumes(p)
if err != nil { if err != nil {
return "", err return "", err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListVolumes(p)
if err != nil {
return "", err
}
}
if l.Count == 0 { if l.Count == 0 {
return "", fmt.Errorf("No match found for %s: %+v", name, l) return "", fmt.Errorf("No match found for %s: %+v", name, l)
} }
@ -1166,13 +1162,13 @@ func (s *VolumeService) GetVolumeID(name string) (string, error) {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *VolumeService) GetVolumeByName(name string) (*Volume, int, error) { func (s *VolumeService) GetVolumeByName(name string, opts ...OptionFunc) (*Volume, int, error) {
id, err := s.GetVolumeID(name) id, err := s.GetVolumeID(name, opts...)
if err != nil { if err != nil {
return nil, -1, err return nil, -1, err
} }
r, count, err := s.GetVolumeByID(id) r, count, err := s.GetVolumeByID(id, opts...)
if err != nil { if err != nil {
return nil, count, err return nil, count, err
} }
@ -1180,12 +1176,18 @@ func (s *VolumeService) GetVolumeByName(name string) (*Volume, int, error) {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *VolumeService) GetVolumeByID(id string) (*Volume, int, error) { func (s *VolumeService) GetVolumeByID(id string, opts ...OptionFunc) (*Volume, int, error) {
p := &ListVolumesParams{} p := &ListVolumesParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListVolumes(p) l, err := s.ListVolumes(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(
@ -1196,21 +1198,6 @@ func (s *VolumeService) GetVolumeByID(id string) (*Volume, int, error) {
return nil, -1, err return nil, -1, err
} }
if l.Count == 0 {
// If no matches, search all projects
p.p["projectid"] = "-1"
l, err = s.ListVolumes(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 { if l.Count == 0 {
return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l) return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
} }

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -724,12 +724,18 @@ func (s *ZoneService) NewListZonesParams() *ListZonesParams {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *ZoneService) GetZoneID(name string) (string, error) { func (s *ZoneService) GetZoneID(name string, opts ...OptionFunc) (string, error) {
p := &ListZonesParams{} p := &ListZonesParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["name"] = name p.p["name"] = name
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return "", err
}
}
l, err := s.ListZones(p) l, err := s.ListZones(p)
if err != nil { if err != nil {
return "", err return "", err
@ -754,13 +760,13 @@ func (s *ZoneService) GetZoneID(name string) (string, error) {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *ZoneService) GetZoneByName(name string) (*Zone, int, error) { func (s *ZoneService) GetZoneByName(name string, opts ...OptionFunc) (*Zone, int, error) {
id, err := s.GetZoneID(name) id, err := s.GetZoneID(name, opts...)
if err != nil { if err != nil {
return nil, -1, err return nil, -1, err
} }
r, count, err := s.GetZoneByID(id) r, count, err := s.GetZoneByID(id, opts...)
if err != nil { if err != nil {
return nil, count, err return nil, count, err
} }
@ -768,12 +774,18 @@ func (s *ZoneService) GetZoneByName(name string) (*Zone, int, error) {
} }
// This is a courtesy helper function, which in some cases may not work as expected! // This is a courtesy helper function, which in some cases may not work as expected!
func (s *ZoneService) GetZoneByID(id string) (*Zone, int, error) { func (s *ZoneService) GetZoneByID(id string, opts ...OptionFunc) (*Zone, int, error) {
p := &ListZonesParams{} p := &ListZonesParams{}
p.p = make(map[string]interface{}) p.p = make(map[string]interface{})
p.p["id"] = id p.p["id"] = id
for _, fn := range opts {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListZones(p) l, err := s.ListZones(p)
if err != nil { if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf( if strings.Contains(err.Error(), fmt.Sprintf(

View File

@ -1,5 +1,5 @@
// //
// Copyright 2014, Sander van Harmelen // Copyright 2016, Sander van Harmelen
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -28,11 +28,25 @@ import (
"io/ioutil" "io/ioutil"
"net/http" "net/http"
"net/url" "net/url"
"regexp"
"sort" "sort"
"strings" "strings"
"time" "time"
) )
// UnlimitedResourceID is a special ID to define an unlimited resource
const UnlimitedResourceID = "-1"
var idRegex = regexp.MustCompile(`^([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}|-1)$`)
// IsID return true if the passed ID is either a UUID or a UnlimitedResourceID
func IsID(id string) bool {
return idRegex.MatchString(id)
}
// OptionFunc can be passed to the courtesy helper functions to set additional parameters
type OptionFunc func(*CloudStackClient, interface{}) error
type CSError struct { type CSError struct {
ErrorCode int `json:"errorcode"` ErrorCode int `json:"errorcode"`
CSErrorCode int `json:"cserrorcode"` CSErrorCode int `json:"cserrorcode"`
@ -369,6 +383,34 @@ func getRawValue(b json.RawMessage) (json.RawMessage, error) {
return nil, fmt.Errorf("Unable to extract the raw value from:\n\n%s\n\n", string(b)) return nil, fmt.Errorf("Unable to extract the raw value from:\n\n%s\n\n", string(b))
} }
// ProjectIDSetter is an interface that every type that can set a project ID must implement
type ProjectIDSetter interface {
SetProjectid(string)
}
// WithProject takes either a project name or ID and sets the `projectid` parameter
func WithProject(project string) OptionFunc {
return func(cs *CloudStackClient, p interface{}) error {
ps, ok := p.(ProjectIDSetter)
if !ok || project == "" {
return nil
}
if !IsID(project) {
id, err := cs.Project.GetProjectID(project)
if err != nil {
return err
}
project = id
}
ps.SetProjectid(project)
return nil
}
}
type APIDiscoveryService struct { type APIDiscoveryService struct {
cs *CloudStackClient cs *CloudStackClient
} }