Skip to content

Commit 585078e

Browse files
author
Enda Phelan
committed
feat: add mock service account api
1 parent 413b64a commit 585078e

13 files changed

Lines changed: 287 additions & 24 deletions

openapi/managed-services-api.yaml

Lines changed: 50 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,49 @@ servers:
1313
- url: /
1414
description: current domain
1515
paths:
16-
/api/managed-services-api/v1/serviceAccount:
17-
get:
16+
/api/managed-services-api/v1/serviceaccounts:
17+
post:
1818
operationId: createServiceAccount
19+
requestBody:
20+
required: true
21+
content:
22+
application/json:
23+
schema:
24+
$ref: '#/components/schemas/ServiceAccountRequest'
1925
responses:
2026
"200":
2127
content:
2228
application/json:
2329
schema:
24-
$ref: '#/components/schemas/TokenResponse'
30+
$ref: '#/components/schemas/ServiceAccountResponse'
2531
description: Service Account
32+
"401":
33+
content:
34+
application/json:
35+
schema:
36+
$ref: '#/components/schemas/Error'
37+
examples:
38+
401Example:
39+
$ref: '#/components/examples/401Example'
40+
description: Auth token is invalid
41+
"403":
42+
content:
43+
application/json:
44+
schema:
45+
$ref: '#/components/schemas/Error'
46+
examples:
47+
404Example:
48+
$ref: '#/components/examples/404Example'
49+
description: Access to this resource is forbidden
50+
"500":
51+
content:
52+
application/json:
53+
schema:
54+
$ref: '#/components/schemas/Error'
55+
examples:
56+
500Example:
57+
$ref: '#/components/examples/500Example'
58+
description: An unexpected error occurred creating the Service Account
2659
security:
2760
- Bearer: []
2861
summary: Create a kafka service account
@@ -264,7 +297,16 @@ components:
264297
type: array
265298
items:
266299
$ref: "#/components/schemas/Error"
267-
TokenResponse:
300+
ServiceAccountRequest:
301+
allOf:
302+
- $ref: "#/components/schemas/ObjectReference"
303+
- type: object
304+
properties:
305+
name:
306+
type: string
307+
description:
308+
type: string
309+
ServiceAccountResponse:
268310
allOf:
269311
- $ref: "#/components/schemas/ObjectReference"
270312
- type: object
@@ -273,6 +315,10 @@ components:
273315
type: string
274316
clientSecret:
275317
type: string
318+
name:
319+
type: string
320+
description:
321+
type: string
276322
KafkaRequest:
277323
allOf:
278324
- $ref: "#/components/schemas/ObjectReference"

pkg/api/managedservices/README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ All URIs are relative to *https://api.openshift.com*
3333
Class | Method | HTTP request | Description
3434
------------ | ------------- | ------------- | -------------
3535
*DefaultApi* | [**CreateKafka**](docs/DefaultApi.md#createkafka) | **Post** /api/managed-services-api/v1/kafkas | Create a new kafka Request
36-
*DefaultApi* | [**CreateServiceAccount**](docs/DefaultApi.md#createserviceaccount) | **Get** /api/managed-services-api/v1/serviceAccount | Create a kafka service account
36+
*DefaultApi* | [**CreateServiceAccount**](docs/DefaultApi.md#createserviceaccount) | **Post** /api/managed-services-api/v1/serviceaccounts | Create a kafka service account
3737
*DefaultApi* | [**DeleteKafkaById**](docs/DefaultApi.md#deletekafkabyid) | **Delete** /api/managed-services-api/v1/kafkas/{id} | Delete a kafka request by id
3838
*DefaultApi* | [**GetKafkaById**](docs/DefaultApi.md#getkafkabyid) | **Get** /api/managed-services-api/v1/kafkas/{id} | Get a kafka request by id
3939
*DefaultApi* | [**ListKafkas**](docs/DefaultApi.md#listkafkas) | **Get** /api/managed-services-api/v1/kafkas | Returns a list of Kafka requests
@@ -51,8 +51,10 @@ Class | Method | HTTP request | Description
5151
- [KafkaRequestListAllOf](docs/KafkaRequestListAllOf.md)
5252
- [List](docs/List.md)
5353
- [ObjectReference](docs/ObjectReference.md)
54-
- [TokenResponse](docs/TokenResponse.md)
55-
- [TokenResponseAllOf](docs/TokenResponseAllOf.md)
54+
- [ServiceAccountRequest](docs/ServiceAccountRequest.md)
55+
- [ServiceAccountRequestAllOf](docs/ServiceAccountRequestAllOf.md)
56+
- [ServiceAccountResponse](docs/ServiceAccountResponse.md)
57+
- [ServiceAccountResponseAllOf](docs/ServiceAccountResponseAllOf.md)
5658

5759

5860
## Documentation For Authorization

pkg/api/managedservices/api/openapi.yaml

Lines changed: 53 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,49 @@ servers:
1313
- description: current domain
1414
url: /
1515
paths:
16-
/api/managed-services-api/v1/serviceAccount:
17-
get:
16+
/api/managed-services-api/v1/serviceaccounts:
17+
post:
1818
operationId: createServiceAccount
19+
requestBody:
20+
content:
21+
application/json:
22+
schema:
23+
$ref: '#/components/schemas/ServiceAccountRequest'
24+
required: true
1925
responses:
2026
"200":
2127
content:
2228
application/json:
2329
schema:
24-
$ref: '#/components/schemas/TokenResponse'
30+
$ref: '#/components/schemas/ServiceAccountResponse'
2531
description: Service Account
32+
"401":
33+
content:
34+
application/json:
35+
examples:
36+
"401Example":
37+
$ref: '#/components/examples/401Example'
38+
schema:
39+
$ref: '#/components/schemas/Error'
40+
description: Auth token is invalid
41+
"403":
42+
content:
43+
application/json:
44+
examples:
45+
"404Example":
46+
$ref: '#/components/examples/404Example'
47+
schema:
48+
$ref: '#/components/schemas/Error'
49+
description: Access to this resource is forbidden
50+
"500":
51+
content:
52+
application/json:
53+
examples:
54+
"500Example":
55+
$ref: '#/components/examples/500Example'
56+
schema:
57+
$ref: '#/components/schemas/Error'
58+
description: An unexpected error occurred creating the Service Account
2659
security:
2760
- Bearer: []
2861
summary: Create a kafka service account
@@ -417,10 +450,14 @@ components:
417450
allOf:
418451
- $ref: '#/components/schemas/List'
419452
- $ref: '#/components/schemas/ErrorList_allOf'
420-
TokenResponse:
453+
ServiceAccountRequest:
454+
allOf:
455+
- $ref: '#/components/schemas/ObjectReference'
456+
- $ref: '#/components/schemas/ServiceAccountRequest_allOf'
457+
ServiceAccountResponse:
421458
allOf:
422459
- $ref: '#/components/schemas/ObjectReference'
423-
- $ref: '#/components/schemas/TokenResponse_allOf'
460+
- $ref: '#/components/schemas/ServiceAccountResponse_allOf'
424461
KafkaRequest:
425462
allOf:
426463
- $ref: '#/components/schemas/ObjectReference'
@@ -443,12 +480,22 @@ components:
443480
items:
444481
$ref: '#/components/schemas/Error'
445482
type: array
446-
TokenResponse_allOf:
483+
ServiceAccountRequest_allOf:
484+
properties:
485+
name:
486+
type: string
487+
description:
488+
type: string
489+
ServiceAccountResponse_allOf:
447490
properties:
448491
clientID:
449492
type: string
450493
clientSecret:
451494
type: string
495+
name:
496+
type: string
497+
description:
498+
type: string
452499
KafkaRequest_allOf:
453500
example: '{"$ref":"#/components/examples/KafkaRequestExample"}'
454501
properties:

pkg/api/managedservices/api_default.go

Lines changed: 38 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -147,26 +147,27 @@ func (a *DefaultApiService) CreateKafka(ctx _context.Context, async bool, kafkaR
147147
/*
148148
CreateServiceAccount Create a kafka service account
149149
* @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
150-
@return TokenResponse
150+
* @param serviceAccountRequest
151+
@return ServiceAccountResponse
151152
*/
152-
func (a *DefaultApiService) CreateServiceAccount(ctx _context.Context) (TokenResponse, *_nethttp.Response, error) {
153+
func (a *DefaultApiService) CreateServiceAccount(ctx _context.Context, serviceAccountRequest ServiceAccountRequest) (ServiceAccountResponse, *_nethttp.Response, error) {
153154
var (
154-
localVarHTTPMethod = _nethttp.MethodGet
155+
localVarHTTPMethod = _nethttp.MethodPost
155156
localVarPostBody interface{}
156157
localVarFormFileName string
157158
localVarFileName string
158159
localVarFileBytes []byte
159-
localVarReturnValue TokenResponse
160+
localVarReturnValue ServiceAccountResponse
160161
)
161162

162163
// create path and map variables
163-
localVarPath := a.client.cfg.BasePath + "/api/managed-services-api/v1/serviceAccount"
164+
localVarPath := a.client.cfg.BasePath + "/api/managed-services-api/v1/serviceaccounts"
164165
localVarHeaderParams := make(map[string]string)
165166
localVarQueryParams := _neturl.Values{}
166167
localVarFormParams := _neturl.Values{}
167168

168169
// to determine the Content-Type header
169-
localVarHTTPContentTypes := []string{}
170+
localVarHTTPContentTypes := []string{"application/json"}
170171

171172
// set Content-Type header
172173
localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
@@ -182,6 +183,8 @@ func (a *DefaultApiService) CreateServiceAccount(ctx _context.Context) (TokenRes
182183
if localVarHTTPHeaderAccept != "" {
183184
localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
184185
}
186+
// body params
187+
localVarPostBody = &serviceAccountRequest
185188
r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
186189
if err != nil {
187190
return localVarReturnValue, nil, err
@@ -203,6 +206,35 @@ func (a *DefaultApiService) CreateServiceAccount(ctx _context.Context) (TokenRes
203206
body: localVarBody,
204207
error: localVarHTTPResponse.Status,
205208
}
209+
if localVarHTTPResponse.StatusCode == 401 {
210+
var v Error
211+
err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
212+
if err != nil {
213+
newErr.error = err.Error()
214+
return localVarReturnValue, localVarHTTPResponse, newErr
215+
}
216+
newErr.model = v
217+
return localVarReturnValue, localVarHTTPResponse, newErr
218+
}
219+
if localVarHTTPResponse.StatusCode == 403 {
220+
var v Error
221+
err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
222+
if err != nil {
223+
newErr.error = err.Error()
224+
return localVarReturnValue, localVarHTTPResponse, newErr
225+
}
226+
newErr.model = v
227+
return localVarReturnValue, localVarHTTPResponse, newErr
228+
}
229+
if localVarHTTPResponse.StatusCode == 500 {
230+
var v Error
231+
err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
232+
if err != nil {
233+
newErr.error = err.Error()
234+
return localVarReturnValue, localVarHTTPResponse, newErr
235+
}
236+
newErr.model = v
237+
}
206238
return localVarReturnValue, localVarHTTPResponse, newErr
207239
}
208240

pkg/api/managedservices/docs/DefaultApi.md

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ All URIs are relative to *https://api.openshift.com*
55
Method | HTTP request | Description
66
------------- | ------------- | -------------
77
[**CreateKafka**](DefaultApi.md#CreateKafka) | **Post** /api/managed-services-api/v1/kafkas | Create a new kafka Request
8-
[**CreateServiceAccount**](DefaultApi.md#CreateServiceAccount) | **Get** /api/managed-services-api/v1/serviceAccount | Create a kafka service account
8+
[**CreateServiceAccount**](DefaultApi.md#CreateServiceAccount) | **Post** /api/managed-services-api/v1/serviceaccounts | Create a kafka service account
99
[**DeleteKafkaById**](DefaultApi.md#DeleteKafkaById) | **Delete** /api/managed-services-api/v1/kafkas/{id} | Delete a kafka request by id
1010
[**GetKafkaById**](DefaultApi.md#GetKafkaById) | **Get** /api/managed-services-api/v1/kafkas/{id} | Get a kafka request by id
1111
[**ListKafkas**](DefaultApi.md#ListKafkas) | **Get** /api/managed-services-api/v1/kafkas | Returns a list of Kafka requests
@@ -47,25 +47,29 @@ Name | Type | Description | Notes
4747

4848
## CreateServiceAccount
4949

50-
> TokenResponse CreateServiceAccount(ctx, )
50+
> ServiceAccountResponse CreateServiceAccount(ctx, serviceAccountRequest)
5151
5252
Create a kafka service account
5353

5454
### Required Parameters
5555

56-
This endpoint does not need any parameter.
56+
57+
Name | Type | Description | Notes
58+
------------- | ------------- | ------------- | -------------
59+
**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
60+
**serviceAccountRequest** | [**ServiceAccountRequest**](ServiceAccountRequest.md)| |
5761

5862
### Return type
5963

60-
[**TokenResponse**](TokenResponse.md)
64+
[**ServiceAccountResponse**](ServiceAccountResponse.md)
6165

6266
### Authorization
6367

6468
[Bearer](../README.md#Bearer)
6569

6670
### HTTP request headers
6771

68-
- **Content-Type**: Not defined
72+
- **Content-Type**: application/json
6973
- **Accept**: application/json
7074

7175
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# ServiceAccountRequest
2+
3+
## Properties
4+
5+
Name | Type | Description | Notes
6+
------------ | ------------- | ------------- | -------------
7+
**Id** | **string** | | [optional]
8+
**Kind** | **string** | | [optional]
9+
**Href** | **string** | | [optional]
10+
**Name** | **string** | | [optional]
11+
**Description** | **string** | | [optional]
12+
13+
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
14+
15+
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# ServiceAccountRequestAllOf
2+
3+
## Properties
4+
5+
Name | Type | Description | Notes
6+
------------ | ------------- | ------------- | -------------
7+
**Name** | **string** | | [optional]
8+
**Description** | **string** | | [optional]
9+
10+
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
11+
12+
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# ServiceAccountResponse
2+
3+
## Properties
4+
5+
Name | Type | Description | Notes
6+
------------ | ------------- | ------------- | -------------
7+
**Id** | **string** | | [optional]
8+
**Kind** | **string** | | [optional]
9+
**Href** | **string** | | [optional]
10+
**ClientID** | **string** | | [optional]
11+
**ClientSecret** | **string** | | [optional]
12+
**Name** | **string** | | [optional]
13+
**Description** | **string** | | [optional]
14+
15+
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
16+
17+
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# ServiceAccountResponseAllOf
2+
3+
## Properties
4+
5+
Name | Type | Description | Notes
6+
------------ | ------------- | ------------- | -------------
7+
**ClientID** | **string** | | [optional]
8+
**ClientSecret** | **string** | | [optional]
9+
**Name** | **string** | | [optional]
10+
**Description** | **string** | | [optional]
11+
12+
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
13+
14+

0 commit comments

Comments
 (0)