github.com/openshift-online/ocm-sdk-go@v0.1.473/statusboard/v1/service_dependencies_client.go (about) 1 /* 2 Copyright (c) 2020 Red Hat, Inc. 3 4 Licensed under the Apache License, Version 2.0 (the "License"); 5 you may not use this file except in compliance with the License. 6 You may obtain a copy of the License at 7 8 http://www.apache.org/licenses/LICENSE-2.0 9 10 Unless required by applicable law or agreed to in writing, software 11 distributed under the License is distributed on an "AS IS" BASIS, 12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 See the License for the specific language governing permissions and 14 limitations under the License. 15 */ 16 17 // IMPORTANT: This file has been generated automatically, refrain from modifying it manually as all 18 // your changes will be lost when the file is generated again. 19 20 package v1 // github.com/openshift-online/ocm-sdk-go/statusboard/v1 21 22 import ( 23 "bufio" 24 "bytes" 25 "context" 26 "io" 27 "net/http" 28 "net/url" 29 "path" 30 31 "github.com/openshift-online/ocm-sdk-go/errors" 32 "github.com/openshift-online/ocm-sdk-go/helpers" 33 ) 34 35 // ServiceDependenciesClient is the client of the 'service_dependencies' resource. 36 // 37 // Manages the collection of service dependencies. 38 type ServiceDependenciesClient struct { 39 transport http.RoundTripper 40 path string 41 } 42 43 // NewServiceDependenciesClient creates a new client for the 'service_dependencies' 44 // resource using the given transport to send the requests and receive the 45 // responses. 46 func NewServiceDependenciesClient(transport http.RoundTripper, path string) *ServiceDependenciesClient { 47 return &ServiceDependenciesClient{ 48 transport: transport, 49 path: path, 50 } 51 } 52 53 // Add creates a request for the 'add' method. 54 func (c *ServiceDependenciesClient) Add() *ServiceDependenciesAddRequest { 55 return &ServiceDependenciesAddRequest{ 56 transport: c.transport, 57 path: c.path, 58 } 59 } 60 61 // List creates a request for the 'list' method. 62 // 63 // Retrieves the list of service dependencies. 64 func (c *ServiceDependenciesClient) List() *ServiceDependenciesListRequest { 65 return &ServiceDependenciesListRequest{ 66 transport: c.transport, 67 path: c.path, 68 } 69 } 70 71 // ServiceDependency returns the target 'service_dependency' resource for the given identifier. 72 func (c *ServiceDependenciesClient) ServiceDependency(id string) *ServiceDependencyClient { 73 return NewServiceDependencyClient( 74 c.transport, 75 path.Join(c.path, id), 76 ) 77 } 78 79 // ServiceDependenciesAddRequest is the request for the 'add' method. 80 type ServiceDependenciesAddRequest struct { 81 transport http.RoundTripper 82 path string 83 query url.Values 84 header http.Header 85 body *ServiceDependency 86 } 87 88 // Parameter adds a query parameter. 89 func (r *ServiceDependenciesAddRequest) Parameter(name string, value interface{}) *ServiceDependenciesAddRequest { 90 helpers.AddValue(&r.query, name, value) 91 return r 92 } 93 94 // Header adds a request header. 95 func (r *ServiceDependenciesAddRequest) Header(name string, value interface{}) *ServiceDependenciesAddRequest { 96 helpers.AddHeader(&r.header, name, value) 97 return r 98 } 99 100 // Impersonate wraps requests on behalf of another user. 101 // Note: Services that do not support this feature may silently ignore this call. 102 func (r *ServiceDependenciesAddRequest) Impersonate(user string) *ServiceDependenciesAddRequest { 103 helpers.AddImpersonationHeader(&r.header, user) 104 return r 105 } 106 107 // Body sets the value of the 'body' parameter. 108 func (r *ServiceDependenciesAddRequest) Body(value *ServiceDependency) *ServiceDependenciesAddRequest { 109 r.body = value 110 return r 111 } 112 113 // Send sends this request, waits for the response, and returns it. 114 // 115 // This is a potentially lengthy operation, as it requires network communication. 116 // Consider using a context and the SendContext method. 117 func (r *ServiceDependenciesAddRequest) Send() (result *ServiceDependenciesAddResponse, err error) { 118 return r.SendContext(context.Background()) 119 } 120 121 // SendContext sends this request, waits for the response, and returns it. 122 func (r *ServiceDependenciesAddRequest) SendContext(ctx context.Context) (result *ServiceDependenciesAddResponse, err error) { 123 query := helpers.CopyQuery(r.query) 124 header := helpers.CopyHeader(r.header) 125 buffer := &bytes.Buffer{} 126 err = writeServiceDependenciesAddRequest(r, buffer) 127 if err != nil { 128 return 129 } 130 uri := &url.URL{ 131 Path: r.path, 132 RawQuery: query.Encode(), 133 } 134 request := &http.Request{ 135 Method: "POST", 136 URL: uri, 137 Header: header, 138 Body: io.NopCloser(buffer), 139 } 140 if ctx != nil { 141 request = request.WithContext(ctx) 142 } 143 response, err := r.transport.RoundTrip(request) 144 if err != nil { 145 return 146 } 147 defer response.Body.Close() 148 result = &ServiceDependenciesAddResponse{} 149 result.status = response.StatusCode 150 result.header = response.Header 151 reader := bufio.NewReader(response.Body) 152 _, err = reader.Peek(1) 153 if err == io.EOF { 154 err = nil 155 return 156 } 157 if result.status >= 400 { 158 result.err, err = errors.UnmarshalErrorStatus(reader, result.status) 159 if err != nil { 160 return 161 } 162 err = result.err 163 return 164 } 165 err = readServiceDependenciesAddResponse(result, reader) 166 if err != nil { 167 return 168 } 169 return 170 } 171 172 // ServiceDependenciesAddResponse is the response for the 'add' method. 173 type ServiceDependenciesAddResponse struct { 174 status int 175 header http.Header 176 err *errors.Error 177 body *ServiceDependency 178 } 179 180 // Status returns the response status code. 181 func (r *ServiceDependenciesAddResponse) Status() int { 182 if r == nil { 183 return 0 184 } 185 return r.status 186 } 187 188 // Header returns header of the response. 189 func (r *ServiceDependenciesAddResponse) Header() http.Header { 190 if r == nil { 191 return nil 192 } 193 return r.header 194 } 195 196 // Error returns the response error. 197 func (r *ServiceDependenciesAddResponse) Error() *errors.Error { 198 if r == nil { 199 return nil 200 } 201 return r.err 202 } 203 204 // Body returns the value of the 'body' parameter. 205 func (r *ServiceDependenciesAddResponse) Body() *ServiceDependency { 206 if r == nil { 207 return nil 208 } 209 return r.body 210 } 211 212 // GetBody returns the value of the 'body' parameter and 213 // a flag indicating if the parameter has a value. 214 func (r *ServiceDependenciesAddResponse) GetBody() (value *ServiceDependency, ok bool) { 215 ok = r != nil && r.body != nil 216 if ok { 217 value = r.body 218 } 219 return 220 } 221 222 // ServiceDependenciesListRequest is the request for the 'list' method. 223 type ServiceDependenciesListRequest struct { 224 transport http.RoundTripper 225 path string 226 query url.Values 227 header http.Header 228 orderBy *string 229 page *int 230 size *int 231 } 232 233 // Parameter adds a query parameter. 234 func (r *ServiceDependenciesListRequest) Parameter(name string, value interface{}) *ServiceDependenciesListRequest { 235 helpers.AddValue(&r.query, name, value) 236 return r 237 } 238 239 // Header adds a request header. 240 func (r *ServiceDependenciesListRequest) Header(name string, value interface{}) *ServiceDependenciesListRequest { 241 helpers.AddHeader(&r.header, name, value) 242 return r 243 } 244 245 // Impersonate wraps requests on behalf of another user. 246 // Note: Services that do not support this feature may silently ignore this call. 247 func (r *ServiceDependenciesListRequest) Impersonate(user string) *ServiceDependenciesListRequest { 248 helpers.AddImpersonationHeader(&r.header, user) 249 return r 250 } 251 252 // OrderBy sets the value of the 'order_by' parameter. 253 func (r *ServiceDependenciesListRequest) OrderBy(value string) *ServiceDependenciesListRequest { 254 r.orderBy = &value 255 return r 256 } 257 258 // Page sets the value of the 'page' parameter. 259 func (r *ServiceDependenciesListRequest) Page(value int) *ServiceDependenciesListRequest { 260 r.page = &value 261 return r 262 } 263 264 // Size sets the value of the 'size' parameter. 265 func (r *ServiceDependenciesListRequest) Size(value int) *ServiceDependenciesListRequest { 266 r.size = &value 267 return r 268 } 269 270 // Send sends this request, waits for the response, and returns it. 271 // 272 // This is a potentially lengthy operation, as it requires network communication. 273 // Consider using a context and the SendContext method. 274 func (r *ServiceDependenciesListRequest) Send() (result *ServiceDependenciesListResponse, err error) { 275 return r.SendContext(context.Background()) 276 } 277 278 // SendContext sends this request, waits for the response, and returns it. 279 func (r *ServiceDependenciesListRequest) SendContext(ctx context.Context) (result *ServiceDependenciesListResponse, err error) { 280 query := helpers.CopyQuery(r.query) 281 if r.orderBy != nil { 282 helpers.AddValue(&query, "order_by", *r.orderBy) 283 } 284 if r.page != nil { 285 helpers.AddValue(&query, "page", *r.page) 286 } 287 if r.size != nil { 288 helpers.AddValue(&query, "size", *r.size) 289 } 290 header := helpers.CopyHeader(r.header) 291 uri := &url.URL{ 292 Path: r.path, 293 RawQuery: query.Encode(), 294 } 295 request := &http.Request{ 296 Method: "GET", 297 URL: uri, 298 Header: header, 299 } 300 if ctx != nil { 301 request = request.WithContext(ctx) 302 } 303 response, err := r.transport.RoundTrip(request) 304 if err != nil { 305 return 306 } 307 defer response.Body.Close() 308 result = &ServiceDependenciesListResponse{} 309 result.status = response.StatusCode 310 result.header = response.Header 311 reader := bufio.NewReader(response.Body) 312 _, err = reader.Peek(1) 313 if err == io.EOF { 314 err = nil 315 return 316 } 317 if result.status >= 400 { 318 result.err, err = errors.UnmarshalErrorStatus(reader, result.status) 319 if err != nil { 320 return 321 } 322 err = result.err 323 return 324 } 325 err = readServiceDependenciesListResponse(result, reader) 326 if err != nil { 327 return 328 } 329 return 330 } 331 332 // ServiceDependenciesListResponse is the response for the 'list' method. 333 type ServiceDependenciesListResponse struct { 334 status int 335 header http.Header 336 err *errors.Error 337 items *ServiceDependencyList 338 page *int 339 size *int 340 total *int 341 } 342 343 // Status returns the response status code. 344 func (r *ServiceDependenciesListResponse) Status() int { 345 if r == nil { 346 return 0 347 } 348 return r.status 349 } 350 351 // Header returns header of the response. 352 func (r *ServiceDependenciesListResponse) Header() http.Header { 353 if r == nil { 354 return nil 355 } 356 return r.header 357 } 358 359 // Error returns the response error. 360 func (r *ServiceDependenciesListResponse) Error() *errors.Error { 361 if r == nil { 362 return nil 363 } 364 return r.err 365 } 366 367 // Items returns the value of the 'items' parameter. 368 func (r *ServiceDependenciesListResponse) Items() *ServiceDependencyList { 369 if r == nil { 370 return nil 371 } 372 return r.items 373 } 374 375 // GetItems returns the value of the 'items' parameter and 376 // a flag indicating if the parameter has a value. 377 func (r *ServiceDependenciesListResponse) GetItems() (value *ServiceDependencyList, ok bool) { 378 ok = r != nil && r.items != nil 379 if ok { 380 value = r.items 381 } 382 return 383 } 384 385 // Page returns the value of the 'page' parameter. 386 func (r *ServiceDependenciesListResponse) Page() int { 387 if r != nil && r.page != nil { 388 return *r.page 389 } 390 return 0 391 } 392 393 // GetPage returns the value of the 'page' parameter and 394 // a flag indicating if the parameter has a value. 395 func (r *ServiceDependenciesListResponse) GetPage() (value int, ok bool) { 396 ok = r != nil && r.page != nil 397 if ok { 398 value = *r.page 399 } 400 return 401 } 402 403 // Size returns the value of the 'size' parameter. 404 func (r *ServiceDependenciesListResponse) Size() int { 405 if r != nil && r.size != nil { 406 return *r.size 407 } 408 return 0 409 } 410 411 // GetSize returns the value of the 'size' parameter and 412 // a flag indicating if the parameter has a value. 413 func (r *ServiceDependenciesListResponse) GetSize() (value int, ok bool) { 414 ok = r != nil && r.size != nil 415 if ok { 416 value = *r.size 417 } 418 return 419 } 420 421 // Total returns the value of the 'total' parameter. 422 func (r *ServiceDependenciesListResponse) Total() int { 423 if r != nil && r.total != nil { 424 return *r.total 425 } 426 return 0 427 } 428 429 // GetTotal returns the value of the 'total' parameter and 430 // a flag indicating if the parameter has a value. 431 func (r *ServiceDependenciesListResponse) GetTotal() (value int, ok bool) { 432 ok = r != nil && r.total != nil 433 if ok { 434 value = *r.total 435 } 436 return 437 }