- loader.py: STANDS dict, get_services/get_ops_index per stand, POLYGON_STANDS env
- mock_state.py: get_state(stand_id) — ленивая инициализация
- app.py: StandMiddleware — перезапись PATH_INFO до Flask-роутинга
- Все роуты: LocalProxy(state), LocalProxy(SERVICES/OPS_INDEX) через g.stand_id
- openapi.py: _build_servers() — по одному серверу на стенд
- services/stand{1,2,3}/ — 37 YAML на стенд из STANDS/dev и STANDS/test
- tests/test_api.py: +4 multi-stand теста (изоляция, fail-next, OpenAPI servers)
- Обратная совместимость: /api/v1/svc/... → стенд по умолчанию
120 lines
2.4 KiB
YAML
120 lines
2.4 KiB
YAML
name: s3
|
|
service_id: 12
|
|
service_display_name: S3 Object Storage
|
|
service_short_name: s3
|
|
service_man: Руководство доступно по ссылке:<br/>https://docs.s3-website.msk-1.ngcloud.ru/
|
|
lifecycle:
|
|
suspendOnDestroyDefault: true
|
|
adoptExistingOnCreateDefault: false
|
|
operations:
|
|
- svcOperationId: 1
|
|
operation: create
|
|
kind: instance
|
|
action: create
|
|
- svcOperationId: 6
|
|
operation: create_sub_user
|
|
kind: subresource
|
|
action: create
|
|
- svcOperationId: 5
|
|
operation: delete
|
|
kind: instance
|
|
action: delete
|
|
- svcOperationId: 7
|
|
operation: delete_sub_user
|
|
kind: subresource
|
|
action: delete
|
|
- svcOperationId: 4
|
|
operation: modify
|
|
kind: instance
|
|
action: modify
|
|
- svcOperationId: 407
|
|
operation: reconcile
|
|
kind: action
|
|
action: reconcile
|
|
- svcOperationId: 3
|
|
operation: resume
|
|
kind: instance
|
|
action: resume
|
|
- svcOperationId: 2
|
|
operation: suspend
|
|
kind: instance
|
|
action: suspend
|
|
stateOut:
|
|
sub_users: {}
|
|
cfsParams:
|
|
- svcOperationCfsParamId: 163
|
|
svcOperationCfsParam: resourceRealm
|
|
dataType: string
|
|
isRequired: true
|
|
defaultValue: ceph.tst.nubes.ru
|
|
isModifiable: false
|
|
valueList:
|
|
- ceph.tst.nubes.ru
|
|
- svcOperationCfsParamId: 320
|
|
svcOperationCfsParam: displayName
|
|
dataType: string
|
|
isRequired: true
|
|
defaultValue: ''
|
|
isModifiable: false
|
|
- svcOperationCfsParamId: 60
|
|
svcOperationCfsParam: subUserName
|
|
dataType: string
|
|
isRequired: true
|
|
defaultValue: ''
|
|
isModifiable: false
|
|
- svcOperationCfsParamId: 61
|
|
svcOperationCfsParam: subUserAccess
|
|
dataType: string
|
|
isRequired: true
|
|
defaultValue: ''
|
|
isModifiable: false
|
|
valueList:
|
|
- read
|
|
- write
|
|
- readwrite
|
|
- full
|
|
- svcOperationCfsParamId: 63
|
|
svcOperationCfsParam: subUserName
|
|
dataType: string
|
|
isRequired: true
|
|
defaultValue: ''
|
|
isModifiable: true
|
|
- svcOperationCfsParamId: 50
|
|
svcOperationCfsParam: maxSizeGbPerUser
|
|
dataType: integer > 0
|
|
isRequired: false
|
|
defaultValue: ''
|
|
isModifiable: true
|
|
- svcOperationCfsParamId: 51
|
|
svcOperationCfsParam: maxObjectsPerBucket
|
|
dataType: integer > 0
|
|
isRequired: false
|
|
defaultValue: ''
|
|
isModifiable: true
|
|
- svcOperationCfsParamId: 52
|
|
svcOperationCfsParam: maxBucketsPerUser
|
|
dataType: integer > 0
|
|
isRequired: false
|
|
defaultValue: ''
|
|
isModifiable: true
|
|
cfsParamsByOp:
|
|
1:
|
|
- 163
|
|
- 320
|
|
6:
|
|
- 60
|
|
- 61
|
|
5: []
|
|
7:
|
|
- 63
|
|
4:
|
|
- 50
|
|
- 51
|
|
- 52
|
|
407: []
|
|
3: []
|
|
2: []
|
|
stateParams:
|
|
resourceRealm: ceph.tst.nubes.ru
|
|
displayName: ''
|