swagger: "2.0" info: title: MinIO Console Server version: 0.1.0 consumes: - application/json produces: - application/json schemes: - http - ws basePath: /api/v1 # We are going to be taking `Authorization: Bearer TOKEN` header for our authentication securityDefinitions: key: type: oauth2 flow: accessCode authorizationUrl: http://min.io tokenUrl: http://min.io # Apply the key security definition to all APIs security: - key: [] paths: /login: get: summary: Returns login strategy, form or sso. operationId: LoginDetail responses: 200: description: A successful response. schema: $ref: "#/definitions/loginDetails" default: description: Generic error response. schema: $ref: "#/definitions/error" # Exclude this API from the authentication requirement security: [] tags: - Auth /login/operator: post: summary: Login to Operator Console. operationId: LoginOperator parameters: - name: body in: body required: true schema: $ref: "#/definitions/loginOperatorRequest" responses: 204: description: A successful login. default: description: Generic error response. schema: $ref: "#/definitions/error" security: [] tags: - Auth /login/oauth2/auth: post: summary: Identity Provider oauth2 callback endpoint. operationId: LoginOauth2Auth parameters: - name: body in: body required: true schema: $ref: "#/definitions/loginOauth2AuthRequest" responses: 204: description: A successful login. default: description: Generic error response. schema: $ref: "#/definitions/error" security: [] tags: - Auth /logout: post: summary: Logout from Operator. operationId: Logout responses: 200: description: A successful response. default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - Auth /session: get: summary: Endpoint to check if your session is still valid operationId: SessionCheck responses: 200: description: A successful response. schema: $ref: "#/definitions/operatorSessionResponse" default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - Auth /check-version: get: summary: Checks the current Operator version against the latest operationId: CheckMinIOVersion” responses: 200: description: A successful response. schema: $ref: "#/definitions/checkOperatorVersionResponse" default: description: Generic error response. schema: $ref: "#/definitions/error" security: [] tags: - UserAPI /subscription/info: get: summary: Subscription info operationId: SubscriptionInfo responses: 200: description: A successful response. schema: $ref: "#/definitions/license" default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /subscription/validate: post: summary: Validates subscription license operationId: SubscriptionValidate parameters: - name: body in: body required: true schema: $ref: "#/definitions/subscriptionValidateRequest" responses: 200: description: A successful response. schema: $ref: "#/definitions/license" default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /subscription/refresh: post: summary: Refresh existing subscription license operationId: SubscriptionRefresh responses: 200: description: A successful response. schema: $ref: "#/definitions/license" default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /subscription/namespaces/{namespace}/tenants/{tenant}/activate: post: summary: Activate a particular tenant using the existing subscription license operationId: SubscriptionActivate parameters: - name: namespace in: path required: true type: string - name: tenant in: path required: true type: string responses: 204: description: A successful response. default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /tenants: get: summary: List Tenant of All Namespaces operationId: ListAllTenants parameters: - name: sort_by in: query required: false type: string - name: offset in: query required: false type: integer format: int32 - name: limit in: query required: false type: integer format: int32 responses: 200: description: A successful response. schema: $ref: "#/definitions/listTenantsResponse" default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI post: summary: Create Tenant operationId: CreateTenant parameters: - name: body in: body required: true schema: $ref: "#/definitions/createTenantRequest" responses: 200: description: A successful response. schema: $ref: "#/definitions/createTenantResponse" default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /namespace: post: summary: Creates a new Namespace with given information operationId: CreateNamespace parameters: - name: body in: body required: true schema: $ref: "#/definitions/namespace" responses: 201: description: A successful response. default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /namespaces/{namespace}/tenants: get: summary: List Tenants by Namespace operationId: ListTenants parameters: - name: namespace in: path required: true type: string - name: sort_by in: query required: false type: string - name: offset in: query required: false type: integer format: int32 - name: limit in: query required: false type: integer format: int32 responses: 200: description: A successful response. schema: $ref: "#/definitions/listTenantsResponse" default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /namespaces/{namespace}/tenants/{tenant}/csr: get: summary: List Tenant Certificate Signing Request operationId: ListTenantCertificateSigningRequest parameters: - name: namespace in: path required: true type: string - name: tenant in: path required: true type: string responses: 200: description: A successful response. schema: $ref: "#/definitions/csrElements" default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /namespaces/{namespace}/tenants/{tenant}/identity-provider: get: summary: Tenant Identity Provider operationId: TenantIdentityProvider parameters: - name: namespace in: path required: true type: string - name: tenant in: path required: true type: string responses: 200: description: A successful response. schema: $ref: "#/definitions/idpConfiguration" default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI post: summary: Update Tenant Identity Provider operationId: UpdateTenantIdentityProvider parameters: - name: namespace in: path required: true type: string - name: tenant in: path required: true type: string - name: body in: body required: true schema: $ref: "#/definitions/idpConfiguration" responses: 204: description: A successful response. default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /namespaces/{namespace}/tenants/{tenant}/set-administrators: post: summary: Set the consoleAdmin policy to the specified users and groups operationId: SetTenantAdministrators parameters: - name: namespace in: path required: true type: string - name: tenant in: path required: true type: string - name: body in: body required: true schema: $ref: "#/definitions/setAdministratorsRequest" responses: 204: description: A successful response. default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /namespaces/{namespace}/tenants/{tenant}/configuration: get: summary: Tenant Configuration operationId: TenantConfiguration parameters: - name: namespace in: path required: true type: string - name: tenant in: path required: true type: string responses: 200: description: A successful response. schema: $ref: "#/definitions/tenantConfigurationResponse" default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI patch: summary: Update Tenant Configuration operationId: UpdateTenantConfiguration parameters: - name: namespace in: path required: true type: string - name: tenant in: path required: true type: string - name: body in: body required: true schema: $ref: "#/definitions/updateTenantConfigurationRequest" responses: 204: description: A successful response. default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /namespaces/{namespace}/tenants/{tenant}/security: get: summary: Tenant Security operationId: TenantSecurity parameters: - name: namespace in: path required: true type: string - name: tenant in: path required: true type: string responses: 200: description: A successful response. schema: $ref: "#/definitions/tenantSecurityResponse" default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI post: summary: Update Tenant Security operationId: UpdateTenantSecurity parameters: - name: namespace in: path required: true type: string - name: tenant in: path required: true type: string - name: body in: body required: true schema: $ref: "#/definitions/updateTenantSecurityRequest" responses: 204: description: A successful response. default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /namespaces/{namespace}/tenants/{tenant}/log: get: summary: Get Tenant Logs operationId: GetTenantLogs parameters: - name: namespace in: path required: true type: string - name: tenant in: path required: true type: string responses: 200: description: A successful response. schema: $ref: "#/definitions/tenantLogs" default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI put: summary: Set Tenant Logs operationId: SetTenantLogs parameters: - name: namespace in: path required: true type: string - name: tenant in: path required: true type: string - name: data in: body required: true schema: $ref: "#/definitions/tenantLogs" responses: 200: description: A successful response. schema: type: boolean default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /namespaces/{namespace}/tenants/{tenant}/enable-logging: post: summary: Enable Tenant Logging operationId: EnableTenantLogging parameters: - name: namespace in: path required: true type: string - name: tenant in: path required: true type: string responses: 200: description: A successful response. schema: type: boolean default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /namespaces/{namespace}/tenants/{tenant}/disable-logging: post: summary: Disable Tenant Logging operationId: DisableTenantLogging parameters: - name: namespace in: path required: true type: string - name: tenant in: path required: true type: string responses: 200: description: A successful response. schema: type: boolean default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /namespaces/{namespace}/tenants/{tenant}: get: summary: Tenant Details operationId: TenantDetails parameters: - name: namespace in: path required: true type: string - name: tenant in: path required: true type: string responses: 200: description: A successful response. schema: $ref: "#/definitions/tenant" default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI delete: summary: Delete tenant and underlying pvcs operationId: DeleteTenant parameters: - name: namespace in: path required: true type: string - name: tenant in: path required: true type: string - name: body in: body required: false schema: $ref: "#/definitions/deleteTenantRequest" responses: 204: description: A successful response. default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI put: summary: Update Tenant operationId: UpdateTenant parameters: - name: namespace in: path required: true type: string - name: tenant in: path required: true type: string - name: body in: body required: true schema: $ref: "#/definitions/updateTenantRequest" responses: 201: description: A successful response. default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /namespaces/{namespace}/tenants/{tenant}/pools: post: summary: Tenant Add Pool operationId: TenantAddPool parameters: - name: namespace in: path required: true type: string - name: tenant in: path required: true type: string - name: body in: body required: true schema: $ref: "#/definitions/pool" responses: 201: description: A successful response. default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI put: summary: Tenant Update Pools operationId: TenantUpdatePools parameters: - name: namespace in: path required: true type: string - name: tenant in: path required: true type: string - name: body in: body required: true schema: $ref: "#/definitions/poolUpdateRequest" responses: 200: description: A successful response. schema: $ref: "#/definitions/tenant" default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /namespaces/{namespace}/tenants/{tenant}/pvcs: get: summary: List all PVCs from given Tenant operationId: ListPVCsForTenant parameters: - name: namespace in: path required: true type: string - name: tenant in: path required: true type: string responses: 200: description: A successful response. schema: $ref: "#/definitions/listPVCsResponse" default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /namespaces/{namespace}/tenants/{tenant}/usage: get: summary: Get Usage For The Tenant operationId: GetTenantUsage parameters: - name: namespace in: path required: true type: string - name: tenant in: path required: true type: string responses: 200: description: A successful response. schema: $ref: "#/definitions/tenantUsage" default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /namespaces/{namespace}/tenants/{tenant}/pods: get: summary: Get Pods For The Tenant operationId: GetTenantPods parameters: - name: namespace in: path required: true type: string - name: tenant in: path required: true type: string responses: 200: description: A successful response. schema: type: array items: $ref: "#/definitions/tenantPod" default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /namespaces/{namespace}/tenants/{tenant}/events: get: summary: Get Events for given Tenant operationId: GetTenantEvents parameters: - name: namespace in: path required: true type: string - name: tenant in: path required: true type: string responses: 200: description: A successful response. schema: $ref: "#/definitions/eventListWrapper" default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /namespaces/{namespace}/tenants/{tenant}/pods/{podName}: get: summary: Get Logs for Pod operationId: GetPodLogs parameters: - name: namespace in: path required: true type: string - name: tenant in: path required: true type: string - name: podName in: path required: true type: string responses: 200: description: A successful response. schema: type: string default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI delete: summary: Delete pod operationId: DeletePod parameters: - name: namespace in: path required: true type: string - name: tenant in: path required: true type: string - name: podName in: path required: true type: string responses: 204: description: A successful response. default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /namespaces/{namespace}/tenants/{tenant}/pods/{podName}/events: get: summary: Get Events for Pod operationId: GetPodEvents parameters: - name: namespace in: path required: true type: string - name: tenant in: path required: true type: string - name: podName in: path required: true type: string responses: 200: description: A successful response. schema: $ref: "#/definitions/eventListWrapper" default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /namespaces/{namespace}/tenants/{tenant}/pods/{podName}/describe: get: summary: Describe Pod operationId: DescribePod parameters: - name: namespace in: path required: true type: string - name: tenant in: path required: true type: string - name: podName in: path required: true type: string responses: 200: description: A successful response. schema: $ref: "#/definitions/describePodWrapper" default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /namespaces/{namespace}/tenants/{tenant}/monitoring: get: summary: Get Prometheus Monitoring config info For The Tenant operationId: GetTenantMonitoring parameters: - name: namespace in: path required: true type: string - name: tenant in: path required: true type: string responses: 200: description: A successful response. schema: $ref: "#/definitions/tenantMonitoringInfo" default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI put: summary: Set Prometheus monitoring fields for tenant operationId: SetTenantMonitoring parameters: - name: namespace in: path required: true type: string - name: tenant in: path required: true type: string - name: data in: body required: true schema: $ref: "#/definitions/tenantMonitoringInfo" responses: 201: description: A successful response. default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /namespaces/{namespace}/tenants/{tenant}/certificates: put: summary: Tenant Update Certificates operationId: TenantUpdateCertificate parameters: - name: namespace in: path required: true type: string - name: tenant in: path required: true type: string - name: body in: body required: true schema: $ref: "#/definitions/tlsConfiguration" responses: 201: description: A successful response. default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /namespaces/{namespace}/tenants/{tenant}/encryption: delete: summary: Tenant Delete Encryption operationId: TenantDeleteEncryption parameters: - name: namespace in: path required: true type: string - name: tenant in: path required: true type: string responses: 204: description: A successful response. default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI put: summary: Tenant Update Encryption operationId: TenantUpdateEncryption parameters: - name: namespace in: path required: true type: string - name: tenant in: path required: true type: string - name: body in: body required: true schema: $ref: "#/definitions/encryptionConfiguration" responses: 201: description: A successful response. default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI get: summary: Tenant Encryption Info operationId: TenantEncryptionInfo parameters: - name: namespace in: path required: true type: string - name: tenant in: path required: true type: string responses: 200: description: A successful response. schema: $ref: "#/definitions/encryptionConfigurationResponse" default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /namespaces/{namespace}/tenants/{tenant}/yaml: get: summary: Get the Tenant YAML operationId: GetTenantYAML parameters: - name: namespace in: path required: true type: string - name: tenant in: path required: true type: string responses: 200: description: A successful response. schema: $ref: "#/definitions/tenantYAML" default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI put: summary: Put the Tenant YAML operationId: PutTenantYAML parameters: - name: namespace in: path required: true type: string - name: tenant in: path required: true type: string - name: body in: body required: true schema: $ref: "#/definitions/tenantYAML" responses: 201: description: A successful response. default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /namespaces/{namespace}/tenants/{tenant}/domains: put: summary: Update Domains for a Tenant operationId: UpdateTenantDomains parameters: - name: namespace in: path required: true type: string - name: tenant in: path required: true type: string - name: body in: body required: true schema: $ref: "#/definitions/updateDomainsRequest" responses: 204: description: A successful response. default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /namespaces/{namespace}/resourcequotas/{resource-quota-name}: get: summary: Get Resource Quota operationId: GetResourceQuota parameters: - name: namespace in: path required: true type: string - name: resource-quota-name in: path required: true type: string responses: 200: description: A successful response. schema: $ref: "#/definitions/resourceQuota" default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /cluster/max-allocatable-memory: get: summary: Get maximum allocatable memory for given number of nodes operationId: GetMaxAllocatableMem parameters: - name: num_nodes in: query required: true type: integer format: int32 minimum: 1 responses: 200: description: A successful response. schema: $ref: "#/definitions/maxAllocatableMemResponse" default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /cluster/allocatable-resources: get: summary: Get allocatable cpu and memory for given number of nodes operationId: GetAllocatableResources parameters: - name: num_nodes in: query required: true type: integer format: int32 minimum: 1 responses: 200: description: A successful response. schema: $ref: "#/definitions/allocatableResourcesResponse" default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /get-parity/{nodes}/{disksPerNode}: get: summary: Gets parity by sending number of nodes & number of disks operationId: GetParity parameters: - name: nodes in: path required: true type: integer minimum: 2 - name: disksPerNode in: path required: true type: integer minimum: 1 responses: 200: description: A successful response. schema: $ref: "#/definitions/parityResponse" default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /list-pvcs: get: summary: List all PVCs from namespaces that the user has access to operationId: ListPVCs responses: 200: description: A successful response. schema: $ref: "#/definitions/listPVCsResponse" default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /mp-integration: get: summary: Returns email registered for marketplace integration operationId: GetMPIntegration responses: 200: description: A successful response. schema: type: object properties: isEmailSet: type: boolean default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI post: summary: Set email to register for marketplace integration operationId: PostMPIntegration parameters: - name: body in: body required: true schema: $ref: "#/definitions/mpIntegration" responses: 201: description: A successful response. default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /namespaces/{namespace}/tenants/{tenant}/pvc/{PVCName}: delete: summary: Delete PVC operationId: DeletePVC parameters: - name: namespace in: path required: true type: string - name: tenant in: path required: true type: string - name: PVCName in: path required: true type: string responses: 204: description: A successful response. default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /namespaces/{namespace}/tenants/{tenant}/pvcs/{PVCName}/events: get: summary: Get Events for PVC operationId: GetPVCEvents parameters: - name: namespace in: path required: true type: string - name: tenant in: path required: true type: string - name: PVCName in: path required: true type: string responses: 200: description: A successful response. schema: $ref: "#/definitions/eventListWrapper" default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /namespaces/{namespace}/tenants/{tenant}/pvcs/{PVCName}/describe: get: summary: Get Describe output for PVC operationId: GetPVCDescribe parameters: - name: namespace in: path required: true type: string - name: tenant in: path required: true type: string - name: PVCName in: path required: true type: string responses: 200: description: A successful response. schema: $ref: "#/definitions/describePVCWrapper" default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /nodes/labels: get: summary: List node labels operationId: ListNodeLabels responses: 200: description: A successful response. schema: $ref: "#/definitions/nodeLabels" default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /subnet/login: post: summary: Login to subnet operationId: OperatorSubnetLogin parameters: - name: body in: body required: true schema: $ref: "#/definitions/operatorSubnetLoginRequest" responses: 200: description: A successful response. schema: $ref: "#/definitions/operatorSubnetLoginResponse" default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /subnet/login/mfa: post: summary: Login to subnet using mfa operationId: OperatorSubnetLoginMFA parameters: - name: body in: body required: true schema: $ref: "#/definitions/operatorSubnetLoginMFARequest" responses: 200: description: A successful response. schema: $ref: "#/definitions/operatorSubnetLoginResponse" default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /subnet/apikey: get: summary: Subnet api key operationId: OperatorSubnetApiKey parameters: - name: token in: query required: true type: string responses: 200: description: A successful response. schema: $ref: "#/definitions/operatorSubnetAPIKey" default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /subnet/apikey/register: post: summary: Register Operator with Subnet operationId: OperatorSubnetRegisterAPIKey parameters: - name: body in: body required: true schema: $ref: "#/definitions/operatorSubnetAPIKey" responses: 200: description: A successful response. schema: $ref: "#/definitions/operatorSubnetRegisterAPIKeyResponse" default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /subnet/apikey/info: get: summary: Subnet API key info operationId: OperatorSubnetAPIKeyInfo responses: 200: description: A successful response. schema: $ref: "#/definitions/operatorSubnetRegisterAPIKeyResponse" default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /directpv/drives: get: summary: Get directpv drives list operationId: GetDirectPVDriveList parameters: - name: nodes in: query required: false type: string - name: drives in: query required: false type: string responses: 200: description: A successful response. schema: $ref: "#/definitions/getDirectPVDriveListResponse" default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /directpv/volumes: get: summary: Get directpv volumes list operationId: GetDirectPVVolumeList parameters: - name: nodes in: query required: false type: string - name: drives in: query required: false type: string responses: 200: description: A successful response. schema: $ref: "#/definitions/getDirectPVVolumeListResponse" default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI /directpv/drives/format: post: summary: Format directpv drives from a list operationId: DirectPVFormatDrive parameters: - name: body in: body required: true schema: $ref: "#/definitions/formatConfiguration" responses: 200: description: A successful response. schema: $ref: "#/definitions/formatDirectPVDrivesResponse" default: description: Generic error response. schema: $ref: "#/definitions/error" tags: - OperatorAPI definitions: error: type: object required: - message - detailedMessage properties: code: type: integer format: int32 message: type: string detailedMessage: type: string loginDetails: type: object properties: loginStrategy: type: string enum: [form, redirect, service-account, redirect-service-account] redirectRules: type: array items: $ref: "#/definitions/redirectRule" isDirectPV: type: boolean isK8S: type: boolean loginRequest: type: object properties: accessKey: type: string secretKey: type: string sts: type: string features: type: object properties: hide_menu: type: boolean loginOauth2AuthRequest: type: object required: - state - code properties: state: type: string code: type: string loginOperatorRequest: type: object required: - jwt properties: jwt: type: string operatorSessionResponse: type: object properties: features: type: array items: type: string status: type: string enum: [ok] operator: type: boolean directPV: type: boolean permissions: type: object additionalProperties: type: array items: type: string tenantStatus: type: object properties: write_quorum: type: integer format: int32 drives_online: type: integer format: int32 drives_offline: type: integer format: int32 drives_healing: type: integer format: int32 health_status: type: string usage: type: object properties: raw: type: integer format: int64 raw_usage: type: integer format: int64 capacity: type: integer format: int64 capacity_usage: type: integer format: int64 tenantConfigurationResponse: type: object properties: environmentVariables: type: array items: $ref: "#/definitions/environmentVariable" updateTenantConfigurationRequest: type: object properties: keysToBeDeleted: type: array items: type: string environmentVariables: type: array items: $ref: "#/definitions/environmentVariable" tenantSecurityResponse: type: object properties: autoCert: type: boolean customCertificates: type: object properties: minio: type: array items: $ref: "#/definitions/certificateInfo" client: type: array items: $ref: "#/definitions/certificateInfo" minioCAs: type: array items: $ref: "#/definitions/certificateInfo" securityContext: type: object $ref: "#/definitions/securityContext" updateTenantSecurityRequest: type: object properties: autoCert: type: boolean customCertificates: type: object properties: secretsToBeDeleted: type: array items: type: string minioServerCertificates: type: array items: $ref: "#/definitions/keyPairConfiguration" minioClientCertificates: type: array items: $ref: "#/definitions/keyPairConfiguration" minioCAsCertificates: type: array items: type: string securityContext: type: object $ref: "#/definitions/securityContext" certificateInfo: type: object properties: serialNumber: type: string name: type: string domains: type: array items: type: string expiry: type: string tenant: type: object properties: name: type: string creation_date: type: string deletion_date: type: string currentState: type: string pools: type: array items: $ref: "#/definitions/pool" image: type: string namespace: type: string total_size: type: integer format: int64 enable_prometheus: type: boolean subnet_license: $ref: "#/definitions/license" endpoints: type: object properties: minio: type: string console: type: string logEnabled: type: boolean monitoringEnabled: type: boolean idpAdEnabled: type: boolean idpOidcEnabled: type: boolean encryptionEnabled: type: boolean status: $ref: "#/definitions/tenantStatus" minioTLS: type: boolean domains: $ref: "#/definitions/domainsConfiguration" tenantUsage: type: object properties: used: type: integer format: int64 disk_used: type: integer format: int64 tenantList: type: object properties: name: type: string pool_count: type: integer instance_count: type: integer total_size: type: integer volume_count: type: integer creation_date: type: string deletion_date: type: string currentState: type: string namespace: type: string health_status: type: string capacity_raw: type: integer format: int64 capacity_raw_usage: type: integer format: int64 capacity: type: integer format: int64 capacity_usage: type: integer format: int64 tiers: type: array items: $ref: "#/definitions/tenantTierElement" domains: type: object $ref: "#/definitions/domainsConfiguration" listTenantsResponse: type: object properties: tenants: type: array items: $ref: "#/definitions/tenantList" title: list of resulting tenants total: type: integer format: int64 title: number of tenants accessible to tenant user updateTenantRequest: type: object properties: image: type: string pattern: "^((.*?)/(.*?):(.+))$" image_registry: $ref: "#/definitions/imageRegistry" image_pull_secret: type: string enable_prometheus: type: boolean imageRegistry: type: object required: - registry - username - password properties: registry: type: string username: type: string password: type: string csrElements: type: object properties: csrElement: type: array items: $ref: "#/definitions/csrElement" csrElement: type: object properties: status: type: string name: type: string generate_name: type: string namespace: type: string resource_version: type: string generation: type: integer format: int64 deletion_grace_period_seconds: type: integer format: int64 annotations: type: array items: $ref: "#/definitions/annotation" createTenantRequest: type: object required: - name - namespace - pools properties: name: type: string pattern: "^[a-z0-9-]{3,63}$" image: type: string pools: type: array items: $ref: "#/definitions/pool" mount_path: type: string access_key: type: string secret_key: type: string enable_console: type: boolean default: true enable_tls: type: boolean default: true enable_prometheus: type: boolean default: false namespace: type: string erasureCodingParity: type: integer annotations: type: object additionalProperties: type: string labels: type: object additionalProperties: type: string logSearchConfiguration: $ref: "#/definitions/logSearchConfiguration" prometheusConfiguration: $ref: "#/definitions/prometheusConfiguration" image_registry: $ref: "#/definitions/imageRegistry" image_pull_secret: type: string idp: type: object $ref: "#/definitions/idpConfiguration" tls: type: object $ref: "#/definitions/tlsConfiguration" encryption: type: object $ref: "#/definitions/encryptionConfiguration" expose_minio: type: boolean expose_console: type: boolean domains: type: object $ref: "#/definitions/domainsConfiguration" environmentVariables: type: array items: $ref: "#/definitions/environmentVariable" metadataFields: type: object properties: annotations: type: object additionalProperties: type: string labels: type: object additionalProperties: type: string node_selector: type: object additionalProperties: type: string keyPairConfiguration: type: object required: - crt - key properties: crt: type: string key: type: string tlsConfiguration: type: object properties: minioServerCertificates: type: array items: $ref: "#/definitions/keyPairConfiguration" minioClientCertificates: type: array items: $ref: "#/definitions/keyPairConfiguration" minioCAsCertificates: type: array items: type: string logSearchConfiguration: type: object properties: storageClass: type: string default: "" storageSize: type: number default: 5 image: type: string securityContext: type: object $ref: "#/definitions/securityContext" postgres_securityContext: type: object $ref: "#/definitions/securityContext" postgres_image: type: string postgres_init_image: type: string prometheusConfiguration: type: object properties: storageClass: type: string default: "" storageSize: type: number default: 5 image: type: string sidecar_image: type: string init_image: type: string securityContext: type: object $ref: "#/definitions/securityContext" setAdministratorsRequest: type: object properties: user_dns: type: array items: type: string group_dns: type: array items: type: string idpConfiguration: type: object properties: oidc: type: object required: - configuration_url - client_id - secret_id - claim_name properties: configuration_url: type: string client_id: type: string secret_id: type: string callback_url: type: string claim_name: type: string scopes: type: string keys: type: array items: type: object required: - access_key - secret_key properties: access_key: type: string secret_key: type: string active_directory: type: object required: - url - lookup_bind_dn properties: url: type: string group_search_base_dn: type: string group_search_filter: type: string skip_tls_verification: type: boolean server_insecure: type: boolean server_start_tls: type: boolean lookup_bind_dn: type: string lookup_bind_password: type: string user_dn_search_base_dn: type: string user_dn_search_filter: type: string user_dns: type: array items: type: string encryptionConfiguration: allOf: - $ref: "#/definitions/metadataFields" - type: object properties: raw: type: string image: type: string replicas: type: string secretsToBeDeleted: type: array items: type: string server_tls: type: object $ref: "#/definitions/keyPairConfiguration" minio_mtls: type: object $ref: "#/definitions/keyPairConfiguration" kms_mtls: type: object properties: key: type: string crt: type: string ca: type: string gemalto: type: object $ref: "#/definitions/gemaltoConfiguration" aws: type: object $ref: "#/definitions/awsConfiguration" vault: type: object $ref: "#/definitions/vaultConfiguration" gcp: type: object $ref: "#/definitions/gcpConfiguration" azure: type: object $ref: "#/definitions/azureConfiguration" securityContext: type: object $ref: "#/definitions/securityContext" encryptionConfigurationResponse: allOf: - $ref: "#/definitions/metadataFields" - type: object properties: raw: type: string image: type: string replicas: type: string server_tls: type: object $ref: "#/definitions/certificateInfo" minio_mtls: type: object $ref: "#/definitions/certificateInfo" kms_mtls: type: object properties: crt: type: object $ref: "#/definitions/certificateInfo" ca: type: object $ref: "#/definitions/certificateInfo" gemalto: type: object $ref: "#/definitions/gemaltoConfigurationResponse" aws: type: object $ref: "#/definitions/awsConfiguration" vault: type: object $ref: "#/definitions/vaultConfigurationResponse" gcp: type: object $ref: "#/definitions/gcpConfiguration" azure: type: object $ref: "#/definitions/azureConfiguration" securityContext: type: object $ref: "#/definitions/securityContext" vaultConfiguration: type: object required: - endpoint - approle properties: endpoint: type: string engine: type: string namespace: type: string prefix: type: string approle: type: object required: - id - secret properties: engine: type: string id: type: string secret: type: string retry: type: integer format: int64 status: type: object properties: ping: type: integer format: int64 vaultConfigurationResponse: type: object required: - endpoint - approle properties: endpoint: type: string engine: type: string namespace: type: string prefix: type: string approle: type: object required: - id - secret properties: engine: type: string id: type: string secret: type: string retry: type: integer format: int64 status: type: object properties: ping: type: integer format: int64 awsConfiguration: type: object required: - secretsmanager properties: secretsmanager: type: object required: - endpoint - region - credentials properties: endpoint: type: string region: type: string kmskey: type: string credentials: type: object required: - accesskey - secretkey properties: accesskey: type: string secretkey: type: string token: type: string gemaltoConfiguration: type: object required: - keysecure properties: keysecure: type: object required: - endpoint - credentials properties: endpoint: type: string credentials: type: object required: - token - domain properties: token: type: string domain: type: string retry: type: integer format: int64 gemaltoConfigurationResponse: type: object required: - keysecure properties: keysecure: type: object required: - endpoint - credentials properties: endpoint: type: string credentials: type: object required: - token - domain properties: token: type: string domain: type: string retry: type: integer format: int64 gcpConfiguration: type: object required: - secretmanager properties: secretmanager: type: object required: - project_id properties: project_id: type: string endpoint: type: string credentials: type: object properties: client_email: type: string client_id: type: string private_key_id: type: string private_key: type: string azureConfiguration: type: object required: - keyvault properties: keyvault: type: object required: - endpoint properties: endpoint: type: string credentials: type: object required: - tenant_id - client_id - client_secret properties: tenant_id: type: string client_id: type: string client_secret: type: string createTenantResponse: type: object properties: externalIDP: type: boolean console: type: array items: $ref: "#/definitions/tenantResponseItem" tenantResponseItem: type: object properties: access_key: type: string secret_key: type: string url: type: string tenantPod: type: object required: - name properties: name: type: string status: type: string timeCreated: type: integer podIP: type: string restarts: type: integer node: type: string pool: type: object required: - servers - volumes_per_server - volume_configuration properties: name: type: string servers: type: integer volumes_per_server: type: integer format: int32 volume_configuration: type: object required: - size properties: size: type: integer storage_class_name: type: string labels: type: object additionalProperties: type: string annotations: type: object additionalProperties: type: string resources: $ref: "#/definitions/poolResources" node_selector: type: object additionalProperties: type: string description: "NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/" affinity: $ref: "#/definitions/poolAffinity" tolerations: $ref: "#/definitions/poolTolerations" securityContext: type: object $ref: "#/definitions/securityContext" poolTolerations: description: Tolerations allows users to set entries like effect, key, operator, value. items: description: The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator . properties: effect: description: Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. type: string key: description: Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys. type: string operator: description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category. type: string tolerationSeconds: $ref: "#/definitions/poolTolerationSeconds" value: description: Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string. type: string type: object type: array poolTolerationSeconds: description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. type: object required: - seconds properties: seconds: type: integer format: int64 poolResources: description: If provided, use these requests and limit for cpu/memory resource allocation properties: limits: additionalProperties: type: integer format: int64 description: "Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/" type: object requests: additionalProperties: type: integer format: int64 description: "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/" type: object type: object poolAffinity: description: If specified, affinity will define the pod's scheduling constraints properties: nodeAffinity: description: Describes node affinity scheduling rules for the pod. properties: preferredDuringSchedulingIgnoredDuringExecution: description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred. items: description: An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op). properties: preference: description: A node selector term, associated with the corresponding weight. $ref: "#/definitions/nodeSelectorTerm" type: object weight: description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. format: int32 type: integer required: - preference - weight type: object type: array requiredDuringSchedulingIgnoredDuringExecution: description: If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node. properties: nodeSelectorTerms: description: Required. A list of node selector terms. The terms are ORed. items: $ref: "#/definitions/nodeSelectorTerm" type: array required: - nodeSelectorTerms type: object type: object podAffinity: description: Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, pool, etc. as some other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. items: description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) properties: podAffinityTerm: $ref: "#/definitions/podAffinityTerm" weight: description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100. format: int32 type: integer required: - podAffinityTerm - weight type: object type: array requiredDuringSchedulingIgnoredDuringExecution: description: If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied. items: $ref: "#/definitions/podAffinityTerm" type: array type: object podAntiAffinity: description: Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, pool, etc. as some other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: description: The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. items: description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) properties: podAffinityTerm: $ref: "#/definitions/podAffinityTerm" weight: description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100. format: int32 type: integer required: - podAffinityTerm - weight type: object type: array requiredDuringSchedulingIgnoredDuringExecution: description: If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied. items: $ref: "#/definitions/podAffinityTerm" type: array type: object type: object nodeSelectorTerm: type: object description: A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. properties: matchExpressions: description: A list of node selector requirements by node's labels. items: description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: description: The label key that the selector applies to. type: string operator: description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. type: string values: description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. items: type: string type: array required: - key - operator type: object type: array matchFields: description: A list of node selector requirements by node's fields. items: description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: description: The label key that the selector applies to. type: string operator: description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. type: string values: description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. items: type: string type: array required: - key - operator type: object type: array podAffinityTerm: description: Required. A pod affinity term, associated with the corresponding weight. properties: labelSelector: description: A label query over a set of resources, in this case pods. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array required: - key - operator type: object type: array matchLabels: additionalProperties: type: string description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object namespaces: description: namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means "this pod's namespace" items: type: string type: array topologyKey: description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. type: string required: - topologyKey type: object resourceQuota: type: object properties: name: type: string elements: type: array items: $ref: "#/definitions/resourceQuotaElement" resourceQuotaElement: type: object properties: name: type: string hard: type: integer format: int64 used: type: integer format: int64 deleteTenantRequest: type: object properties: delete_pvcs: type: boolean poolUpdateRequest: type: object required: - pools properties: pools: type: array items: $ref: "#/definitions/pool" maxAllocatableMemResponse: type: object properties: max_memory: type: integer format: int64 parityResponse: type: array items: type: string subscriptionValidateRequest: type: object properties: license: type: string email: type: string password: type: string license: type: object properties: email: type: string organization: type: string account_id: type: integer storage_capacity: type: integer plan: type: string expires_at: type: string getDirectPVDriveListResponse: type: object properties: drives: type: array items: $ref: "#/definitions/directPVDriveInfo" directPVDriveInfo: type: object properties: drive: type: string capacity: type: number format: int64 allocated: type: number format: int64 volumes: type: number format: int64 node: type: string status: type: string message: type: string getDirectPVVolumeListResponse: type: object properties: volumes: type: array items: $ref: "#/definitions/directPVVolumeInfo" directPVVolumeInfo: type: object properties: volume: type: string capacity: type: number format: int64 node: type: string drive: type: string pvFormatErrorResponse: type: object properties: node: type: string drive: type: string error: type: string formatDirectPVDrivesResponse: type: object properties: formatIssuesList: type: array items: $ref: "#/definitions/pvFormatErrorResponse" tenantYAML: type: object properties: yaml: type: string tenantLogs: type: object properties: image: type: string labels: type: array items: $ref: "#/definitions/label" annotations: type: array items: $ref: "#/definitions/annotation" diskCapacityGB: type: string nodeSelector: type: array items: $ref: "#/definitions/nodeSelector" serviceAccountName: type: string dbImage: type: string dbInitImage: type: string dbLabels: type: array items: $ref: "#/definitions/label" dbAnnotations: type: array items: $ref: "#/definitions/annotation" dbNodeSelector: type: array items: $ref: "#/definitions/nodeSelector" dbServiceAccountName: type: string disabled: type: boolean logCPURequest: type: string logMemRequest: type: string logDBCPURequest: type: string logDBMemRequest: type: string securityContext: type: object $ref: "#/definitions/securityContext" dbSecurityContext: type: object $ref: "#/definitions/securityContext" listPVCsResponse: type: object properties: pvcs: type: array items: $ref: "#/definitions/pvcsListResponse" pvcsListResponse: type: object properties: namespace: type: string name: type: string status: type: string volume: type: string tenant: type: string capacity: type: string storageClass: type: string age: type: string nodeLabels: type: object additionalProperties: type: array items: type: string namespace: type: object required: - name properties: name: type: string eventListWrapper: type: array items: $ref: "#/definitions/eventListElement" eventListElement: type: object properties: namespace: type: string last_seen: type: integer format: int64 event_type: type: string reason: type: string object: type: string message: type: string describePodWrapper: type: object properties: name: type: string namespace: type: string priority: type: integer priorityClassName: type: string nodeName: type: string startTime: type: string labels: type: array items: $ref: "#/definitions/label" annotations: type: array items: $ref: "#/definitions/annotation" deletionTimestamp: type: string deletionGracePeriodSeconds: type: integer phase: type: string reason: type: string message: type: string podIP: type: string controllerRef: type: string containers: type: array items: $ref: "#/definitions/container" conditions: type: array items: $ref: "#/definitions/condition" volumes: type: array items: $ref: "#/definitions/volume" qosClass: type: string nodeSelector: type: array items: $ref: "#/definitions/nodeSelector" tolerations: type: array items: $ref: "#/definitions/toleration" describePVCWrapper: type: object properties: name: type: string namespace: type: string storageClass: type: string status: type: string volume: type: string labels: type: array items: $ref: "#/definitions/label" annotations: type: array items: $ref: "#/definitions/annotation" finalizers: type: array items: type: string capacity: type: string accessModes: type: array items: type: string volumeMode: type: string container: type: object properties: name: type: string containerID: type: string image: type: string imageID: type: string ports: type: array items: type: string hostPorts: type: array items: type: string args: type: array items: type: string state: $ref: "#/definitions/state" lastState: $ref: "#/definitions/state" ready: type: boolean restartCount: type: integer environmentVariables: type: array items: $ref: "#/definitions/environmentVariable" mounts: type: array items: $ref: "#/definitions/mount" state: type: object properties: state: type: string reason: type: string message: type: string exitCode: type: integer started: type: string finished: type: string signal: type: integer environmentVariable: type: object properties: key: type: string value: type: string mount: type: object properties: mountPath: type: string name: type: string readOnly: type: boolean subPath: type: string condition: type: object properties: type: type: string status: type: string volume: type: object properties: name: type: string pvc: $ref: "#/definitions/pvc" projected: $ref: "#/definitions/projectedVolume" pvc: type: object properties: claimName: type: string readOnly: type: boolean projectedVolume: type: object properties: sources: type: array items: $ref: "#/definitions/projectedVolumeSource" projectedVolumeSource: type: object properties: secret: $ref: "#/definitions/secret" downwardApi: type: boolean configMap: $ref: "#/definitions/configMap" serviceAccountToken: $ref: "#/definitions/serviceAccountToken" secret: type: object properties: name: type: string optional: type: boolean configMap: type: object properties: name: type: string optional: type: boolean serviceAccountToken: type: object properties: expirationSeconds: type: integer toleration: type: object properties: tolerationSeconds: type: integer key: type: string value: type: string effect: type: string operator: type: string tenantMonitoringInfo: type: object properties: prometheusEnabled: type: boolean toggle: type: boolean image: type: string sidecarImage: type: string initImage: type: string labels: type: array items: $ref: "#/definitions/label" annotations: type: array items: $ref: "#/definitions/annotation" diskCapacityGB: type: string nodeSelector: type: array items: $ref: "#/definitions/nodeSelector" serviceAccountName: type: string storageClassName: type: string monitoringCPURequest: type: string monitoringMemRequest: type: string securityContext: type: object $ref: "#/definitions/securityContext" label: type: object properties: key: type: string value: type: string annotation: type: object properties: key: type: string value: type: string nodeSelector: type: object properties: key: type: string value: type: string configureTenantRequest: type: object properties: prometheusEnabled: type: boolean formatConfiguration: type: object required: - drives - force properties: drives: type: array minLength: 1 items: type: string force: type: boolean securityContext: type: object required: - runAsUser - runAsGroup - runAsNonRoot properties: runAsUser: type: string runAsGroup: type: string runAsNonRoot: type: boolean fsGroup: type: string fsGroupChangePolicy: type: string allocatableResourcesResponse: type: object properties: min_allocatable_mem: type: integer format: int64 min_allocatable_cpu: type: integer format: int64 cpu_priority: $ref: "#/definitions/nodeMaxAllocatableResources" mem_priority: $ref: "#/definitions/nodeMaxAllocatableResources" nodeMaxAllocatableResources: type: object properties: max_allocatable_cpu: type: integer format: int64 max_allocatable_mem: type: integer format: int64 checkOperatorVersionResponse: type: object properties: current_version: type: string latest_version: type: string tenantTierElement: type: object properties: name: type: string type: type: string size: type: integer format: int64 domainsConfiguration: type: object properties: minio: type: array items: type: string console: type: string updateDomainsRequest: type: object properties: domains: $ref: "#/definitions/domainsConfiguration" mpIntegration: type: object properties: email: type: string isInEU: type: boolean operatorSubnetLoginRequest: type: object properties: username: type: string password: type: string operatorSubnetLoginResponse: type: object properties: access_token: type: string mfa_token: type: string operatorSubnetLoginMFARequest: type: object required: - username - otp - mfa_token properties: username: type: string otp: type: string mfa_token: type: string operatorSubnetAPIKey: type: object properties: apiKey: type: string operatorSubnetRegisterAPIKeyResponse: type: object properties: registered: type: boolean redirectRule: type: object properties: redirect: type: string displayName: type: string