github.com/hanks177/podman/v4@v4.1.3-0.20220613032544-16d90015bc83/pkg/api/server/register_generate.go (about)

     1  package server
     2  
     3  import (
     4  	"net/http"
     5  
     6  	"github.com/hanks177/podman/v4/pkg/api/handlers/libpod"
     7  	"github.com/gorilla/mux"
     8  )
     9  
    10  func (s *APIServer) registerGenerateHandlers(r *mux.Router) error {
    11  	// swagger:operation GET /libpod/generate/{name}/systemd libpod GenerateSystemdLibpod
    12  	// ---
    13  	// tags:
    14  	//  - containers
    15  	//  - pods
    16  	// summary: Generate Systemd Units
    17  	// description: Generate Systemd Units based on a pod or container.
    18  	// parameters:
    19  	//  - in: path
    20  	//    name: name
    21  	//    type: string
    22  	//    required: true
    23  	//    description: Name or ID of the container or pod.
    24  	//  - in: query
    25  	//    name: useName
    26  	//    type: boolean
    27  	//    default: false
    28  	//    description: Use container/pod names instead of IDs.
    29  	//  - in: query
    30  	//    name: new
    31  	//    type: boolean
    32  	//    default: false
    33  	//    description: Create a new container instead of starting an existing one.
    34  	//  - in: query
    35  	//    name: noHeader
    36  	//    type: boolean
    37  	//    default: false
    38  	//    description: Do not generate the header including the Podman version and the timestamp.
    39  	//  - in: query
    40  	//    name: startTimeout
    41  	//    type: integer
    42  	//    default: 0
    43  	//    description: Start timeout in seconds.
    44  	//  - in: query
    45  	//    name: stopTimeout
    46  	//    type: integer
    47  	//    default: 10
    48  	//    description: Stop timeout in seconds.
    49  	//  - in: query
    50  	//    name: restartPolicy
    51  	//    default: on-failure
    52  	//    type: string
    53  	//    enum: ["no", on-success, on-failure, on-abnormal, on-watchdog, on-abort, always]
    54  	//    description: Systemd restart-policy.
    55  	//  - in: query
    56  	//    name: containerPrefix
    57  	//    type: string
    58  	//    default: container
    59  	//    description: Systemd unit name prefix for containers.
    60  	//  - in: query
    61  	//    name: podPrefix
    62  	//    type: string
    63  	//    default: pod
    64  	//    description: Systemd unit name prefix for pods.
    65  	//  - in: query
    66  	//    name: separator
    67  	//    type: string
    68  	//    default: "-"
    69  	//    description: Systemd unit name separator between name/id and prefix.
    70  	//  - in: query
    71  	//    name: restartSec
    72  	//    type: integer
    73  	//    default: 0
    74  	//    description: Configures the time to sleep before restarting a service.
    75  	//  - in: query
    76  	//    name: wants
    77  	//    type: array
    78  	//    items:
    79  	//        type: string
    80  	//    default: []
    81  	//    description: Systemd Wants list for the container or pods.
    82  	//  - in: query
    83  	//    name: after
    84  	//    type: array
    85  	//    items:
    86  	//        type: string
    87  	//    default: []
    88  	//    description: Systemd After list for the container or pods.
    89  	//  - in: query
    90  	//    name: requires
    91  	//    type: array
    92  	//    items:
    93  	//        type: string
    94  	//    default: []
    95  	//    description: Systemd Requires list for the container or pods.
    96  	// produces:
    97  	// - application/json
    98  	// responses:
    99  	//   200:
   100  	//     description: no error
   101  	//     schema:
   102  	//       type: object
   103  	//       additionalProperties:
   104  	//         type: string
   105  	//   500:
   106  	//     $ref: "#/responses/internalError"
   107  	r.HandleFunc(VersionedPath("/libpod/generate/{name:.*}/systemd"), s.APIHandler(libpod.GenerateSystemd)).Methods(http.MethodGet)
   108  
   109  	// swagger:operation GET /libpod/generate/kube libpod GenerateKubeLibpod
   110  	// ---
   111  	// tags:
   112  	//  - containers
   113  	//  - pods
   114  	// summary: Generate a Kubernetes YAML file.
   115  	// description: Generate Kubernetes YAML based on a pod or container.
   116  	// parameters:
   117  	//  - in: query
   118  	//    name: names
   119  	//    type: array
   120  	//    items:
   121  	//       type: string
   122  	//    required: true
   123  	//    description: Name or ID of the container or pod.
   124  	//  - in: query
   125  	//    name: service
   126  	//    type: boolean
   127  	//    default: false
   128  	//    description: Generate YAML for a Kubernetes service object.
   129  	// produces:
   130  	// - text/vnd.yaml
   131  	// - application/json
   132  	// responses:
   133  	//   200:
   134  	//     description: Kubernetes YAML file describing pod
   135  	//     schema:
   136  	//      type: string
   137  	//      format: binary
   138  	//   500:
   139  	//     $ref: "#/responses/internalError"
   140  	r.HandleFunc(VersionedPath("/libpod/generate/kube"), s.APIHandler(libpod.GenerateKube)).Methods(http.MethodGet)
   141  	return nil
   142  }