github.com/launchdarkly/api-client-go@v5.3.0+incompatible/api_custom_roles.go (about) 1 2 /* 3 * LaunchDarkly REST API 4 * 5 * Build custom integrations with the LaunchDarkly REST API 6 * 7 * API version: 5.3.0 8 * Contact: support@launchdarkly.com 9 * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 10 */ 11 12 package ldapi 13 14 import ( 15 "context" 16 "io/ioutil" 17 "net/http" 18 "net/url" 19 "strings" 20 "fmt" 21 ) 22 23 // Linger please 24 var ( 25 _ context.Context 26 ) 27 28 type CustomRolesApiService service 29 30 /* 31 CustomRolesApiService Delete a custom role by key. 32 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 33 * @param customRoleKey The custom role key. 34 35 36 */ 37 func (a *CustomRolesApiService) DeleteCustomRole(ctx context.Context, customRoleKey string) (*http.Response, error) { 38 var ( 39 localVarHttpMethod = strings.ToUpper("Delete") 40 localVarPostBody interface{} 41 localVarFileName string 42 localVarFileBytes []byte 43 44 ) 45 46 // create path and map variables 47 localVarPath := a.client.cfg.BasePath + "/roles/{customRoleKey}" 48 localVarPath = strings.Replace(localVarPath, "{"+"customRoleKey"+"}", fmt.Sprintf("%v", customRoleKey), -1) 49 50 localVarHeaderParams := make(map[string]string) 51 localVarQueryParams := url.Values{} 52 localVarFormParams := url.Values{} 53 54 // to determine the Content-Type header 55 localVarHttpContentTypes := []string{"application/json"} 56 57 // set Content-Type header 58 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 59 if localVarHttpContentType != "" { 60 localVarHeaderParams["Content-Type"] = localVarHttpContentType 61 } 62 63 // to determine the Accept header 64 localVarHttpHeaderAccepts := []string{"application/json"} 65 66 // set Accept header 67 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 68 if localVarHttpHeaderAccept != "" { 69 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 70 } 71 if ctx != nil { 72 // API Key Authentication 73 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 74 var key string 75 if auth.Prefix != "" { 76 key = auth.Prefix + " " + auth.Key 77 } else { 78 key = auth.Key 79 } 80 localVarHeaderParams["Authorization"] = key 81 82 } 83 } 84 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) 85 if err != nil { 86 return nil, err 87 } 88 89 localVarHttpResponse, err := a.client.callAPI(r) 90 if err != nil || localVarHttpResponse == nil { 91 return localVarHttpResponse, err 92 } 93 94 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 95 localVarHttpResponse.Body.Close() 96 if err != nil { 97 return localVarHttpResponse, err 98 } 99 100 101 if localVarHttpResponse.StatusCode >= 300 { 102 newErr := GenericSwaggerError{ 103 body: localVarBody, 104 error: localVarHttpResponse.Status, 105 } 106 107 return localVarHttpResponse, newErr 108 } 109 110 return localVarHttpResponse, nil 111 } 112 113 /* 114 CustomRolesApiService Get one custom role by key. 115 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 116 * @param customRoleKey The custom role key. 117 118 @return CustomRole 119 */ 120 func (a *CustomRolesApiService) GetCustomRole(ctx context.Context, customRoleKey string) (CustomRole, *http.Response, error) { 121 var ( 122 localVarHttpMethod = strings.ToUpper("Get") 123 localVarPostBody interface{} 124 localVarFileName string 125 localVarFileBytes []byte 126 localVarReturnValue CustomRole 127 ) 128 129 // create path and map variables 130 localVarPath := a.client.cfg.BasePath + "/roles/{customRoleKey}" 131 localVarPath = strings.Replace(localVarPath, "{"+"customRoleKey"+"}", fmt.Sprintf("%v", customRoleKey), -1) 132 133 localVarHeaderParams := make(map[string]string) 134 localVarQueryParams := url.Values{} 135 localVarFormParams := url.Values{} 136 137 // to determine the Content-Type header 138 localVarHttpContentTypes := []string{"application/json"} 139 140 // set Content-Type header 141 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 142 if localVarHttpContentType != "" { 143 localVarHeaderParams["Content-Type"] = localVarHttpContentType 144 } 145 146 // to determine the Accept header 147 localVarHttpHeaderAccepts := []string{"application/json"} 148 149 // set Accept header 150 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 151 if localVarHttpHeaderAccept != "" { 152 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 153 } 154 if ctx != nil { 155 // API Key Authentication 156 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 157 var key string 158 if auth.Prefix != "" { 159 key = auth.Prefix + " " + auth.Key 160 } else { 161 key = auth.Key 162 } 163 localVarHeaderParams["Authorization"] = key 164 165 } 166 } 167 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) 168 if err != nil { 169 return localVarReturnValue, nil, err 170 } 171 172 localVarHttpResponse, err := a.client.callAPI(r) 173 if err != nil || localVarHttpResponse == nil { 174 return localVarReturnValue, localVarHttpResponse, err 175 } 176 177 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 178 localVarHttpResponse.Body.Close() 179 if err != nil { 180 return localVarReturnValue, localVarHttpResponse, err 181 } 182 183 if localVarHttpResponse.StatusCode < 300 { 184 // If we succeed, return the data, otherwise pass on to decode error. 185 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); 186 return localVarReturnValue, localVarHttpResponse, err 187 } 188 189 if localVarHttpResponse.StatusCode >= 300 { 190 newErr := GenericSwaggerError{ 191 body: localVarBody, 192 error: localVarHttpResponse.Status, 193 } 194 195 if localVarHttpResponse.StatusCode == 200 { 196 var v CustomRole 197 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); 198 if err != nil { 199 newErr.error = err.Error() 200 return localVarReturnValue, localVarHttpResponse, newErr 201 } 202 newErr.model = v 203 return localVarReturnValue, localVarHttpResponse, newErr 204 } 205 206 return localVarReturnValue, localVarHttpResponse, newErr 207 } 208 209 return localVarReturnValue, localVarHttpResponse, nil 210 } 211 212 /* 213 CustomRolesApiService Return a complete list of custom roles. 214 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 215 216 @return CustomRoles 217 */ 218 func (a *CustomRolesApiService) GetCustomRoles(ctx context.Context) (CustomRoles, *http.Response, error) { 219 var ( 220 localVarHttpMethod = strings.ToUpper("Get") 221 localVarPostBody interface{} 222 localVarFileName string 223 localVarFileBytes []byte 224 localVarReturnValue CustomRoles 225 ) 226 227 // create path and map variables 228 localVarPath := a.client.cfg.BasePath + "/roles" 229 230 localVarHeaderParams := make(map[string]string) 231 localVarQueryParams := url.Values{} 232 localVarFormParams := url.Values{} 233 234 // to determine the Content-Type header 235 localVarHttpContentTypes := []string{"application/json"} 236 237 // set Content-Type header 238 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 239 if localVarHttpContentType != "" { 240 localVarHeaderParams["Content-Type"] = localVarHttpContentType 241 } 242 243 // to determine the Accept header 244 localVarHttpHeaderAccepts := []string{"application/json"} 245 246 // set Accept header 247 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 248 if localVarHttpHeaderAccept != "" { 249 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 250 } 251 if ctx != nil { 252 // API Key Authentication 253 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 254 var key string 255 if auth.Prefix != "" { 256 key = auth.Prefix + " " + auth.Key 257 } else { 258 key = auth.Key 259 } 260 localVarHeaderParams["Authorization"] = key 261 262 } 263 } 264 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) 265 if err != nil { 266 return localVarReturnValue, nil, err 267 } 268 269 localVarHttpResponse, err := a.client.callAPI(r) 270 if err != nil || localVarHttpResponse == nil { 271 return localVarReturnValue, localVarHttpResponse, err 272 } 273 274 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 275 localVarHttpResponse.Body.Close() 276 if err != nil { 277 return localVarReturnValue, localVarHttpResponse, err 278 } 279 280 if localVarHttpResponse.StatusCode < 300 { 281 // If we succeed, return the data, otherwise pass on to decode error. 282 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); 283 return localVarReturnValue, localVarHttpResponse, err 284 } 285 286 if localVarHttpResponse.StatusCode >= 300 { 287 newErr := GenericSwaggerError{ 288 body: localVarBody, 289 error: localVarHttpResponse.Status, 290 } 291 292 if localVarHttpResponse.StatusCode == 200 { 293 var v CustomRoles 294 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); 295 if err != nil { 296 newErr.error = err.Error() 297 return localVarReturnValue, localVarHttpResponse, newErr 298 } 299 newErr.model = v 300 return localVarReturnValue, localVarHttpResponse, newErr 301 } 302 303 return localVarReturnValue, localVarHttpResponse, newErr 304 } 305 306 return localVarReturnValue, localVarHttpResponse, nil 307 } 308 309 /* 310 CustomRolesApiService Modify a custom role by key. 311 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 312 * @param customRoleKey The custom role key. 313 * @param patchDelta Requires a JSON Patch representation of the desired changes to the project. 'http://jsonpatch.com/' 314 315 @return CustomRole 316 */ 317 func (a *CustomRolesApiService) PatchCustomRole(ctx context.Context, customRoleKey string, patchDelta []PatchOperation) (CustomRole, *http.Response, error) { 318 var ( 319 localVarHttpMethod = strings.ToUpper("Patch") 320 localVarPostBody interface{} 321 localVarFileName string 322 localVarFileBytes []byte 323 localVarReturnValue CustomRole 324 ) 325 326 // create path and map variables 327 localVarPath := a.client.cfg.BasePath + "/roles/{customRoleKey}" 328 localVarPath = strings.Replace(localVarPath, "{"+"customRoleKey"+"}", fmt.Sprintf("%v", customRoleKey), -1) 329 330 localVarHeaderParams := make(map[string]string) 331 localVarQueryParams := url.Values{} 332 localVarFormParams := url.Values{} 333 334 // to determine the Content-Type header 335 localVarHttpContentTypes := []string{"application/json"} 336 337 // set Content-Type header 338 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 339 if localVarHttpContentType != "" { 340 localVarHeaderParams["Content-Type"] = localVarHttpContentType 341 } 342 343 // to determine the Accept header 344 localVarHttpHeaderAccepts := []string{"application/json"} 345 346 // set Accept header 347 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 348 if localVarHttpHeaderAccept != "" { 349 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 350 } 351 // body params 352 localVarPostBody = &patchDelta 353 if ctx != nil { 354 // API Key Authentication 355 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 356 var key string 357 if auth.Prefix != "" { 358 key = auth.Prefix + " " + auth.Key 359 } else { 360 key = auth.Key 361 } 362 localVarHeaderParams["Authorization"] = key 363 364 } 365 } 366 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) 367 if err != nil { 368 return localVarReturnValue, nil, err 369 } 370 371 localVarHttpResponse, err := a.client.callAPI(r) 372 if err != nil || localVarHttpResponse == nil { 373 return localVarReturnValue, localVarHttpResponse, err 374 } 375 376 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 377 localVarHttpResponse.Body.Close() 378 if err != nil { 379 return localVarReturnValue, localVarHttpResponse, err 380 } 381 382 if localVarHttpResponse.StatusCode < 300 { 383 // If we succeed, return the data, otherwise pass on to decode error. 384 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); 385 return localVarReturnValue, localVarHttpResponse, err 386 } 387 388 if localVarHttpResponse.StatusCode >= 300 { 389 newErr := GenericSwaggerError{ 390 body: localVarBody, 391 error: localVarHttpResponse.Status, 392 } 393 394 if localVarHttpResponse.StatusCode == 200 { 395 var v CustomRole 396 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); 397 if err != nil { 398 newErr.error = err.Error() 399 return localVarReturnValue, localVarHttpResponse, newErr 400 } 401 newErr.model = v 402 return localVarReturnValue, localVarHttpResponse, newErr 403 } 404 405 return localVarReturnValue, localVarHttpResponse, newErr 406 } 407 408 return localVarReturnValue, localVarHttpResponse, nil 409 } 410 411 /* 412 CustomRolesApiService Create a new custom role. 413 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 414 * @param customRoleBody New role or roles to create. 415 416 @return CustomRole 417 */ 418 func (a *CustomRolesApiService) PostCustomRole(ctx context.Context, customRoleBody CustomRoleBody) (CustomRole, *http.Response, error) { 419 var ( 420 localVarHttpMethod = strings.ToUpper("Post") 421 localVarPostBody interface{} 422 localVarFileName string 423 localVarFileBytes []byte 424 localVarReturnValue CustomRole 425 ) 426 427 // create path and map variables 428 localVarPath := a.client.cfg.BasePath + "/roles" 429 430 localVarHeaderParams := make(map[string]string) 431 localVarQueryParams := url.Values{} 432 localVarFormParams := url.Values{} 433 434 // to determine the Content-Type header 435 localVarHttpContentTypes := []string{"application/json"} 436 437 // set Content-Type header 438 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 439 if localVarHttpContentType != "" { 440 localVarHeaderParams["Content-Type"] = localVarHttpContentType 441 } 442 443 // to determine the Accept header 444 localVarHttpHeaderAccepts := []string{"application/json"} 445 446 // set Accept header 447 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 448 if localVarHttpHeaderAccept != "" { 449 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 450 } 451 // body params 452 localVarPostBody = &customRoleBody 453 if ctx != nil { 454 // API Key Authentication 455 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 456 var key string 457 if auth.Prefix != "" { 458 key = auth.Prefix + " " + auth.Key 459 } else { 460 key = auth.Key 461 } 462 localVarHeaderParams["Authorization"] = key 463 464 } 465 } 466 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) 467 if err != nil { 468 return localVarReturnValue, nil, err 469 } 470 471 localVarHttpResponse, err := a.client.callAPI(r) 472 if err != nil || localVarHttpResponse == nil { 473 return localVarReturnValue, localVarHttpResponse, err 474 } 475 476 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 477 localVarHttpResponse.Body.Close() 478 if err != nil { 479 return localVarReturnValue, localVarHttpResponse, err 480 } 481 482 if localVarHttpResponse.StatusCode < 300 { 483 // If we succeed, return the data, otherwise pass on to decode error. 484 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); 485 return localVarReturnValue, localVarHttpResponse, err 486 } 487 488 if localVarHttpResponse.StatusCode >= 300 { 489 newErr := GenericSwaggerError{ 490 body: localVarBody, 491 error: localVarHttpResponse.Status, 492 } 493 494 if localVarHttpResponse.StatusCode == 201 { 495 var v CustomRole 496 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); 497 if err != nil { 498 newErr.error = err.Error() 499 return localVarReturnValue, localVarHttpResponse, newErr 500 } 501 newErr.model = v 502 return localVarReturnValue, localVarHttpResponse, newErr 503 } 504 505 return localVarReturnValue, localVarHttpResponse, newErr 506 } 507 508 return localVarReturnValue, localVarHttpResponse, nil 509 } 510