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 02a1a100 2022-01-18 o // DeleteHost deletes the Host identified by name. If cascade is true, objects
50 02a1a100 2022-01-18 o // depending on the Host are also deleted. If no Host is found, error wraps
51 02a1a100 2022-01-18 o // ErrNotExist.
52 02a1a100 2022-01-18 o func (c *Client) DeleteHost(name string, cascade bool) error {
53 02a1a100 2022-01-18 o if err := c.deleteObject("/objects/hosts/"+name, cascade); err != nil {
54 26fb88e9 2022-01-12 o return fmt.Errorf("delete host %s: %w", name, err)
55 26fb88e9 2022-01-12 o }
56 26fb88e9 2022-01-12 o return nil
57 26fb88e9 2022-01-12 o }
58 26fb88e9 2022-01-12 o
59 26fb88e9 2022-01-12 o // Services returns a slice of Service matching the filter expression filter.
60 6c703620 2022-01-12 o // If no services match, error wraps ErrNoMatch.
61 26fb88e9 2022-01-12 o // To fetch all service, set filter to the empty string ("").
62 26fb88e9 2022-01-12 o func (c *Client) Services(filter string) ([]Service, error) {
63 26fb88e9 2022-01-12 o objects, err := c.filterObjects("/objects/services", filter)
64 26fb88e9 2022-01-12 o if err != nil {
65 26fb88e9 2022-01-12 o return nil, fmt.Errorf("get services filter %q: %w", filter, err)
66 26fb88e9 2022-01-12 o }
67 26fb88e9 2022-01-12 o var services []Service
68 26fb88e9 2022-01-12 o for _, o := range objects {
69 26fb88e9 2022-01-12 o v, ok := o.(Service)
70 26fb88e9 2022-01-12 o if !ok {
71 26fb88e9 2022-01-12 o return nil, fmt.Errorf("get services filter %q: %T in response", filter, v)
72 26fb88e9 2022-01-12 o }
73 26fb88e9 2022-01-12 o services = append(services, v)
74 26fb88e9 2022-01-12 o }
75 26fb88e9 2022-01-12 o return services, nil
76 26fb88e9 2022-01-12 o }
77 26fb88e9 2022-01-12 o
78 26fb88e9 2022-01-12 o // LookupService returns the Service identified by name. If no Service is found, error
79 26fb88e9 2022-01-12 o // wraps ErrNotExist.
80 26fb88e9 2022-01-12 o func (c *Client) LookupService(name string) (Service, error) {
81 26fb88e9 2022-01-12 o obj, err := c.lookupObject("/objects/services/" + name)
82 26fb88e9 2022-01-12 o if err != nil {
83 26fb88e9 2022-01-12 o return Service{}, fmt.Errorf("lookup service %s: %w", name, err)
84 26fb88e9 2022-01-12 o }
85 26fb88e9 2022-01-12 o v, ok := obj.(Service)
86 26fb88e9 2022-01-12 o if !ok {
87 26fb88e9 2022-01-12 o return Service{}, fmt.Errorf("lookup service %s: result type %T is not Service", name, v)
88 26fb88e9 2022-01-12 o }
89 26fb88e9 2022-01-12 o return v, nil
90 26fb88e9 2022-01-12 o }
91 26fb88e9 2022-01-12 o
92 26fb88e9 2022-01-12 o // CreateService creates service. Some fields of service must be set for successful
93 26fb88e9 2022-01-12 o // creation; see the type definition of Service for details.
94 26fb88e9 2022-01-12 o func (c *Client) CreateService(service Service) error {
95 26fb88e9 2022-01-12 o if err := c.createObject(service); err != nil {
96 26fb88e9 2022-01-12 o return fmt.Errorf("create service %s: %w", service.Name, err)
97 26fb88e9 2022-01-12 o }
98 26fb88e9 2022-01-12 o return nil
99 26fb88e9 2022-01-12 o }
100 26fb88e9 2022-01-12 o
101 02a1a100 2022-01-18 o // DeleteService deletes the Service identified by name. If cascade is true, objects
102 02a1a100 2022-01-18 o // depending on the Service are also deleted. If no Service is found, error wraps
103 02a1a100 2022-01-18 o // ErrNotExist.
104 02a1a100 2022-01-18 o func (c *Client) DeleteService(name string, cascade bool) error {
105 02a1a100 2022-01-18 o if err := c.deleteObject("/objects/services/"+name, cascade); err != nil {
106 26fb88e9 2022-01-12 o return fmt.Errorf("delete service %s: %w", name, err)
107 26fb88e9 2022-01-12 o }
108 26fb88e9 2022-01-12 o return nil
109 26fb88e9 2022-01-12 o }
110 26fb88e9 2022-01-12 o
111 26fb88e9 2022-01-12 o // Users returns a slice of User matching the filter expression filter.
112 6c703620 2022-01-12 o // If no users match, error wraps ErrNoMatch.
113 26fb88e9 2022-01-12 o // To fetch all user, set filter to the empty string ("").
114 26fb88e9 2022-01-12 o func (c *Client) Users(filter string) ([]User, error) {
115 26fb88e9 2022-01-12 o objects, err := c.filterObjects("/objects/users", filter)
116 26fb88e9 2022-01-12 o if err != nil {
117 26fb88e9 2022-01-12 o return nil, fmt.Errorf("get users filter %q: %w", filter, err)
118 26fb88e9 2022-01-12 o }
119 26fb88e9 2022-01-12 o var users []User
120 26fb88e9 2022-01-12 o for _, o := range objects {
121 26fb88e9 2022-01-12 o v, ok := o.(User)
122 26fb88e9 2022-01-12 o if !ok {
123 26fb88e9 2022-01-12 o return nil, fmt.Errorf("get users filter %q: %T in response", filter, v)
124 26fb88e9 2022-01-12 o }
125 26fb88e9 2022-01-12 o users = append(users, v)
126 26fb88e9 2022-01-12 o }
127 26fb88e9 2022-01-12 o return users, nil
128 26fb88e9 2022-01-12 o }
129 26fb88e9 2022-01-12 o
130 26fb88e9 2022-01-12 o // LookupUser returns the User identified by name. If no User is found, error
131 26fb88e9 2022-01-12 o // wraps ErrNotExist.
132 26fb88e9 2022-01-12 o func (c *Client) LookupUser(name string) (User, error) {
133 26fb88e9 2022-01-12 o obj, err := c.lookupObject("/objects/users/" + name)
134 26fb88e9 2022-01-12 o if err != nil {
135 26fb88e9 2022-01-12 o return User{}, fmt.Errorf("lookup user %s: %w", name, err)
136 26fb88e9 2022-01-12 o }
137 26fb88e9 2022-01-12 o v, ok := obj.(User)
138 26fb88e9 2022-01-12 o if !ok {
139 26fb88e9 2022-01-12 o return User{}, fmt.Errorf("lookup user %s: result type %T is not User", name, v)
140 26fb88e9 2022-01-12 o }
141 26fb88e9 2022-01-12 o return v, nil
142 26fb88e9 2022-01-12 o }
143 26fb88e9 2022-01-12 o
144 26fb88e9 2022-01-12 o // CreateUser creates user. Some fields of user must be set for successful
145 26fb88e9 2022-01-12 o // creation; see the type definition of User for details.
146 26fb88e9 2022-01-12 o func (c *Client) CreateUser(user User) error {
147 26fb88e9 2022-01-12 o if err := c.createObject(user); err != nil {
148 26fb88e9 2022-01-12 o return fmt.Errorf("create user %s: %w", user.Name, err)
149 26fb88e9 2022-01-12 o }
150 26fb88e9 2022-01-12 o return nil
151 26fb88e9 2022-01-12 o }
152 26fb88e9 2022-01-12 o
153 02a1a100 2022-01-18 o // DeleteUser deletes the User identified by name. If cascade is true, objects
154 02a1a100 2022-01-18 o // depending on the User are also deleted. If no User is found, error wraps
155 02a1a100 2022-01-18 o // ErrNotExist.
156 02a1a100 2022-01-18 o func (c *Client) DeleteUser(name string, cascade bool) error {
157 02a1a100 2022-01-18 o if err := c.deleteObject("/objects/users/"+name, cascade); err != nil {
158 26fb88e9 2022-01-12 o return fmt.Errorf("delete user %s: %w", name, err)
159 26fb88e9 2022-01-12 o }
160 26fb88e9 2022-01-12 o return nil
161 26fb88e9 2022-01-12 o }
162 e0c24850 2022-01-14 o
163 e0c24850 2022-01-14 o // HostGroups returns a slice of HostGroup matching the filter expression filter.
164 e0c24850 2022-01-14 o // If no hostgroups match, error wraps ErrNoMatch.
165 e0c24850 2022-01-14 o // To fetch all hostgroup, set filter to the empty string ("").
166 e0c24850 2022-01-14 o func (c *Client) HostGroups(filter string) ([]HostGroup, error) {
167 e0c24850 2022-01-14 o objects, err := c.filterObjects("/objects/hostgroups", filter)
168 e0c24850 2022-01-14 o if err != nil {
169 e0c24850 2022-01-14 o return nil, fmt.Errorf("get hostgroups filter %q: %w", filter, err)
170 e0c24850 2022-01-14 o }
171 e0c24850 2022-01-14 o var hostgroups []HostGroup
172 e0c24850 2022-01-14 o for _, o := range objects {
173 e0c24850 2022-01-14 o v, ok := o.(HostGroup)
174 e0c24850 2022-01-14 o if !ok {
175 e0c24850 2022-01-14 o return nil, fmt.Errorf("get hostgroups filter %q: %T in response", filter, v)
176 e0c24850 2022-01-14 o }
177 e0c24850 2022-01-14 o hostgroups = append(hostgroups, v)
178 e0c24850 2022-01-14 o }
179 e0c24850 2022-01-14 o return hostgroups, nil
180 e0c24850 2022-01-14 o }
181 e0c24850 2022-01-14 o
182 e0c24850 2022-01-14 o // LookupHostGroup returns the HostGroup identified by name. If no HostGroup is found, error
183 e0c24850 2022-01-14 o // wraps ErrNotExist.
184 e0c24850 2022-01-14 o func (c *Client) LookupHostGroup(name string) (HostGroup, error) {
185 e0c24850 2022-01-14 o obj, err := c.lookupObject("/objects/hostgroups/" + name)
186 e0c24850 2022-01-14 o if err != nil {
187 e0c24850 2022-01-14 o return HostGroup{}, fmt.Errorf("lookup hostgroup %s: %w", name, err)
188 e0c24850 2022-01-14 o }
189 e0c24850 2022-01-14 o v, ok := obj.(HostGroup)
190 e0c24850 2022-01-14 o if !ok {
191 e0c24850 2022-01-14 o return HostGroup{}, fmt.Errorf("lookup hostgroup %s: result type %T is not HostGroup", name, v)
192 e0c24850 2022-01-14 o }
193 e0c24850 2022-01-14 o return v, nil
194 e0c24850 2022-01-14 o }
195 e0c24850 2022-01-14 o
196 e0c24850 2022-01-14 o // CreateHostGroup creates hostgroup. Some fields of hostgroup must be set for successful
197 e0c24850 2022-01-14 o // creation; see the type definition of HostGroup for details.
198 e0c24850 2022-01-14 o func (c *Client) CreateHostGroup(hostgroup HostGroup) error {
199 e0c24850 2022-01-14 o if err := c.createObject(hostgroup); err != nil {
200 e0c24850 2022-01-14 o return fmt.Errorf("create hostgroup %s: %w", hostgroup.Name, err)
201 e0c24850 2022-01-14 o }
202 e0c24850 2022-01-14 o return nil
203 e0c24850 2022-01-14 o }
204 e0c24850 2022-01-14 o
205 02a1a100 2022-01-18 o // DeleteHostGroup deletes the HostGroup identified by name. If cascade is true, objects
206 02a1a100 2022-01-18 o // depending on the HostGroup are also deleted. If no HostGroup is found, error wraps
207 02a1a100 2022-01-18 o // ErrNotExist.
208 02a1a100 2022-01-18 o func (c *Client) DeleteHostGroup(name string, cascade bool) error {
209 02a1a100 2022-01-18 o if err := c.deleteObject("/objects/hostgroups/"+name, cascade); err != nil {
210 e0c24850 2022-01-14 o return fmt.Errorf("delete hostgroup %s: %w", name, err)
211 e0c24850 2022-01-14 o }
212 e0c24850 2022-01-14 o return nil
213 e0c24850 2022-01-14 o }