# Hướng dẫn thao tác với Sun Container Spinner thông qua Spinner API (sử dụng Postman) Sunteco cung cấp cho người dùng khả năng tương tác với spinner thông qua bộ Spinner API. Chi tiết bộ API có thể được tìm thấy tại menu APIs > SPINNERS API trong spinner group. Bài viết này sẽ hướng dẫn người dùng thao tác với bộ Spinner API sử dụng Postman. https://www.postman.com ```{admonition} Pre-condition * Người dùng truy cập vào Workspace * Người dùng truy cập vào VPC * Người dùng có ít nhất một dịch vụ container service * Người dùng đã {ref}`Tạo Spinner Access Key` ``` **Các bước thực hiện:** ---------- ### I. Tạo và đính kèm API Key vào Postman request Các Spinner API yêu cầu người dùng cung cấp API Key làm cơ chế xác thực và ủy quyền.  Sau khi tạo thành công {ref}`Spinner Access Key`, người dùng có thể tạo API Key bằng cách encode dạng base64 chuỗi <_accessKey_\>:<_secretKey_\>. ```sh Api Key = base64Encode(:) ``` API Key cần được đính kèm trên header của mỗi HTTP request, với header key là "Api-key".  ```{thumbnail} ../../../_static/img/spinner/how-to/hd-thao-tac-voi-sun-container-spinner-thong-qua-spinner-api-1.png :width: 65% :alt: Image :align: center ``` ### II. Thêm các thông số cần thiết khác cho request và thực thi  Tiếp theo, người dùng cần điền đầy đủ các thông tin cần thiết khác như Method, URL, Params, Body, ... Sau đó ấn "Send" để thực thi. ```{thumbnail} ../../../_static/img/spinner/how-to/hd-thao-tac-voi-sun-container-spinner-thong-qua-spinner-api-2.png :width: 65% :alt: Image :align: center ``` Chi tiết các thông số, người dùng có thể xem tại menu _APIs_ > _SPINNERS api_. ```{thumbnail} ../../../_static/img/spinner/how-to/hd-thao-tac-voi-sun-container-spinner-thong-qua-spinner-api-3.png :width: 65% :alt: Image :align: center ``` ### **Ví dụ**  Đính kèm API Key vào request: ```{thumbnail} ../../../_static/img/spinner/how-to/hd-thao-tac-voi-sun-container-spinner-thong-qua-spinner-api-4.png :width: 65% :alt: Image :align: center ``` ### III. Danh sách chức năng #### 1. Read spinner * Mô tả: API đọc thông tin spinner * URL: Base\_URL + "/spinner-management/v2/spinner" * Method: GET * Param:  * `spinnerUUID`: UUID của spinner * `spinnerGroupUUID`: UUID của spinner group * Thực hiện: Nhập thông tin Method, URL, Params, sau đó ấn "Send" ```{thumbnail} ../../../_static/img/spinner/how-to/hd-thao-tac-voi-sun-container-spinner-thong-qua-spinner-api-5.png :width: 65% :alt: Image :align: center ``` #### 2\. Update spinner * Mô tả: API cập nhật spinner. Các thông số có thể được cập nhật là tên spinner, các giá trị cấu hình chung như Security Context Constraints, Rolling Strategy và Deployment Strategy. * Method: PUT * Body: * `spinnerUUID`: UUID của spinner * `spinnerGroupUUID`: UUID của spinner group * `spinnerName`: tên cập nhật spinner * `spinnerDetail`: các thông số chi tiết spinner  * `securityContext`: Security Context Constraints, "root" hoặc "nonroot" * `spinnerRollBack`: Rolling Strategy, "Enable" hoặc "Never" * `deploymentStrategy`: Deployment Strategy, "RollingUpdate" hoặc "Recreate" * Thực hiện ```{thumbnail} ../../../_static/img/spinner/how-to/hd-thao-tac-voi-sun-container-spinner-thong-qua-spinner-api-6.png :width: 65% :alt: Image :align: center ``` #### 3\. Suspend spinner * Mô tả: API suspend spinner * Method: PUT * Body: * `spinnerUUID`: UUID của spinner * `spinnerGroupUUID`: UUID của spinner group * Thực hiện ```{thumbnail} ../../../_static/img/spinner/how-to/hd-thao-tac-voi-sun-container-spinner-thong-qua-spinner-api-7.png :width: 65% :alt: Image :align: center ``` #### 4\. Active spinner * Mô tả: API active spinner * Method: PUT * Body: * `spinnerUUID`: UUID của spinner * `spinnerGroupUUID`: UUID của spinner group * Thực hiện ```{thumbnail} ../../../_static/img/spinner/how-to/hd-thao-tac-voi-sun-container-spinner-thong-qua-spinner-api-8.png :width: 65% :alt: Image :align: center ``` #### 5\. Restart spinner * Mô tả: API restart spinner * Method: PUT * Body: * `spinnerUUID`: UUID của spinner * `spinnerGroupUUID`: UUID của spinner group * Thực hiện ```{thumbnail} ../../../_static/img/spinner/how-to/hd-thao-tac-voi-sun-container-spinner-thong-qua-spinner-api-9.png :width: 65% :alt: Image :align: center ``` #### 6\. Read spinner containers * Mô tả: API đọc thông tin tất cả container * Method: GET * Param: * `spinnerUUID`: UUID của spinner * `spinnerGroupUUID`: UUID của spinner group * Thực hiện ```{thumbnail} ../../../_static/img/spinner/how-to/hd-thao-tac-voi-sun-container-spinner-thong-qua-spinner-api-10.png :width: 65% :alt: Image :align: center ``` #### 7\. Read container * Mô tả: API đọc thông tin container * Method: GET * Param: * `spinnerUUID`: UUID của spinner * `spinnerGroupUUID`: UUID của spinner group * `containerName`: tên container * Thực hiện ```{thumbnail} ../../../_static/img/spinner/how-to/hd-thao-tac-voi-sun-container-spinner-thong-qua-spinner-api-11.png :width: 65% :alt: Image :align: center ``` #### 8\. Read container environment * Mô tả: API lấy giá trị một biến môi trường của container * Method: GET * Param: * `spinnerUUID`: UUID của spinner * `spinnerGroupUUID`: UUID của spinner group * `containerName`: tên của container * `environmentName`: tên biên môi trường muốn lấy giá trị * Thực hiện ```{thumbnail} ../../../_static/img/spinner/how-to/hd-thao-tac-voi-sun-container-spinner-thong-qua-spinner-api-12.png :width: 65% :alt: Image :align: center ``` #### 9\. Update image * Mô tả: API cập nhật container image tag, environment. * Method: PUT * Body: * `spinnerUUID`: UUID của spinner * `spinnerGroupUUID`: UUID của spinner group * `containerName`: tên của container * `imageTag`: version tag mới muốn cập nhật cho container image * `environments`: danh sách các environment mới muốn thêm.  * Thực hiện ```{thumbnail} ../../../_static/img/spinner/how-to/hd-thao-tac-voi-sun-container-spinner-thong-qua-spinner-api-13.png :width: 65% :alt: Image :align: center ``` ### **Result:**  Sau khi thực thi request, Kết quả trả về với mã **HTTP 200 OK** là thành công.