{"@context":"https://w3id.org/codemeta/3.0","@type":"SoftwareSourceCode","identifier":"pkg:golang/github.com/gophercloud/gophercloud","name":"github.com/gophercloud/gophercloud","description":"Package gophercloud provides a multi-vendor interface to OpenStack-compatible\nclouds. The library has a three-level hierarchy: providers, services, and\nresources.\n\nProvider structs represent the cloud providers that offer and manage a\ncollection of services. You will generally want to create one Provider\nclient per OpenStack cloud.\n\nUse your OpenStack credentials to create a Provider client.  The\nIdentityEndpoint is typically refered to as \"auth_url\" or \"OS_AUTH_URL\" in\ninformation provided by the cloud operator. Additionally, the cloud may refer to\nTenantID or TenantName as project_id and project_name. Credentials are\nspecified like so:\n\nYou can authenticate with a token by doing:\n\nYou may also use the openstack.AuthOptionsFromEnv() helper function. This\nfunction reads in standard environment variables frequently found in an\nOpenStack `openrc` file. Again note that Gophercloud currently uses \"tenant\"\ninstead of \"project\".\n\nService structs are specific to a provider and handle all of the logic and\noperations for a particular OpenStack service. Examples of services include:\nCompute, Object Storage, Block Storage. In order to define one, you need to\npass in the parent provider, like so:\n\nResource structs are the domain models that services make use of in order\nto work with and represent the state of API resources:\n\nIntermediate Result structs are returned for API operations, which allow\ngeneric access to the HTTP headers, response body, and any errors associated\nwith the network transaction. To turn a result into a usable resource struct,\nyou must call the Extract method which is chained to the response, or an\nExtract function from an applicable extension:\n\nAll requests that enumerate a collection return a Pager struct that is used to\niterate through the results one page at a time. Use the EachPage method on that\nPager to handle each successive Page in a closure, then use the appropriate\nextraction method from that request's package to interpret that Page as a slice\nof results:\n\nIf you want to obtain the entire collection of pages without doing any\nintermediary processing on each page, you can use the AllPages method:\n\nThis top-level package contains utility functions and data types that are used\nthroughout the provider and service packages. Of particular note for end users\nare the AuthOptions and EndpointOpts structs.\n\nAn example retry backoff function, which respects the 429 HTTP response code and a \"Retry-After\" header:","version":"v1.14.1","softwareVersion":"v1.14.1","license":"https://spdx.org/licenses/Apache-2.0","codeRepository":"https://github.com/gophercloud/gophercloud","issueTracker":"https://github.com/gophercloud/gophercloud/issues","url":"https://github.com/gophercloud/gophercloud","programmingLanguage":{"@type":"ComputerLanguage","name":"Go"},"dateCreated":"2019-05-25","dateModified":"2024-09-18","datePublished":"2024-09-18","copyrightYear":2019,"downloadUrl":"https://proxy.golang.org/github.com/gophercloud/gophercloud/@v/v1.14.1.zip","softwareHelp":{"@type":"WebSite","url":"https://pkg.go.dev/github.com/gophercloud/gophercloud#section-documentation"},"applicationCategory":"go","runtimePlatform":"go","developmentStatus":"active","sameAs":["https://pkg.go.dev/github.com/gophercloud/gophercloud"],"https://www.w3.org/ns/activitystreams#likes":966,"https://forgefed.org/ns#forks":571}