Documentation ¶
Overview ¶
Package containers manages and retrieves containers in the OpenStack Key Manager Service.
Example to List Containers
allPages, err := containers.List(client, nil).AllPages() if err != nil { panic(err) } allContainers, err := containers.ExtractContainers(allPages) if err != nil { panic(err) } for _, v := range allContainers { fmt.Printf("%v\n", v) }
Example to Create a Container
createOpts := containers.CreateOpts{ Type: containers.GenericContainer, Name: "mycontainer", SecretRefs: []containers.SecretRef{ { Name: secret.Name, SecretRef: secret.SecretRef, }, }, } container, err := containers.Create(client, createOpts).Extract() if err != nil { panic(err) } fmt.Printf("%v\n", container)
Example to Delete a Container
err := containers.Delete(client, containerID).ExtractErr() if err != nil { panic(err) }
Example to List Consumers of a Container
allPages, err := containers.ListConsumers(client, containerID, nil).AllPages() if err != nil { panic(err) } allConsumers, err := containers.ExtractConsumers(allPages) if err != nil { panic(err) } fmt.Printf("%v\n", allConsumers)
Example to Create a Consumer of a Container
createOpts := containers.CreateConsumerOpts{ Name: "jdoe", URL: "http://example.com", } container, err := containers.CreateConsumer(client, containerID, createOpts).Extract() if err != nil { panic(err) }
Example to Delete a Consumer of a Container
deleteOpts := containers.DeleteConsumerOpts{ Name: "jdoe", URL: "http://example.com", } container, err := containers.DeleteConsumer(client, containerID, deleteOpts).Extract() if err != nil { panic(err) }
Index ¶
- func List(client *gophercloud.ServiceClient, opts ListOptsBuilder) pagination.Pager
- func ListConsumers(client *gophercloud.ServiceClient, containerID string, ...) pagination.Pager
- type Consumer
- type ConsumerPage
- type ConsumerRef
- type Container
- type ContainerPage
- type ContainerType
- type CreateConsumerOpts
- type CreateConsumerOptsBuilder
- type CreateConsumerResult
- type CreateOpts
- type CreateOptsBuilder
- type CreateResult
- type CreateSecretRefResult
- type DeleteConsumerOpts
- type DeleteConsumerOptsBuilder
- type DeleteConsumerResult
- type DeleteResult
- type DeleteSecretRefResult
- type GetResult
- type ListConsumersOpts
- type ListConsumersOptsBuilder
- type ListOpts
- type ListOptsBuilder
- type SecretRef
- type SecretRefBuilder
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func List ¶
func List(client *gophercloud.ServiceClient, opts ListOptsBuilder) pagination.Pager
List retrieves a list of containers.
func ListConsumers ¶
func ListConsumers(client *gophercloud.ServiceClient, containerID string, opts ListConsumersOptsBuilder) pagination.Pager
ListConsumers retrieves a list of consumers from a container.
Types ¶
type Consumer ¶
type Consumer struct { // Created is the date the container was created. Created time.Time `json:"-"` // Name is the name of the container. Name string `json:"name"` // Status is the status of the container. Status string `json:"status"` // Updated is the date the container was updated. Updated time.Time `json:"-"` // URL is the url to the consumer. URL string `json:"url"` }
Consumer represents a consumer in a container.
func ExtractConsumers ¶
func ExtractConsumers(r pagination.Page) ([]Consumer, error)
ExtractConsumers returns a slice of Consumers contained in a single page of results.
func (*Consumer) UnmarshalJSON ¶
type ConsumerPage ¶
type ConsumerPage struct {
pagination.LinkedPageBase
}
ConsumerPage is a single page of consumer results.
func (ConsumerPage) IsEmpty ¶
func (r ConsumerPage) IsEmpty() (bool, error)
IsEmpty determines whether or not a page of consumers contains any results.
func (ConsumerPage) NextPageURL ¶
func (r ConsumerPage) NextPageURL() (string, error)
NextPageURL extracts the "next" link from the links section of the result.
type ConsumerRef ¶
type ConsumerRef struct { // Name is the name of the consumer. Name string `json:"name"` // URL is the URL to the consumer resource. URL string `json:"url"` }
ConsumerRef represents a consumer reference in a container.
type Container ¶
type Container struct { // Consumers are the consumers of the container. Consumers []ConsumerRef `json:"consumers"` // ContainerRef is the URL to the container ContainerRef string `json:"container_ref"` // Created is the date the container was created. Created time.Time `json:"-"` // CreatorID is the creator of the container. CreatorID string `json:"creator_id"` // Name is the name of the container. Name string `json:"name"` // SecretRefs are the secret references of the container. SecretRefs []SecretRef `json:"secret_refs"` // Status is the status of the container. Status string `json:"status"` // Type is the type of container. Type string `json:"type"` // Updated is the date the container was updated. Updated time.Time `json:"-"` }
Container represents a container in the key manager service.
func ExtractContainers ¶
func ExtractContainers(r pagination.Page) ([]Container, error)
ExtractContainers returns a slice of Containers contained in a single page of results.
func (*Container) UnmarshalJSON ¶
type ContainerPage ¶
type ContainerPage struct {
pagination.LinkedPageBase
}
ContainerPage is a single page of container results.
func (ContainerPage) IsEmpty ¶
func (r ContainerPage) IsEmpty() (bool, error)
IsEmpty determines whether or not a page of Container contains any results.
func (ContainerPage) NextPageURL ¶
func (r ContainerPage) NextPageURL() (string, error)
NextPageURL extracts the "next" link from the links section of the result.
type ContainerType ¶
type ContainerType string
ContainerType represents the valid types of containers.
const ( GenericContainer ContainerType = "generic" RSAContainer ContainerType = "rsa" CertificateContainer ContainerType = "certificate" )
type CreateConsumerOpts ¶
type CreateConsumerOpts struct { // Name is the name of the consumer. Name string `json:"name"` // URL is the URL to the consumer resource. URL string `json:"URL"` }
CreateConsumerOpts provides options used to create a container.
func (CreateConsumerOpts) ToContainerConsumerCreateMap ¶
func (opts CreateConsumerOpts) ToContainerConsumerCreateMap() (map[string]interface{}, error)
ToContainerConsumerCreateMap formats a CreateConsumerOpts into a create request.
type CreateConsumerOptsBuilder ¶
type CreateConsumerOptsBuilder interface {
ToContainerConsumerCreateMap() (map[string]interface{}, error)
}
CreateConsumerOptsBuilder allows extensions to add additional parameters to the Create request.
type CreateConsumerResult ¶
type CreateConsumerResult struct {
// contains filtered or unexported fields
}
CreateConsumerResult is the response from a CreateConsumer operation. Call its Extract method to interpret it as a container.
func CreateConsumer ¶
func CreateConsumer(client *gophercloud.ServiceClient, containerID string, opts CreateConsumerOptsBuilder) (r CreateConsumerResult)
CreateConsumer creates a new consumer.
type CreateOpts ¶
type CreateOpts struct { // Type represents the type of container. Type ContainerType `json:"type" required:"true"` // Name is the name of the container. Name string `json:"name"` // SecretRefs is a list of secret refs for the container. SecretRefs []SecretRef `json:"secret_refs,omitempty"` }
CreateOpts provides options used to create a container.
func (CreateOpts) ToContainerCreateMap ¶
func (opts CreateOpts) ToContainerCreateMap() (map[string]interface{}, error)
ToContainerCreateMap formats a CreateOpts into a create request.
type CreateOptsBuilder ¶
CreateOptsBuilder allows extensions to add additional parameters to the Create request.
type CreateResult ¶
type CreateResult struct {
// contains filtered or unexported fields
}
CreateResult is the response from a Create operation. Call its Extract method to interpret it as a container.
func Create ¶
func Create(client *gophercloud.ServiceClient, opts CreateOptsBuilder) (r CreateResult)
Create creates a new container.
type CreateSecretRefResult ¶
type CreateSecretRefResult struct {
// contains filtered or unexported fields
}
CreateSecretRefResult is the response from a CreateSecretRef operation. Call its Extract method to interpret it as a container.
func CreateSecretRef ¶
func CreateSecretRef(client *gophercloud.ServiceClient, containerID string, opts SecretRefBuilder) (r CreateSecretRefResult)
CreateSecret creates a new consumer.
func (CreateSecretRefResult) Extract ¶
func (r CreateSecretRefResult) Extract() (*Container, error)
Extract interprets any CreateSecretRefResult as a Container
type DeleteConsumerOpts ¶
type DeleteConsumerOpts struct { // Name is the name of the consumer. Name string `json:"name"` // URL is the URL to the consumer resource. URL string `json:"URL"` }
DeleteConsumerOpts represents options used for deleting a consumer.
func (DeleteConsumerOpts) ToContainerConsumerDeleteMap ¶
func (opts DeleteConsumerOpts) ToContainerConsumerDeleteMap() (map[string]interface{}, error)
ToContainerConsumerDeleteMap formats a DeleteConsumerOpts into a create request.
type DeleteConsumerOptsBuilder ¶
type DeleteConsumerOptsBuilder interface {
ToContainerConsumerDeleteMap() (map[string]interface{}, error)
}
DeleteConsumerOptsBuilder allows extensions to add additional parameters to the Delete request.
type DeleteConsumerResult ¶
type DeleteConsumerResult struct {
// contains filtered or unexported fields
}
DeleteConsumerResult is the response from a DeleteConsumer operation. Call its Extract to interpret it as a container.
func DeleteConsumer ¶
func DeleteConsumer(client *gophercloud.ServiceClient, containerID string, opts DeleteConsumerOptsBuilder) (r DeleteConsumerResult)
DeleteConsumer deletes a consumer.
type DeleteResult ¶
type DeleteResult struct {
gophercloud.ErrResult
}
DeleteResult is the response from a Delete operation. Call its ExtractErr to determine if the request succeeded or failed.
func Delete ¶
func Delete(client *gophercloud.ServiceClient, id string) (r DeleteResult)
Delete deletes a container.
type DeleteSecretRefResult ¶
type DeleteSecretRefResult struct {
gophercloud.ErrResult
}
DeleteSecretRefResult is the response from a DeleteSecretRef operation.
func DeleteSecretRef ¶
func DeleteSecretRef(client *gophercloud.ServiceClient, containerID string, opts SecretRefBuilder) (r DeleteSecretRefResult)
DeleteSecret deletes a consumer.
type GetResult ¶
type GetResult struct {
// contains filtered or unexported fields
}
GetResult is the response from a Get operation. Call its Extract method to interpret it as a container.
func Get ¶
func Get(client *gophercloud.ServiceClient, id string) (r GetResult)
Get retrieves details of a container.
type ListConsumersOpts ¶
type ListConsumersOpts struct { // Limit is the amount of consumers to retrieve. Limit int `q:"limit"` // Offset is the index within the list to retrieve. Offset int `q:"offset"` }
ListConsumersOpts provides options to filter the List results.
type ListConsumersOptsBuilder ¶
ListConsumersOptsBuilder allows extensions to add additional parameters to the ListConsumers request
type ListOpts ¶
type ListOpts struct { // Limit is the amount of containers to retrieve. Limit int `q:"limit"` // Name is the name of the container Name string `q:"name"` // Offset is the index within the list to retrieve. Offset int `q:"offset"` }
ListOpts provides options to filter the List results.
func (ListOpts) ToContainerListConsumersQuery ¶
ToContainerListConsumersQuery formats a ListConsumersOpts into a query string.
func (ListOpts) ToContainerListQuery ¶
ToContainerListQuery formats a ListOpts into a query string.
type ListOptsBuilder ¶
ListOptsBuilder allows extensions to add additional parameters to the List request
type SecretRef ¶
SecretRef is a reference to a secret.
func (SecretRef) ToContainerSecretRefMap ¶
ToContainerSecretRefMap formats a SecretRefBuilder into a create request.
type SecretRefBuilder ¶
SecretRefBuilder allows extensions to add additional parameters to the Create request.