Blame


1 e6fcfaf5 2022-01-18 o // Code generated by ./crud.sh -o crud.go; DO NOT EDIT.
2 26fb88e9 2022-01-12 o
3 26fb88e9 2022-01-12 o package icinga
4 26fb88e9 2022-01-12 o
5 26fb88e9 2022-01-12 o import "fmt"
6 26fb88e9 2022-01-12 o
7 26fb88e9 2022-01-12 o // Hosts returns a slice of Host matching the filter expression filter.
8 26fb88e9 2022-01-12 o // If no hosts match, error wraps ErrNoMatch.
9 26fb88e9 2022-01-12 o // To fetch all host, set filter to the empty string ("").
10 26fb88e9 2022-01-12 o func (c *Client) Hosts(filter string) ([]Host, error) {
11 26fb88e9 2022-01-12 o objects, err := c.filterObjects("/objects/hosts", filter)
12 26fb88e9 2022-01-12 o if err != nil {
13 26fb88e9 2022-01-12 o return nil, fmt.Errorf("get hosts filter %q: %w", filter, err)
14 26fb88e9 2022-01-12 o }
15 26fb88e9 2022-01-12 o var hosts []Host
16 26fb88e9 2022-01-12 o for _, o := range objects {
17 26fb88e9 2022-01-12 o v, ok := o.(Host)
18 26fb88e9 2022-01-12 o if !ok {
19 26fb88e9 2022-01-12 o return nil, fmt.Errorf("get hosts filter %q: %T in response", filter, v)
20 26fb88e9 2022-01-12 o }
21 26fb88e9 2022-01-12 o hosts = append(hosts, v)
22 26fb88e9 2022-01-12 o }
23 26fb88e9 2022-01-12 o return hosts, nil
24 26fb88e9 2022-01-12 o }
25 26fb88e9 2022-01-12 o
26 26fb88e9 2022-01-12 o // LookupHost returns the Host identified by name. If no Host is found, error
27 26fb88e9 2022-01-12 o // wraps ErrNotExist.
28 26fb88e9 2022-01-12 o func (c *Client) LookupHost(name string) (Host, error) {
29 26fb88e9 2022-01-12 o obj, err := c.lookupObject("/objects/hosts/" + name)
30 26fb88e9 2022-01-12 o if err != nil {
31 26fb88e9 2022-01-12 o return Host{}, fmt.Errorf("lookup host %s: %w", name, err)
32 26fb88e9 2022-01-12 o }
33 26fb88e9 2022-01-12 o v, ok := obj.(Host)
34 26fb88e9 2022-01-12 o if !ok {
35 26fb88e9 2022-01-12 o return Host{}, fmt.Errorf("lookup host %s: result type %T is not Host", name, v)
36 26fb88e9 2022-01-12 o }
37 26fb88e9 2022-01-12 o return v, nil
38 26fb88e9 2022-01-12 o }
39 26fb88e9 2022-01-12 o
40 26fb88e9 2022-01-12 o // CreateHost creates host. Some fields of host must be set for successful
41 26fb88e9 2022-01-12 o // creation; see the type definition of Host for details.
42 26fb88e9 2022-01-12 o func (c *Client) CreateHost(host Host) error {
43 26fb88e9 2022-01-12 o if err := c.createObject(host); err != nil {
44 26fb88e9 2022-01-12 o return fmt.Errorf("create host %s: %w", host.Name, err)
45 26fb88e9 2022-01-12 o }
46 26fb88e9 2022-01-12 o return nil
47 26fb88e9 2022-01-12 o }
48 26fb88e9 2022-01-12 o
49 26fb88e9 2022-01-12 o // DeleteHost deletes the Host identified by name.
50 26fb88e9 2022-01-12 o // If no Host is found, error wraps ErrNotExist.
51 26fb88e9 2022-01-12 o func (c *Client) DeleteHost(name string) error {
52 26fb88e9 2022-01-12 o if err := c.deleteObject("/objects/hosts/" + name); err != nil {
53 26fb88e9 2022-01-12 o return fmt.Errorf("delete host %s: %w", name, err)
54 26fb88e9 2022-01-12 o }
55 26fb88e9 2022-01-12 o return nil
56 26fb88e9 2022-01-12 o }
57 26fb88e9 2022-01-12 o
58 26fb88e9 2022-01-12 o // Services returns a slice of Service matching the filter expression filter.
59 6c703620 2022-01-12 o // If no services match, error wraps ErrNoMatch.
60 26fb88e9 2022-01-12 o // To fetch all service, set filter to the empty string ("").
61 26fb88e9 2022-01-12 o func (c *Client) Services(filter string) ([]Service, error) {
62 26fb88e9 2022-01-12 o objects, err := c.filterObjects("/objects/services", filter)
63 26fb88e9 2022-01-12 o if err != nil {
64 26fb88e9 2022-01-12 o return nil, fmt.Errorf("get services filter %q: %w", filter, err)
65 26fb88e9 2022-01-12 o }
66 26fb88e9 2022-01-12 o var services []Service
67 26fb88e9 2022-01-12 o for _, o := range objects {
68 26fb88e9 2022-01-12 o v, ok := o.(Service)
69 26fb88e9 2022-01-12 o if !ok {
70 26fb88e9 2022-01-12 o return nil, fmt.Errorf("get services filter %q: %T in response", filter, v)
71 26fb88e9 2022-01-12 o }
72 26fb88e9 2022-01-12 o services = append(services, v)
73 26fb88e9 2022-01-12 o }
74 26fb88e9 2022-01-12 o return services, nil
75 26fb88e9 2022-01-12 o }
76 26fb88e9 2022-01-12 o
77 26fb88e9 2022-01-12 o // LookupService returns the Service identified by name. If no Service is found, error
78 26fb88e9 2022-01-12 o // wraps ErrNotExist.
79 26fb88e9 2022-01-12 o func (c *Client) LookupService(name string) (Service, error) {
80 26fb88e9 2022-01-12 o obj, err := c.lookupObject("/objects/services/" + name)
81 26fb88e9 2022-01-12 o if err != nil {
82 26fb88e9 2022-01-12 o return Service{}, fmt.Errorf("lookup service %s: %w", name, err)
83 26fb88e9 2022-01-12 o }
84 26fb88e9 2022-01-12 o v, ok := obj.(Service)
85 26fb88e9 2022-01-12 o if !ok {
86 26fb88e9 2022-01-12 o return Service{}, fmt.Errorf("lookup service %s: result type %T is not Service", name, v)
87 26fb88e9 2022-01-12 o }
88 26fb88e9 2022-01-12 o return v, nil
89 26fb88e9 2022-01-12 o }
90 26fb88e9 2022-01-12 o
91 26fb88e9 2022-01-12 o // CreateService creates service. Some fields of service must be set for successful
92 26fb88e9 2022-01-12 o // creation; see the type definition of Service for details.
93 26fb88e9 2022-01-12 o func (c *Client) CreateService(service Service) error {
94 26fb88e9 2022-01-12 o if err := c.createObject(service); err != nil {
95 26fb88e9 2022-01-12 o return fmt.Errorf("create service %s: %w", service.Name, err)
96 26fb88e9 2022-01-12 o }
97 26fb88e9 2022-01-12 o return nil
98 26fb88e9 2022-01-12 o }
99 26fb88e9 2022-01-12 o
100 26fb88e9 2022-01-12 o // DeleteService deletes the Service identified by name.
101 26fb88e9 2022-01-12 o // If no Service is found, error wraps ErrNotExist.
102 26fb88e9 2022-01-12 o func (c *Client) DeleteService(name string) error {
103 26fb88e9 2022-01-12 o if err := c.deleteObject("/objects/services/" + name); err != nil {
104 26fb88e9 2022-01-12 o return fmt.Errorf("delete service %s: %w", name, err)
105 26fb88e9 2022-01-12 o }
106 26fb88e9 2022-01-12 o return nil
107 26fb88e9 2022-01-12 o }
108 26fb88e9 2022-01-12 o
109 26fb88e9 2022-01-12 o // Users returns a slice of User matching the filter expression filter.
110 6c703620 2022-01-12 o // If no users match, error wraps ErrNoMatch.
111 26fb88e9 2022-01-12 o // To fetch all user, set filter to the empty string ("").
112 26fb88e9 2022-01-12 o func (c *Client) Users(filter string) ([]User, error) {
113 26fb88e9 2022-01-12 o objects, err := c.filterObjects("/objects/users", filter)
114 26fb88e9 2022-01-12 o if err != nil {
115 26fb88e9 2022-01-12 o return nil, fmt.Errorf("get users filter %q: %w", filter, err)
116 26fb88e9 2022-01-12 o }
117 26fb88e9 2022-01-12 o var users []User
118 26fb88e9 2022-01-12 o for _, o := range objects {
119 26fb88e9 2022-01-12 o v, ok := o.(User)
120 26fb88e9 2022-01-12 o if !ok {
121 26fb88e9 2022-01-12 o return nil, fmt.Errorf("get users filter %q: %T in response", filter, v)
122 26fb88e9 2022-01-12 o }
123 26fb88e9 2022-01-12 o users = append(users, v)
124 26fb88e9 2022-01-12 o }
125 26fb88e9 2022-01-12 o return users, nil
126 26fb88e9 2022-01-12 o }
127 26fb88e9 2022-01-12 o
128 26fb88e9 2022-01-12 o // LookupUser returns the User identified by name. If no User is found, error
129 26fb88e9 2022-01-12 o // wraps ErrNotExist.
130 26fb88e9 2022-01-12 o func (c *Client) LookupUser(name string) (User, error) {
131 26fb88e9 2022-01-12 o obj, err := c.lookupObject("/objects/users/" + name)
132 26fb88e9 2022-01-12 o if err != nil {
133 26fb88e9 2022-01-12 o return User{}, fmt.Errorf("lookup user %s: %w", name, err)
134 26fb88e9 2022-01-12 o }
135 26fb88e9 2022-01-12 o v, ok := obj.(User)
136 26fb88e9 2022-01-12 o if !ok {
137 26fb88e9 2022-01-12 o return User{}, fmt.Errorf("lookup user %s: result type %T is not User", name, v)
138 26fb88e9 2022-01-12 o }
139 26fb88e9 2022-01-12 o return v, nil
140 26fb88e9 2022-01-12 o }
141 26fb88e9 2022-01-12 o
142 26fb88e9 2022-01-12 o // CreateUser creates user. Some fields of user must be set for successful
143 26fb88e9 2022-01-12 o // creation; see the type definition of User for details.
144 26fb88e9 2022-01-12 o func (c *Client) CreateUser(user User) error {
145 26fb88e9 2022-01-12 o if err := c.createObject(user); err != nil {
146 26fb88e9 2022-01-12 o return fmt.Errorf("create user %s: %w", user.Name, err)
147 26fb88e9 2022-01-12 o }
148 26fb88e9 2022-01-12 o return nil
149 26fb88e9 2022-01-12 o }
150 26fb88e9 2022-01-12 o
151 26fb88e9 2022-01-12 o // DeleteUser deletes the User identified by name.
152 26fb88e9 2022-01-12 o // If no User is found, error wraps ErrNotExist.
153 26fb88e9 2022-01-12 o func (c *Client) DeleteUser(name string) error {
154 26fb88e9 2022-01-12 o if err := c.deleteObject("/objects/users/" + name); err != nil {
155 26fb88e9 2022-01-12 o return fmt.Errorf("delete user %s: %w", name, err)
156 26fb88e9 2022-01-12 o }
157 26fb88e9 2022-01-12 o return nil
158 26fb88e9 2022-01-12 o }
159 e0c24850 2022-01-14 o
160 e0c24850 2022-01-14 o // HostGroups returns a slice of HostGroup matching the filter expression filter.
161 e0c24850 2022-01-14 o // If no hostgroups match, error wraps ErrNoMatch.
162 e0c24850 2022-01-14 o // To fetch all hostgroup, set filter to the empty string ("").
163 e0c24850 2022-01-14 o func (c *Client) HostGroups(filter string) ([]HostGroup, error) {
164 e0c24850 2022-01-14 o objects, err := c.filterObjects("/objects/hostgroups", filter)
165 e0c24850 2022-01-14 o if err != nil {
166 e0c24850 2022-01-14 o return nil, fmt.Errorf("get hostgroups filter %q: %w", filter, err)
167 e0c24850 2022-01-14 o }
168 e0c24850 2022-01-14 o var hostgroups []HostGroup
169 e0c24850 2022-01-14 o for _, o := range objects {
170 e0c24850 2022-01-14 o v, ok := o.(HostGroup)
171 e0c24850 2022-01-14 o if !ok {
172 e0c24850 2022-01-14 o return nil, fmt.Errorf("get hostgroups filter %q: %T in response", filter, v)
173 e0c24850 2022-01-14 o }
174 e0c24850 2022-01-14 o hostgroups = append(hostgroups, v)
175 e0c24850 2022-01-14 o }
176 e0c24850 2022-01-14 o return hostgroups, nil
177 e0c24850 2022-01-14 o }
178 e0c24850 2022-01-14 o
179 e0c24850 2022-01-14 o // LookupHostGroup returns the HostGroup identified by name. If no HostGroup is found, error
180 e0c24850 2022-01-14 o // wraps ErrNotExist.
181 e0c24850 2022-01-14 o func (c *Client) LookupHostGroup(name string) (HostGroup, error) {
182 e0c24850 2022-01-14 o obj, err := c.lookupObject("/objects/hostgroups/" + name)
183 e0c24850 2022-01-14 o if err != nil {
184 e0c24850 2022-01-14 o return HostGroup{}, fmt.Errorf("lookup hostgroup %s: %w", name, err)
185 e0c24850 2022-01-14 o }
186 e0c24850 2022-01-14 o v, ok := obj.(HostGroup)
187 e0c24850 2022-01-14 o if !ok {
188 e0c24850 2022-01-14 o return HostGroup{}, fmt.Errorf("lookup hostgroup %s: result type %T is not HostGroup", name, v)
189 e0c24850 2022-01-14 o }
190 e0c24850 2022-01-14 o return v, nil
191 e0c24850 2022-01-14 o }
192 e0c24850 2022-01-14 o
193 e0c24850 2022-01-14 o // CreateHostGroup creates hostgroup. Some fields of hostgroup must be set for successful
194 e0c24850 2022-01-14 o // creation; see the type definition of HostGroup for details.
195 e0c24850 2022-01-14 o func (c *Client) CreateHostGroup(hostgroup HostGroup) error {
196 e0c24850 2022-01-14 o if err := c.createObject(hostgroup); err != nil {
197 e0c24850 2022-01-14 o return fmt.Errorf("create hostgroup %s: %w", hostgroup.Name, err)
198 e0c24850 2022-01-14 o }
199 e0c24850 2022-01-14 o return nil
200 e0c24850 2022-01-14 o }
201 e0c24850 2022-01-14 o
202 e0c24850 2022-01-14 o // DeleteHostGroup deletes the HostGroup identified by name.
203 e0c24850 2022-01-14 o // If no HostGroup is found, error wraps ErrNotExist.
204 e0c24850 2022-01-14 o func (c *Client) DeleteHostGroup(name string) error {
205 e0c24850 2022-01-14 o if err := c.deleteObject("/objects/hostgroups/" + name); err != nil {
206 e0c24850 2022-01-14 o return fmt.Errorf("delete hostgroup %s: %w", name, err)
207 e0c24850 2022-01-14 o }
208 e0c24850 2022-01-14 o return nil
209 e0c24850 2022-01-14 o }