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.