Documentation ¶
Overview ¶
Package profiles provides information and interaction with profiles through the OpenStack Clustering service.
Example to Create a Profile
networks := []map[string]interface{} { {"network": "test-network"}, } props := map[string]interface{}{ "name": "test_gophercloud_profile", "flavor": "t2.micro", "image": "centos7.3-latest", "networks": networks, "security_groups": "", } createOpts := profiles.CreateOpts { Name: "test_profile", Spec: profiles.Spec{ Type: "os.nova.server", Version: "1.0", Properties: props, }, } profile, err := profiles.Create(serviceClient, createOpts).Extract() if err != nil { panic(err) } fmt.Println("Profile", profile)
Example to Get a Profile
profile, err := profiles.Get(serviceClient, "profile-name").Extract() if err != nil { panic(err) } fmt.Print("profile", profile)
Example to List Profiles
listOpts := profiles.ListOpts{ Limit: 2, } profiles.List(serviceClient, listOpts).EachPage(func(page pagination.Page) (bool, error) { allProfiles, err := profiles.ExtractProfiles(page) if err != nil { panic(err) } for _, profile := range allProfiles { fmt.Printf("%+v\n", profile) } return true, nil })
Example to Update a Profile
updateOpts := profiles.UpdateOpts{ Name: "new-name", } profile, err := profiles.Update(serviceClient, profileName, updateOpts).Extract() if err != nil { panic(err) } fmt.Print("profile", profile)
Example to Delete a Profile
profileID := "6dc6d336e3fc4c0a951b5698cd1236ee" err := profiles.Delete(serviceClient, profileID).ExtractErr() if err != nil { panic(err) }
Example to Validate a profile
serviceClient.Microversion = "1.2" validateOpts := profiles.ValidateOpts{ Spec: profiles.Spec{ Properties: map[string]interface{}{ "flavor": "t2.micro", "image": "cirros-0.3.4-x86_64-uec", "key_name": "oskey", "name": "cirros_server", "networks": []interface{}{ map[string]interface{}{"network": "private"}, }, }, Type: "os.nova.server", Version: "1.0", }, } profile, err := profiles.Validate(serviceClient, validateOpts).Extract() if err != nil { panic(err) }
Index ¶
- func List(client *gophercloud.ServiceClient, opts ListOptsBuilder) pagination.Pager
- type CreateOpts
- type CreateOptsBuilder
- type CreateResult
- type DeleteResult
- type GetResult
- type ListOpts
- type ListOptsBuilder
- type Profile
- type ProfilePage
- type Spec
- type UpdateOpts
- type UpdateOptsBuilder
- type UpdateResult
- type ValidateOpts
- type ValidateOptsBuilder
- type ValidateResult
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func List ¶
func List(client *gophercloud.ServiceClient, opts ListOptsBuilder) pagination.Pager
List instructs OpenStack to provide a list of profiles.
Types ¶
type CreateOpts ¶
type CreateOpts struct { Name string `json:"name" required:"true"` Metadata map[string]interface{} `json:"metadata,omitempty"` Spec Spec `json:"spec" required:"true"` }
CreateOpts represents options used for creating a profile.
func (CreateOpts) ToProfileCreateMap ¶
func (opts CreateOpts) ToProfileCreateMap() (map[string]interface{}, error)
ToProfileCreateMap constructs a request body from CreateOpts.
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 result of a Create operation. Call its Extract method to interpret it as a Profile.
func Create ¶
func Create(client *gophercloud.ServiceClient, opts CreateOptsBuilder) (r CreateResult)
Create requests the creation of a new profile on the server.
type DeleteResult ¶
type DeleteResult struct {
gophercloud.ErrResult
}
DeleteResult is the result from a Delete operation. Call its ExtractErr method to determine if the call succeeded or failed.
func Delete ¶
func Delete(client *gophercloud.ServiceClient, id string) (r DeleteResult)
Delete deletes the specified profile via profile id.
type GetResult ¶
type GetResult struct {
// contains filtered or unexported fields
}
GetResult is the result of a Get operations. Call its Extract method to interpret it as a Profile.
type ListOpts ¶
type ListOpts struct { GlobalProject *bool `q:"global_project"` Limit int `q:"limit"` Marker string `q:"marker"` Name string `q:"name"` Sort string `q:"sort"` Type string `q:"type"` }
ListOpts represents options used to list profiles.
func (ListOpts) ToProfileListQuery ¶
ToProfileListQuery formats a ListOpts into a query string.
type ListOptsBuilder ¶
ListOptsBuilder allows extensions to add additional parameters to the List request.
type Profile ¶
type Profile struct { CreatedAt time.Time `json:"-"` Domain string `json:"domain"` ID string `json:"id"` Metadata map[string]interface{} `json:"metadata"` Name string `json:"name"` Project string `json:"project"` Spec Spec `json:"spec"` Type string `json:"type"` UpdatedAt time.Time `json:"-"` User string `json:"user"` }
Profile represent a detailed profile.
func ExtractProfiles ¶
func ExtractProfiles(r pagination.Page) ([]Profile, error)
ExtractProfiles returns a slice of Profiles from the List operation.
func (*Profile) UnmarshalJSON ¶
type ProfilePage ¶
type ProfilePage struct {
pagination.LinkedPageBase
}
ProfilePage contains a single page of all profiles from a List operation.
func (ProfilePage) IsEmpty ¶
func (page ProfilePage) IsEmpty() (bool, error)
IsEmpty determines if a ProfilePage contains any results.
type Spec ¶
type Spec struct { Type string `json:"type"` Version string `json:"-"` Properties map[string]interface{} `json:"properties"` }
Spec represents a profile spec.
func (Spec) MarshalJSON ¶
func (*Spec) UnmarshalJSON ¶
type UpdateOpts ¶
type UpdateOpts struct { Metadata map[string]interface{} `json:"metadata,omitempty"` Name string `json:"name,omitempty"` }
UpdateOpts represents options used to update a profile.
func (UpdateOpts) ToProfileUpdateMap ¶
func (opts UpdateOpts) ToProfileUpdateMap() (map[string]interface{}, error)
ToProfileUpdateMap constructs a request body from UpdateOpts.
type UpdateOptsBuilder ¶
UpdateOptsBuilder allows extensions to add additional parameters to the Update request.
type UpdateResult ¶
type UpdateResult struct {
// contains filtered or unexported fields
}
UpdateResult is the result of a Update operations. Call its Extract method to interpret it as a Profile.
func Update ¶
func Update(client *gophercloud.ServiceClient, id string, opts UpdateOptsBuilder) (r UpdateResult)
Update updates a profile.
type ValidateOpts ¶
type ValidateOpts struct {
Spec Spec `json:"spec" required:"true"`
}
ValidateOpts params
func (ValidateOpts) ToProfileValidateMap ¶
func (opts ValidateOpts) ToProfileValidateMap() (map[string]interface{}, error)
ToProfileValidateMap formats a CreateOpts into a body map.
type ValidateOptsBuilder ¶
ValidateOptsBuilder allows extensions to add additional parameters to the Validate request.
type ValidateResult ¶
type ValidateResult struct {
// contains filtered or unexported fields
}
ValidateResult is the response of a Validate operations.
func Validate ¶
func Validate(client *gophercloud.ServiceClient, opts ValidateOpts) (r ValidateResult)
Validate profile.