github.com/gophercloud/gophercloud@v1.11.0/openstack/orchestration/v1/stackresources/doc.go (about)

     1  /*
     2  Package stackresources provides operations for working with stack resources.
     3  A resource is a template artifact that represents some component of your
     4  desired architecture (a Cloud Server, a group of scaled Cloud Servers, a load
     5  balancer, some configuration management system, and so forth).
     6  
     7  Example of get resource information in stack
     8  
     9  	rsrc_result := stackresources.Get(client, stack.Name, stack.ID, rsrc.Name)
    10  	if rsrc_result.Err != nil {
    11  	    panic(rsrc_result.Err)
    12  	}
    13  	rsrc, err := rsrc_result.Extract()
    14  	if err != nil {
    15  	    panic(err)
    16  	}
    17  
    18  Example for list stack resources
    19  
    20  	all_stack_rsrc_pages, err := stackresources.List(client, stack.Name, stack.ID, nil).AllPages()
    21  	if err != nil {
    22  	    panic(err)
    23  	}
    24  
    25  	all_stack_rsrcs, err := stackresources.ExtractResources(all_stack_rsrc_pages)
    26  	if err != nil {
    27  	    panic(err)
    28  	}
    29  
    30  	fmt.Println("Resource List:")
    31  	for _, rsrc := range all_stack_rsrcs {
    32  	    // Get information of a resource in stack
    33  	    rsrc_result := stackresources.Get(client, stack.Name, stack.ID, rsrc.Name)
    34  	    if rsrc_result.Err != nil {
    35  	        panic(rsrc_result.Err)
    36  	    }
    37  	    rsrc, err := rsrc_result.Extract()
    38  	    if err != nil {
    39  	        panic(err)
    40  	    }
    41  	    fmt.Println("Resource Name: ", rsrc.Name, ", Physical ID: ", rsrc.PhysicalID, ", Status: ", rsrc.Status)
    42  	}
    43  
    44  Example for get resource type schema
    45  
    46  	schema_result := stackresources.Schema(client, "OS::Heat::Stack")
    47  	if schema_result.Err != nil {
    48  	    panic(schema_result.Err)
    49  	}
    50  	schema, err := schema_result.Extract()
    51  	if err != nil {
    52  	    panic(err)
    53  	}
    54  	fmt.Println("Schema for resource type OS::Heat::Stack")
    55  	fmt.Println(schema.SupportStatus)
    56  
    57  Example for get resource type Template
    58  
    59  	tmp_result := stackresources.Template(client, "OS::Heat::Stack")
    60  	if tmp_result.Err != nil {
    61  	    panic(tmp_result.Err)
    62  	}
    63  	tmp, err := tmp_result.Extract()
    64  	if err != nil {
    65  	    panic(err)
    66  	}
    67  	fmt.Println("Template for resource type OS::Heat::Stack")
    68  	fmt.Println(string(tmp))
    69  */
    70  package stackresources