// ListNodesDetails returns all load balancer pool nodes that are associated with RackConnect // for the given LB pool ID with all their details. func ListNodesDetails(c *gophercloud.ServiceClient, id string) pagination.Pager { url := listNodesDetailsURL(c, id) createPage := func(r pagination.PageResult) pagination.Page { return NodeDetailsPage{pagination.SinglePageBase(r)} } return pagination.NewPager(c, url, createPage) }
// List members returns list of members for specifed image id // More details: http://developer.openstack.org/api-ref-image-v2.html#listImageMembers-v2 func List(client *gophercloud.ServiceClient, id string) pagination.Pager { createPage := func(r pagination.PageResult) pagination.Page { return MemberPage{pagination.SinglePageBase(r)} } return pagination.NewPager(client, listMembersURL(client, id), createPage) }
// List returns a Pager which allows you to iterate over the full collection of extensions. // It does not accept query parameters. func List(c *gophercloud.ServiceClient) pagination.Pager { return common.List(c).WithPageCreator(func(r pagination.PageResult) pagination.Page { return ExtensionPage{ ExtensionPage: common.ExtensionPage{SinglePageBase: pagination.SinglePageBase(r)}, } }) }
// List is the operation responsible for returning a paginated collection of // network items that define a load balancer's access list. func List(client *gophercloud.ServiceClient, lbID int) pagination.Pager { url := rootURL(client, lbID) return pagination.NewPager(client, url, func(r pagination.PageResult) pagination.Page { return AccessListPage{pagination.SinglePageBase(r)} }) }
func List(client *gophercloud.ServiceClient) pagination.Pager { createPage := func(r pagination.PageResult) pagination.Page { return UserPage{pagination.SinglePageBase(r)} } return pagination.NewPager(client, rootURL(client), createPage) }
// List returns a Pager which allows you to iterate over a collection of // networks. It accepts a ListOpts struct, which allows you to filter and sort // the returned collection for greater efficiency. func List(c *gophercloud.ServiceClient, instanceID string) pagination.Pager { createPage := func(r pagination.PageResult) pagination.Page { return VirtualInterfacePage{pagination.SinglePageBase(r)} } return pagination.NewPager(c, listURL(c, instanceID), createPage) }
// List will list all of the available configurations. func List(client *gophercloud.ServiceClient) pagination.Pager { pageFn := func(r pagination.PageResult) pagination.Page { return ConfigPage{pagination.SinglePageBase(r)} } return pagination.NewPager(client, baseURL(client), pageFn) }
// Create is the operation responsible for creating a new node on a load // balancer. Since every load balancer exists in both ServiceNet and the public // Internet, both private and public IP addresses can be used for nodes. // // If nodes need time to boot up services before they become operational, you // can temporarily prevent traffic from being sent to that node by setting the // Condition field to DRAINING. Health checks will still be performed; but once // your node is ready, you can update its condition to ENABLED and have it // handle traffic. func Create(client *gophercloud.ServiceClient, loadBalancerID int, opts CreateOptsBuilder) CreateResult { var res CreateResult reqBody, err := opts.ToNodeCreateMap() if err != nil { res.Err = err return res } resp, err := client.Request("POST", rootURL(client, loadBalancerID), gophercloud.RequestOpts{ JSONBody: &reqBody, JSONResponse: &res.Body, OkCodes: []int{202}, }) if err != nil { res.Err = err return res } pr, err := pagination.PageResultFrom(resp) if err != nil { res.Err = err return res } return CreateResult{pagination.SinglePageBase(pr)} }
func commonList(client *gophercloud.ServiceClient, url string) pagination.Pager { createPage := func(r pagination.PageResult) pagination.Page { return SecurityGroupPage{pagination.SinglePageBase(r)} } return pagination.NewPager(client, url, createPage) }
// ListForServer returns all public IPs for the server with the given serverID. func ListForServer(c *gophercloud.ServiceClient, serverID string) pagination.Pager { url := listForServerURL(c, serverID) createPage := func(r pagination.PageResult) pagination.Page { return PublicIPPage{pagination.SinglePageBase(r)} } return pagination.NewPager(c, url, createPage) }
// List returns a Pager which allows you to iterate over a collection of // networks. It accepts a ListOpts struct, which allows you to filter and sort // the returned collection for greater efficiency. func List(c *gophercloud.ServiceClient) pagination.Pager { createPage := func(r pagination.PageResult) pagination.Page { return NetworkPage{pagination.SinglePageBase(r)} } return pagination.NewPager(c, listURL(c), createPage) }
// List returns a single page of CDN flavors. func List(c *gophercloud.ServiceClient) pagination.Pager { url := listURL(c) createPage := func(r pagination.PageResult) pagination.Page { return FlavorPage{pagination.SinglePageBase(r)} } return pagination.NewPager(c, url, createPage) }
func ListRoles(client *gophercloud.ServiceClient, tenantID, userID string) pagination.Pager { createPage := func(r pagination.PageResult) pagination.Page { return RolePage{pagination.SinglePageBase(r)} } return pagination.NewPager(client, listRolesURL(client, tenantID, userID), createPage) }
// List returns all scaling policies for a group. func List(client *gophercloud.ServiceClient, groupID string) pagination.Pager { url := listURL(client, groupID) createPageFn := func(r pagination.PageResult) pagination.Page { return PolicyPage{pagination.SinglePageBase(r)} } return pagination.NewPager(client, url, createPageFn) }
// ListTypes makes a request against the API to list resource types. func ListTypes(client *gophercloud.ServiceClient) pagination.Pager { url := listTypesURL(client) createPageFn := func(r pagination.PageResult) pagination.Page { return ResourceTypePage{pagination.SinglePageBase(r)} } return pagination.NewPager(client, url, createPageFn) }
// List is the operation responsible for returning a paginated collection of // load balancer nodes. It requires the node ID, its parent load balancer ID, // and optional limit integer (passed in either as a pointer or a nil poitner). func List(client *gophercloud.ServiceClient, loadBalancerID int, limit *int) pagination.Pager { url := rootURL(client, loadBalancerID) if limit != nil { url += fmt.Sprintf("?limit=%d", limit) } return pagination.NewPager(client, url, func(r pagination.PageResult) pagination.Page { return NodePage{pagination.SinglePageBase(r)} }) }
// List returns Volumes optionally limited by the conditions provided in ListOpts. func List(client *gophercloud.ServiceClient, opts ListOptsBuilder) pagination.Pager { url := listURL(client) if opts != nil { query, err := opts.ToVolumeListQuery() if err != nil { return pagination.Pager{Err: err} } url += query } createPage := func(r pagination.PageResult) pagination.Page { return ListResult{pagination.SinglePageBase(r)} } return pagination.NewPager(client, url, createPage) }
// ListEvents is the operation responsible for listing all the events // associated with the activity between the node and the load balancer. The // events report errors found with the node. The detailedMessage provides the // detailed reason for the error. func ListEvents(client *gophercloud.ServiceClient, loadBalancerID int, opts ListEventsOptsBuilder) pagination.Pager { url := eventsURL(client, loadBalancerID) if opts != nil { query, err := opts.ToEventsListQuery() if err != nil { return pagination.Pager{Err: err} } url += query } return pagination.NewPager(client, url, func(r pagination.PageResult) pagination.Page { return NodeEventPage{pagination.SinglePageBase(r)} }) }
// List will list all the saved backups for all database instances. func List(client *gophercloud.ServiceClient, opts ListOptsBuilder) pagination.Pager { url := baseURL(client) if opts != nil { query, err := opts.ToBackupListQuery() if err != nil { return pagination.Pager{Err: err} } url += query } pageFn := func(r pagination.PageResult) pagination.Page { return BackupPage{pagination.SinglePageBase(r)} } return pagination.NewPager(client, url, pageFn) }
// List makes a request against the API to list resources for the given stack. func List(client *gophercloud.ServiceClient, stackName, stackID string, opts ListOptsBuilder) pagination.Pager { url := listURL(client, stackName, stackID) if opts != nil { query, err := opts.ToStackResourceListQuery() if err != nil { return pagination.Pager{Err: err} } url += query } createPageFn := func(r pagination.PageResult) pagination.Page { return ResourcePage{pagination.SinglePageBase(r)} } return pagination.NewPager(client, url, createPageFn) }
// Create is the operation responsible for creating a new node on a load // balancer. Since every load balancer exists in both ServiceNet and the public // Internet, both private and public IP addresses can be used for nodes. // // If nodes need time to boot up services before they become operational, you // can temporarily prevent traffic from being sent to that node by setting the // Condition field to DRAINING. Health checks will still be performed; but once // your node is ready, you can update its condition to ENABLED and have it // handle traffic. func Create(client *gophercloud.ServiceClient, loadBalancerID int, opts CreateOptsBuilder) CreateResult { var res CreateResult reqBody, err := opts.ToNodeCreateMap() if err != nil { res.Err = err return res } resp, err := client.Post(rootURL(client, loadBalancerID), reqBody, &res.Body, nil) if err != nil { res.Err = err return res } pr := pagination.PageResultFromParsed(resp, res.Body) return CreateResult{pagination.SinglePageBase(pr)} }
// List returns a Pager that allows you to iterate over a collection of FloatingIPs. func List(client *gophercloud.ServiceClient) pagination.Pager { return pagination.NewPager(client, listURL(client), func(r pagination.PageResult) pagination.Page { return FloatingIPsPage{pagination.SinglePageBase(r)} }) }
// ListAddressesByNetwork makes a request against the API to list the servers IP addresses // for the given network. func ListAddressesByNetwork(client *gophercloud.ServiceClient, id, network string) pagination.Pager { createPageFn := func(r pagination.PageResult) pagination.Page { return NetworkAddressPage{pagination.SinglePageBase(r)} } return pagination.NewPager(client, listAddressesByNetworkURL(client, id, network), createPageFn) }
// ListBackups will list all the backups for a specified database instance. func ListBackups(client *gophercloud.ServiceClient, instanceID string) pagination.Pager { pageFn := func(r pagination.PageResult) pagination.Page { return backups.BackupPage{pagination.SinglePageBase(r)} } return pagination.NewPager(client, backupsURL(client, instanceID), pageFn) }
// Exactly the same as original, but kept here to achieve proper call to modified listURL() until PR is merged func List(c *gophercloud.ServiceClient) pagination.Pager { return pagination.NewPager(c, listURL(c), func(r pagination.PageResult) pagination.Page { return apiversions.APIVersionPage{pagination.SinglePageBase(r)} }) }
// ListVersions will list all of the available versions for a specified // datastore type. func ListVersions(client *gophercloud.ServiceClient, datastoreID string) pagination.Pager { pageFn := func(r pagination.PageResult) pagination.Page { return VersionPage{pagination.SinglePageBase(r)} } return pagination.NewPager(client, versionsURL(client, datastoreID), pageFn) }
// ListProtocols is the operation responsible for returning a paginated // collection of load balancer protocols. func ListProtocols(client *gophercloud.ServiceClient) pagination.Pager { url := protocolsURL(client) return pagination.NewPager(client, url, func(r pagination.PageResult) pagination.Page { return ProtocolPage{pagination.SinglePageBase(r)} }) }
// ListAlgorithms is the operation responsible for returning a paginated // collection of load balancer algorithms. func ListAlgorithms(client *gophercloud.ServiceClient) pagination.Pager { url := algorithmsURL(client) return pagination.NewPager(client, url, func(r pagination.PageResult) pagination.Page { return AlgorithmPage{pagination.SinglePageBase(r)} }) }
// List returns a Pager that allows you to iterate over a collection of VolumeAttachments. func List(client *gophercloud.ServiceClient, serverId string) pagination.Pager { return pagination.NewPager(client, listURL(client, serverId), func(r pagination.PageResult) pagination.Page { return VolumeAttachmentsPage{pagination.SinglePageBase(r)} }) }
// List returns a Pager which allows you to iterate over the full collection of extensions. // It does not accept query parameters. func List(c *gophercloud.ServiceClient) pagination.Pager { return pagination.NewPager(c, ListExtensionURL(c), func(r pagination.PageResult) pagination.Page { return ExtensionPage{pagination.SinglePageBase(r)} }) }