{ "host": "demo.accelbyte.io", "info": { "contact": { "email": "engineering@accelbyte.io", "name": "Engineering Platform Team at AccelByte", "url": "https://accelbyte.io" }, "description": "Custom Service Manager", "title": "custom-service-manager", "version": "1.34.0" }, "schemes": [ "https" ], "externalDocs": { "description": "API Docs", "url": "https://stage.accelbyte.io/csm/apidocs" }, "securityDefinitions": { "authorization": { "in": "header", "name": "Authorization", "type": "apiKey" } }, "swagger": "2.0", "paths": { "/csm/v1/admin/namespaces/{namespace}/app-ui": { "get": { "consumes": [ "application/json", "multipart/form-data" ], "description": "Retrieves a paginated list of App UI instances. Supports filtering by name and pagination using limit/offset.", "operationId": "ListAppUI", "parameters": [ { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Limit for pagination", "in": "query", "name": "limit", "type": "integer" }, { "description": "Filter by app UI name", "in": "query", "name": "name", "type": "string" }, { "description": "Offset for pagination", "in": "query", "name": "offset", "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.ListAppUIResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "List all App UI instances in the namespace", "tags": [ "App UI" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:APPUI [READ]" ] } ] }, "post": { "consumes": [ "application/json", "multipart/form-data" ], "description": "Creates a new App UI configuration. The App UI can be hosted either by AccelByte (default) or externally.", "operationId": "CreateAppUI", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.CreateAppUIRequest" } }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "201": { "description": "Created", "schema": { "$ref": "#/definitions/apimodel.AppUIResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Create a new App UI instance", "tags": [ "App UI" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:APPUI [CREATE]" ] } ] } }, "/csm/v1/admin/namespaces/{namespace}/app-ui/{appUiName}": { "delete": { "consumes": [ "application/json", "multipart/form-data" ], "description": "Permanently deletes an App UI instance and schedules cleanup of associated S3 assets.", "operationId": "DeleteAppUI", "parameters": [ { "description": "App UI Name", "in": "path", "name": "appUiName", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "No Content" }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Delete an App UI instance", "tags": [ "App UI" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:APPUI [DELETE]" ] } ] } }, "/csm/v1/admin/namespaces/{namespace}/app-ui/{appUiName}/files/upload": { "post": { "consumes": [ "multipart/form-data" ], "description": "Uploads a ZIP archive containing App UI static assets (HTML, CSS, JS, etc.). Files are stored in S3 and served with immutable caching.", "operationId": "UploadAppUIFile", "parameters": [ { "description": "Zip file containing App UI assets", "in": "formData", "name": "file", "required": true, "type": "file" }, { "description": "App UI Name", "in": "path", "name": "appUiName", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Version of the App UI assets, can be left empty by default is 'default'", "in": "query", "name": "version", "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.UploadFileResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "502": { "description": "Bad Gateway", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Upload App UI assets as a zip file", "tags": [ "App UI" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:APPUI [UPDATE]" ] } ] } }, "/csm/v1/admin/namespaces/{namespace}/apps": { "post": { "consumes": [ "application/json" ], "deprecated": true, "description": "Gets the List of Apps for AB-Extend Customer\n\nAvailable scenario:\n\t- scenario 1: \u0026lt;code\u0026gt;function-override\u0026lt;/code\u0026gt;\u0026lt;br\u0026gt;- scenario 2: \u0026lt;code\u0026gt;service-extension\u0026lt;/code\u0026gt;\u0026lt;br\u0026gt;- scenario 3: \u0026lt;code\u0026gt;event-handler\u0026lt;/code\u0026gt;\u0026lt;br\u0026gt;\n\n\t", "operationId": "GetAppListV1", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/generated.GetAppListV1Request" } }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Limit", "in": "query", "name": "limit", "type": "integer" }, { "description": "Offset", "in": "query", "name": "offset", "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/generated.GetAppListV1Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Gets the List of Apps for AB-Extend Customer", "tags": [ "App" ], "x-errorCodes": {}, "x-operationid": "csm/admin/apps/v1/list", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:APP [READ]" ] } ] } }, "/csm/v1/admin/namespaces/{namespace}/apps/{app}": { "delete": { "consumes": [ "application/json" ], "deprecated": true, "description": "Delete App by given DeploymentID\n\nThis endpoint intended to delete ECR repo, ECR manifests, service images, uninstall helm-release, \nand update the deleted_at in DB by given App Name.\n\nRequired: Valid Access Token\n", "operationId": "DeleteAppV1", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Force App Deletion", "in": "query", "name": "forced", "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "" }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Delete App by Åpp Name", "tags": [ "App" ], "x-errorCodes": {}, "x-operationid": "csm/admin/apps/v1/delete", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:APP [DELETE]" ] } ] }, "get": { "consumes": [ "application/json" ], "deprecated": true, "description": "Gets the App By Name\n\t", "operationId": "GetAppV1", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/generated.GetAppV1Response" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Gets the App By Name", "tags": [ "App" ], "x-errorCodes": {}, "x-operationid": "csm/admin/apps/v1/get", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:APP [READ]" ] } ] }, "patch": { "consumes": [ "application/json" ], "deprecated": true, "description": "Update App Partially", "operationId": "UpdateAppV1", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/generated.UpdateAppV1Request" } }, { "description": "App Name. Expected format: (^[A-Za-z](?:[A-Za-z0-9\\-]*[A-Za-z0-9])?$)", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/generated.UpdateAppV1Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Update App Partially", "tags": [ "App" ], "x-errorCodes": {}, "x-operationid": "csm/admin/apps/v1/update", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:APP [UPDATE]" ] } ] }, "put": { "consumes": [ "application/json" ], "deprecated": true, "description": "Creates new App for AB-Extend Customers\n\nAvailable scenario:\n\t- scenario 1: \u0026lt;code\u0026gt;function-override\u0026lt;/code\u0026gt;\u0026lt;br\u0026gt;- scenario 2: \u0026lt;code\u0026gt;service-extension\u0026lt;/code\u0026gt;\u0026lt;br\u0026gt;- scenario 3: \u0026lt;code\u0026gt;event-handler\u0026lt;/code\u0026gt;\u0026lt;br\u0026gt;\nDefault: \u0026lt;code\u0026gt;function-override\u0026lt;/code\u0026gt;\n\n", "operationId": "CreateAppV1", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/generated.CreateAppV1Request" } }, { "description": "App Name. Expected format: (^[A-Za-z](?:[A-Za-z0-9\\-]*[A-Za-z0-9])?$)", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/generated.CreateAppV1Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Creates new App for AB-Extend Customers", "tags": [ "App" ], "x-errorCodes": {}, "x-operationid": "csm/admin/apps/v1/create", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:APP [CREATE]" ] } ] } }, "/csm/v1/admin/namespaces/{namespace}/apps/{app}/deployments": { "post": { "consumes": [ "application/json" ], "deprecated": true, "description": "Creates Deployment for extend service\n\nThis endpoint intended to apply the helm release or deploying the custom service image.\nLogic in this endpoint:\n\t- Getting the repo from AppHistory table and image tag from request\n\t- Getting the Helm Manifest template from S3\n\t- Filling the Helm Manifest values\n\t- Installing the Helm Manifest to deploy the custom service image into K8s based on given namespace\n\t- Storing the filled Helm Manifest to S3\n\t- Storing the Deployment information to Database\n\nRequired: Valid Access Token\n", "operationId": "CreateDeploymentV1", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/generated.CreateDeploymentV1Request" } }, { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "201": { "description": "", "schema": { "$ref": "#/definitions/generated.CreateDeploymentV1Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Creates Deployment", "tags": [ "Deployment" ], "x-errorCodes": {}, "x-operationid": "csm/admin/deployments/v1/create", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:DEPLOYMENT [CREATE]" ] } ] } }, "/csm/v1/admin/namespaces/{namespace}/apps/{app}/images": { "delete": { "consumes": [ "application/json" ], "deprecated": true, "description": "Deletes the images uploaded to the repository\n\t", "operationId": "DeleteAppImagesV1", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/generated.DeleteAppImagesV1Request" } }, { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "" }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Deletes the images", "tags": [ "Image" ], "x-errorCodes": {}, "x-operationid": "csm/admin/images/v1/delete", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:IMAGE [DELETE]" ] } ] }, "get": { "consumes": [ "application/json" ], "deprecated": true, "description": "Get a list of container images\n\nDefault \u0026#39;cached\u0026#39; parameter is \u0026#39;true\u0026#39;\n", "operationId": "GetAppImageListV1", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "default": "true", "description": "Get Cached Images", "in": "query", "name": "cached", "type": "string" }, { "description": "Limit", "in": "query", "name": "limit", "type": "integer" }, { "description": "Offset", "in": "query", "name": "offset", "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/generated.GetAppImageListV1Response" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get a list of container images", "tags": [ "Image" ], "x-errorCodes": {}, "x-operationid": "csm/admin/images/v1/list", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:IMAGE [READ]" ] } ] } }, "/csm/v1/admin/namespaces/{namespace}/apps/{app}/release": { "get": { "consumes": [ "application/json" ], "description": "Gets the Latest Release Version info of this App\n\t", "operationId": "GetAppReleaseV1", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/generated.GetAppReleaseV1Response" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Gets the Latest Release Version info of this App", "tags": [ "App" ], "x-errorCodes": {}, "x-operationid": "csm/admin/apps/v1/get-release-info", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:APP [READ]" ] } ] } }, "/csm/v1/admin/namespaces/{namespace}/apps/{app}/secrets": { "get": { "consumes": [ "application/json" ], "deprecated": true, "description": "Get list of environment secrets per app\nAvailable Deployment Status: \n\u0026lt;code\u0026gt;deployed\u0026lt;/code\u0026gt; = app config is already deployed\n\u0026lt;code\u0026gt;undeployed\u0026lt;/code\u0026gt; = app config is not deployed yet and need restart and deploy of the app to be deployed\n\t", "operationId": "GetListOfSecretsV1", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Limit", "in": "query", "name": "limit", "type": "integer" }, { "description": "Offset", "in": "query", "name": "offset", "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/generated.GetListOfConfigurationsV1Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get list of environment secrets", "tags": [ "Configuration" ], "x-errorCodes": {}, "x-operationid": "csm/admin/config/v1/list-secrets", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:SECRET [READ]" ] } ] }, "post": { "consumes": [ "application/json" ], "deprecated": true, "description": "Save an environment secret.\n Request body:\n - configName\t\t: environment secret name - Required.\n - source\t\t\t: source of the configuration value (plaintext or ssm) - Required.\n - value\t\t\t: configuration value - Required.\n - description\t: description of the configuration - Optional.\n - applyMask\t\t: mask the value in the Helm manifest for sensitive information (true or false) - Optional.\n\n ", "operationId": "SaveSecretV1", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/generated.SaveConfigurationV1Request" } }, { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/generated.SaveConfigurationV1Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Save an environment secret", "tags": [ "Configuration" ], "x-errorCodes": {}, "x-operationid": "csm/admin/config/v1/create-secret", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:SECRET [CREATE]" ] } ] } }, "/csm/v1/admin/namespaces/{namespace}/apps/{app}/secrets/{configId}": { "delete": { "consumes": [ "application/json" ], "deprecated": true, "description": "Delete an environment secret.\n\t", "operationId": "DeleteSecretV1", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Config ID", "in": "path", "name": "configId", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "" }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Delete an environment secret", "tags": [ "Configuration" ], "x-errorCodes": {}, "x-operationid": "csm/admin/config/v1/delete-secret", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:SECRET [DELETE]" ] } ] }, "put": { "consumes": [ "application/json" ], "deprecated": true, "description": "Update an environment secret.\n Request body:\n - value\t\t\t: configuration value - Required.\n - description\t: description of the configuration - Optional.\n - applyMask\t\t: mask the value in the Helm manifest for sensitive information (true or false) - Optional.\n\n ", "operationId": "UpdateSecretV1", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/generated.UpdateConfigurationV1Request" } }, { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Config ID", "in": "path", "name": "configId", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/generated.UpdateConfigurationV1Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Update an environment secret", "tags": [ "Configuration" ], "x-errorCodes": {}, "x-operationid": "csm/admin/config/v1/update-secret", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:SECRET [UPDATE]" ] } ] } }, "/csm/v1/admin/namespaces/{namespace}/apps/{app}/start": { "put": { "consumes": [ "application/json" ], "deprecated": true, "description": "Starts the Application\n\t", "operationId": "StartAppV1", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/generated.StartAppV1Request" } }, { "description": "App Name. Expected format: (^[A-Za-z](?:[A-Za-z0-9\\-]*[A-Za-z0-9])?$)", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/generated.StartAppV1Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Starts the Application", "tags": [ "App" ], "x-errorCodes": {}, "x-operationid": "csm/admin/apps/v1/start", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:APP [UPDATE]" ] } ] } }, "/csm/v1/admin/namespaces/{namespace}/apps/{app}/stop": { "put": { "consumes": [ "application/json" ], "deprecated": true, "description": "Stops the Application\n\t", "operationId": "StopAppV1", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/generated.StopAppV1Request" } }, { "description": "App Name. Expected format: (^[A-Za-z](?:[A-Za-z0-9\\-]*[A-Za-z0-9])?$)", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/generated.StopAppV1Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Stops the Application", "tags": [ "App" ], "x-errorCodes": {}, "x-operationid": "csm/admin/apps/v1/stop", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:APP [UPDATE]" ] } ] } }, "/csm/v1/admin/namespaces/{namespace}/apps/{app}/variables": { "get": { "consumes": [ "application/json" ], "deprecated": true, "description": "Get list of environment variables per app\nAvailable Deployment Status: \n\u0026lt;code\u0026gt;deployed\u0026lt;/code\u0026gt; = app config is already deployed\n\u0026lt;code\u0026gt;undeployed\u0026lt;/code\u0026gt; = app config is not deployed yet and need restart and deploy of the app to be deployed\n\t", "operationId": "GetListOfVariablesV1", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Limit", "in": "query", "name": "limit", "type": "integer" }, { "description": "Offset", "in": "query", "name": "offset", "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/generated.GetListOfConfigurationsV1Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get list of environment variables", "tags": [ "Configuration" ], "x-errorCodes": {}, "x-operationid": "csm/admin/config/v1/list-variables", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:VARIABLE [READ]" ] } ] }, "post": { "consumes": [ "application/json" ], "deprecated": true, "description": "Save an environment variable.\n Request body:\n - configName\t\t: environment variable name - Required.\n - source\t\t\t: source of the configuration value (plaintext or ssm) - Required.\n - value\t\t\t: configuration value - Required.\n - description\t: description of the configuration - Optional.\n - applyMask\t\t: mask the value in the Helm manifest for sensitive information (true or false) - Optional.\n\n ", "operationId": "SaveVariableV1", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/generated.SaveConfigurationV1Request" } }, { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/generated.SaveConfigurationV1Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Save an environment variable", "tags": [ "Configuration" ], "x-errorCodes": {}, "x-operationid": "csm/admin/config/v1/create-variable", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:VARIABLE [CREATE]" ] } ] } }, "/csm/v1/admin/namespaces/{namespace}/apps/{app}/variables/{configId}": { "delete": { "consumes": [ "application/json" ], "deprecated": true, "description": "Delete an environment variable.\n\t", "operationId": "DeleteVariableV1", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Config ID", "in": "path", "name": "configId", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "" }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Delete an environment variable", "tags": [ "Configuration" ], "x-errorCodes": {}, "x-operationid": "csm/admin/config/v1/delete-variable", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:VARIABLE [DELETE]" ] } ] }, "put": { "consumes": [ "application/json" ], "deprecated": true, "description": "Update an environment variable.\n Request body:\n - value\t\t\t: configuration value - Required.\n - description\t: description of the configuration - Optional.\n - applyMask\t\t: mask the value in the Helm manifest for sensitive information (true or false) - Optional.\n\n ", "operationId": "UpdateVariableV1", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/generated.UpdateConfigurationV1Request" } }, { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Config ID", "in": "path", "name": "configId", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/generated.UpdateConfigurationV1Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Update an environment variable", "tags": [ "Configuration" ], "x-errorCodes": {}, "x-operationid": "csm/admin/config/v1/update-variable", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:VARIABLE [UPDATE]" ] } ] } }, "/csm/v1/admin/namespaces/{namespace}/deployments": { "post": { "consumes": [ "application/json" ], "deprecated": true, "description": "Filters the List of Deployments\n\nThis endpoint intended to get list of Deployment done for the given publisher and game.\n\nRequired: Valid Access Token\n", "operationId": "GetListOfDeploymentV1", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/generated.GetDeploymentListV1Request" } }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Limit", "in": "query", "name": "limit", "type": "integer" }, { "description": "Offset", "in": "query", "name": "offset", "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/generated.GetDeploymentListV1Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Fetches the List of Deployments", "tags": [ "Deployment" ], "x-errorCodes": {}, "x-operationid": "csm/admin/deployments/v1/list", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:DEPLOYMENT [READ]" ] } ] } }, "/csm/v1/admin/namespaces/{namespace}/deployments/{deploymentId}": { "delete": { "consumes": [ "application/json" ], "deprecated": true, "description": "Delete Deployment information by given DeploymentID\n\nThis endpoint intended to delete helm release object and update the deleted_at in DB by given Deployment ID.\n\nRequired: Valid Access Token\n", "operationId": "DeleteDeploymentV1", "parameters": [ { "description": "Deployment ID", "in": "path", "name": "deploymentId", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "" }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Delete Deployment by Deployment ID", "tags": [ "Deployment" ], "x-errorCodes": {}, "x-operationid": "csm/admin/deployments/v1/delete", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:DEPLOYMENT [DELETE]" ] } ] }, "get": { "consumes": [ "application/json" ], "deprecated": true, "description": "Get Deployment information by given DeploymentID\n\nThis endpoint intended to get Deployment information by given Deployment ID from Deployment Table.\n\nRequired: Valid Access Token\n", "operationId": "GetDeploymentV1", "parameters": [ { "description": "Deployment ID", "in": "path", "name": "deploymentId", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/generated.GetDeploymentV1Response" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get Deployment by Deployment ID", "tags": [ "Deployment" ], "x-errorCodes": {}, "x-operationid": "csm/admin/deployments/v1/get", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:DEPLOYMENT [READ]" ] } ] } }, "/csm/v1/admin/namespaces/{namespace}/files/{filePath}": { "get": { "description": "Serves static files provided for extend features, for example: serving App UI files. Files are served with immutable caching headers.", "operationId": "GetExtendFile", "parameters": [ { "description": "Path to file under namespace assets", "in": "path", "name": "filePath", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK" }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "502": { "description": "Bad Gateway", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Retrieve extend hosted static files", "tags": [ "Extend Files" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:FILES [READ]" ] } ] } }, "/csm/v1/messages": { "get": { "consumes": [ "application/json" ], "description": "get the list of messages.", "operationId": "publicGetMessages", "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "items": { "$ref": "#/definitions/log.AppMessageDeclaration" }, "type": "array" } }, "500": { "description": "Internal Server Error" } }, "security": [ { "authorization": [] } ], "summary": "get service messages", "tags": [ "Messages" ], "x-errorCodes": {}, "x-operationid": "csm/public/service-messages/v1/list" } }, "/csm/v2/admin/namespaces/{namespace}/apps": { "post": { "consumes": [ "application/json" ], "description": "Get list of extend apps on a given game namespace", "operationId": "GetAppListV2", "parameters": [ { "description": "Available scenario:\n- scenario 1: \u003ccode\u003efunction-override\u003c/code\u003e\n- scenario 2: \u003ccode\u003eservice-extension\u003c/code\u003e\n- scenario 3: \u003ccode\u003eevent-handler\u003c/code\u003e\n\n\nAvailable app status:\n- \u003ccode\u003eapp-creating\u003c/code\u003e\n- \u003ccode\u003eapp-creation-failed\u003c/code\u003e\n- \u003ccode\u003eapp-creation-timeout\u003c/code\u003e\n- \u003ccode\u003eapp-undeployed\u003c/code\u003e\n- \u003ccode\u003edeployment-in-progress\u003c/code\u003e\n- \u003ccode\u003edeployment-failed\u003c/code\u003e\n- \u003ccode\u003edeployment-timeout\u003c/code\u003e\n- \u003ccode\u003edeployment-running\u003c/code\u003e\n- \u003ccode\u003edeployment-down\u003c/code\u003e\n- \u003ccode\u003eapp-stopping\u003c/code\u003e\n- \u003ccode\u003eapp-stop-failed\u003c/code\u003e\n- \u003ccode\u003eapp-stop-timeout\u003c/code\u003e\n- \u003ccode\u003eapp-stopped\u003c/code\u003e\n- \u003ccode\u003eapp-removing\u003c/code\u003e\n- \u003ccode\u003eapp-removed\u003c/code\u003e\n- \u003ccode\u003eapp-remove-timeout\u003c/code\u003e\n\n\nPut empty object {} for no filter", "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.GetAppListV2Request" } }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Maximum number of apps items returned", "in": "query", "name": "limit", "type": "integer" }, { "description": "Starting point offset items", "in": "query", "name": "offset", "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "List of apps", "schema": { "$ref": "#/definitions/apimodel.GetAppListV2Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get list of extend apps on a given game namespace", "tags": [ "App V2" ], "x-errorCodes": {}, "x-operationid": "csm/admin/apps/v2/list", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:APP [READ]" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}": { "delete": { "consumes": [ "application/json" ], "description": "Delete extend app by given {app} name\n\nThis endpoint will delete app information, configuration, deployments and all related manifest from \ndb, storage and cluster\n", "operationId": "DeleteAppV2", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Force app deletion, if 'true' will proceed delete regardless of current app status (default: false)", "in": "query", "name": "forced", "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "" }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Delete extend app by name", "tags": [ "App V2" ], "x-errorCodes": {}, "x-operationid": "csm/admin/apps/v2/delete", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:APP [DELETE]" ] } ] }, "get": { "consumes": [ "application/json" ], "description": "Get extend app by name\n\nAvailable scenario:\n- scenario 1: \u0026lt;code\u0026gt;function-override\u0026lt;/code\u0026gt;\n- scenario 2: \u0026lt;code\u0026gt;service-extension\u0026lt;/code\u0026gt;\n- scenario 3: \u0026lt;code\u0026gt;event-handler\u0026lt;/code\u0026gt;\n\n\nAvailable app status:\n- \u0026lt;code\u0026gt;app-creating\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-creation-failed\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-creation-timeout\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-undeployed\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;deployment-in-progress\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;deployment-failed\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;deployment-timeout\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;deployment-running\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;deployment-down\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-stopping\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-stop-failed\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-stop-timeout\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-stopped\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-removing\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-removed\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-remove-timeout\u0026lt;/code\u0026gt;\n\n\t", "operationId": "GetAppV2", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/apimodel.AppItem" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get extend app by name", "tags": [ "App V2" ], "x-errorCodes": {}, "x-operationid": "csm/admin/apps/v2/get", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:APP [READ]" ] } ] }, "patch": { "consumes": [ "application/json" ], "description": "Update app info provided on request body%!(EXTRA string=ADMIN:NAMESPACE:{namespace}:EXTEND:APP, string=UPDATE)", "operationId": "UpdateAppV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.UpdateAppV2Request" } }, { "description": "App Name. Expected format: (^[A-Za-z](?:[A-Za-z0-9\\-]*[A-Za-z0-9])?$)", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.AppItem" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Update app info", "tags": [ "App V2" ], "x-errorCodes": {}, "x-operationid": "csm/admin/apps/v2/update", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:APP [UPDATE]" ] } ] }, "post": { "consumes": [ "application/json" ], "deprecated": true, "description": "[Deprecated] Please use v5 endpoint instead.\n\nCreate new extend app with name provided by {app} path parameter and specified scenario type\n\nAvailable scenario:\n- scenario 1: \u0026lt;code\u0026gt;function-override\u0026lt;/code\u0026gt;\n- scenario 2: \u0026lt;code\u0026gt;service-extension\u0026lt;/code\u0026gt;\n- scenario 3: \u0026lt;code\u0026gt;event-handler\u0026lt;/code\u0026gt;\n\n\nAvailable app status:\n- \u0026lt;code\u0026gt;app-creating\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-creation-failed\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-creation-timeout\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-undeployed\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;deployment-in-progress\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;deployment-failed\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;deployment-timeout\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;deployment-running\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;deployment-down\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-stopping\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-stop-failed\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-stop-timeout\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-stopped\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-removing\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-removed\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-remove-timeout\u0026lt;/code\u0026gt;\n\n", "operationId": "CreateAppV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.CreateAppV2Request" } }, { "description": "App Name. Expected format: (^[A-Za-z](?:[A-Za-z0-9\\-]*[A-Za-z0-9])?$)", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.AppItem" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Create new extend app", "tags": [ "App V2" ], "x-errorCodes": {}, "x-operationid": "csm/admin/apps/v2/create", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:APP [CREATE]" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/apply": { "post": { "consumes": [ "application/json" ], "description": "Idempotent endpoint that creates or updates an Extend app from a declarative spec.\nUses three-way merge semantics (kubectl apply) for variables, secrets, and permissions.\n\nNote: \u0026lt;code\u0026gt;preferred_k8s_namespace\u0026lt;/code\u0026gt; is only used on the initial create call; it is ignored on subsequent apply calls.\nOn the first apply after creation the deletion phase is skipped (no prior apply state recorded).\n", "operationId": "ApplyAppConfigV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.ApplyAppConfigRequest" } }, { "description": "App Name. Expected format: (^[A-Za-z](?:[A-Za-z0-9\\-]*[A-Za-z0-9])?$)", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.AppItem" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Declaratively create or update an extend app from a spec", "tags": [ "App V2" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:APP []" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/asyncmessaging/topics/subscriptions": { "post": { "consumes": [ "application/json" ], "description": "Subscribe App queue to given Topic name list inside a game namespace.\n", "operationId": "CreateSubscriptionHandler", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.CreateSubscriptionRequest" } }, { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.CreateSubscriptionResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Subscribe To Topic", "tags": [ "Async Messaging" ], "x-errorCodes": {}, "x-operationid": "csm/admin/topics/v2/subscribe", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:ASYNCMESSAGING:SUBSCRIPTIONS [CREATE]" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/asyncmessaging/topics/{topicName}/subscriptions": { "delete": { "consumes": [ "application/json" ], "description": "Unsubscribe App queue from a topic by Topic Name.\n", "operationId": "UnsubscribeTopicHandler", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Topic Name", "in": "path", "name": "topicName", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.TopicSubscription" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Unsubscribe From Topic", "tags": [ "Async Messaging" ], "x-errorCodes": {}, "x-operationid": "csm/admin/topics/v2/unsubscribe", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:ASYNCMESSAGING:SUBSCRIPTIONS [DELETE]" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/deployments": { "post": { "consumes": [ "application/json" ], "description": "Creates Deployment for extend service\n\nThis Endpoint will create new deployment and apply all of the secrets and variable as environment variable\n\nRequired: \n\t- Valid Access Token\n\t- Valid Image Version Created on Uploading image with docker or other method\n\t- Valid App name\n\t- Valid Namespace name\n\n", "operationId": "CreateDeploymentV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.CreateDeploymentV2Request" } }, { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "201": { "description": "", "schema": { "$ref": "#/definitions/apimodel.CreateDeploymentV2Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Creates Deployment", "tags": [ "Deployment V2" ], "x-errorCodes": {}, "x-operationid": "csm/admin/deployments/v2/create", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:DEPLOYMENT [CREATE]" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/images": { "delete": { "consumes": [ "application/json" ], "description": "Deletes list of provided image tags from the app image repository\n\t", "operationId": "DeleteAppImagesV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/generated.DeleteAppImagesV1Request" } }, { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "" }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Delete app images", "tags": [ "Image V2" ], "x-errorCodes": {}, "x-operationid": "csm/admin/images/v2/delete", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:IMAGE [DELETE]" ] } ] }, "get": { "consumes": [ "application/json" ], "description": "Get a list of container images\n\nDefault \u0026#39;cached\u0026#39; parameter is \u0026#39;true\u0026#39;\n", "operationId": "GetAppImageListV2", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "default": "true", "description": "Get Cached Images", "in": "query", "name": "cached", "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/apimodel.GetAppImageListV2Response" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get a list of container images", "tags": [ "Image V2" ], "x-errorCodes": {}, "x-operationid": "csm/admin/images/v2/list", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:IMAGE [READ]" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/keyvalue/credentials": { "post": { "consumes": [ "application/json" ], "description": "Generates a new credential for an extend app that is already integrated with a KeyValue cluster.\nReplaces the old credential. Integration status will transition to MODIFYING, then READY when complete.\nIf the same username and password are provided, returns the existing credential (idempotent).\n\nAcknowledgement for secure credential handling is only required at integrate-app; not needed for this endpoint.\n", "operationId": "CreateKeyValueCredentialV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.CreateKeyValueCredentialRequest" } }, { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.CreateKeyValueCredentialResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "503": { "description": "Service Unavailable", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Generate a new credential for an Extend App integrated with a KeyValue cluster", "tags": [ "Managed Resources - KeyValue" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:KEYVALUE:CREDENTIALS [CREATE]" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/keyvalue/integrations": { "delete": { "consumes": [ "application/json" ], "description": "Remove integration of an extend app with a cluster. Removes key-value env/secret from app, deletes credential and AWS user.\n", "operationId": "RemoveIntegrationAppKeyValueClusterV2", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Remove Integration of an Extend App from a Cluster", "tags": [ "Managed Resources - KeyValue" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:KEYVALUE:INTEGRATE [DELETE]" ] } ] }, "get": { "consumes": [ "application/json" ], "description": "Get integration of an extend app with a cluster.\n", "operationId": "GetIntegrationAppKeyValueClusterV2", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.GetIntegrationAppKeyValueResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get an Extend App Integration", "tags": [ "Managed Resources - KeyValue" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:KEYVALUE:INTEGRATE [READ]" ] } ] }, "post": { "consumes": [ "application/json" ], "description": "Integrate an Extend App with an existing KeyValue cluster. Injects REDIS_HOST, REDIS_PORT, REDIS_USERNAME, REDIS_PASSWORD to the app config.\n", "operationId": "IntegrateAppKeyValueClusterV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.IntegrateAppKeyValueRequest" } }, { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.IntegrateAppKeyValueResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Integrate Extend App with KeyValue Cluster", "tags": [ "Managed Resources - KeyValue" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:KEYVALUE:INTEGRATE [CREATE]" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/nosql/credentials": { "post": { "consumes": [ "application/json" ], "description": "Creates a new database credential for the customer. This will soft-delete the old credential and create a new one.\n\n\u0026lt;code\u0026gt;acknowledgements.acceptNosqlSecureCredentialHandling\u0026lt;/code\u0026gt; is optional when previously accepted during database creation. Otherwise, it MUST be set to true to proceed with credential creation, indicating the customer accepts the secure credential handling mechanism.\n", "operationId": "CreateNewNoSQLDatabaseCredentialV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.CreateNoSQLDatabaseCredentialRequest" } }, { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.NoSQLDatabaseCredentialResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "503": { "description": "Service Unavailable", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Creates a new database credential for the customer", "tags": [ "Managed Resources" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:NOSQL:DATABASECREDENTIALS [CREATE]" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/nosql/crendentials": { "post": { "consumes": [ "application/json" ], "deprecated": true, "description": "Creates a new database credential for the customer. This will soft-delete the old credential and create a new one.\n\n\u0026lt;code\u0026gt;acknowledgements.acceptNosqlSecureCredentialHandling\u0026lt;/code\u0026gt; is optional when previously accepted during database creation. Otherwise, it MUST be set to true to proceed with credential creation, indicating the customer accepts the secure credential handling mechanism.\n", "operationId": "CreateNoSQLDatabaseCredentialV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.CreateNoSQLDatabaseCredentialRequest" } }, { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.NoSQLDatabaseCredentialResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "503": { "description": "Service Unavailable", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Creates a new database credential for the customer", "tags": [ "Managed Resources" ], "x-errorCodes": {}, "x-operationid": "csm/admin/nosql/v2/create-credentials", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:NOSQL:DATABASECREDENTIALS [CREATE]" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/nosql/databases": { "delete": { "consumes": [ "application/json" ], "description": "Deletes a NoSQL database and its credentials associated with given extend app and game namespace. The database will be removed from the provisioned NoSQL cluster.\n", "operationId": "DeleteNoSQLDatabaseV2", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.NoSQLDatabaseDeleteResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "503": { "description": "Service Unavailable", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Deletes NoSQL Database for Extend App", "tags": [ "Managed Resources" ], "x-errorCodes": {}, "x-operationid": "csm/admin/nosql/v2/delete", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:NOSQL:DATABASES [DELETE]" ] } ] }, "get": { "consumes": [ "application/json" ], "description": "Get a NoSQL database information returns the NoSQL database related information by given game namespace\nand app name.\n\n\u0026lt;code\u0026gt;resourceStatus\u0026lt;/code\u0026gt; field - indicates the NoSQL cluster status:\n- \u0026lt;code\u0026gt;updating\u0026lt;/code\u0026gt; : The cluster is being modified and is not yet accessible (e.g., updating min/max DCU). \n- \u0026lt;code\u0026gt;creating\u0026lt;/code\u0026gt; : The cluster or instance is being created and is not yet accessible. \n- \u0026lt;code\u0026gt;deleting\u0026lt;/code\u0026gt; : The cluster is in the process of being deleted and is not accessible. \n- \u0026lt;code\u0026gt;failed\u0026lt;/code\u0026gt; : The cluster failed to provision or is in an error state and not accessible. \n- \u0026lt;code\u0026gt;stopping\u0026lt;/code\u0026gt; : The cluster is in the process of stopping and will soon become inaccessible. \n- \u0026lt;code\u0026gt;stopped\u0026lt;/code\u0026gt; : The cluster is stopped and not accessible. \n- \u0026lt;code\u0026gt;starting\u0026lt;/code\u0026gt; : The cluster is transitioning from stopped to running, or is rebooting. \n- \u0026lt;code\u0026gt;unknown\u0026lt;/code\u0026gt; : The cluster status is not recognized \n- \u0026lt;code\u0026gt;available\u0026lt;/code\u0026gt; : The cluster is accessible. \n- \u0026lt;code\u0026gt;maintenance\u0026lt;/code\u0026gt; : The cluster is undergoing maintenance operations and is not accessible. \n\n\n", "operationId": "GetNoSQLDatabaseV2", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.NoSQLDatabaseResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get NoSQL Database for Extend App", "tags": [ "Managed Resources" ], "x-errorCodes": {}, "x-operationid": "csm/admin/nosql/v2/get", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:NOSQL:DATABASES [READ]" ] } ] }, "post": { "consumes": [ "application/json" ], "description": "Creates a NoSQL database along with its credentials associated with given extend app. The database will be created in the provisioned NoSQL cluster.\n\n\u0026lt;code\u0026gt;acknowledgements.acceptNosqlSecureCredentialHandling\u0026lt;/code\u0026gt; MUST be set to true to proceed with database creation, indicating the customer accepts the secure credential handling mechanism.\n", "operationId": "CreateNoSQLDatabaseV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.CreateNoSQLAppDatabaseRequest" } }, { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.NoSQLDatabaseResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "503": { "description": "Service Unavailable", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Creates NoSQL Database for Extend App", "tags": [ "Managed Resources" ], "x-errorCodes": {}, "x-operationid": "csm/admin/nosql/v2/create", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:NOSQL:DATABASES [CREATE]" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/resources": { "patch": { "consumes": [ "application/json" ], "description": "Update app resources provided on request body", "operationId": "UpdateAppResourcesV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.UpdateAppResourceRequest" } }, { "description": "App Name. Expected format: (^[A-Za-z](?:[A-Za-z0-9\\-]*[A-Za-z0-9])?$)", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.AppItem" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Update app info", "tags": [ "App V2" ], "x-errorCodes": {}, "x-operationid": "csm/admin/apps/v2/update-resource", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:APP [UPDATE]" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/resources/form": { "post": { "consumes": [ "application/json" ], "description": "Update app resources provided on request body", "operationId": "UpdateAppResourcesResourceLimitFormV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.IncreaseLimitFormRequest" } }, { "description": "App Name. Expected format: (^[A-Za-z](?:[A-Za-z0-9\\-]*[A-Za-z0-9])?$)", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Request Resource Limit to be increased", "tags": [ "App V2" ], "x-errorCodes": {}, "x-operationid": "csm/admin/apps/v2/request-resource-limit-increase", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:APP [UPDATE]" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/secrets": { "get": { "consumes": [ "application/json" ], "description": "Get list of environment secrets per app\nAvailable Deployment Status: \n\u0026lt;code\u0026gt;deployed\u0026lt;/code\u0026gt; = app config is already deployed\n\u0026lt;code\u0026gt;undeployed\u0026lt;/code\u0026gt; = app config is not deployed yet and need restart and deploy of the app to be deployed\n\t", "operationId": "GetListOfSecretsV2", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Limit", "in": "query", "name": "limit", "type": "integer" }, { "description": "Offset", "in": "query", "name": "offset", "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/apimodel.GetListOfConfigurationsV2Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get list of environment secrets", "tags": [ "Configuration V2" ], "x-errorCodes": {}, "x-operationid": "csm/admin/config/v2/list-secrets", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:SECRET [READ]" ] } ] }, "post": { "consumes": [ "application/json" ], "description": "Save an environment secret.\nSecret will always be masked.\n Request body:\n - configName\t\t: environment secret name - Required.\n - source\t\t\t: source of the configuration value (plaintext or ssm) - Required.\n - value\t\t\t: configuration value - Required.\n - description\t: description of the configuration - Optional.\n\n ", "operationId": "SaveSecretV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.SaveSecretConfigurationV2Request" } }, { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.SaveConfigurationV2Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Save an environment secret", "tags": [ "Configuration V2" ], "x-errorCodes": {}, "x-operationid": "csm/admin/config/v2/create-secret", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:SECRET [CREATE]" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/secrets/{configId}": { "delete": { "consumes": [ "application/json" ], "description": "Delete an environment secret by its config id\n\t", "operationId": "DeleteSecretV2", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Config ID", "in": "path", "name": "configId", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "" }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Delete an environment secret", "tags": [ "Configuration V2" ], "x-errorCodes": {}, "x-operationid": "csm/admin/config/v2/delete-secret", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:SECRET [DELETE]" ] } ] }, "put": { "consumes": [ "application/json" ], "description": "Update an environment secret. \nSecret will always be masked.\nRequest body:\n - value\t\t\t: configuration value - Required.\n - description\t: description of the configuration - Optional.\n\n", "operationId": "UpdateSecretV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.UpdateSecretConfigurationV2Request" } }, { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Config ID", "in": "path", "name": "configId", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.UpdateConfigurationV2Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Update an environment secret", "tags": [ "Configuration V2" ], "x-errorCodes": {}, "x-operationid": "csm/admin/config/v2/update-secret", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:SECRET [UPDATE]" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/sql/credentials": { "post": { "consumes": [ "application/json" ], "description": "Creates a new database credential for the customer. This will soft-delete the old credential and create a new one.\n", "operationId": "CreateSQLDatabaseCredentialV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.CreateSQLDatabaseCredentialRequest" } }, { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.SQLDatabaseCredentialResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "503": { "description": "Service Unavailable", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Creates a new database credential for the customer", "tags": [ "Managed Resources - SQL" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:SQL:DATABASECREDENTIALS [CREATE]" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/sql/databases": { "delete": { "consumes": [ "application/json" ], "description": "Deletes a SQL database and its credentials associated with given extend app and game namespace. The database will be removed from the provisioned SQL cluster.\n", "operationId": "DeleteSQLDatabaseV2", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.SQLDatabaseDeleteResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "503": { "description": "Service Unavailable", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Deletes SQL Database for Extend App", "tags": [ "Managed Resources - SQL" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:SQL:DATABASES [DELETE]" ] } ] }, "get": { "consumes": [ "application/json" ], "description": "Get a SQL database information returns the SQL database related information by given game namespace\nand app name.\n\n\u0026lt;code\u0026gt;resourceStatus\u0026lt;/code\u0026gt; field - indicates the SQL cluster status:\n- \u0026lt;code\u0026gt;updating\u0026lt;/code\u0026gt; : The cluster is being modified and is not yet accessible (e.g., updating min/max ACU). \n- \u0026lt;code\u0026gt;failed\u0026lt;/code\u0026gt; : The cluster failed to provision or is in an error state and not accessible. \n- \u0026lt;code\u0026gt;stopping\u0026lt;/code\u0026gt; : The cluster is in the process of stopping and will soon become inaccessible. \n- \u0026lt;code\u0026gt;stopped\u0026lt;/code\u0026gt; : The cluster is stopped and not accessible. \n- \u0026lt;code\u0026gt;starting\u0026lt;/code\u0026gt; : The cluster is transitioning from stopped to running, or is rebooting. \n- \u0026lt;code\u0026gt;creating\u0026lt;/code\u0026gt; : The cluster or instance is being created and is not yet accessible. \n- \u0026lt;code\u0026gt;deleting\u0026lt;/code\u0026gt; : The cluster is in the process of being deleted and is not accessible. \n- \u0026lt;code\u0026gt;maintenance\u0026lt;/code\u0026gt; : The cluster is undergoing maintenance operations and is not accessible. \n- \u0026lt;code\u0026gt;unknown\u0026lt;/code\u0026gt; : The cluster status is not recognized \n- \u0026lt;code\u0026gt;configuring-replica\u0026lt;/code\u0026gt; : The cluster is configuring replica instances for multi-AZ deployment. \n- \u0026lt;code\u0026gt;available\u0026lt;/code\u0026gt; : The cluster is accessible. \n\n\n", "operationId": "GetSQLDatabaseV2", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.SQLDatabaseResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get SQL Database for Extend App", "tags": [ "Managed Resources - SQL" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:SQL:DATABASES [READ]" ] } ] }, "post": { "consumes": [ "application/json" ], "description": "Creates a SQL database along with its credentials associated with given extend app. The database will be created in the provisioned SQL cluster.\n", "operationId": "CreateSQLDatabaseV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.CreateSQLAppDatabaseRequest" } }, { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.SQLDatabaseResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "503": { "description": "Service Unavailable", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Creates SQL Database for Extend App", "tags": [ "Managed Resources - SQL" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:SQL:DATABASES [CREATE]" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/start": { "put": { "consumes": [ "application/json" ], "description": "Starts the Application\n\t", "operationId": "StartAppV2", "parameters": [ { "description": "App Name. Expected format: (^[A-Za-z](?:[A-Za-z0-9\\-]*[A-Za-z0-9])?$)", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "202": { "description": "This means the request to start the application is accepted, and it will be processed in the background." }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Starts the Application", "tags": [ "App V2" ], "x-errorCodes": {}, "x-operationid": "csm/admin/apps/v2/start", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:APP [UPDATE]" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/stop": { "put": { "consumes": [ "application/json" ], "description": "Stops the Application\n\t", "operationId": "StopAppV2", "parameters": [ { "description": "App Name. Expected format: (^[A-Za-z](?:[A-Za-z0-9\\-]*[A-Za-z0-9])?$)", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "202": { "description": "This means the request to stop the application is accepted, and it will be processed in the background." }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Stops the Application", "tags": [ "App V2" ], "x-errorCodes": {}, "x-operationid": "csm/admin/apps/v2/stop", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:APP [UPDATE]" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/subscriptions": { "get": { "consumes": [ "application/json" ], "description": "Request param:\n- notificationType : type of the subscribed app notification\n\t- values: \n\t - all\n\t\t- app-down\n\t\t- critical-vulnerability\n\nGet a list of the app notification subscriber\n", "operationId": "GetNotificationSubscriberListV2", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Notification Type", "in": "query", "name": "notificationType", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/apimodel.GetNotificationSubscriberListResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get a list of the app notification subscriber", "tags": [ "Notification Subscription" ], "x-errorCodes": {}, "x-operationid": "csm/admin/subscriptions/v2/list-subscribers", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:APP:ALERT:SUBSCRIPTION [READ]" ] } ] }, "post": { "consumes": [ "application/json" ], "description": "Subscribe the user(s) an app notification.\n\nRequest body:\n- notificationType\t\t: type of the app notification to be subscribed - Required.\n\t- values: \n\t\t- \u0026#34;all\u0026#34;\n\t\t- \u0026#34;app-down\u0026#34;\n\t\t- \u0026#34;critical-vulnerability\u0026#34;\n- subscribers\t\t\t: user(s) to subscribe the app notification - Required.\n", "operationId": "SubscribeAppNotificationV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.SubscribeNotificationRequest" } }, { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/apimodel.SubscribeNotificationResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Subscribe the user(s) an app notification", "tags": [ "Notification Subscription" ], "x-errorCodes": {}, "x-operationid": "csm/admin/subscriptions/v2/add", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:APP:ALERT:SUBSCRIPTION [CREATE]" ] } ] }, "put": { "consumes": [ "application/json" ], "description": "Bulk update of users subscribed to an app\u0026#39;s notifications.\n\nRequest body:\n- notificationType\t\t: type of the app notification to be subscribed - Required.\n\t- values: \n\t\t- \u0026#34;all\u0026#34;\n\t\t- \u0026#34;app-down\u0026#34;\n\t\t- \u0026#34;critical-vulnerability\u0026#34;\n- subscribers\t\t\t: user(s) notification subscription to be updated - Required.\n", "operationId": "BulkSaveSubscriptionAppNotificationV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.BulkSubscribeRequest" } }, { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/apimodel.GetNotificationSubscriberListResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Bulk update of users subscribed to an app's notifications", "tags": [ "Notification Subscription" ], "x-errorCodes": {}, "x-operationid": "csm/admin/subscriptions/v2/update", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:APP:ALERT:SUBSCRIPTION [UPDATE]" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/subscriptions/me": { "delete": { "consumes": [ "application/json" ], "description": "Unsubscribe to app notification\n", "operationId": "UnsubscribeV2Handler", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "successfully submitted request to unsubcribe from app notification" }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Unsubscribe to app notification", "tags": [ "Notification Subscription" ], "x-errorCodes": {}, "x-operationid": "csm/admin/subscriptions/v2/remove-my", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:APP:ALERT:SELF:SUBSCRIPTION [DELETE]" ] } ] }, "get": { "consumes": [ "application/json" ], "description": "Get Subscription status of a user\n", "operationId": "GetSubscriptionV2Handler", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/apimodel.GetNotificationSubscriberStatusResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get Subscription status of a user", "tags": [ "Notification Subscription" ], "x-errorCodes": {}, "x-operationid": "csm/admin/subscriptions/v2/get-my", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:APP:ALERT:SELF:SUBSCRIPTION [READ]" ] } ] }, "post": { "consumes": [ "application/json" ], "description": "Subscribe to app notification\nRequest body:\n- notificationType\t\t: type of the app notification to be subscribed - Required.\n\t- values: \n\t\t- \u0026#34;all\u0026#34;\n\t \t- \u0026#34;app-down\u0026#34;\n\t\t- \u0026#34;critical-vulnerability\u0026#34;\n", "operationId": "SubscribeV2Handler", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.SelfSubscribeNotificationRequest" } }, { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "successfully submitted request to subcribe from app notification" }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Subscribe to app notification", "tags": [ "Notification Subscription" ], "x-errorCodes": {}, "x-operationid": "csm/admin/subscriptions/v2/add-my", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:APP:ALERT:SELF:SUBSCRIPTION [CREATE]" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/subscriptions/users/{userId}": { "delete": { "consumes": [ "application/json" ], "description": "Remove a user from the notification subscription by user ID.\n", "operationId": "DeleteSubscriptionAppNotificationByUserIDV2", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "User ID", "in": "path", "name": "userId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "" }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Remove other person subscription by user ID", "tags": [ "Notification Subscription" ], "x-errorCodes": {}, "x-operationid": "csm/admin/subscriptions/v2/delete-user", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:APP:ALERT:SUBSCRIPTION [DELETE]" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/subscriptions/{subscriptionId}": { "delete": { "consumes": [ "application/json" ], "deprecated": true, "description": "Remove a user from the notification subscription.\n", "operationId": "DeleteSubscriptionAppNotificationV2", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Subscription ID", "in": "path", "name": "subscriptionId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "" }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Remove other person subscription", "tags": [ "Notification Subscription" ], "x-errorCodes": {}, "x-operationid": "csm/admin/subscriptions/v2/delete", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:APP:ALERT:SUBSCRIPTION [DELETE]" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/variables": { "get": { "consumes": [ "application/json" ], "description": "Get list of environment variables per app\nAvailable Deployment Status: \n\u0026lt;code\u0026gt;deployed\u0026lt;/code\u0026gt; = app config is already deployed\n\u0026lt;code\u0026gt;undeployed\u0026lt;/code\u0026gt; = app config is not deployed yet and need restart and deploy of the app to be deployed\n\t", "operationId": "GetListOfVariablesV2", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Limit", "in": "query", "name": "limit", "type": "integer" }, { "description": "Offset", "in": "query", "name": "offset", "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/apimodel.GetListOfConfigurationsV2Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get list of environment variables", "tags": [ "Configuration V2" ], "x-errorCodes": {}, "x-operationid": "csm/admin/config/v2/list-variables", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:VARIABLE [READ]" ] } ] }, "post": { "consumes": [ "application/json" ], "description": "Save an environment variable.\n Request body:\n - configName\t\t: environment variable name - Required.\n - source\t\t\t: source of the configuration value (plaintext or ssm) - Required.\n - value\t\t\t: configuration value - Required.\n - description\t: description of the configuration - Optional.\n - applyMask\t\t: mask the value in the Helm manifest for sensitive information (true or false) - Optional.\n\n ", "operationId": "SaveVariableV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.SaveConfigurationV2Request" } }, { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.SaveConfigurationV2Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Save an environment variable", "tags": [ "Configuration V2" ], "x-errorCodes": {}, "x-operationid": "csm/admin/config/v2/create-variable", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:VARIABLE [CREATE]" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/apps/{app}/variables/{configId}": { "delete": { "consumes": [ "application/json" ], "description": "Delete an environment variable by its config id\n\t", "operationId": "DeleteVariableV2", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Config ID", "in": "path", "name": "configId", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "" }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Delete an environment variable", "tags": [ "Configuration V2" ], "x-errorCodes": {}, "x-operationid": "csm/admin/config/v2/delete-variable", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:VARIABLE [DELETE]" ] } ] }, "put": { "consumes": [ "application/json" ], "description": "Update an environment variable.\nRequest body:\n - value\t\t\t: configuration value - Required.\n - description\t: description of the configuration - Optional.\n - applyMask\t\t: mask the value in the Helm manifest for sensitive information (true or false) - Optional.\n\t\n", "operationId": "UpdateVariableV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.UpdateConfigurationV2Request" } }, { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Config ID", "in": "path", "name": "configId", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.UpdateConfigurationV2Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Update an environment variable", "tags": [ "Configuration V2" ], "x-errorCodes": {}, "x-operationid": "csm/admin/config/v2/update-variable", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:VARIABLE [UPDATE]" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/asyncmessaging/topics": { "get": { "consumes": [ "application/json" ], "description": "List all Async Messaging Topics inside a game namespace.\n", "operationId": "ListTopicsHandler", "parameters": [ { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Fuzzy search for topic name", "in": "query", "name": "fuzzyTopicName", "type": "string" }, { "description": "Filter to get only topics subscribed by given app name", "in": "query", "name": "isSubscribedByAppName", "type": "string" }, { "description": "Filter to get only topics unsubscribed by given app name", "in": "query", "name": "isUnsubscribedByAppName", "type": "string" }, { "description": "Limit for pagination", "in": "query", "name": "limit", "type": "integer" }, { "description": "Offset for pagination", "in": "query", "name": "offset", "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.ListTopicsResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "List Async Messaging Topics", "tags": [ "Async Messaging" ], "x-errorCodes": {}, "x-operationid": "csm/admin/topics/v2/list", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:ASYNCMESSAGING:TOPICS [READ]" ] } ] }, "post": { "consumes": [ "application/json" ], "description": "Create New Async Messaging Topic, the topic name is unique inside a game namespace.\n", "operationId": "CreateTopicHandler", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.CreateTopicRequest" } }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.TopicResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Create Async Messaging Topic", "tags": [ "Async Messaging" ], "x-errorCodes": {}, "x-operationid": "csm/admin/topics/v2/create", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:ASYNCMESSAGING:TOPICS [CREATE]" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/asyncmessaging/topics/{topicName}": { "delete": { "consumes": [ "application/json" ], "description": "Delete Async Messaging Topic inside a game namespace given its topic name.\n", "operationId": "DeleteTopicHandler", "parameters": [ { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Topic Name", "in": "path", "name": "topicName", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.TopicResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Delete Async Messaging Topic", "tags": [ "Async Messaging" ], "x-errorCodes": {}, "x-operationid": "csm/admin/topics/v2/delete", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:ASYNCMESSAGING:TOPICS [DELETE]" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/deployments": { "post": { "consumes": [ "application/json" ], "description": "Filters the List of Deployments\n\nThis endpoint intended to get list of Deployment done for the given publisher and game.\nRequest :\n\t- appIds : list of app ids\n\t- deploymentIds: list of deployment ids\n\t- statuses: \n\t\tdeployment-in-progress\n\t\tdeployment-failed\n\t\tdeployment-timeout\n\t\tdeployment-running\n\t\tdeployment-down\nRequired: Valid Access Token\n", "operationId": "GetListOfDeploymentV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.GetDeploymentListV2Request" } }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Limit", "in": "query", "name": "limit", "type": "integer" }, { "description": "Offset", "in": "query", "name": "offset", "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/apimodel.GetDeploymentListV2Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Fetches the List of Deployments", "tags": [ "Deployment V2" ], "x-errorCodes": {}, "x-operationid": "csm/admin/deployments/v2/list", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:DEPLOYMENT [READ]" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/deployments/{deploymentId}": { "delete": { "consumes": [ "application/json" ], "description": "Delete Deployment information by given DeploymentID\n\nThis endpoint will delete release object for the service deployment in the cluster\n\nRequired: Valid Access Token\n", "operationId": "DeleteDeploymentV2", "parameters": [ { "description": "Deployment ID", "in": "path", "name": "deploymentId", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "" }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Delete Deployment by Deployment ID", "tags": [ "Deployment V2" ], "x-errorCodes": {}, "x-operationid": "csm/admin/deployments/v2/delete", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:DEPLOYMENT [DELETE]" ] } ] }, "get": { "consumes": [ "application/json" ], "description": "Get Deployment information by given DeploymentID\n\t\nThis endpoint intended to get Deployment information.\n\t\nRequired: Valid Access Token\n", "operationId": "GetDeploymentV2", "parameters": [ { "description": "Deployment ID", "in": "path", "name": "deploymentId", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/apimodel.GetDeploymentListV2DataItem" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get Deployment by Deployment ID", "tags": [ "Deployment V2" ], "x-errorCodes": {}, "x-operationid": "csm/admin/deployments/v2/get", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:DEPLOYMENT [READ]" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/keyvalue/cluster/{resourceId}": { "get": { "consumes": [ "application/json" ], "description": "Get Key-Value cluster information returns the Key-Value cluster related information by given studio/publisher namespace.\n\n\u0026lt;code\u0026gt;status\u0026lt;/code\u0026gt; field - indicates the Key-Value cluster status.\n", "operationId": "GetKeyValueClusterV2", "parameters": [ { "description": "Studio Name", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Resource ID", "in": "path", "name": "resourceId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.KeyValueResourceResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get Key-Value Cluster Information", "tags": [ "Managed Resources - KeyValue" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:KEYVALUE:CLUSTERS [READ]" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/keyvalue/clusters": { "get": { "consumes": [ "application/json" ], "description": "List Key-Value clusters by studio/publisher namespace.\nIf \u0026lt;code\u0026gt;refresh=true\u0026lt;/code\u0026gt;, the service will sync cluster status from the provider (cached).\n", "operationId": "ListKeyValueClusterV2", "parameters": [ { "description": "Studio Name", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Refresh status from provider", "in": "query", "name": "refresh", "type": "boolean", "x-omitempty": false } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.KeyValueResourceListResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "List Key-Value Clusters", "tags": [ "Managed Resources - KeyValue" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:KEYVALUE:CLUSTERS [READ]" ] } ] }, "post": { "consumes": [ "application/json" ], "description": "Provision Key-Value cluster using AWS Valkey Serverless that can be used by extend apps in game namespace within the studio.\n\nCluster limits:\n- Private cloud: up to 10 clusters per studio namespace\n- Shared cloud: 1 cluster per studio namespace\n\nProvisioning process is done asynchronously, you can check from the \u0026lt;code\u0026gt;status\u0026lt;/code\u0026gt; field of the resource response.\n", "operationId": "CreateKeyValueClusterV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/domain.KeyValueResourceConfiguration" } }, { "description": "Studio Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "201": { "description": "Created", "schema": { "$ref": "#/definitions/apimodel.KeyValueResourceResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Creates Key-Value Cluster", "tags": [ "Managed Resources - KeyValue" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:KEYVALUE:CLUSTERS [CREATE]" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/keyvalue/clusters/limitconfig": { "get": { "consumes": [ "application/json" ], "description": "Get Key-Value cluster limit config.\n", "operationId": "GetKeyValueClusterLimitConfigV2", "parameters": [ { "description": "Studio Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/domain.KeyValueClusterConfig" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get Key-Value Cluster Limit Config", "tags": [ "Managed Resources - KeyValue" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:KEYVALUE:CLUSTERS [READ]" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/keyvalue/clusters/{resourceId}": { "delete": { "consumes": [ "application/json" ], "description": "Delete Key-Value cluster. Only allowed when cluster status is AVAILABLE or CREATE-FAILED.\nForce-deletes all active integrations. Returns resource with status DELETING.\n", "operationId": "DeleteKeyValueClusterV2", "parameters": [ { "description": "Studio Name", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Resource ID", "in": "path", "name": "resourceId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.KeyValueResourceResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Delete Key-Value Cluster", "tags": [ "Managed Resources - KeyValue" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:KEYVALUE:CLUSTERS [DELETE]" ] } ] }, "put": { "consumes": [ "application/json" ], "description": "Update Key-Value cluster configuration (maxDataStorageGB, maxECPUPerSecond, profileName).\nOnly allowed when cluster status is AVAILABLE. Process is asynchronous; poll Get Cluster for updated status.\n", "operationId": "UpdateKeyValueClusterV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/domain.KeyValueUpdateConfiguration" } }, { "description": "Studio Name", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Resource ID", "in": "path", "name": "resourceId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.KeyValueResourceResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Update Key-Value Cluster Configuration", "tags": [ "Managed Resources - KeyValue" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:KEYVALUE:CLUSTERS [UPDATE]" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/keyvalue/{resourceId}/integrations": { "get": { "consumes": [ "application/json" ], "description": "Get the list of Extend Apps integrated with a specific Key-Value cluster. Only active integrations are returned.\n", "operationId": "GetListIntegratedAppKeyValueClusterV2", "parameters": [ { "description": "Studio Name", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Resource ID", "in": "path", "name": "resourceId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.ListIntegratedAppsKeyValueResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get List Extend Apps Integrated with a Key-Value Cluster", "tags": [ "Managed Resources - KeyValue" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:KEYVALUE:CLUSTERS [READ]" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/nosql/clusters": { "delete": { "consumes": [ "application/json" ], "description": "You can only delete the cluster when its status is \u0026#34;available\u0026#34;.\n\nDeleting the cluster will:\n\t- Remove NoSQL integration.\n\t- Remove all the data from the NoSQL\n\t- Remove all the credentials, including the Extend App’s credentials.\n", "operationId": "DeleteNoSQLClusterV2", "parameters": [ { "description": "Studio Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.DeleteNoSQLResourceResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Delete NoSQL Cluster", "tags": [ "Managed Resources" ], "x-errorCodes": {}, "x-operationid": "csm/admin/nosql/v2/delete-cluster", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:NOSQL:CLUSTERS [DELETE]" ] } ] }, "get": { "consumes": [ "application/json" ], "description": "Get NoSQL cluster information returns the NoSQL cluster related information by given studio/publisher namespace.\n\n\u0026lt;code\u0026gt;status\u0026lt;/code\u0026gt; field - indicates the NoSQL cluster status:\n- \u0026lt;code\u0026gt;unknown\u0026lt;/code\u0026gt; : The cluster status is not recognized \n- \u0026lt;code\u0026gt;available\u0026lt;/code\u0026gt; : The cluster is accessible. \n- \u0026lt;code\u0026gt;maintenance\u0026lt;/code\u0026gt; : The cluster is undergoing maintenance operations and is not accessible. \n- \u0026lt;code\u0026gt;updating\u0026lt;/code\u0026gt; : The cluster is being modified and is not yet accessible (e.g., updating min/max DCU). \n- \u0026lt;code\u0026gt;creating\u0026lt;/code\u0026gt; : The cluster or instance is being created and is not yet accessible. \n- \u0026lt;code\u0026gt;deleting\u0026lt;/code\u0026gt; : The cluster is in the process of being deleted and is not accessible. \n- \u0026lt;code\u0026gt;failed\u0026lt;/code\u0026gt; : The cluster failed to provision or is in an error state and not accessible. \n- \u0026lt;code\u0026gt;stopping\u0026lt;/code\u0026gt; : The cluster is in the process of stopping and will soon become inaccessible. \n- \u0026lt;code\u0026gt;stopped\u0026lt;/code\u0026gt; : The cluster is stopped and not accessible. \n- \u0026lt;code\u0026gt;starting\u0026lt;/code\u0026gt; : The cluster is transitioning from stopped to running, or is rebooting. \n\n", "operationId": "GetNoSQLClusterV2", "parameters": [ { "description": "Studio Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.NoSQLResourceResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get NoSQL Cluster Information", "tags": [ "Managed Resources" ], "x-errorCodes": {}, "x-operationid": "csm/admin/nosql/v2/get-cluster", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:NOSQL:CLUSTERS [READ]" ] } ] }, "post": { "consumes": [ "application/json" ], "description": "Provision NoSQL database cluster and instances that can be used by extend apps in game namespace within the studio.\nOnly one NoSQL resource can be created for one studio/publisher namespace.\n\nProvisioning process is done asynchronously, you can check from the \u0026lt;code\u0026gt;status\u0026lt;/code\u0026gt; field of the resource response.\n", "operationId": "CreateNoSQLClusterV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/nosqlresource.NoSQLResourceConfiguration" } }, { "description": "Studio Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.NoSQLResourceResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Creates NoSQL Cluster", "tags": [ "Managed Resources" ], "x-errorCodes": {}, "x-operationid": "csm/admin/nosql/v2/create-cluster", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:NOSQL:CLUSTERS [CREATE]" ] } ] }, "put": { "consumes": [ "application/json" ], "description": "Update NoSQL cluster configurations such as min/max DCU (Database Capacity Units) for the NoSQL cluster in the given studio/publisher namespace.\nThe cluster must be in an available state to allow configuration updates.\n\nConfiguration update process may take some time to complete, you can check the updated status from the \u0026lt;code\u0026gt;status\u0026lt;/code\u0026gt; field of the resource response.\n", "operationId": "UpdateNoSQLClusterV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/nosqlresource.NoSQLResourceConfiguration" } }, { "description": "Studio Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.NoSQLResourceResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "503": { "description": "Service Unavailable", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Update NoSQL Cluster Configurations", "tags": [ "Managed Resources" ], "x-errorCodes": {}, "x-operationid": "csm/admin/nosql/v2/update-cluster", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:NOSQL:CLUSTERS [UPDATE]" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/nosql/clusters/start": { "put": { "consumes": [ "application/json" ], "description": "Start NoSQL cluster.\nYou can only start the cluster when its status is \u0026#34;stopped\u0026#34;.\n\nCluster starting process may take some time to complete.\n", "operationId": "StartNoSQLClusterV2", "parameters": [ { "description": "Studio Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "503": { "description": "Service Unavailable", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Start NoSQL Cluster", "tags": [ "Managed Resources" ], "x-errorCodes": {}, "x-operationid": "csm/admin/nosql/v2/start-cluster", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:NOSQL:CLUSTERS [UPDATE]" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/nosql/clusters/stop": { "put": { "consumes": [ "application/json" ], "description": "Stop NoSQL cluster.\nYou can only start the cluster when its status is \u0026#34;available\u0026#34;.\n\nCluster stopping process may take some time to complete.\n", "operationId": "StopNoSQLClusterV2", "parameters": [ { "description": "Studio Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "503": { "description": "Service Unavailable", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Stop NoSQL Cluster", "tags": [ "Managed Resources" ], "x-errorCodes": {}, "x-operationid": "csm/admin/nosql/v2/stop-cluster", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:NOSQL:CLUSTERS [UPDATE]" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/nosql/tunnels": { "get": { "consumes": [ "application/json" ], "description": "Returns the NoSQL access tunnel information for a specified game namespace", "operationId": "GetNoSQLAccessTunnelV2", "parameters": [ { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.TunnelInfoResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "503": { "description": "Service Unavailable", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get NoSQL Access Tunnel", "tags": [ "Managed Resources" ], "x-errorCodes": {}, "x-operationid": "csm/admin/nosql/v2/get-access-tunnel", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:NOSQL:TUNNELS [READ]" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/resources/limits": { "get": { "consumes": [ "application/json" ], "description": "This endpoint return the Extend Apps Configurable Limits for front end to use for initial validation before app creation\ne.g. \nReplica Limit will be used to check max replica that can be created for the said environment by default\nCPU Limit will be used to validate max allowed CPU for the extend app that hasn\u0026#39;t been created \nMemory Limit will be used to validate max allowed Memory for the extend app that hasn\u0026#39;t been created \nMaxAppNotificationSubscription will be used to validate the maximum number of subscriber for an app status notification\n", "operationId": "GetResourcesLimits", "parameters": [ { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/apimodel.CSMAppLimitsResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "402": { "description": "Payment Required", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get Extend Apps Configurable Limits e.g. any kind of limits for front end validation use", "tags": [ "Resources Limits" ], "x-errorCodes": {}, "x-operationid": "csm/admin/resource-limits/v2/list" } }, "/csm/v2/admin/namespaces/{namespace}/sql/clusters": { "delete": { "consumes": [ "application/json" ], "description": "You can only delete the cluster when its status is \u0026#34;available\u0026#34;.\n\nDeleting the cluster will:\n\t- Remove SQL integration.\n\t- Remove all the data from the SQL\n\t- Remove all the credentials, including the Extend App’s credentials.\n", "operationId": "DeleteSQLClusterV2", "parameters": [ { "description": "Studio Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.DeleteSQLResourceResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Delete SQL Cluster", "tags": [ "Managed Resources - SQL" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:SQL:CLUSTERS [DELETE]" ] } ] }, "get": { "consumes": [ "application/json" ], "description": "Get SQL cluster information returns the SQL cluster related information by given studio/publisher namespace.\n\n\u0026lt;code\u0026gt;status\u0026lt;/code\u0026gt; field - indicates the SQL cluster status:\n- \u0026lt;code\u0026gt;starting\u0026lt;/code\u0026gt; : The cluster is transitioning from stopped to running, or is rebooting. \n- \u0026lt;code\u0026gt;creating\u0026lt;/code\u0026gt; : The cluster or instance is being created and is not yet accessible. \n- \u0026lt;code\u0026gt;deleting\u0026lt;/code\u0026gt; : The cluster is in the process of being deleted and is not accessible. \n- \u0026lt;code\u0026gt;maintenance\u0026lt;/code\u0026gt; : The cluster is undergoing maintenance operations and is not accessible. \n- \u0026lt;code\u0026gt;unknown\u0026lt;/code\u0026gt; : The cluster status is not recognized \n- \u0026lt;code\u0026gt;configuring-replica\u0026lt;/code\u0026gt; : The cluster is configuring replica instances for multi-AZ deployment. \n- \u0026lt;code\u0026gt;available\u0026lt;/code\u0026gt; : The cluster is accessible. \n- \u0026lt;code\u0026gt;updating\u0026lt;/code\u0026gt; : The cluster is being modified and is not yet accessible (e.g., updating min/max ACU). \n- \u0026lt;code\u0026gt;failed\u0026lt;/code\u0026gt; : The cluster failed to provision or is in an error state and not accessible. \n- \u0026lt;code\u0026gt;stopping\u0026lt;/code\u0026gt; : The cluster is in the process of stopping and will soon become inaccessible. \n- \u0026lt;code\u0026gt;stopped\u0026lt;/code\u0026gt; : The cluster is stopped and not accessible. \n\n", "operationId": "GetSQLClusterV2", "parameters": [ { "description": "Studio Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.SQLResourceResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get SQL Cluster Information", "tags": [ "Managed Resources - SQL" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:SQL:CLUSTERS [READ]" ] } ] }, "post": { "consumes": [ "application/json" ], "description": "Provision SQL database cluster and instances that can be used by extend apps in game namespace within the studio.\nOnly one SQL resource can be created for one studio/publisher namespace.\n\nProvisioning process is done asynchronously, you can check from the \u0026lt;code\u0026gt;status\u0026lt;/code\u0026gt; field of the resource response.\n", "operationId": "CreateSQLClusterV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/sqlresource.SQLResourceConfiguration" } }, { "description": "Studio Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.SQLResourceResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Creates SQL Cluster", "tags": [ "Managed Resources - SQL" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:SQL:CLUSTERS [CREATE]" ] } ] }, "put": { "consumes": [ "application/json" ], "description": "Update SQL cluster configurations such as min/max ACU (AuroraDB Capacity Units) for the SQL cluster in the given studio/publisher namespace.\nThe cluster must be in an available state to allow configuration updates.\n\nConfiguration update process may take some time to complete, you can check the updated status from the \u0026lt;code\u0026gt;status\u0026lt;/code\u0026gt; field of the resource response.\n", "operationId": "UpdateSQLClusterV2", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/sqlresource.SQLResourceConfiguration" } }, { "description": "Studio Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.SQLResourceResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "503": { "description": "Service Unavailable", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Update SQL Cluster Configurations", "tags": [ "Managed Resources - SQL" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:SQL:CLUSTERS [UPDATE]" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/sql/clusters/start": { "put": { "consumes": [ "application/json" ], "description": "Start SQL cluster.\nYou can only start the cluster when its status is \u0026#34;stopped\u0026#34;.\n\nCluster starting process may take some time to complete.\n", "operationId": "StartSQLClusterV2", "parameters": [ { "description": "Studio Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "503": { "description": "Service Unavailable", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Start SQL Cluster", "tags": [ "Managed Resources - SQL" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:SQL:CLUSTERS [UPDATE]" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/sql/clusters/stop": { "put": { "consumes": [ "application/json" ], "description": "Stop SQL cluster.\nYou can only start the cluster when its status is \u0026#34;available\u0026#34;.\n\nCluster stopping process may take some time to complete.\n", "operationId": "StopSQLClusterV2", "parameters": [ { "description": "Studio Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "503": { "description": "Service Unavailable", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Stop SQL Cluster", "tags": [ "Managed Resources - SQL" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:SQL:CLUSTERS [UPDATE]" ] } ] } }, "/csm/v2/admin/namespaces/{namespace}/sql/{resourceId}/apps": { "get": { "consumes": [ "application/json" ], "description": "Get List of Extend App using SQL database by given studio/publisher namespace and the SQL cluster resourceId.\n- \u0026lt;code\u0026gt;available\u0026lt;/code\u0026gt; : The cluster is accessible. \n- \u0026lt;code\u0026gt;updating\u0026lt;/code\u0026gt; : The cluster is being modified and is not yet accessible (e.g., updating min/max ACU). \n- \u0026lt;code\u0026gt;failed\u0026lt;/code\u0026gt; : The cluster failed to provision or is in an error state and not accessible. \n- \u0026lt;code\u0026gt;stopping\u0026lt;/code\u0026gt; : The cluster is in the process of stopping and will soon become inaccessible. \n- \u0026lt;code\u0026gt;stopped\u0026lt;/code\u0026gt; : The cluster is stopped and not accessible. \n- \u0026lt;code\u0026gt;starting\u0026lt;/code\u0026gt; : The cluster is transitioning from stopped to running, or is rebooting. \n- \u0026lt;code\u0026gt;creating\u0026lt;/code\u0026gt; : The cluster or instance is being created and is not yet accessible. \n- \u0026lt;code\u0026gt;deleting\u0026lt;/code\u0026gt; : The cluster is in the process of being deleted and is not accessible. \n- \u0026lt;code\u0026gt;maintenance\u0026lt;/code\u0026gt; : The cluster is undergoing maintenance operations and is not accessible. \n- \u0026lt;code\u0026gt;unknown\u0026lt;/code\u0026gt; : The cluster status is not recognized \n- \u0026lt;code\u0026gt;configuring-replica\u0026lt;/code\u0026gt; : The cluster is configuring replica instances for multi-AZ deployment. \n\n", "operationId": "GetSQLAppListV2", "parameters": [ { "description": "Studio Name", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Resource ID", "in": "path", "name": "resourceId", "required": true, "type": "string" }, { "description": "App Name", "in": "query", "name": "appName", "type": "string" }, { "description": "Game Namespace", "in": "query", "name": "gameNamespace", "type": "string" }, { "description": "Limit for pagination", "in": "query", "name": "limit", "type": "integer" }, { "description": "Offset for pagination", "in": "query", "name": "offset", "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.SQLAppListResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get List of Extend App using SQL", "tags": [ "Managed Resources - SQL" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:SQL:CLUSTERS [READ]" ] } ] } }, "/csm/v2/admin/namespaces/{studioName}/nosql/{resourceId}/apps": { "get": { "consumes": [ "application/json" ], "description": "Get List of Extend App using NoSQL database by given studio/publisher namespace and the NoSQL cluster resourceId.\n- \u0026lt;code\u0026gt;starting\u0026lt;/code\u0026gt; : The cluster is transitioning from stopped to running, or is rebooting. \n- \u0026lt;code\u0026gt;unknown\u0026lt;/code\u0026gt; : The cluster status is not recognized \n- \u0026lt;code\u0026gt;available\u0026lt;/code\u0026gt; : The cluster is accessible. \n- \u0026lt;code\u0026gt;maintenance\u0026lt;/code\u0026gt; : The cluster is undergoing maintenance operations and is not accessible. \n- \u0026lt;code\u0026gt;updating\u0026lt;/code\u0026gt; : The cluster is being modified and is not yet accessible (e.g., updating min/max DCU). \n- \u0026lt;code\u0026gt;creating\u0026lt;/code\u0026gt; : The cluster or instance is being created and is not yet accessible. \n- \u0026lt;code\u0026gt;deleting\u0026lt;/code\u0026gt; : The cluster is in the process of being deleted and is not accessible. \n- \u0026lt;code\u0026gt;failed\u0026lt;/code\u0026gt; : The cluster failed to provision or is in an error state and not accessible. \n- \u0026lt;code\u0026gt;stopping\u0026lt;/code\u0026gt; : The cluster is in the process of stopping and will soon become inaccessible. \n- \u0026lt;code\u0026gt;stopped\u0026lt;/code\u0026gt; : The cluster is stopped and not accessible. \n\n", "operationId": "GetNoSQLAppListV2", "parameters": [ { "description": "Studio Name", "in": "path", "name": "studioName", "required": true, "type": "string" }, { "description": "Resource ID", "in": "path", "name": "resourceId", "required": true, "type": "string" }, { "description": "App Name", "in": "query", "name": "appName", "type": "string" }, { "description": "Game Namespace", "in": "query", "name": "gameNamespace", "type": "string" }, { "description": "Limit for pagination", "in": "query", "name": "limit", "type": "integer" }, { "description": "Offset for pagination", "in": "query", "name": "offset", "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.NoSQLAppListResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get List of Extend App using NoSQL", "tags": [ "Managed Resources" ], "x-errorCodes": {}, "x-operationid": "csm/admin/nosql/v2/list-apps", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:NOSQL:CLUSTERS [READ]" ] } ] } }, "/csm/v3/admin/namespaces/{namespace}/apps/{app}/subscriptions": { "delete": { "consumes": [ "application/json" ], "description": "Remove a user from the notification subscription using either user ID or email address. \nOnly one of them should be provided.\n", "operationId": "DeleteSubscriptionAppNotificationV3", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "emailAddress", "in": "query", "name": "emailAddress", "type": "string" }, { "description": "userID", "in": "query", "name": "userId", "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "" }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Remove other person subscription by user ID or email address", "tags": [ "Notification Subscription V3" ], "x-errorCodes": {}, "x-operationid": "csm/admin/subscriptions/v3/delete", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:APP:ALERT:SUBSCRIPTION [DELETE]" ] } ] }, "get": { "consumes": [ "application/json" ], "description": "Request param:\n- notificationType : type of the subscribed app notification\n\t- values: \n\t - all\n\t\t- app-down\n\t\t- critical-vulnerability\n\nGet a list of the app notification subscriber\n", "operationId": "GetNotificationSubscriberListV3", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "Notification Type", "in": "query", "name": "notificationType", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/apimodel.GetNotificationSubscriberListResponseV2" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get a list of the app notification subscriber", "tags": [ "Notification Subscription V3" ], "x-errorCodes": {}, "x-operationid": "csm/admin/subscriptions/v3/list-subscribers", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:APP:ALERT:SUBSCRIPTION [READ]" ] } ] } }, "/csm/v4/admin/namespaces/{namespace}/apps/{app}/debuginfo": { "get": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:APP [READ]\u0026lt;/code\u0026gt;\n\nReturns the list of debug-ready pods and exposed services for the given extend app.\n\nA pod is included only when it is in \u0026lt;code\u0026gt;Running\u0026lt;/code\u0026gt; phase and has an\n\u0026lt;code\u0026gt;extend-proxy-sidecar\u0026lt;/code\u0026gt; container.\n", "operationId": "GetAppDebugInfoV4", "parameters": [ { "description": "App Name. Expected format: (^[A-Za-z](?:[A-Za-z0-9\\-]*[A-Za-z0-9])?$)", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.AppDebugInfoResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get debug info for an extend app", "tags": [ "App V4" ], "x-errorCodes": {} } }, "/csm/v4/admin/namespaces/{namespace}/apps/{app}/debugmode": { "put": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:APP [UPDATE]\u0026lt;/code\u0026gt;\n\nEnable or disable the remote debug sidecar container for the specified extend app.\n\nWhen enabled and the app is in \u0026lt;code\u0026gt;deployment-running\u0026lt;/code\u0026gt; status, a new deployment will be\ntriggered automatically to apply the debug container configuration.\n\nThis operation is rejected with \u0026lt;code\u0026gt;409 Conflict\u0026lt;/code\u0026gt; if the app is currently in a\ntransitional state (app-creating, app-removing, app-stopping).\n", "operationId": "UpdateAppDebugModeV4", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.UpdateDebugModeRequest" } }, { "description": "App Name. Expected format: (^[A-Za-z](?:[A-Za-z0-9\\-]*[A-Za-z0-9])?$)", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.AppItem" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Enable or disable remote debug mode for an extend app", "tags": [ "App V4" ], "x-errorCodes": {} } }, "/csm/v4/admin/namespaces/{namespace}/apps/{app}/status-progress": { "get": { "consumes": [ "application/json" ], "description": "Returns step rows for the current or last tracked operation.\n", "operationId": "GetAppStatusProgressV4", "parameters": [ { "description": "App Name", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Name", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.GetAppStatusProgressResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Get in-progress long-running operation steps for the extend app (stepper)", "tags": [ "App Status Progress V4" ], "x-errorCodes": {}, "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:APP [READ]" ] } ] } }, "/csm/v5/admin/namespaces/{namespace}/apps/{app}": { "post": { "consumes": [ "application/json" ], "description": "Required permission : \u0026lt;code\u0026gt;ADMIN:NAMESPACE:{namespace}:EXTEND:APP [CREATE]\u0026lt;/code\u0026gt;\n\nCreate new extend app with name provided by {app} path parameter and specified scenario type\n\nAvailable scenario:\n- scenario 2: \u0026lt;code\u0026gt;service-extension\u0026lt;/code\u0026gt;\n- scenario 3: \u0026lt;code\u0026gt;event-handler\u0026lt;/code\u0026gt;\n- scenario 1: \u0026lt;code\u0026gt;function-override\u0026lt;/code\u0026gt;\n\n\nAvailable app status:\n- \u0026lt;code\u0026gt;app-creating\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-creation-failed\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-creation-timeout\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-undeployed\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;deployment-in-progress\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;deployment-failed\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;deployment-timeout\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;deployment-running\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;deployment-down\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-stopping\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-stop-failed\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-stop-timeout\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-stopped\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-removing\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-removed\u0026lt;/code\u0026gt;\n- \u0026lt;code\u0026gt;app-remove-timeout\u0026lt;/code\u0026gt;\n\n", "operationId": "CreateAppV5", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/apimodel.CreateAppV5Request" } }, { "description": "App Name. Expected format: (^[A-Za-z](?:[A-Za-z0-9\\-]*[A-Za-z0-9])?$)", "in": "path", "name": "app", "required": true, "type": "string" }, { "description": "Game Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/apimodel.AppItemV5" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/response.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/response.ErrorResponse" } } }, "security": [ { "authorization": [] } ], "summary": "Create new extend app (v5)", "tags": [ "App V5" ], "x-errorCodes": {}, "x-operationid": "csm/admin/apps/v5/create", "x-security": [ { "userPermissions": [ "ADMIN:NAMESPACE:{namespace}:EXTEND:APP [CREATE]" ] } ] } } }, "definitions": { "apimodel.AppDebugInfoResponse": { "properties": { "allowedInterceptedPorts": { "items": { "$ref": "#/definitions/domain.AllowedInterceptedPort" }, "type": "array" }, "appStatus": { "type": "string" }, "debugPods": { "items": { "$ref": "#/definitions/domain.DebugPod" }, "type": "array" }, "exposedServices": { "items": { "$ref": "#/definitions/domain.ExposedService" }, "type": "array" }, "isDebugModeEnabled": { "type": "boolean", "x-omitempty": false }, "isDebugSessionConnected": { "type": "boolean", "x-omitempty": false } }, "required": [ "allowedInterceptedPorts", "appStatus", "debugPods", "exposedServices", "isDebugModeEnabled", "isDebugSessionConnected" ] }, "apimodel.AppItem": { "properties": { "appId": { "type": "string" }, "appName": { "type": "string" }, "appRepoArn": { "type": "string" }, "appRepoUrl": { "type": "string" }, "appStatus": { "type": "string" }, "autoscaling": { "$ref": "#/definitions/apimodel.AutoscalingResponse" }, "basePath": { "type": "string" }, "cpu": { "$ref": "#/definitions/apimodel.CPUResponse" }, "createdAt": { "type": "string" }, "deletedAt": { "type": "string" }, "deploymentCreatedAt": { "type": "string" }, "deploymentId": { "type": "string" }, "deploymentImageTag": { "type": "string" }, "description": { "type": "string" }, "enableDebugMode": { "type": "boolean", "x-omitempty": false }, "gameName": { "type": "string" }, "isResourceApplied": { "type": "boolean", "x-omitempty": false }, "memory": { "$ref": "#/definitions/apimodel.MemoryResponse" }, "message": { "type": "string" }, "replica": { "$ref": "#/definitions/apimodel.ReplicaResponse" }, "scenario": { "type": "string" }, "servicePublicURL": { "type": "string" }, "serviceURL": { "type": "string" }, "updatedAt": { "type": "string" }, "vmSharingConfiguration": { "type": "string" } }, "required": [ "appId", "appName", "appStatus", "createdAt", "enableDebugMode", "gameName", "isResourceApplied", "scenario", "updatedAt", "vmSharingConfiguration" ] }, "apimodel.AppItemV5": { "properties": { "appId": { "type": "string" }, "appName": { "type": "string" }, "appStatus": { "type": "string" }, "basePath": { "type": "string" }, "createdAt": { "type": "string" }, "description": { "type": "string" }, "gameName": { "type": "string" }, "scenario": { "type": "string" }, "updatedAt": { "type": "string" }, "vmSharingConfiguration": { "type": "string" } }, "required": [ "appId", "appName", "appStatus", "createdAt", "gameName", "scenario", "updatedAt" ] }, "apimodel.AppStatusProgressStep": { "properties": { "finished_at": { "format": "date-time", "type": "string", "x-nullable": true }, "started_at": { "format": "date-time", "type": "string", "x-nullable": true }, "status": { "type": "string" }, "status_message": { "type": "string" }, "step": { "type": "string" }, "step_order": { "format": "integer", "type": "integer" } }, "required": [ "status", "step", "step_order" ] }, "apimodel.AppUIResponse": { "properties": { "appUiId": { "type": "string" }, "assetBasePath": { "type": "string" }, "createdAt": { "format": "date-time", "type": "string", "x-nullable": false }, "currentFileVersion": { "type": "string" }, "gameNamespace": { "type": "string" }, "name": { "type": "string" }, "publicIamClient": { "$ref": "#/definitions/apimodel.PublicIAMClientResponse" }, "updatedAt": { "format": "date-time", "type": "string", "x-nullable": false } }, "required": [ "appUiId", "assetBasePath", "createdAt", "currentFileVersion", "gameNamespace", "name", "updatedAt" ] }, "apimodel.ApplyAppConfigRequest": { "properties": { "autoscaling": { "$ref": "#/definitions/apimodel.AutoscalingRequest" }, "cpu": { "$ref": "#/definitions/apimodel.CPURequest" }, "description": { "type": "string" }, "memory": { "$ref": "#/definitions/apimodel.MemoryRequest" }, "permissions": { "items": { "$ref": "#/definitions/apimodel.ApplyPermissionItem" }, "type": "array" }, "replica": { "$ref": "#/definitions/apimodel.ReplicaRequest" }, "scenario": { "type": "string" }, "secrets": { "items": { "$ref": "#/definitions/apimodel.ApplyConfigItem" }, "type": "array" }, "variables": { "items": { "$ref": "#/definitions/apimodel.ApplyConfigItem" }, "type": "array" }, "vmSharingConfiguration": { "type": "string" } }, "required": [ "scenario" ] }, "apimodel.ApplyConfigItem": { "properties": { "name": { "type": "string" }, "value": { "type": "string" } }, "required": [ "name", "value" ] }, "apimodel.ApplyPermissionItem": { "properties": { "action": { "format": "int32", "type": "integer" }, "resource": { "type": "string" } }, "required": [ "action", "resource" ] }, "apimodel.AutoscalingRequest": { "properties": { "targetCPUUtilizationPercent": { "format": "int32", "type": "integer" } }, "required": [ "targetCPUUtilizationPercent" ] }, "apimodel.AutoscalingResponse": { "properties": { "targetCPUUtilizationPercent": { "format": "int32", "type": "integer" } }, "required": [ "targetCPUUtilizationPercent" ] }, "apimodel.BulkSubscribeItem": { "properties": { "emailAddress": { "type": "string" }, "notificationType": { "additionalProperties": { "type": "boolean", "x-omitempty": false }, "type": "object" }, "userId": { "type": "string" } }, "required": [ "notificationType" ] }, "apimodel.BulkSubscribeRequest": { "properties": { "subscribers": { "items": { "$ref": "#/definitions/apimodel.BulkSubscribeItem" }, "type": "array" } }, "required": [ "subscribers" ] }, "apimodel.CPURequest": { "properties": { "requestCPU": { "format": "int32", "type": "integer" } }, "required": [ "requestCPU" ] }, "apimodel.CPUResponse": { "properties": { "cpuLimit": { "format": "int32", "type": "integer" }, "requestCPU": { "format": "int32", "type": "integer" } }, "required": [ "requestCPU" ] }, "apimodel.CSMAppLimitsResponse": { "properties": { "autoscaling": { "$ref": "#/definitions/model.CSMAutoscalingDefaults" }, "extendAppCPULimit": { "format": "int32", "type": "integer" }, "extendAppEventHandlerCPULimit": { "format": "int32", "type": "integer" }, "extendAppEventHandlerMemoryLimit": { "format": "int32", "type": "integer" }, "extendAppMemoryLimit": { "format": "int32", "type": "integer" }, "extendAppReplicaLimit": { "format": "int32", "type": "integer" }, "extendAppServiceExtensionCPULimit": { "format": "int32", "type": "integer" }, "extendAppServiceExtensionMemoryLimit": { "format": "int32", "type": "integer" }, "extendAppeEventHandlerMemoryLimit": { "format": "int32", "type": "integer" }, "maxSubscriberCount": { "format": "int32", "type": "integer" } }, "required": [ "autoscaling", "extendAppCPULimit", "extendAppEventHandlerCPULimit", "extendAppEventHandlerMemoryLimit", "extendAppMemoryLimit", "extendAppReplicaLimit", "extendAppServiceExtensionCPULimit", "extendAppServiceExtensionMemoryLimit", "extendAppeEventHandlerMemoryLimit", "maxSubscriberCount" ] }, "apimodel.CreateAppUIRequest": { "properties": { "name": { "type": "string" } }, "required": [ "name" ] }, "apimodel.CreateAppV2Request": { "properties": { "autoscaling": { "$ref": "#/definitions/apimodel.AutoscalingRequest" }, "cpu": { "$ref": "#/definitions/apimodel.CPURequest" }, "description": { "type": "string" }, "memory": { "$ref": "#/definitions/apimodel.MemoryRequest" }, "replica": { "$ref": "#/definitions/apimodel.ReplicaRequest" }, "scenario": { "type": "string" }, "vmSharingConfiguration": { "type": "string" } }, "required": [ "scenario" ] }, "apimodel.CreateAppV5Request": { "properties": { "autoscaling": { "$ref": "#/definitions/createappparams.AutoscalingRequest" }, "cpu": { "$ref": "#/definitions/createappparams.CPURequest" }, "description": { "type": "string" }, "memory": { "$ref": "#/definitions/createappparams.MemoryRequest" }, "preferred_k8s_namespace": { "type": "string" }, "replica": { "$ref": "#/definitions/createappparams.ReplicaRequest" }, "scenario": { "type": "string" }, "vmSharingConfiguration": { "type": "string" } }, "required": [ "scenario" ] }, "apimodel.CreateDeploymentV2Request": { "properties": { "imageTag": { "type": "string" } }, "required": [ "imageTag" ] }, "apimodel.CreateDeploymentV2Response": { "properties": { "deploymentId": { "type": "string" } }, "required": [ "deploymentId" ] }, "apimodel.CreateKeyValueCredentialRequest": { "properties": { "password": { "type": "string" }, "username": { "type": "string" } }, "required": [ "password", "username" ] }, "apimodel.CreateKeyValueCredentialResponse": { "properties": { "createdAt": { "type": "string" }, "owner": { "type": "string" }, "recommendedMaxAgeDays": { "format": "int32", "type": "integer" }, "username": { "type": "string" } }, "required": [ "createdAt", "owner", "recommendedMaxAgeDays", "username" ] }, "apimodel.CreateNoSQLAppDatabaseRequest": { "properties": { "acknowledgements": { "$ref": "#/definitions/apimodel.NoSQLDatabaseAcknowledgements" }, "dbName": { "type": "string" }, "password": { "type": "string" }, "username": { "type": "string" } }, "required": [ "acknowledgements", "dbName", "password", "username" ] }, "apimodel.CreateNoSQLDatabaseCredentialRequest": { "properties": { "acknowledgements": { "$ref": "#/definitions/apimodel.NoSQLDatabaseAcknowledgements" }, "password": { "type": "string" }, "username": { "type": "string" } }, "required": [ "acknowledgements", "password", "username" ] }, "apimodel.CreateSQLAppDatabaseRequest": { "properties": { "acknowledgements": { "$ref": "#/definitions/apimodel.SQLDatabaseAcknowledgements" }, "dbName": { "type": "string" }, "password": { "type": "string" }, "username": { "type": "string" } }, "required": [ "acknowledgements", "dbName", "password", "username" ] }, "apimodel.CreateSQLDatabaseCredentialRequest": { "properties": { "password": { "type": "string" }, "username": { "type": "string" } }, "required": [ "password", "username" ] }, "apimodel.CreateSubscriptionRequest": { "properties": { "topicNames": { "items": { "type": "string" }, "type": "array" } }, "required": [ "topicNames" ] }, "apimodel.CreateSubscriptionResponse": { "properties": { "data": { "items": { "$ref": "#/definitions/apimodel.TopicSubscription" }, "type": "array" } } }, "apimodel.CreateTopicRequest": { "properties": { "description": { "type": "string" }, "topicName": { "type": "string" } }, "required": [ "topicName" ] }, "apimodel.DeleteNoSQLResourceResponse": { "properties": { "platformName": { "type": "string" }, "resourceId": { "type": "string" }, "resourceName": { "type": "string" }, "resourceType": { "type": "string" }, "studioName": { "type": "string" } }, "required": [ "platformName", "resourceId", "resourceName", "resourceType", "studioName" ] }, "apimodel.DeleteSQLResourceResponse": { "properties": { "platformName": { "type": "string" }, "resourceId": { "type": "string" }, "resourceName": { "type": "string" }, "resourceType": { "type": "string" }, "studioName": { "type": "string" } }, "required": [ "platformName", "resourceId", "resourceName", "resourceType", "studioName" ] }, "apimodel.GetAppImageListV2DataItem": { "properties": { "IsActive": { "type": "boolean", "x-omitempty": false }, "imageDigest": { "type": "string" }, "imageScanResult": { "$ref": "#/definitions/apimodel.GetAppImageListV2DataItemImageScanResult" }, "imageScanStatus": { "$ref": "#/definitions/apimodel.GetAppImageListV2DataItemImageScanStatus" }, "imageTag": { "type": "string" }, "size": { "format": "int64", "type": "integer" }, "updatedAt": { "type": "string" } }, "required": [ "IsActive", "imageDigest", "imageTag", "size" ] }, "apimodel.GetAppImageListV2DataItemImageScanResult": { "properties": { "findingSeverityCounts": { "additionalProperties": { "format": "int64", "type": "integer" }, "type": "object" }, "findings": { "items": { "$ref": "#/definitions/model.ImageScanFinding" }, "type": "array" } }, "required": [ "findingSeverityCounts", "findings" ] }, "apimodel.GetAppImageListV2DataItemImageScanStatus": { "properties": { "description": { "type": "string" }, "status": { "type": "string" } }, "required": [ "status" ] }, "apimodel.GetAppImageListV2Response": { "properties": { "data": { "items": { "$ref": "#/definitions/apimodel.GetAppImageListV2DataItem" }, "type": "array" }, "paging": { "$ref": "#/definitions/generated.Pagination" }, "vulnerabilityStatus": { "type": "string" } }, "required": [ "data", "vulnerabilityStatus" ] }, "apimodel.GetAppListV2Request": { "properties": { "appNames": { "items": { "type": "string" }, "type": "array" }, "appStatuses": { "items": { "type": "string" }, "type": "array" }, "fuzzyAppName": { "type": "string" }, "scenario": { "type": "string" } } }, "apimodel.GetAppListV2Response": { "properties": { "data": { "items": { "$ref": "#/definitions/apimodel.AppItem" }, "type": "array" }, "paging": { "$ref": "#/definitions/generated.Pagination" } }, "required": [ "data" ] }, "apimodel.GetAppStatusProgressResponse": { "properties": { "app_id": { "type": "string" }, "app_name": { "type": "string" }, "operation_id": { "type": "string" }, "steps": { "items": { "$ref": "#/definitions/apimodel.AppStatusProgressStep" }, "type": "array" } }, "required": [ "app_id", "app_name", "operation_id", "steps" ] }, "apimodel.GetDeploymentListV2DataItem": { "properties": { "deletedAt": { "type": "string" }, "deploymentId": { "type": "string" }, "imageTag": { "type": "string" }, "message": { "type": "string" }, "status": { "type": "string" }, "updatedAt": { "type": "string" } }, "required": [ "deploymentId", "imageTag", "status" ] }, "apimodel.GetDeploymentListV2Request": { "properties": { "appIds": { "items": { "type": "string" }, "type": "array" }, "deploymentIds": { "items": { "type": "string" }, "type": "array" }, "statuses": { "items": { "type": "string" }, "type": "array" } } }, "apimodel.GetDeploymentListV2Response": { "properties": { "data": { "items": { "$ref": "#/definitions/apimodel.GetDeploymentListV2DataItem" }, "type": "array" }, "paging": { "$ref": "#/definitions/generated.Pagination" } }, "required": [ "data" ] }, "apimodel.GetIntegrationAppKeyValueResponse": { "properties": { "acceptKeyValueSecureCredentialHandling": { "type": "boolean", "x-omitempty": false }, "appId": { "type": "string" }, "credentials": { "$ref": "#/definitions/apimodel.IntegrationCredentialInfo" }, "gameNamespace": { "type": "string" }, "hostnames": { "type": "string" }, "integrationId": { "type": "string" }, "platformName": { "type": "string" }, "resourceId": { "type": "string" }, "resourceStatus": { "type": "string" }, "status": { "type": "string" }, "statusMessage": { "type": "string" } }, "required": [ "acceptKeyValueSecureCredentialHandling", "appId", "credentials", "gameNamespace", "hostnames", "integrationId", "platformName", "resourceId", "resourceStatus", "status", "statusMessage" ] }, "apimodel.GetListOfConfigurationsV2DataItem": { "properties": { "applyMask": { "type": "boolean", "x-omitempty": false }, "configId": { "type": "string" }, "configName": { "type": "string" }, "configType": { "type": "string" }, "deploymentStatus": { "type": "string" }, "description": { "type": "string" }, "editable": { "type": "boolean", "x-omitempty": false }, "isHidden": { "type": "boolean", "x-omitempty": false }, "source": { "type": "string" }, "value": { "type": "string" } }, "required": [ "configId", "configName", "configType", "deploymentStatus", "editable", "isHidden", "value" ] }, "apimodel.GetListOfConfigurationsV2Response": { "properties": { "data": { "items": { "$ref": "#/definitions/apimodel.GetListOfConfigurationsV2DataItem" }, "type": "array" }, "paging": { "$ref": "#/definitions/generated.Pagination" } }, "required": [ "data" ] }, "apimodel.GetNotificationSubscriberItem": { "properties": { "displayName": { "type": "string" }, "emailAddress": { "type": "string" }, "notificationType": { "additionalProperties": { "type": "boolean", "x-omitempty": false }, "type": "object" }, "subscriptionId": { "type": "string" }, "userId": { "type": "string" } }, "required": [ "notificationType", "subscriptionId" ] }, "apimodel.GetNotificationSubscriberItemV2": { "properties": { "displayName": { "type": "string" }, "emailAddress": { "type": "string" }, "notificationTypes": { "items": { "$ref": "#/definitions/apimodel.NotificationType" }, "type": "array" }, "userId": { "type": "string" } }, "required": [ "notificationTypes" ] }, "apimodel.GetNotificationSubscriberListResponse": { "properties": { "maxSubscriptions": { "format": "int32", "type": "integer" }, "subscriptions": { "items": { "$ref": "#/definitions/apimodel.GetNotificationSubscriberItem" }, "type": "array" } }, "required": [ "maxSubscriptions", "subscriptions" ] }, "apimodel.GetNotificationSubscriberListResponseV2": { "properties": { "maxSubscriptions": { "format": "int32", "type": "integer" }, "subscriptions": { "items": { "$ref": "#/definitions/apimodel.GetNotificationSubscriberItemV2" }, "type": "array" } }, "required": [ "maxSubscriptions", "subscriptions" ] }, "apimodel.GetNotificationSubscriberStatusResponse": { "properties": { "displayName": { "type": "string" }, "emailAddress": { "type": "string" }, "maxSubscription": { "format": "int32", "type": "integer" }, "notificationType": { "type": "string" }, "subscribed": { "type": "boolean", "x-omitempty": false }, "subscriptionsCount": { "format": "int32", "type": "integer" }, "userId": { "type": "string" } }, "required": [ "maxSubscription", "notificationType", "subscribed", "subscriptionsCount" ] }, "apimodel.IncreaseLimitFormRequest": { "properties": { "clientEmail": { "type": "string" }, "preferredLimitReplica": { "format": "int32", "type": "integer" }, "requestReason": { "type": "string" } }, "required": [ "clientEmail", "requestReason" ] }, "apimodel.IntegrateAppKeyValueRequest": { "properties": { "acknowledgements": { "$ref": "#/definitions/apimodel.KeyValueCredentialAcknowledgements" }, "password": { "type": "string" }, "resourceId": { "type": "string" }, "username": { "type": "string" } }, "required": [ "acknowledgements", "password", "resourceId", "username" ] }, "apimodel.IntegrateAppKeyValueResponse": { "properties": { "acceptKeyValueSecureCredentialHandling": { "type": "boolean", "x-omitempty": false }, "appId": { "type": "string" }, "credentials": { "$ref": "#/definitions/apimodel.IntegrationCredentialInfo" }, "gameNamespace": { "type": "string" }, "hostnames": { "type": "string" }, "integrationId": { "type": "string" }, "platformName": { "type": "string" }, "resourceId": { "type": "string" }, "resourceStatus": { "type": "string" }, "scenario": { "type": "string" }, "status": { "type": "string" }, "statusMessage": { "type": "string" } }, "required": [ "acceptKeyValueSecureCredentialHandling", "appId", "credentials", "gameNamespace", "hostnames", "integrationId", "platformName", "resourceId", "resourceStatus", "scenario", "status", "statusMessage" ] }, "apimodel.IntegrationCredentialInfo": { "properties": { "createdAt": { "type": "string" }, "owner": { "type": "string" }, "recommendedMaxAgeDays": { "format": "int32", "type": "integer" }, "username": { "type": "string" } }, "required": [ "createdAt", "owner", "recommendedMaxAgeDays", "username" ] }, "apimodel.IntegrationListItem": { "properties": { "appId": { "type": "string" }, "appName": { "type": "string" }, "createdAt": { "type": "string" }, "gameNamespace": { "type": "string" }, "integrationId": { "type": "string" }, "resourceId": { "type": "string" }, "scenario": { "type": "string" }, "status": { "type": "string" }, "statusMessage": { "type": "string" }, "studioName": { "type": "string" } }, "required": [ "appId", "appName", "createdAt", "gameNamespace", "integrationId", "resourceId", "scenario", "status", "statusMessage", "studioName" ] }, "apimodel.KeyValueCredentialAcknowledgements": { "properties": { "acceptKeyValueSecureCredentialHandling": { "type": "boolean", "x-omitempty": false } }, "required": [ "acceptKeyValueSecureCredentialHandling" ] }, "apimodel.KeyValueResourceListResponse": { "properties": { "data": { "items": { "$ref": "#/definitions/apimodel.KeyValueResourceResponse" }, "type": "array" } }, "required": [ "data" ] }, "apimodel.KeyValueResourceResponse": { "properties": { "clusterName": { "type": "string" }, "configuration": { "$ref": "#/definitions/domain.KeyValueResourceConfiguration" }, "engine": { "type": "string" }, "hostnames": { "type": "string" }, "lastRotatedAt": { "type": "string" }, "platformName": { "type": "string" }, "region": { "type": "string" }, "resourceId": { "type": "string" }, "resourceName": { "type": "string" }, "resourceType": { "type": "string" }, "status": { "type": "string" }, "statusMessage": { "type": "string" }, "studioName": { "type": "string" } }, "required": [ "clusterName", "configuration", "engine", "hostnames", "lastRotatedAt", "platformName", "region", "resourceId", "resourceName", "resourceType", "status", "statusMessage", "studioName" ] }, "apimodel.ListAppUIResponse": { "properties": { "data": { "items": { "$ref": "#/definitions/apimodel.AppUIResponse" }, "type": "array" }, "pagination": { "$ref": "#/definitions/apimodel.PaginationResponse" } }, "required": [ "data", "pagination" ] }, "apimodel.ListIntegratedAppsKeyValueResponse": { "properties": { "data": { "items": { "$ref": "#/definitions/apimodel.IntegrationListItem" }, "type": "array" } }, "required": [ "data" ] }, "apimodel.ListTopicsResponse": { "properties": { "data": { "items": { "$ref": "#/definitions/apimodel.TopicDetailResponse" }, "type": "array" }, "pagination": { "$ref": "#/definitions/apimodel.PaginationResponse" } }, "required": [ "data" ] }, "apimodel.MemoryRequest": { "properties": { "requestMemory": { "format": "int32", "type": "integer" } } }, "apimodel.MemoryResponse": { "properties": { "memoryLimit": { "format": "int32", "type": "integer" }, "requestMemory": { "format": "int32", "type": "integer" } } }, "apimodel.NoSQLAppListResponse": { "properties": { "data": { "items": { "$ref": "#/definitions/apimodel.NoSQLAppResponse" }, "type": "array" }, "pagination": { "$ref": "#/definitions/apimodel.PaginationResponse" } }, "required": [ "data" ] }, "apimodel.NoSQLAppResponse": { "properties": { "appId": { "type": "string" }, "appName": { "type": "string" }, "gameName": { "type": "string" }, "scenario": { "type": "string" } }, "required": [ "appId", "appName", "gameName", "scenario" ] }, "apimodel.NoSQLDatabaseAcknowledgements": { "properties": { "acceptNosqlSecureCredentialHandling": { "type": "boolean", "x-omitempty": false } }, "required": [ "acceptNosqlSecureCredentialHandling" ] }, "apimodel.NoSQLDatabaseCredentialResponse": { "properties": { "createdAt": { "type": "string" }, "owner": { "type": "string" }, "recommendedMaxAgeDays": { "format": "int32", "type": "integer" }, "username": { "type": "string" } }, "required": [ "createdAt", "owner", "recommendedMaxAgeDays", "username" ] }, "apimodel.NoSQLDatabaseDeleteResponse": { "properties": { "dbId": { "type": "string" }, "dbName": { "type": "string" } }, "required": [ "dbId", "dbName" ] }, "apimodel.NoSQLDatabaseResponse": { "properties": { "acceptNosqlSecureCredentialHandling": { "type": "boolean", "x-omitempty": false }, "appId": { "type": "string" }, "credentials": { "$ref": "#/definitions/apimodel.NoSQLDatabaseCredentialResponse" }, "dbId": { "type": "string" }, "dbName": { "type": "string" }, "gameNamespace": { "type": "string" }, "hostnames": { "type": "string" }, "platformName": { "type": "string" }, "resourceId": { "type": "string" }, "resourceStatus": { "type": "string" } }, "required": [ "acceptNosqlSecureCredentialHandling", "appId", "credentials", "dbId", "dbName", "gameNamespace", "hostnames", "platformName", "resourceId", "resourceStatus" ] }, "apimodel.NoSQLResourceResponse": { "properties": { "configuration": { "$ref": "#/definitions/nosqlresource.NoSQLResourceConfiguration" }, "engineVersion": { "type": "string" }, "hostnames": { "type": "string" }, "lastRotatedAt": { "type": "string" }, "platformName": { "type": "string" }, "region": { "type": "string" }, "resourceId": { "type": "string" }, "resourceName": { "type": "string" }, "resourceType": { "type": "string" }, "status": { "type": "string" }, "studioName": { "type": "string" }, "tlsEnabled": { "type": "boolean", "x-omitempty": false } }, "required": [ "platformName", "resourceId", "resourceName", "resourceType", "status", "studioName" ] }, "apimodel.NotificationType": { "properties": { "subcriptionID": { "type": "string" }, "type": { "type": "string" } }, "required": [ "subcriptionID", "type" ] }, "apimodel.PaginationResponse": { "properties": { "first": { "type": "string" }, "last": { "type": "string" }, "next": { "type": "string" }, "previous": { "type": "string" }, "totalData": { "format": "int64", "type": "integer" } }, "required": [ "totalData" ] }, "apimodel.PublicIAMClientResponse": { "properties": { "clientId": { "type": "string" }, "clientName": { "type": "string" }, "redirectUriList": { "items": { "type": "string" }, "type": "array" } }, "required": [ "clientId", "clientName", "redirectUriList" ] }, "apimodel.ReplicaRequest": { "properties": { "maxReplica": { "format": "int32", "type": "integer" }, "minReplica": { "format": "int32", "type": "integer" } } }, "apimodel.ReplicaResponse": { "properties": { "currentReplica": { "format": "int32", "type": "integer" }, "maxReplica": { "format": "int32", "type": "integer" }, "minReplica": { "format": "int32", "type": "integer" }, "replicaLimit": { "format": "int32", "type": "integer" }, "rolloutReadyReplicas": { "format": "int32", "type": "integer" } } }, "apimodel.SQLAppListResponse": { "properties": { "data": { "items": { "$ref": "#/definitions/apimodel.SQLAppResponse" }, "type": "array" }, "pagination": { "$ref": "#/definitions/apimodel.PaginationResponse" } }, "required": [ "data" ] }, "apimodel.SQLAppResponse": { "properties": { "appId": { "type": "string" }, "appName": { "type": "string" }, "gameName": { "type": "string" }, "scenario": { "type": "string" } }, "required": [ "appId", "appName", "gameName", "scenario" ] }, "apimodel.SQLDatabaseAcknowledgements": { "properties": { "acceptSQLSecureCredentialHandling": { "type": "boolean", "x-omitempty": false } }, "required": [ "acceptSQLSecureCredentialHandling" ] }, "apimodel.SQLDatabaseCredentialResponse": { "properties": { "createdAt": { "type": "string" }, "owner": { "type": "string" }, "recommendedMaxAge": { "format": "int32", "type": "integer" }, "username": { "type": "string" } }, "required": [ "createdAt", "owner", "recommendedMaxAge", "username" ] }, "apimodel.SQLDatabaseDeleteResponse": { "properties": { "dbId": { "type": "string" }, "dbName": { "type": "string" } }, "required": [ "dbId", "dbName" ] }, "apimodel.SQLDatabaseResponse": { "properties": { "acceptSQLSecureCredentialHandling": { "type": "boolean", "x-omitempty": false }, "appId": { "type": "string" }, "credentials": { "$ref": "#/definitions/apimodel.SQLDatabaseCredentialResponse" }, "dbId": { "type": "string" }, "dbName": { "type": "string" }, "gameNamespace": { "type": "string" }, "hostnames": { "type": "string" }, "platformName": { "type": "string" }, "resourceId": { "type": "string" }, "resourceStatus": { "type": "string" } }, "required": [ "acceptSQLSecureCredentialHandling", "appId", "credentials", "dbId", "dbName", "gameNamespace", "hostnames", "platformName", "resourceId", "resourceStatus" ] }, "apimodel.SQLResourceResponse": { "properties": { "configuration": { "$ref": "#/definitions/sqlresource.SQLResourceConfiguration" }, "engineVersion": { "type": "string" }, "hostnames": { "type": "string" }, "lastRotatedAt": { "type": "string" }, "platformName": { "type": "string" }, "region": { "type": "string" }, "resourceId": { "type": "string" }, "resourceName": { "type": "string" }, "resourceType": { "type": "string" }, "status": { "type": "string" }, "studioName": { "type": "string" } }, "required": [ "platformName", "resourceId", "resourceName", "resourceType", "status", "studioName" ] }, "apimodel.SaveConfigurationV2Request": { "properties": { "applyMask": { "type": "boolean", "x-omitempty": false }, "configName": { "type": "string" }, "description": { "type": "string" }, "source": { "type": "string" }, "value": { "type": "string" } }, "required": [ "configName", "source", "value" ] }, "apimodel.SaveConfigurationV2Response": { "properties": { "configId": { "type": "string" }, "configName": { "type": "string" } }, "required": [ "configId", "configName" ] }, "apimodel.SaveSecretConfigurationV2Request": { "properties": { "configName": { "type": "string" }, "description": { "type": "string" }, "source": { "type": "string" }, "value": { "type": "string" } }, "required": [ "configName", "source", "value" ] }, "apimodel.SelfSubscribeNotificationRequest": { "properties": { "notificationType": { "type": "string" } }, "required": [ "notificationType" ] }, "apimodel.SubscribeNotificationRequest": { "properties": { "notificationType": { "type": "string" }, "subscribers": { "items": { "$ref": "#/definitions/apimodel.SubscriberItemRequest" }, "type": "array" } }, "required": [ "notificationType", "subscribers" ] }, "apimodel.SubscribeNotificationResponse": { "properties": { "notificationType": { "type": "string" }, "subscriptions": { "items": { "$ref": "#/definitions/apimodel.SubscriberItemResponse" }, "type": "array" } }, "required": [ "notificationType", "subscriptions" ] }, "apimodel.SubscriberItemRequest": { "properties": { "emailAddress": { "type": "string" }, "userId": { "type": "string" } } }, "apimodel.SubscriberItemResponse": { "properties": { "displayName": { "type": "string" }, "emailAddress": { "type": "string" }, "id": { "type": "string" }, "notificationType": { "type": "string" }, "userId": { "type": "string" } }, "required": [ "id" ] }, "apimodel.TopicDetailResponse": { "properties": { "description": { "type": "string" }, "gameName": { "type": "string" }, "id": { "type": "string" }, "region": { "type": "string" }, "studioName": { "type": "string" }, "subscribers": { "items": { "$ref": "#/definitions/apimodel.TopicSubscription" }, "type": "array" }, "topicArn": { "type": "string" }, "topicName": { "type": "string" } }, "required": [ "gameName", "id", "region", "studioName", "topicArn", "topicName" ] }, "apimodel.TopicResponse": { "properties": { "description": { "type": "string" }, "gameName": { "type": "string" }, "id": { "type": "string" }, "region": { "type": "string" }, "studioName": { "type": "string" }, "topicArn": { "type": "string" }, "topicName": { "type": "string" } }, "required": [ "gameName", "id", "region", "studioName", "topicArn", "topicName" ] }, "apimodel.TopicSubscription": { "properties": { "appId": { "type": "string" }, "appName": { "type": "string" }, "queueId": { "type": "string" }, "subscriptionArn": { "type": "string" }, "subscriptionId": { "type": "string" }, "subscriptionTime": { "type": "string" } }, "required": [ "appId", "appName", "queueId", "subscriptionArn", "subscriptionId", "subscriptionTime" ] }, "apimodel.TunnelInfoResponse": { "properties": { "tunnel": { "$ref": "#/definitions/resourceaccesstunnel.TunnelInfo" } }, "required": [ "tunnel" ] }, "apimodel.UpdateAppResourceRequest": { "properties": { "autoscaling": { "$ref": "#/definitions/apimodel.AutoscalingRequest" }, "cpu": { "$ref": "#/definitions/apimodel.CPURequest" }, "memory": { "$ref": "#/definitions/apimodel.MemoryRequest" }, "replica": { "$ref": "#/definitions/apimodel.ReplicaRequest" }, "vmSharingConfiguration": { "type": "string" } }, "required": [ "autoscaling" ] }, "apimodel.UpdateAppV2Request": { "properties": { "description": { "type": "string" }, "enableDebugMode": { "type": "boolean", "x-omitempty": false } } }, "apimodel.UpdateConfigurationV2Request": { "properties": { "applyMask": { "type": "boolean", "x-omitempty": false }, "description": { "type": "string" }, "value": { "type": "string" } }, "required": [ "value" ] }, "apimodel.UpdateConfigurationV2Response": { "properties": { "applyMask": { "type": "boolean", "x-omitempty": false }, "configId": { "type": "string" }, "configName": { "type": "string" }, "description": { "type": "string" }, "source": { "type": "string" }, "value": { "type": "string" } }, "required": [ "configId", "configName", "value" ] }, "apimodel.UpdateDebugModeRequest": { "properties": { "enableDebugMode": { "type": "boolean", "x-omitempty": false } }, "required": [ "enableDebugMode" ] }, "apimodel.UpdateSecretConfigurationV2Request": { "properties": { "description": { "type": "string" }, "value": { "type": "string" } }, "required": [ "value" ] }, "apimodel.UploadFileResponse": { "properties": { "appUI": { "$ref": "#/definitions/apimodel.AppUIResponse" } }, "required": [ "appUI" ] }, "createappparams.AutoscalingRequest": { "properties": { "targetCPUUtilizationPercent": { "format": "int32", "type": "integer" } }, "required": [ "targetCPUUtilizationPercent" ] }, "createappparams.CPURequest": { "properties": { "requestCPU": { "format": "int32", "type": "integer" } }, "required": [ "requestCPU" ] }, "createappparams.MemoryRequest": { "properties": { "requestMemory": { "format": "int32", "type": "integer" } } }, "createappparams.ReplicaRequest": { "properties": { "maxReplica": { "format": "int32", "type": "integer" }, "minReplica": { "format": "int32", "type": "integer" } } }, "domain.AllowedInterceptedPort": { "properties": { "port": { "format": "int32", "type": "integer" } }, "required": [ "port" ] }, "domain.DebugPod": { "properties": { "podName": { "type": "string" }, "port": { "format": "int32", "type": "integer" } }, "required": [ "podName", "port" ] }, "domain.ExposedService": { "properties": { "host": { "type": "string" }, "name": { "type": "string" }, "port": { "format": "int32", "type": "integer" } }, "required": [ "host", "name", "port" ] }, "domain.KeyValueClusterConfig": { "properties": { "max_cluster_per_studio_private_cloud": { "format": "int32", "type": "integer" }, "max_cluster_per_studio_shared_cloud": { "format": "int32", "type": "integer" }, "max_integration_per_cluster": { "format": "int32", "type": "integer" } }, "required": [ "max_cluster_per_studio_private_cloud", "max_cluster_per_studio_shared_cloud", "max_integration_per_cluster" ] }, "domain.KeyValueResourceConfiguration": { "properties": { "clusterName": { "type": "string" }, "maxDataStorageGB": { "format": "int32", "type": "integer" }, "maxECPUPerSecond": { "format": "int32", "type": "integer" }, "profileName": { "type": "string" } }, "required": [ "clusterName", "maxDataStorageGB", "maxECPUPerSecond", "profileName" ] }, "domain.KeyValueUpdateConfiguration": { "properties": { "maxDataStorageGB": { "format": "int32", "type": "integer" }, "maxECPUPerSecond": { "format": "int32", "type": "integer" }, "profileName": { "type": "string" } }, "required": [ "maxDataStorageGB", "maxECPUPerSecond", "profileName" ] }, "generated.CreateAppV1Request": { "properties": { "description": { "type": "string" }, "scenario": { "type": "string" } } }, "generated.CreateAppV1Response": { "properties": { "statusUrl": { "type": "string" } } }, "generated.CreateDeploymentV1Request": { "properties": { "description": { "type": "string" }, "imageTag": { "type": "string" } }, "required": [ "imageTag" ] }, "generated.CreateDeploymentV1Response": { "properties": { "deploymentId": { "type": "string" } } }, "generated.DeleteAppImagesV1Request": { "properties": { "imageTags": { "items": { "type": "string" }, "type": "array" } }, "required": [ "imageTags" ] }, "generated.GetAppImageListV1DataItem": { "properties": { "imageDigest": { "type": "string" }, "imageScanStatus": { "$ref": "#/definitions/generated.GetAppImageListV1DataItemImageScanStatus" }, "imageTag": { "type": "string" }, "size": { "format": "int64", "type": "integer" }, "updatedAt": { "type": "string" } }, "required": [ "imageDigest", "imageTag" ] }, "generated.GetAppImageListV1DataItemImageScanStatus": { "properties": { "description": { "type": "string" }, "status": { "type": "string" } } }, "generated.GetAppImageListV1Response": { "properties": { "data": { "items": { "$ref": "#/definitions/generated.GetAppImageListV1DataItem" }, "type": "array" }, "paging": { "$ref": "#/definitions/generated.Pagination" } }, "required": [ "data" ] }, "generated.GetAppListV1DataItem": { "properties": { "appId": { "type": "string" }, "appName": { "type": "string" }, "appRepoArn": { "type": "string" }, "appRepoUrl": { "type": "string" }, "appStatus": { "type": "string" }, "app_release_status": { "type": "string" }, "basePath": { "type": "string" }, "deletedAt": { "type": "string" }, "deploymentCreatedAt": { "type": "string" }, "deploymentId": { "type": "string" }, "deploymentImageTag": { "type": "string" }, "deployment_status": { "type": "string" }, "description": { "type": "string" }, "message": { "type": "string" }, "scenario": { "type": "string" }, "servicePublicURL": { "type": "string" }, "serviceURL": { "type": "string" }, "status": { "type": "string" }, "updatedAt": { "type": "string" } }, "required": [ "deploymentCreatedAt", "deploymentId", "deploymentImageTag" ] }, "generated.GetAppListV1Request": { "properties": { "appNames": { "items": { "type": "string" }, "type": "array" }, "fuzzyAppName": { "type": "string" }, "scenario": { "type": "string" }, "statuses": { "items": { "type": "string" }, "type": "array" } }, "required": [ "appNames", "statuses" ] }, "generated.GetAppListV1Response": { "properties": { "data": { "items": { "$ref": "#/definitions/generated.GetAppListV1DataItem" }, "type": "array" }, "paging": { "$ref": "#/definitions/generated.Pagination" } }, "required": [ "data" ] }, "generated.GetAppReleaseV1Response": { "properties": { "deploymentId": { "type": "string" }, "imageTag": { "type": "string" }, "releaseDate": { "type": "string" } } }, "generated.GetAppV1Response": { "properties": { "appId": { "type": "string" }, "appName": { "type": "string" }, "appRepoArn": { "type": "string" }, "appRepoUrl": { "type": "string" }, "appStatus": { "type": "string" }, "app_release_status": { "type": "string" }, "basePath": { "type": "string" }, "createdAt": { "type": "string" }, "deletedAt": { "type": "string" }, "deploymentCreatedAt": { "type": "string" }, "deploymentId": { "type": "string" }, "deploymentImageTag": { "type": "string" }, "deployment_status": { "type": "string" }, "description": { "type": "string" }, "message": { "type": "string" }, "scenario": { "type": "string" }, "servicePublicURL": { "type": "string" }, "serviceURL": { "type": "string" }, "status": { "type": "string" }, "updatedAt": { "type": "string" } }, "required": [ "deploymentCreatedAt", "deploymentId", "deploymentImageTag" ] }, "generated.GetDeploymentListV1DataItem": { "properties": { "deletedAt": { "type": "string" }, "deploymentId": { "type": "string" }, "imageTag": { "type": "string" }, "message": { "type": "string" }, "status": { "type": "string" }, "updatedAt": { "type": "string" } }, "required": [ "deploymentId" ] }, "generated.GetDeploymentListV1Request": { "properties": { "appIds": { "items": { "type": "string" }, "type": "array" }, "deploymentIds": { "items": { "type": "string" }, "type": "array" }, "statuses": { "items": { "type": "string" }, "type": "array" } }, "required": [ "appIds", "deploymentIds", "statuses" ] }, "generated.GetDeploymentListV1Response": { "properties": { "data": { "items": { "$ref": "#/definitions/generated.GetDeploymentListV1DataItem" }, "type": "array" }, "paging": { "$ref": "#/definitions/generated.Pagination" } }, "required": [ "data" ] }, "generated.GetDeploymentV1Response": { "properties": { "deletedAt": { "type": "string" }, "deploymentId": { "type": "string" }, "imageTag": { "type": "string" }, "message": { "type": "string" }, "status": { "type": "string" }, "updatedAt": { "type": "string" } }, "required": [ "deploymentId" ] }, "generated.GetListOfConfigurationsV1DataItem": { "properties": { "applyMask": { "type": "boolean", "x-omitempty": false }, "configId": { "type": "string" }, "configName": { "type": "string" }, "configType": { "type": "string" }, "deploymentStatus": { "type": "string" }, "description": { "type": "string" }, "editable": { "type": "boolean", "x-omitempty": false }, "isHidden": { "type": "boolean", "x-omitempty": false }, "source": { "type": "string" }, "value": { "type": "string" } } }, "generated.GetListOfConfigurationsV1Response": { "properties": { "data": { "items": { "$ref": "#/definitions/generated.GetListOfConfigurationsV1DataItem" }, "type": "array" }, "paging": { "$ref": "#/definitions/generated.Pagination" } }, "required": [ "data" ] }, "generated.Pagination": { "properties": { "first": { "type": "string" }, "last": { "type": "string" }, "next": { "type": "string" }, "previous": { "type": "string" } } }, "generated.SaveConfigurationV1Request": { "properties": { "applyMask": { "type": "boolean", "x-omitempty": false }, "configName": { "type": "string" }, "description": { "type": "string" }, "source": { "type": "string" }, "value": { "type": "string" } }, "required": [ "configName", "source", "value" ] }, "generated.SaveConfigurationV1Response": { "properties": { "configId": { "type": "string" }, "configName": { "type": "string" } }, "required": [ "configId", "configName" ] }, "generated.StartAppV1Request": { "properties": { "reason": { "type": "string" } } }, "generated.StartAppV1Response": { "properties": { "statusUrl": { "type": "string" } } }, "generated.StopAppV1Request": { "properties": { "reason": { "type": "string" } } }, "generated.StopAppV1Response": { "properties": { "statusUrl": { "type": "string" } } }, "generated.UpdateAppV1Request": { "properties": { "description": { "type": "string" } } }, "generated.UpdateAppV1Response": { "properties": { "appId": { "type": "string" }, "appName": { "type": "string" }, "appRepoArn": { "type": "string" }, "appRepoUrl": { "type": "string" }, "deletedAt": { "type": "string" }, "description": { "type": "string" }, "message": { "type": "string" }, "scenario": { "type": "string" }, "serviceURL": { "type": "string" }, "status": { "type": "string" }, "updatedAt": { "type": "string" } } }, "generated.UpdateConfigurationV1Request": { "properties": { "applyMask": { "type": "boolean", "x-omitempty": false }, "description": { "type": "string" }, "value": { "type": "string" } } }, "generated.UpdateConfigurationV1Response": { "properties": { "applyMask": { "type": "boolean", "x-omitempty": false }, "configId": { "type": "string" }, "configName": { "type": "string" }, "description": { "type": "string" }, "source": { "type": "string" }, "value": { "type": "string" } } }, "log.AppMessageDeclaration": { "properties": { "Attributes": { "items": { "type": "string" }, "type": "array" }, "Code": { "type": "string" }, "CodeName": { "type": "string" }, "Section": { "type": "string" }, "Service": { "type": "string" }, "Text": { "type": "string" } }, "required": [ "Attributes", "Code", "CodeName", "Section", "Service", "Text" ] }, "model.CSMAutoscalingDefaults": { "properties": { "cpuUtilizationDefaultPercent": { "format": "int32", "type": "integer" }, "cpuUtilizationMaxPercent": { "format": "int32", "type": "integer" }, "cpuUtilizationMinPercent": { "format": "int32", "type": "integer" } }, "required": [ "cpuUtilizationDefaultPercent", "cpuUtilizationMaxPercent", "cpuUtilizationMinPercent" ] }, "model.ImageScanFinding": { "properties": { "description": { "type": "string" }, "name": { "type": "string" }, "severity": { "type": "string" }, "uri": { "type": "string" } }, "required": [ "name", "severity", "uri" ] }, "nosqlresource.NoSQLResourceConfiguration": { "properties": { "maxDCU": { "format": "double", "type": "number" }, "minDCU": { "format": "double", "type": "number" }, "profileName": { "type": "string" } }, "required": [ "maxDCU", "minDCU" ] }, "resourceaccesstunnel.TunnelInfo": { "properties": { "endpoint": { "type": "string" }, "name": { "type": "string" }, "token": { "type": "string" } }, "required": [ "endpoint", "name", "token" ] }, "response.ErrorResponse": { "properties": { "error": { "type": "string" }, "errorCode": { "format": "int32", "type": "integer" }, "errorMessage": { "type": "string" }, "errors": { "type": "string" }, "messageVariables": { "additionalProperties": { "type": "string" }, "type": "object" }, "name": { "type": "string" }, "reason": { "type": "string" } }, "required": [ "error", "errorCode", "errorMessage", "errors", "messageVariables", "name", "reason" ] }, "sqlresource.SQLResourceConfiguration": { "properties": { "maxACU": { "format": "double", "type": "number" }, "minACU": { "format": "double", "type": "number" }, "multiAZ": { "type": "boolean", "x-omitempty": false }, "profileName": { "type": "string" } }, "required": [ "maxACU", "minACU", "multiAZ" ] } }, "x-docs": { "alias": "csm", "host": "https://stage.accelbyte.io", "path": "/csm/apidocs/api.json" }, "x-messages": [ { "Attributes": [ "appName", "gameNamespace" ], "Code": "13100", "CodeName": "AppAlreadyExists", "Section": "app", "Service": "Custom Service Manager", "Text": "app already exists. gameNamespace: {{gameNamespace}}, appName: {{appName}}" }, { "Attributes": [ "appName", "gameNamespace" ], "Code": "13102", "CodeName": "AppNotFound", "Section": "app", "Service": "Custom Service Manager", "Text": "app is not found. gameNamespace: {{gameNamespace}}, appName: {{appName}}" }, { "Attributes": [ "appName", "gameNamespace" ], "Code": "13103", "CodeName": "LatestAppReleaseNotFound", "Section": "app", "Service": "Custom Service Manager", "Text": "latest app release is not found. gameNamespace: {{gameNamespace}}, appName: {{appName}}" }, { "Attributes": [ "appName", "gameNamespace" ], "Code": "13104", "CodeName": "StudioNotFound", "Section": "app", "Service": "Custom Service Manager", "Text": "studio namespace is not found. gameNamespace: {{gameNamespace}}, appName: {{appName}}" }, { "Attributes": [ "appName", "gameNamespace" ], "Code": "13105", "CodeName": "MaximumSubscriberReached", "Section": "app", "Service": "Custom Service Manager", "Text": "maximum notification subscriber is already reached. gameNamespace: {{gameNamespace}}, appName: {{appName}}" }, { "Attributes": [ "deploymentID", "gameNamespace" ], "Code": "13300", "CodeName": "DeploymentNotFound", "Section": "deployment", "Service": "Custom Service Manager", "Text": "deployment is not found. gameNamespace: {{gameNamespace}}, deploymentID: {{deploymentID}}" }, { "Attributes": [ "appName", "configID", "gameNamespace" ], "Code": "13500", "CodeName": "EnvVarNotEditable", "Section": "app environment variable", "Service": "Custom Service Manager", "Text": "environment variable is not editable. gameNamespace: {{gameNamespace}}, appName: {{appName}}, configID: {{configID}}" }, { "Attributes": [ "appName", "configID", "gameNamespace" ], "Code": "13501", "CodeName": "EnvVarNotFound", "Section": "app environment variable", "Service": "Custom Service Manager", "Text": "environment variable is not found. gameNamespace: {{gameNamespace}}, appName: {{appName}}, configID: {{configID}}" }, { "Attributes": [ "appName", "configID", "gameNamespace" ], "Code": "13502", "CodeName": "EnvVarHasDifferentType", "Section": "app environment variable", "Service": "Custom Service Manager", "Text": "environment variable has different config type. gameNamespace: {{gameNamespace}}, appName: {{appName}}, configID: {{configID}}" }, { "Attributes": [ "appName", "configID", "gameNamespace" ], "Code": "13700", "CodeName": "EnvSecretNotEditable", "Section": "app environment secret", "Service": "Custom Service Manager", "Text": "environment secret is not editable. gameNamespace: {{gameNamespace}}, appName: {{appName}}, configID: {{configID}}" }, { "Attributes": [ "appName", "configID", "gameNamespace" ], "Code": "13701", "CodeName": "EnvSecretNotFound", "Section": "app environment secret", "Service": "Custom Service Manager", "Text": "environment secret is not found. gameNamespace: {{gameNamespace}}, appName: {{appName}}, configID: {{configID}}" }, { "Attributes": [ "appName", "configID", "gameNamespace" ], "Code": "13702", "CodeName": "EnvSecretHasDifferentType", "Section": "app environment secret", "Service": "Custom Service Manager", "Text": "environment secret has different config type. gameNamespace: {{gameNamespace}}, appName: {{appName}}, configID: {{configID}}" }, { "Attributes": [ "dbName" ], "Code": "13900", "CodeName": "NoSQLDatabaseAlreadyExists", "Section": "extend nosql resource", "Service": "Custom Service Manager", "Text": "NoSQL app database already exists. dbName: {{dbName}}" }, { "Attributes": [ "dbName", "username" ], "Code": "13901", "CodeName": "NoSQLCredentialUsernameAlreadyExists", "Section": "extend nosql resource", "Service": "Custom Service Manager", "Text": "NoSQL credential username already exists. dbName: {{dbName}}, username: {{username}}" }, { "Attributes": [ "studioNamespace" ], "Code": "13902", "CodeName": "NoSQLDeleteClusterNotAvailable", "Section": "extend nosql resource", "Service": "Custom Service Manager", "Text": "unable to delete NoSQL cluster. Cluster not in an available state. studioNamespace: {{studioNamespace}}" }, { "Attributes": [ "appName", "gameNamespace" ], "Code": "13903", "CodeName": "NoSQLClusterNotFound", "Section": "extend nosql resource", "Service": "Custom Service Manager", "Text": "NoSQL cluster not found. gameNamespace: {{gameNamespace}}, appName: {{appName}}" }, { "Attributes": [ "appName", "gameNamespace" ], "Code": "13904", "CodeName": "NoSQLDatabaseNotFound", "Section": "extend nosql resource", "Service": "Custom Service Manager", "Text": "NoSQL database not found. gameNamespace: {{gameNamespace}}, appName: {{appName}}" }, { "Attributes": [ "dbName" ], "Code": "13905", "CodeName": "SQLDatabaseAlreadyExists", "Section": "extend nosql resource", "Service": "Custom Service Manager", "Text": "SQL app database already exists. dbName: {{dbName}}" }, { "Attributes": [ "dbName", "username" ], "Code": "13906", "CodeName": "SQLCredentialUsernameAlreadyExists", "Section": "extend nosql resource", "Service": "Custom Service Manager", "Text": "SQL credential username already exists. dbName: {{dbName}}, username: {{username}}" }, { "Attributes": [ "studioNamespace" ], "Code": "13907", "CodeName": "SQLDeleteClusterNotAvailable", "Section": "extend nosql resource", "Service": "Custom Service Manager", "Text": "unable to delete SQL cluster. Cluster not in an available state. studioNamespace: {{studioNamespace}}" }, { "Attributes": [ "appName", "gameNamespace" ], "Code": "13908", "CodeName": "SQLClusterNotFound", "Section": "extend nosql resource", "Service": "Custom Service Manager", "Text": "SQL cluster not found. gameNamespace: {{gameNamespace}}, appName: {{appName}}" }, { "Attributes": [ "appName", "gameNamespace" ], "Code": "13909", "CodeName": "SQLDatabaseNotFound", "Section": "extend nosql resource", "Service": "Custom Service Manager", "Text": "SQL database not found. gameNamespace: {{gameNamespace}}, appName: {{appName}}" }, { "Attributes": [ "action", "additionalFields", "appName", "gameNamespace", "reason" ], "Code": "20000", "CodeName": "InternalServerError", "Section": "general", "Service": "general", "Text": "unable to {{action}}: {{reason}}. gameNamespace: {{gameNamespace}}, appName: {{appName}}{{additionalFields}}" }, { "Attributes": [], "Code": "20001", "CodeName": "UnauthorizedAccess", "Section": "general", "Service": "general", "Text": "unauthorized access" }, { "Attributes": [ "appName", "gameNamespace", "message" ], "Code": "20002", "CodeName": "ValidationError", "Section": "general", "Service": "general", "Text": "{{message}}. gameNamespace: {{gameNamespace}}, appName: {{appName}}" }, { "Attributes": [], "Code": "20003", "CodeName": "ForbiddenAccess", "Section": "general", "Service": "general", "Text": "" }, { "Attributes": [], "Code": "20007", "CodeName": "TooManyRequests", "Section": "general", "Service": "general", "Text": "" }, { "Attributes": [], "Code": "20013", "CodeName": "InsufficientPermissions", "Section": "general", "Service": "general", "Text": "" }, { "Attributes": [ "action", "appName", "gameNamespace", "reason" ], "Code": "20019", "CodeName": "UnableToParseRequestBody", "Section": "general", "Service": "general", "Text": "unable to {{action}}: {{reason}}. gameNamespace: {{gameNamespace}}, appName: {{appName}}" }, { "Attributes": [ "message" ], "Code": "20021", "CodeName": "InvalidPaginationParameters", "Section": "general", "Service": "general", "Text": "{{message}}" }, { "Attributes": [], "Code": "20022", "CodeName": "InvalidPaymentStanding", "Section": "general", "Service": "general", "Text": "Extend is throttled due to the free trial ending or free trial credits are exhausted" }, { "Attributes": [ "feature" ], "Code": "20023", "CodeName": "NotImplemented", "Section": "general", "Service": "general", "Text": "the {{feature}} feature has not been implemented." }, { "Attributes": [ "action", "reason" ], "Code": "20024", "CodeName": "GeneralError", "Section": "general", "Service": "general", "Text": "unable to {{action}}: {{reason}}." } ], "x-version": { "buildDate": "Fri Jul 3 02:51:38 UTC 2026", "gitHash": "986ff21b", "name": "custom-service-manager", "version": "1.34.0", "version-justice": "3.39.0", "version-roles-seeding": "1.2.64" } }