github.com/gophercloud/gophercloud@v1.11.0/openstack/containerinfra/v1/clusters/doc.go (about)

     1  /*
     2  Package clusters contains functionality for working with Magnum Cluster resources.
     3  
     4  Example to Create a Cluster
     5  
     6  	masterCount := 1
     7  	nodeCount := 1
     8  	createTimeout := 30
     9  	masterLBEnabled := true
    10  	createOpts := clusters.CreateOpts{
    11  		ClusterTemplateID: "0562d357-8641-4759-8fed-8173f02c9633",
    12  		CreateTimeout:     &createTimeout,
    13  		DiscoveryURL:      "",
    14  		FlavorID:          "m1.small",
    15  		KeyPair:           "my_keypair",
    16  		Labels:            map[string]string{},
    17  		MasterCount:       &masterCount,
    18  		MasterFlavorID:    "m1.small",
    19  		Name:              "k8s",
    20  		NodeCount:         &nodeCount,
    21  		MasterLBEnabled:   &masterLBEnabled,
    22  	}
    23  
    24  	cluster, err := clusters.Create(serviceClient, createOpts).Extract()
    25  	if err != nil {
    26  		panic(err)
    27  	}
    28  
    29  Example to Get a Cluster
    30  
    31  	clusterName := "cluster123"
    32  	cluster, err := clusters.Get(serviceClient, clusterName).Extract()
    33  	if err != nil {
    34  		panic(err)
    35  	}
    36  	fmt.Printf("%+v\n", cluster)
    37  
    38  Example to List Clusters
    39  
    40  	listOpts := clusters.ListOpts{
    41  		Limit: 20,
    42  	}
    43  
    44  	allPages, err := clusters.List(serviceClient, listOpts).AllPages()
    45  	if err != nil {
    46  		panic(err)
    47  	}
    48  
    49  	allClusters, err := clusters.ExtractClusters(allPages)
    50  	if err != nil {
    51  		panic(err)
    52  	}
    53  
    54  	for _, cluster := range allClusters {
    55  		fmt.Printf("%+v\n", cluster)
    56  	}
    57  
    58  Example to List Clusters with detailed information
    59  
    60  	allPagesDetail, err := clusters.ListDetail(serviceClient, clusters.ListOpts{}).AllPages()
    61  	if err != nil {
    62  	    panic(err)
    63  	}
    64  
    65  	allClustersDetail, err := clusters.ExtractClusters(allPagesDetail)
    66  	if err != nil {
    67  	    panic(err)
    68  	}
    69  
    70  	for _, clusterDetail := range allClustersDetail {
    71  	    fmt.Printf("%+v\n", clusterDetail)
    72  	}
    73  
    74  Example to Update a Cluster
    75  
    76  	updateOpts := []clusters.UpdateOptsBuilder{
    77  		clusters.UpdateOpts{
    78  			Op:    clusters.ReplaceOp,
    79  			Path:  "/master_lb_enabled",
    80  			Value: "True",
    81  		},
    82  		clusters.UpdateOpts{
    83  			Op:    clusters.ReplaceOp,
    84  			Path:  "/registry_enabled",
    85  			Value: "True",
    86  		},
    87  	}
    88  	clusterUUID, err := clusters.Update(serviceClient, clusterUUID, updateOpts).Extract()
    89  	if err != nil {
    90  		panic(err)
    91  	}
    92  	fmt.Printf("%s\n", clusterUUID)
    93  
    94  Example to Upgrade a Cluster
    95  
    96  	upgradeOpts := clusters.UpgradeOpts{
    97  		ClusterTemplate: "0562d357-8641-4759-8fed-8173f02c9633",
    98  	}
    99  	clusterUUID, err := clusters.Upgrade(serviceClient, clusterUUID, upgradeOpts).Extract()
   100  	if err != nil {
   101  		panic(err)
   102  	}
   103  	fmt.Printf("%s\n", clusterUUID)
   104  
   105  Example to Delete a Cluster
   106  
   107  	clusterUUID := "dc6d336e3fc4c0a951b5698cd1236ee"
   108  	err := clusters.Delete(serviceClient, clusterUUID).ExtractErr()
   109  	if err != nil {
   110  		panic(err)
   111  	}
   112  */
   113  package clusters