github.com/gophercloud/gophercloud@v1.11.0/openstack/messaging/v2/queues/doc.go (about) 1 /* 2 Package queues provides information and interaction with the queues through 3 the OpenStack Messaging (Zaqar) service. 4 5 Lists all queues and creates, shows information for updates, deletes, and actions on a queue. 6 7 Example to List Queues 8 9 listOpts := queues.ListOpts{ 10 Limit: 10, 11 } 12 13 pager := queues.List(client, listOpts) 14 15 err = pager.EachPage(func(page pagination.Page) (bool, error) { 16 queues, err := queues.ExtractQueues(page) 17 if err != nil { 18 panic(err) 19 } 20 21 for _, queue := range queues { 22 fmt.Printf("%+v\n", queue) 23 } 24 25 return true, nil 26 }) 27 28 Example to Create a Queue 29 30 createOpts := queues.CreateOpts{ 31 QueueName: "My_Queue", 32 MaxMessagesPostSize: 262143, 33 DefaultMessageTTL: 3700, 34 DefaultMessageDelay: 25, 35 DeadLetterQueueMessageTTL: 3500, 36 MaxClaimCount: 10, 37 Extra: map[string]interface{}{"description": "Test queue."}, 38 } 39 40 err := queues.Create(client, createOpts).ExtractErr() 41 if err != nil { 42 panic(err) 43 } 44 45 Example to Update a Queue 46 47 updateOpts := queues.BatchUpdateOpts{ 48 queues.UpdateOpts{ 49 Op: "replace", 50 Path: "/metadata/_max_claim_count", 51 Value: 15, 52 }, 53 queues.UpdateOpts{ 54 Op: "replace", 55 Path: "/metadata/description", 56 Value: "Updated description test queue.", 57 }, 58 } 59 60 updateResult, err := queues.Update(client, queueName, updateOpts).Extract() 61 if err != nil { 62 panic(err) 63 } 64 65 Example to Get a Queue 66 67 queue, err := queues.Get(client, queueName).Extract() 68 if err != nil { 69 panic(err) 70 } 71 72 Example to Delete a Queue 73 74 err := queues.Delete(client, queueName).ExtractErr() 75 if err != nil { 76 panic(err) 77 } 78 79 Example to Get Message Stats of a Queue 80 81 queueStats, err := queues.GetStats(client, queueName).Extract() 82 if err != nil { 83 panic(err) 84 } 85 86 Example to Share a queue 87 88 shareOpts := queues.ShareOpts{ 89 Paths: []queues.SharePath{queues.ShareMessages}, 90 Methods: []queues.ShareMethod{queues.MethodGet}, 91 } 92 93 queueShare, err := queues.Share(client, queueName, shareOpts).Extract() 94 if err != nil { 95 panic(err) 96 } 97 98 Example to Purge a queue 99 100 purgeOpts := queues.PurgeOpts{ 101 ResourceTypes: []queues.PurgeResource{ 102 queues.ResourceMessages, 103 }, 104 } 105 106 err := queues.Purge(client, queueName, purgeOpts).ExtractErr() 107 if err != nil { 108 panic(err) 109 } 110 */ 111 package queues