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

     1  ---
     2  
     3  paths:
     4    edge-routers:
     5      get:
     6        summary: List edge routers
     7        description: |
     8          Retrieves a list of edge router resources; supports filtering, sorting, and pagination. Requires admin access.
     9        security:
    10          - ztSession: [ ]
    11        tags:
    12          - Edge Router
    13        operationId: listEdgeRouters
    14        parameters:
    15          - $ref: '../shared/parameters.yml#/limit'
    16          - $ref: '../shared/parameters.yml#/offset'
    17          - $ref: '../shared/parameters.yml#/filter'
    18          - $ref: '../shared/parameters.yml#/roleFilter'
    19          - $ref: '../shared/parameters.yml#/roleSemantic'
    20        responses:
    21          '200':
    22            $ref: '#/responses/listEdgeRouters'
    23          '401':
    24            $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse'
    25          '400':
    26            $ref: '../shared/standard-responses.yml#/responses/badRequestResponse'
    27      post:
    28        summary: Create an edge router
    29        description: Create a edge router resource. Requires admin access.
    30        security:
    31          - ztSession: [ ]
    32        tags:
    33          - Edge Router
    34        operationId: createEdgeRouter
    35        parameters:
    36          - name: edgeRouter
    37            in: body
    38            required: true
    39            description: A edge router to create
    40            schema:
    41              $ref: '#/definitions/edgeRouterCreate'
    42        responses:
    43          '201':
    44            $ref: '../shared/standard-responses.yml#/responses/createResponse'
    45          '400':
    46            $ref: '../shared/standard-responses.yml#/responses/badRequestResponse'
    47          '401':
    48            $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse'
    49    edge-routers-id:
    50      parameters:
    51        - $ref: '../shared/parameters.yml#/id'
    52      get:
    53        summary: Retrieves a single edge router
    54        description: Retrieves a single edge router by id. Requires admin access.
    55        security:
    56          - ztSession: [ ]
    57        tags:
    58          - Edge Router
    59        operationId: detailEdgeRouter
    60        responses:
    61          '200':
    62            $ref: '#/responses/detailEdgeRouter'
    63          '404':
    64            $ref: '../shared/standard-responses.yml#/responses/notFoundResponse'
    65          '401':
    66            $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse'
    67      put:
    68        summary: Update all fields on an edge router
    69        description: Update all fields on an edge router by id. Requires admin access.
    70        security:
    71          - ztSession: [ ]
    72        tags:
    73          - Edge Router
    74        operationId: updateEdgeRouter
    75        parameters:
    76          - name: edgeRouter
    77            in: body
    78            required: true
    79            description: An edge router update object
    80            schema:
    81              $ref: '#/definitions/edgeRouterUpdate'
    82        responses:
    83          '200':
    84            $ref: '../shared/standard-responses.yml#/responses/updateResponse'
    85          '400':
    86            $ref: '../shared/standard-responses.yml#/responses/badRequestResponse'
    87          '404':
    88            $ref: '../shared/standard-responses.yml#/responses/notFoundResponse'
    89          '401':
    90            $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse'
    91      patch:
    92        summary: Update the supplied fields on an edge router
    93        description: Update the supplied fields on an edge router. Requires admin access.
    94        security:
    95          - ztSession: [ ]
    96        tags:
    97          - Edge Router
    98        operationId: patchEdgeRouter
    99        parameters:
   100          - name: edgeRouter
   101            in: body
   102            required: true
   103            description: An edge router patch object
   104            schema:
   105              $ref: '#/definitions/edgeRouterPatch'
   106        responses:
   107          '200':
   108            $ref: '../shared/standard-responses.yml#/responses/patchResponse'
   109          '400':
   110            $ref: '../shared/standard-responses.yml#/responses/badRequestResponse'
   111          '404':
   112            $ref: '../shared/standard-responses.yml#/responses/notFoundResponse'
   113          '401':
   114            $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse'
   115      delete:
   116        summary: Delete an edge router
   117        description: Delete an edge router by id. Requires admin access.
   118        security:
   119          - ztSession: [ ]
   120        tags:
   121          - Edge Router
   122        operationId: deleteEdgeRouter
   123        responses:
   124          '200':
   125            $ref: '../shared/standard-responses.yml#/responses/deleteResponse'
   126          '400':
   127            $ref: '../shared/standard-responses.yml#/responses/badRequestResponse'
   128          '401':
   129            $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse'
   130          '409':
   131            $ref: '../shared/standard-responses.yml#/responses/cannotDeleteReferencedResourceResponse'
   132    edge-routers-id-edge-router-policies:
   133      parameters:
   134        - $ref: '../shared/parameters.yml#/id'
   135      get:
   136        summary: List the edge router policies that affect an edge router
   137        description: Retrieves a list of edge router policies that apply to the specified edge router.
   138        security:
   139          - ztSession: [ ]
   140        tags:
   141          - Edge Router
   142        operationId: listEdgeRouterEdgeRouterPolicies
   143        responses:
   144          '200':
   145            $ref: 'edge-router-policies.yml#/responses/listEdgeRouterPolicies'
   146          '404':
   147            $ref: '../shared/standard-responses.yml#/responses/notFoundResponse'
   148          '401':
   149            $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse'
   150    edge-routers-id-identities:
   151      parameters:
   152        - $ref: '../shared/parameters.yml#/id'
   153      get:
   154        summary: List associated identities
   155        description: |
   156          Retrieves a list of identities that may access services via the given edge router. Supports filtering, sorting, and pagination. Requires admin access.
   157        security:
   158          - ztSession: [ ]
   159        tags:
   160          - Edge Router
   161        operationId: listEdgeRouterIdentities
   162        responses:
   163          '200':
   164            $ref: 'identities.yml#/responses/listIdentities'
   165          '404':
   166            $ref: '../shared/standard-responses.yml#/responses/notFoundResponse'
   167          '401':
   168            $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse'
   169    edge-routers-id-service-edge-router-policies:
   170      parameters:
   171        - $ref: '../shared/parameters.yml#/id'
   172      get:
   173        summary: List the service policies that affect an edge router
   174        description: Retrieves a list of service policies policies that apply to the specified edge router.
   175        security:
   176          - ztSession: [ ]
   177        tags:
   178          - Edge Router
   179        operationId: listEdgeRouterServiceEdgeRouterPolicies
   180        responses:
   181          '200':
   182            $ref: 'service-policies.yml#/responses/listServicePolicies'
   183          '404':
   184            $ref: '../shared/standard-responses.yml#/responses/notFoundResponse'
   185          '401':
   186            $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse'
   187    edge-routers-id-services:
   188      parameters:
   189        - $ref: '../shared/parameters.yml#/id'
   190      get:
   191        summary: List associated services
   192        description: |
   193          Retrieves a list of services that may be accessed via the given edge router. Supports filtering, sorting, and pagination. Requires admin access.
   194        security:
   195          - ztSession: [ ]
   196        tags:
   197          - Edge Router
   198        operationId: listEdgeRouterServices
   199        responses:
   200          '200':
   201            $ref: '../shared/services.yml#/responses/listServices'
   202          '404':
   203            $ref: '../shared/standard-responses.yml#/responses/notFoundResponse'
   204          '401':
   205            $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse'
   206    edge-routers-id-re-enroll:
   207      parameters:
   208        - $ref: '../shared/parameters.yml#/id'
   209      post:
   210        summary: Re-enroll an edge router
   211        description: |
   212          Removes current certificate based authentication mechanisms and reverts the edge router into a state where enrollment must be performed.
   213          The router retains all other properties and associations. If the router is currently connected, it will be disconnected and any
   214          attemps to reconnect will fail until the enrollment process is completed with the newly generated JWT.
   215  
   216          If the edge router has an existing outstanding enrollment JWT it will be replaced. The previous JWT will no longer be usable to
   217          complete the enrollment process.
   218        security:
   219          - ztSession: [ ]
   220        tags:
   221          - Edge Router
   222        operationId: reEnrollEdgeRouter
   223        responses:
   224          '200':
   225            $ref: '../shared/standard-responses.yml#/responses/emptyResponse'
   226          '404':
   227            $ref: '../shared/standard-responses.yml#/responses/notFoundResponse'
   228          '401':
   229            $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse'
   230  responses:
   231    listEdgeRouters:
   232      description: A list of edge routers
   233      schema:
   234        $ref: '#/definitions/listEdgeRoutersEnvelope'
   235    detailEdgeRouter:
   236      description: A singular edge router resource
   237      schema:
   238        $ref: '#/definitions/detailedEdgeRouterEnvelope'
   239  
   240  definitions:
   241    listEdgeRoutersEnvelope:
   242      type: object
   243      required:
   244        - meta
   245        - data
   246      properties:
   247        meta:
   248          $ref: '../shared/standard-responses.yml#/definitions/meta'
   249        data:
   250          $ref: '#/definitions/edgeRouterList'
   251    detailedEdgeRouterEnvelope:
   252      type: object
   253      required:
   254        - meta
   255        - data
   256      properties:
   257        meta:
   258          $ref: '../shared/standard-responses.yml#/definitions/meta'
   259        data:
   260          $ref: '#/definitions/edgeRouterDetail'
   261    edgeRouterCreate:
   262      description: An edge router create object
   263      type: object
   264      required:
   265        - name
   266      properties:
   267        name:
   268          type: string
   269        isTunnelerEnabled:
   270          type: boolean
   271        cost:
   272          type: integer
   273          x-nullable: true
   274          minimum: 0
   275          maximum: 65535
   276        noTraversal:
   277          type: boolean
   278          x-nullable: true
   279        disabled:
   280          type: boolean
   281          x-nullable: true
   282        roleAttributes:
   283          $ref: '../shared/base-entity.yml#/definitions/attributes'
   284        tags:
   285          $ref: '../shared/base-entity.yml#/definitions/tags'
   286        appData:
   287          $ref: '../shared/base-entity.yml#/definitions/tags'
   288  
   289    edgeRouterUpdate:
   290      description: An edge router update object
   291      type: object
   292      required:
   293        - name
   294      properties:
   295        name:
   296          type: string
   297        isTunnelerEnabled:
   298          type: boolean
   299        cost:
   300          type: integer
   301          x-nullable: true
   302          minimum: 0
   303          maximum: 65535
   304        noTraversal:
   305          type: boolean
   306          x-nullable: true
   307        disabled:
   308          type: boolean
   309          x-nullable: true
   310        roleAttributes:
   311          $ref: '../shared/base-entity.yml#/definitions/attributes'
   312        tags:
   313          $ref: '../shared/base-entity.yml#/definitions/tags'
   314        appData:
   315          $ref: '../shared/base-entity.yml#/definitions/tags'
   316  
   317    edgeRouterPatch:
   318      description: An edge router patch object
   319      type: object
   320      properties:
   321        name:
   322          type: string
   323          x-nullable: true
   324        isTunnelerEnabled:
   325          type: boolean
   326        cost:
   327          type: integer
   328          x-nullable: true
   329          minimum: 0
   330          maximum: 65535
   331        noTraversal:
   332          type: boolean
   333          x-nullable: true
   334        disabled:
   335          type: boolean
   336          x-nullable: true
   337        roleAttributes:
   338          $ref: '../shared/base-entity.yml#/definitions/attributes'
   339        tags:
   340          $ref: '../shared/base-entity.yml#/definitions/tags'
   341        appData:
   342          $ref: '../shared/base-entity.yml#/definitions/tags'
   343    edgeRouterList:
   344      description: A list of edge router resources
   345      type: array
   346      items:
   347        $ref: '#/definitions/edgeRouterDetail'
   348    edgeRouterDetail:
   349      description: A detail edge router resource
   350      type: object
   351      allOf:
   352        - $ref: '../shared/base-entity.yml#/definitions/baseEntity'
   353        - $ref: '../shared/edge-routers.yml#/definitions/commonEdgeRouterProperties'
   354        - type: object
   355          required:
   356            - isVerified
   357            - roleAttributes
   358            - os
   359            - version
   360            - arch
   361            - buildDate
   362            - revision
   363            - isTunnelerEnabled
   364          properties:
   365            isVerified:
   366              type: boolean
   367            enrollmentToken:
   368              type: string
   369              x-nullable: true
   370            enrollmentJwt:
   371              type: string
   372              x-nullable: true
   373            enrollmentCreatedAt:
   374              type: string
   375              format: date-time
   376              x-nullable: true
   377            enrollmentExpiresAt:
   378              type: string
   379              format: date-time
   380              x-nullable: true
   381            roleAttributes:
   382              $ref: '../shared/base-entity.yml#/definitions/attributes'
   383            fingerprint:
   384              type: string
   385            certPem:
   386              type: string
   387              x-nullable: true
   388              x-omitempty: false
   389            unverifiedFingerprint:
   390              type: string
   391              x-nullable: true
   392              x-omitempty: false
   393            unverifiedCertPem:
   394              type: string
   395              x-nullable: true
   396              x-omitempty: false
   397            versionInfo:
   398              $ref: '../shared/version.yml#/definitions/versionInfo'
   399            isTunnelerEnabled:
   400              type: boolean
   401      example:
   402        id: b0766b8d-bd1a-4d28-8415-639b29d3c83d
   403        createdAt: '2020-03-16T17:13:31.5807454Z'
   404        updatedAt: '2020-03-16T17:13:31.5807454Z'
   405        _links:
   406          edge-router-policies:
   407            href: "./edge-routers/b0766b8d-bd1a-4d28-8415-639b29d3c83d/edge-routers"
   408          self:
   409            href: "./edge-routers/b0766b8d-bd1a-4d28-8415-639b29d3c83d"
   410        tags: { }
   411        name: TestRouter-e33c837f-3222-4b40-bcd6-b3458fd5156e
   412        fingerprint:
   413        roleAttributes:
   414          - eastCoast
   415          - sales
   416          - test
   417        isVerified: false
   418        isOnline: false
   419        isTunnelerEnabled: false
   420        cost: 0
   421        noTraversal: false
   422        enrollmentToken: 30a1f0ea-d39b-4aae-b852-304cf1c30d1f
   423        enrollmentJwt: 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbSI6ImVyb3R0IiwiZXhwIjoxNTg0Mzc5MTExLCJpc3MiOiJodHRwczovL
   424        2xvY2FsaG9zdDoxMjgwIiwianRpIjoiMzBhMWYwZWEtZDM5Yi00YWFlLWI4NTItMzA0Y2YxYzMwZDFmIiwic3ViIjoiYjA3NjZiOGQtYmQxYS00ZDI
   425        4LTg0MTUtNjM5YjI5ZDNjODNkIn0.UsyQhCPORQ5tQnYWY7S88LNvV9iFS5Hy-P4aJaClZzEICobKgnQoyQblJcdMvk3cGKwyFqAnQtt0tDZkb8tHz
   426        Vqyv6bilHcAFuMRrdwXRqdXquabSN5geu2qBUnyzL7Mf2X85if8sbMida6snB4oLZsVRF3CRn4ODBJdeiVJ_Z4rgD-zW2IwtXPApT7ALyiiw2cN4EH
   427        8pqQ7tpZKqztE0PGEbBQFPGKUFnm7oXyvSUo17EsFJUv5gUlBzfKKGolh5io4ptp22HZrqsqSnqDSOnYEZHonr5Yljuwiktrlh-JKiK6GGns5OAJMP
   428        dO9lgM4yHSpF2ILbqhWMV93Y3zMOg'
   429        enrollmentCreatedAt: '2020-03-16T17:13:31.5777637Z'
   430        enrollmentExpiresAt: '2020-03-16T17:18:31.5777637Z'
   431        hostname: ''
   432        supportedProtocols: { }
   433    routerEntityRef:
   434      type: object
   435      allOf:
   436        - $ref: '../shared/base-entity.yml#/definitions/entityRef'
   437        - type: object
   438          required:
   439            - isOnline
   440          properties:
   441            isOnline:
   442              type: boolean