github.com/thetreep/go-swagger@v0.0.0-20240223100711-35af64f14f01/fixtures/bugs/2919/edge-api/management/configs.yml (about)

     1  ---
     2  paths:
     3    configs:
     4      get:
     5        summary: List configs
     6        description: |
     7          Retrieves a list of config resources; supports filtering, sorting, and pagination. Requires admin access.
     8        security:
     9          - ztSession: [ ]
    10        tags:
    11          - Config
    12        operationId: listConfigs
    13        parameters:
    14          - $ref: '../shared/parameters.yml#/limit'
    15          - $ref: '../shared/parameters.yml#/offset'
    16          - $ref: '../shared/parameters.yml#/filter'
    17        responses:
    18          '200':
    19            $ref: '#/responses/listConfigs'
    20          '401':
    21            $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse'
    22          '400':
    23            $ref: '../shared/standard-responses.yml#/responses/badRequestResponse'
    24      post:
    25        summary: Create a config resource
    26        description: Create a config resource. Requires admin access.
    27        security:
    28          - ztSession: [ ]
    29        tags:
    30          - Config
    31        operationId: createConfig
    32        parameters:
    33          - name: config
    34            in: body
    35            required: true
    36            description: A config to create
    37            schema:
    38              $ref: '#/definitions/configCreate'
    39        responses:
    40          '201':
    41            $ref: '../shared/standard-responses.yml#/responses/createResponse'
    42          '400':
    43            $ref: '../shared/standard-responses.yml#/responses/badRequestResponse'
    44          '401':
    45            $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse'
    46    configs-id:
    47      parameters:
    48        - $ref: '../shared/parameters.yml#/id'
    49      get:
    50        summary: Retrieves a single config
    51        description: Retrieves a single config by id. Requires admin access.
    52        security:
    53          - ztSession: [ ]
    54        tags:
    55          - Config
    56        operationId: detailConfig
    57        responses:
    58          '200':
    59            $ref: '#/responses/detailConfig'
    60          '404':
    61            $ref: '../shared/standard-responses.yml#/responses/notFoundResponse'
    62          '401':
    63            $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse'
    64      put:
    65        summary: Update all fields on a config
    66        description: Update all fields on a config by id. Requires admin access.
    67        security:
    68          - ztSession: [ ]
    69        tags:
    70          - Config
    71        operationId: updateConfig
    72        parameters:
    73          - name: config
    74            in: body
    75            required: true
    76            description: A config update object
    77            schema:
    78              $ref: '#/definitions/configUpdate'
    79        responses:
    80          '200':
    81            $ref: '../shared/standard-responses.yml#/responses/updateResponse'
    82          '400':
    83            $ref: '../shared/standard-responses.yml#/responses/badRequestResponse'
    84          '404':
    85            $ref: '../shared/standard-responses.yml#/responses/notFoundResponse'
    86          '401':
    87            $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse'
    88      patch:
    89        summary: Update the supplied fields on a config
    90        description: Update the supplied fields on a config. Requires admin access.
    91        security:
    92          - ztSession: [ ]
    93        tags:
    94          - Config
    95        operationId: patchConfig
    96        parameters:
    97          - name: config
    98            in: body
    99            required: true
   100            description: A config patch object
   101            schema:
   102              $ref: '#/definitions/configPatch'
   103        responses:
   104          '200':
   105            $ref: '../shared/standard-responses.yml#/responses/patchResponse'
   106          '400':
   107            $ref: '../shared/standard-responses.yml#/responses/badRequestResponse'
   108          '404':
   109            $ref: '../shared/standard-responses.yml#/responses/notFoundResponse'
   110          '401':
   111            $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse'
   112      delete:
   113        summary: Delete a config
   114        description: Delete a config by id. Requires admin access.
   115        security:
   116          - ztSession: [ ]
   117        tags:
   118          - Config
   119        operationId: deleteConfig
   120        responses:
   121          '200':
   122            $ref: '../shared/standard-responses.yml#/responses/deleteResponse'
   123          '400':
   124            $ref: '../shared/standard-responses.yml#/responses/badRequestResponse'
   125          '401':
   126            $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse'
   127          '409':
   128            $ref: '../shared/standard-responses.yml#/responses/cannotDeleteReferencedResourceResponse'
   129  
   130  responses:
   131    listConfigs:
   132      description: A list of configs
   133      schema:
   134        $ref: '#/definitions/listConfigsEnvelope'
   135    detailConfig:
   136      description: A singular config resource
   137      schema:
   138        $ref: '#/definitions/detailConfigEnvelope'
   139  
   140  definitions:
   141    listConfigsEnvelope:
   142      type: object
   143      required:
   144        - meta
   145        - data
   146      properties:
   147        meta:
   148          $ref: '../shared/standard-responses.yml#/definitions/meta'
   149        data:
   150          $ref: '#/definitions/configList'
   151    detailConfigEnvelope:
   152      type: object
   153      required:
   154        - meta
   155        - data
   156      properties:
   157        meta:
   158          $ref: '../shared/standard-responses.yml#/definitions/meta'
   159        data:
   160          $ref: '#/definitions/configDetail'
   161    configList:
   162      description: An array of config resources
   163      type: array
   164      items:
   165        $ref: '#/definitions/configDetail'
   166    configDetail:
   167      description: A config resource
   168      type: object
   169      allOf:
   170        - $ref: '../shared/base-entity.yml#/definitions/baseEntity'
   171        - type: object
   172          required:
   173            - name
   174            - configTypeId
   175            - configType
   176            - data
   177          properties:
   178            name:
   179              type: string
   180            configTypeId:
   181              type: string
   182            configType:
   183              $ref: '../shared/base-entity.yml#/definitions/entityRef'
   184            data:
   185              type: object
   186              description: The data section of a config is based on the schema of its type
   187    configCreate:
   188      type: object
   189      description: A config create object
   190      required:
   191        - name
   192        - configTypeId
   193        - data
   194      properties:
   195        tags:
   196          $ref: '../shared/base-entity.yml#/definitions/tags'
   197        name:
   198          type: string
   199          example: default.ziti-tunneler-server.v1
   200        configTypeId:
   201          type: string
   202          description: The id of a config-type that the data section will match
   203        data:
   204          type: object
   205          x-nullable: false
   206          additionalProperties: true
   207          description: Data payload is defined by the schema of the config-type defined in the type parameter
   208      example:
   209        name: test-config
   210        configTypeId: cea49285-6c07-42cf-9f52-09a9b115c783
   211        data:
   212          hostname: example.com
   213          port: 80
   214    configUpdate:
   215      type: object
   216      description: A config update object
   217      required:
   218        - name
   219        - data
   220      properties:
   221        tags:
   222          $ref: '../shared/base-entity.yml#/definitions/tags'
   223        name:
   224          type: string
   225          example: default.ziti-tunneler-server.v1
   226        data:
   227          type: object
   228          x-nullable: false
   229          additionalProperties: true
   230          description: Data payload is defined by the schema of the config-type defined in the type parameter
   231      example:
   232        name: example-config-name
   233        data:
   234          hostname: example.com
   235          port: 80
   236    configPatch:
   237      type: object
   238      description: A config patch object
   239      properties:
   240        tags:
   241          $ref: '../shared/base-entity.yml#/definitions/tags'
   242        name:
   243          type: string
   244          example: default.ziti-tunneler-server.v1
   245        data:
   246          type: object
   247          additionalProperties: true
   248          description: Data payload is defined by the schema of the config-type defined in the type parameter
   249      example:
   250        name: example-config-name
   251        data:
   252          hostname: example.com
   253          port: 80