ptctools 0.1.0__py3-none-any.whl → 0.2.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1242) hide show
  1. ptctools/__init__.py +7 -1
  2. ptctools/_portainer.py +450 -226
  3. ptctools/cli.py +5 -8
  4. ptctools/config.py +111 -149
  5. ptctools/db.py +203 -142
  6. ptctools/docker.py +29 -0
  7. ptctools/portainer_client/.openapi-generator/FILES +818 -0
  8. ptctools/portainer_client/.openapi-generator/VERSION +1 -0
  9. ptctools/portainer_client/.openapi-generator-ignore +23 -0
  10. ptctools/portainer_client/openapi_client/__init__.py +855 -0
  11. ptctools/portainer_client/openapi_client/api/__init__.py +36 -0
  12. ptctools/portainer_client/openapi_client/api/auth_api.py +848 -0
  13. ptctools/portainer_client/openapi_client/api/backup_api.py +587 -0
  14. ptctools/portainer_client/openapi_client/api/custom_templates_api.py +2659 -0
  15. ptctools/portainer_client/openapi_client/api/docker_api.py +878 -0
  16. ptctools/portainer_client/openapi_client/api/edge_api.py +597 -0
  17. ptctools/portainer_client/openapi_client/api/edge_groups_api.py +1405 -0
  18. ptctools/portainer_client/openapi_client/api/edge_jobs_api.py +3146 -0
  19. ptctools/portainer_client/openapi_client/api/edge_stacks_api.py +2990 -0
  20. ptctools/portainer_client/openapi_client/api/endpoint_groups_api.py +1965 -0
  21. ptctools/portainer_client/openapi_client/api/endpoints_api.py +6607 -0
  22. ptctools/portainer_client/openapi_client/api/gitops_api.py +308 -0
  23. ptctools/portainer_client/openapi_client/api/helm_api.py +3529 -0
  24. ptctools/portainer_client/openapi_client/api/intel_api.py +1718 -0
  25. ptctools/portainer_client/openapi_client/api/kubernetes_api.py +18877 -0
  26. ptctools/portainer_client/openapi_client/api/ldap_api.py +313 -0
  27. ptctools/portainer_client/openapi_client/api/motd_api.py +284 -0
  28. ptctools/portainer_client/openapi_client/api/registries_api.py +1712 -0
  29. ptctools/portainer_client/openapi_client/api/resource_controls_api.py +891 -0
  30. ptctools/portainer_client/openapi_client/api/roles_api.py +288 -0
  31. ptctools/portainer_client/openapi_client/api/settings_api.py +820 -0
  32. ptctools/portainer_client/openapi_client/api/ssl_api.py +573 -0
  33. ptctools/portainer_client/openapi_client/api/stacks_api.py +6640 -0
  34. ptctools/portainer_client/openapi_client/api/status_api.py +285 -0
  35. ptctools/portainer_client/openapi_client/api/system_api.py +1277 -0
  36. ptctools/portainer_client/openapi_client/api/tags_api.py +839 -0
  37. ptctools/portainer_client/openapi_client/api/team_memberships_api.py +1425 -0
  38. ptctools/portainer_client/openapi_client/api/teams_api.py +1453 -0
  39. ptctools/portainer_client/openapi_client/api/templates_api.py +558 -0
  40. ptctools/portainer_client/openapi_client/api/upload_api.py +343 -0
  41. ptctools/portainer_client/openapi_client/api/users_api.py +3659 -0
  42. ptctools/portainer_client/openapi_client/api/webhooks_api.py +1415 -0
  43. ptctools/portainer_client/openapi_client/api/websocket_api.py +1279 -0
  44. ptctools/portainer_client/openapi_client/api_client.py +805 -0
  45. ptctools/portainer_client/openapi_client/api_response.py +21 -0
  46. ptctools/portainer_client/openapi_client/configuration.py +619 -0
  47. ptctools/portainer_client/openapi_client/docs/AuthApi.md +236 -0
  48. ptctools/portainer_client/openapi_client/docs/AuthAuthenticatePayload.md +30 -0
  49. ptctools/portainer_client/openapi_client/docs/AuthAuthenticateResponse.md +29 -0
  50. ptctools/portainer_client/openapi_client/docs/AuthOauthPayload.md +29 -0
  51. ptctools/portainer_client/openapi_client/docs/BackupApi.md +166 -0
  52. ptctools/portainer_client/openapi_client/docs/BackupBackupPayload.md +29 -0
  53. ptctools/portainer_client/openapi_client/docs/BackupRestorePayload.md +31 -0
  54. ptctools/portainer_client/openapi_client/docs/BuildBuildInfo.md +35 -0
  55. ptctools/portainer_client/openapi_client/docs/BuildDependenciesInfo.md +32 -0
  56. ptctools/portainer_client/openapi_client/docs/BuildRuntimeInfo.md +29 -0
  57. ptctools/portainer_client/openapi_client/docs/ContainersContainerGpusResponse.md +29 -0
  58. ptctools/portainer_client/openapi_client/docs/CustomTemplatesApi.md +842 -0
  59. ptctools/portainer_client/openapi_client/docs/CustomtemplatesCustomTemplateFromFileContentPayload.md +37 -0
  60. ptctools/portainer_client/openapi_client/docs/CustomtemplatesCustomTemplateFromGitRepositoryPayload.md +44 -0
  61. ptctools/portainer_client/openapi_client/docs/CustomtemplatesCustomTemplateUpdatePayload.md +47 -0
  62. ptctools/portainer_client/openapi_client/docs/CustomtemplatesFileResponse.md +29 -0
  63. ptctools/portainer_client/openapi_client/docs/DockerApi.md +259 -0
  64. ptctools/portainer_client/openapi_client/docs/DockerContainerStats.md +33 -0
  65. ptctools/portainer_client/openapi_client/docs/DockerDashboardResponse.md +34 -0
  66. ptctools/portainer_client/openapi_client/docs/DockerImagesCounters.md +30 -0
  67. ptctools/portainer_client/openapi_client/docs/EdgeApi.md +152 -0
  68. ptctools/portainer_client/openapi_client/docs/EdgeDeployerOptionsPayload.md +30 -0
  69. ptctools/portainer_client/openapi_client/docs/EdgeGroupsApi.md +451 -0
  70. ptctools/portainer_client/openapi_client/docs/EdgeJobsApi.md +1003 -0
  71. ptctools/portainer_client/openapi_client/docs/EdgeRegistryCredentials.md +31 -0
  72. ptctools/portainer_client/openapi_client/docs/EdgeStackPayload.md +48 -0
  73. ptctools/portainer_client/openapi_client/docs/EdgeStacksApi.md +900 -0
  74. ptctools/portainer_client/openapi_client/docs/EdgegroupsDecoratedEdgeGroup.md +39 -0
  75. ptctools/portainer_client/openapi_client/docs/EdgegroupsEdgeGroupCreatePayload.md +33 -0
  76. ptctools/portainer_client/openapi_client/docs/EdgegroupsEdgeGroupUpdatePayload.md +33 -0
  77. ptctools/portainer_client/openapi_client/docs/EdgejobsEdgeJobCreateFromFileContentPayload.md +34 -0
  78. ptctools/portainer_client/openapi_client/docs/EdgejobsEdgeJobFileResponse.md +29 -0
  79. ptctools/portainer_client/openapi_client/docs/EdgejobsEdgeJobUpdatePayload.md +34 -0
  80. ptctools/portainer_client/openapi_client/docs/EdgejobsFileResponse.md +29 -0
  81. ptctools/portainer_client/openapi_client/docs/EdgejobsTaskContainer.md +32 -0
  82. ptctools/portainer_client/openapi_client/docs/EdgestacksEdgeStackFromGitRepositoryPayload.md +41 -0
  83. ptctools/portainer_client/openapi_client/docs/EdgestacksEdgeStackFromStringPayload.md +34 -0
  84. ptctools/portainer_client/openapi_client/docs/EdgestacksStackFileResponse.md +29 -0
  85. ptctools/portainer_client/openapi_client/docs/EdgestacksUpdateEdgeStackPayload.md +33 -0
  86. ptctools/portainer_client/openapi_client/docs/EdgestacksUpdateStatusPayload.md +33 -0
  87. ptctools/portainer_client/openapi_client/docs/EndpointGroupsApi.md +638 -0
  88. ptctools/portainer_client/openapi_client/docs/EndpointedgeEdgeJobResponse.md +33 -0
  89. ptctools/portainer_client/openapi_client/docs/EndpointedgeEndpointEdgeStatusInspectResponse.md +34 -0
  90. ptctools/portainer_client/openapi_client/docs/EndpointedgeStackStatusResponse.md +30 -0
  91. ptctools/portainer_client/openapi_client/docs/EndpointgroupsEndpointGroupCreatePayload.md +32 -0
  92. ptctools/portainer_client/openapi_client/docs/EndpointgroupsEndpointGroupUpdatePayload.md +33 -0
  93. ptctools/portainer_client/openapi_client/docs/EndpointsApi.md +1930 -0
  94. ptctools/portainer_client/openapi_client/docs/EndpointsDockerhubStatusResponse.md +30 -0
  95. ptctools/portainer_client/openapi_client/docs/EndpointsEndpointCreateGlobalKeyResponse.md +29 -0
  96. ptctools/portainer_client/openapi_client/docs/EndpointsEndpointDeleteBatchPartialResponse.md +30 -0
  97. ptctools/portainer_client/openapi_client/docs/EndpointsEndpointDeleteBatchPayload.md +29 -0
  98. ptctools/portainer_client/openapi_client/docs/EndpointsEndpointDeleteRequest.md +30 -0
  99. ptctools/portainer_client/openapi_client/docs/EndpointsEndpointSettingsUpdatePayload.md +39 -0
  100. ptctools/portainer_client/openapi_client/docs/EndpointsEndpointUpdatePayload.md +45 -0
  101. ptctools/portainer_client/openapi_client/docs/EndpointsEndpointUpdateRelationsPayload.md +29 -0
  102. ptctools/portainer_client/openapi_client/docs/EndpointsEndpointUpdateRelationsPayloadRelationsValue.md +31 -0
  103. ptctools/portainer_client/openapi_client/docs/EndpointsForceUpdateServicePayload.md +30 -0
  104. ptctools/portainer_client/openapi_client/docs/EndpointsRegistryAccessPayload.md +31 -0
  105. ptctools/portainer_client/openapi_client/docs/FilesystemDirEntry.md +32 -0
  106. ptctools/portainer_client/openapi_client/docs/GithubComPortainerPortainerPkgLibhelmReleaseHook.md +36 -0
  107. ptctools/portainer_client/openapi_client/docs/GithubComPortainerPortainerPkgLibhelmReleaseHookExecution.md +31 -0
  108. ptctools/portainer_client/openapi_client/docs/GithubComPortainerPortainerPkgLibhelmReleaseInfo.md +35 -0
  109. ptctools/portainer_client/openapi_client/docs/GithubComPortainerPortainerPkgLibhelmReleaseRelease.md +39 -0
  110. ptctools/portainer_client/openapi_client/docs/GitopsApi.md +99 -0
  111. ptctools/portainer_client/openapi_client/docs/GitopsFileResponse.md +29 -0
  112. ptctools/portainer_client/openapi_client/docs/GitopsRepositoryFilePreviewPayload.md +35 -0
  113. ptctools/portainer_client/openapi_client/docs/GittypesGitAuthentication.md +32 -0
  114. ptctools/portainer_client/openapi_client/docs/GittypesGitCredentialAuthType.md +12 -0
  115. ptctools/portainer_client/openapi_client/docs/GittypesRepoConfig.md +34 -0
  116. ptctools/portainer_client/openapi_client/docs/HelmApi.md +1062 -0
  117. ptctools/portainer_client/openapi_client/docs/HelmInstallChartPayload.md +35 -0
  118. ptctools/portainer_client/openapi_client/docs/ImagesImageResponse.md +34 -0
  119. ptctools/portainer_client/openapi_client/docs/IntelApi.md +505 -0
  120. ptctools/portainer_client/openapi_client/docs/IntstrIntOrString.md +31 -0
  121. ptctools/portainer_client/openapi_client/docs/IntstrType.md +12 -0
  122. ptctools/portainer_client/openapi_client/docs/K8sIoApiCoreV1ConditionStatus.md +14 -0
  123. ptctools/portainer_client/openapi_client/docs/K8sIoApiRbacV1Subject.md +32 -0
  124. ptctools/portainer_client/openapi_client/docs/K8sIoApimachineryPkgApisMetaV1ConditionStatus.md +14 -0
  125. ptctools/portainer_client/openapi_client/docs/KubernetesApi.md +6017 -0
  126. ptctools/portainer_client/openapi_client/docs/KubernetesConfiguration.md +31 -0
  127. ptctools/portainer_client/openapi_client/docs/KubernetesCustomResourceMetadata.md +31 -0
  128. ptctools/portainer_client/openapi_client/docs/KubernetesDescribeResourceResponse.md +29 -0
  129. ptctools/portainer_client/openapi_client/docs/KubernetesIngressRule.md +32 -0
  130. ptctools/portainer_client/openapi_client/docs/KubernetesK8sApplication.md +60 -0
  131. ptctools/portainer_client/openapi_client/docs/KubernetesK8sApplicationResource.md +32 -0
  132. ptctools/portainer_client/openapi_client/docs/KubernetesK8sClusterRole.md +32 -0
  133. ptctools/portainer_client/openapi_client/docs/KubernetesK8sClusterRoleBinding.md +35 -0
  134. ptctools/portainer_client/openapi_client/docs/KubernetesK8sConfigMap.md +39 -0
  135. ptctools/portainer_client/openapi_client/docs/KubernetesK8sConfigurationOwnerResource.md +31 -0
  136. ptctools/portainer_client/openapi_client/docs/KubernetesK8sCronJob.md +37 -0
  137. ptctools/portainer_client/openapi_client/docs/KubernetesK8sDashboard.md +35 -0
  138. ptctools/portainer_client/openapi_client/docs/KubernetesK8sEvent.md +40 -0
  139. ptctools/portainer_client/openapi_client/docs/KubernetesK8sEventInvolvedObject.md +32 -0
  140. ptctools/portainer_client/openapi_client/docs/KubernetesK8sIngressController.md +34 -0
  141. ptctools/portainer_client/openapi_client/docs/KubernetesK8sIngressInfo.md +39 -0
  142. ptctools/portainer_client/openapi_client/docs/KubernetesK8sIngressPath.md +35 -0
  143. ptctools/portainer_client/openapi_client/docs/KubernetesK8sIngressTLS.md +30 -0
  144. ptctools/portainer_client/openapi_client/docs/KubernetesK8sJob.md +42 -0
  145. ptctools/portainer_client/openapi_client/docs/KubernetesK8sNamespaceDetails.md +32 -0
  146. ptctools/portainer_client/openapi_client/docs/KubernetesK8sPersistentVolume.md +37 -0
  147. ptctools/portainer_client/openapi_client/docs/KubernetesK8sPersistentVolumeClaim.md +41 -0
  148. ptctools/portainer_client/openapi_client/docs/KubernetesK8sResourceQuota.md +31 -0
  149. ptctools/portainer_client/openapi_client/docs/KubernetesK8sRole.md +33 -0
  150. ptctools/portainer_client/openapi_client/docs/KubernetesK8sRoleBinding.md +35 -0
  151. ptctools/portainer_client/openapi_client/docs/KubernetesK8sSecret.md +40 -0
  152. ptctools/portainer_client/openapi_client/docs/KubernetesK8sServiceAccount.md +33 -0
  153. ptctools/portainer_client/openapi_client/docs/KubernetesK8sServiceInfo.md +43 -0
  154. ptctools/portainer_client/openapi_client/docs/KubernetesK8sServiceIngress.md +30 -0
  155. ptctools/portainer_client/openapi_client/docs/KubernetesK8sServicePort.md +33 -0
  156. ptctools/portainer_client/openapi_client/docs/KubernetesK8sStorageClass.md +32 -0
  157. ptctools/portainer_client/openapi_client/docs/KubernetesK8sVolumeInfo.md +31 -0
  158. ptctools/portainer_client/openapi_client/docs/KubernetesMetadata.md +30 -0
  159. ptctools/portainer_client/openapi_client/docs/KubernetesNamespacesToggleSystemPayload.md +29 -0
  160. ptctools/portainer_client/openapi_client/docs/KubernetesPod.md +38 -0
  161. ptctools/portainer_client/openapi_client/docs/KubernetesPublishedPort.md +30 -0
  162. ptctools/portainer_client/openapi_client/docs/KubernetesTLSInfo.md +29 -0
  163. ptctools/portainer_client/openapi_client/docs/LdapApi.md +96 -0
  164. ptctools/portainer_client/openapi_client/docs/LdapCheckPayload.md +29 -0
  165. ptctools/portainer_client/openapi_client/docs/MotdApi.md +91 -0
  166. ptctools/portainer_client/openapi_client/docs/MotdMotdResponse.md +33 -0
  167. ptctools/portainer_client/openapi_client/docs/Oauth2AuthStyle.md +14 -0
  168. ptctools/portainer_client/openapi_client/docs/OpenamtDeviceActionPayload.md +29 -0
  169. ptctools/portainer_client/openapi_client/docs/OpenamtDeviceFeaturesPayload.md +29 -0
  170. ptctools/portainer_client/openapi_client/docs/OpenamtOpenAMTConfigurePayload.md +36 -0
  171. ptctools/portainer_client/openapi_client/docs/OsFileMode.md +38 -0
  172. ptctools/portainer_client/openapi_client/docs/PlatformContainerPlatform.md +18 -0
  173. ptctools/portainer_client/openapi_client/docs/PortainerAPIKey.md +35 -0
  174. ptctools/portainer_client/openapi_client/docs/PortainerAccessPolicy.md +29 -0
  175. ptctools/portainer_client/openapi_client/docs/PortainerAuthenticationMethod.md +16 -0
  176. ptctools/portainer_client/openapi_client/docs/PortainerAutoUpdateSettings.md +33 -0
  177. ptctools/portainer_client/openapi_client/docs/PortainerAzureCredentials.md +31 -0
  178. ptctools/portainer_client/openapi_client/docs/PortainerCustomTemplate.md +43 -0
  179. ptctools/portainer_client/openapi_client/docs/PortainerCustomTemplatePlatform.md +14 -0
  180. ptctools/portainer_client/openapi_client/docs/PortainerCustomTemplateVariableDefinition.md +32 -0
  181. ptctools/portainer_client/openapi_client/docs/PortainerDiagnosticsData.md +32 -0
  182. ptctools/portainer_client/openapi_client/docs/PortainerDockerSnapshot.md +49 -0
  183. ptctools/portainer_client/openapi_client/docs/PortainerEcrData.md +29 -0
  184. ptctools/portainer_client/openapi_client/docs/PortainerEdge.md +32 -0
  185. ptctools/portainer_client/openapi_client/docs/PortainerEdgeGroup.md +35 -0
  186. ptctools/portainer_client/openapi_client/docs/PortainerEdgeJob.md +38 -0
  187. ptctools/portainer_client/openapi_client/docs/PortainerEdgeJobEndpointMeta.md +30 -0
  188. ptctools/portainer_client/openapi_client/docs/PortainerEdgeJobLogsStatus.md +16 -0
  189. ptctools/portainer_client/openapi_client/docs/PortainerEdgeStack.md +40 -0
  190. ptctools/portainer_client/openapi_client/docs/PortainerEdgeStackDeploymentStatus.md +33 -0
  191. ptctools/portainer_client/openapi_client/docs/PortainerEdgeStackDeploymentType.md +12 -0
  192. ptctools/portainer_client/openapi_client/docs/PortainerEdgeStackStatus.md +35 -0
  193. ptctools/portainer_client/openapi_client/docs/PortainerEdgeStackStatusDetails.md +35 -0
  194. ptctools/portainer_client/openapi_client/docs/PortainerEdgeStackStatusType.md +36 -0
  195. ptctools/portainer_client/openapi_client/docs/PortainerEndpoint.md +66 -0
  196. ptctools/portainer_client/openapi_client/docs/PortainerEndpointAgent.md +29 -0
  197. ptctools/portainer_client/openapi_client/docs/PortainerEndpointGroup.md +38 -0
  198. ptctools/portainer_client/openapi_client/docs/PortainerEndpointPostInitMigrations.md +30 -0
  199. ptctools/portainer_client/openapi_client/docs/PortainerEndpointSecuritySettings.md +37 -0
  200. ptctools/portainer_client/openapi_client/docs/PortainerEndpointStatus.md +14 -0
  201. ptctools/portainer_client/openapi_client/docs/PortainerEndpointType.md +24 -0
  202. ptctools/portainer_client/openapi_client/docs/PortainerEnvironmentEdgeSettings.md +32 -0
  203. ptctools/portainer_client/openapi_client/docs/PortainerGithubRegistryData.md +30 -0
  204. ptctools/portainer_client/openapi_client/docs/PortainerGitlabRegistryData.md +31 -0
  205. ptctools/portainer_client/openapi_client/docs/PortainerGlobalDeploymentOptions.md +29 -0
  206. ptctools/portainer_client/openapi_client/docs/PortainerHelmUserRepository.md +31 -0
  207. ptctools/portainer_client/openapi_client/docs/PortainerInternalAuthSettings.md +29 -0
  208. ptctools/portainer_client/openapi_client/docs/PortainerK8sNamespaceInfo.md +38 -0
  209. ptctools/portainer_client/openapi_client/docs/PortainerK8sNodeLimits.md +30 -0
  210. ptctools/portainer_client/openapi_client/docs/PortainerKubernetesConfiguration.md +37 -0
  211. ptctools/portainer_client/openapi_client/docs/PortainerKubernetesData.md +31 -0
  212. ptctools/portainer_client/openapi_client/docs/PortainerKubernetesFlags.md +31 -0
  213. ptctools/portainer_client/openapi_client/docs/PortainerKubernetesIngressClassConfig.md +32 -0
  214. ptctools/portainer_client/openapi_client/docs/PortainerKubernetesSnapshot.md +35 -0
  215. ptctools/portainer_client/openapi_client/docs/PortainerKubernetesStorageClassConfig.md +32 -0
  216. ptctools/portainer_client/openapi_client/docs/PortainerLDAPGroupSearchSettings.md +31 -0
  217. ptctools/portainer_client/openapi_client/docs/PortainerLDAPSearchSettings.md +31 -0
  218. ptctools/portainer_client/openapi_client/docs/PortainerLDAPSettings.md +37 -0
  219. ptctools/portainer_client/openapi_client/docs/PortainerMembershipRole.md +14 -0
  220. ptctools/portainer_client/openapi_client/docs/PortainerOAuthSettings.md +42 -0
  221. ptctools/portainer_client/openapi_client/docs/PortainerOpenAMTConfiguration.md +37 -0
  222. ptctools/portainer_client/openapi_client/docs/PortainerOpenAMTDeviceEnabledFeatures.md +33 -0
  223. ptctools/portainer_client/openapi_client/docs/PortainerPair.md +30 -0
  224. ptctools/portainer_client/openapi_client/docs/PortainerPerformanceMetrics.md +31 -0
  225. ptctools/portainer_client/openapi_client/docs/PortainerQuayRegistryData.md +30 -0
  226. ptctools/portainer_client/openapi_client/docs/PortainerRegistry.md +48 -0
  227. ptctools/portainer_client/openapi_client/docs/PortainerRegistryAccessPolicies.md +31 -0
  228. ptctools/portainer_client/openapi_client/docs/PortainerRegistryManagementConfiguration.md +36 -0
  229. ptctools/portainer_client/openapi_client/docs/PortainerRegistryType.md +26 -0
  230. ptctools/portainer_client/openapi_client/docs/PortainerResourceAccessLevel.md +12 -0
  231. ptctools/portainer_client/openapi_client/docs/PortainerResourceControl.md +39 -0
  232. ptctools/portainer_client/openapi_client/docs/PortainerResourceControlType.md +28 -0
  233. ptctools/portainer_client/openapi_client/docs/PortainerRole.md +33 -0
  234. ptctools/portainer_client/openapi_client/docs/PortainerSSLSettings.md +32 -0
  235. ptctools/portainer_client/openapi_client/docs/PortainerSettings.md +62 -0
  236. ptctools/portainer_client/openapi_client/docs/PortainerStack.md +48 -0
  237. ptctools/portainer_client/openapi_client/docs/PortainerStackDeploymentInfo.md +31 -0
  238. ptctools/portainer_client/openapi_client/docs/PortainerStackOption.md +29 -0
  239. ptctools/portainer_client/openapi_client/docs/PortainerStackStatus.md +14 -0
  240. ptctools/portainer_client/openapi_client/docs/PortainerStackType.md +16 -0
  241. ptctools/portainer_client/openapi_client/docs/PortainerTLSConfiguration.md +33 -0
  242. ptctools/portainer_client/openapi_client/docs/PortainerTag.md +32 -0
  243. ptctools/portainer_client/openapi_client/docs/PortainerTeam.md +30 -0
  244. ptctools/portainer_client/openapi_client/docs/PortainerTeamMembership.md +32 -0
  245. ptctools/portainer_client/openapi_client/docs/PortainerTeamResourceAccess.md +30 -0
  246. ptctools/portainer_client/openapi_client/docs/PortainerTemplate.md +52 -0
  247. ptctools/portainer_client/openapi_client/docs/PortainerTemplateEnv.md +34 -0
  248. ptctools/portainer_client/openapi_client/docs/PortainerTemplateEnvSelect.md +31 -0
  249. ptctools/portainer_client/openapi_client/docs/PortainerTemplateRepository.md +30 -0
  250. ptctools/portainer_client/openapi_client/docs/PortainerTemplateType.md +16 -0
  251. ptctools/portainer_client/openapi_client/docs/PortainerTemplateVolume.md +31 -0
  252. ptctools/portainer_client/openapi_client/docs/PortainerUser.md +37 -0
  253. ptctools/portainer_client/openapi_client/docs/PortainerUserResourceAccess.md +30 -0
  254. ptctools/portainer_client/openapi_client/docs/PortainerUserRole.md +14 -0
  255. ptctools/portainer_client/openapi_client/docs/PortainerUserThemeSettings.md +29 -0
  256. ptctools/portainer_client/openapi_client/docs/PortainerWebhook.md +34 -0
  257. ptctools/portainer_client/openapi_client/docs/PortainerWebhookType.md +12 -0
  258. ptctools/portainer_client/openapi_client/docs/RegistriesApi.md +554 -0
  259. ptctools/portainer_client/openapi_client/docs/RegistriesRegistryConfigurePayload.md +37 -0
  260. ptctools/portainer_client/openapi_client/docs/RegistriesRegistryCreatePayload.md +38 -0
  261. ptctools/portainer_client/openapi_client/docs/RegistriesRegistryUpdatePayload.md +37 -0
  262. ptctools/portainer_client/openapi_client/docs/ReleaseChart.md +34 -0
  263. ptctools/portainer_client/openapi_client/docs/ReleaseChartReference.md +31 -0
  264. ptctools/portainer_client/openapi_client/docs/ReleaseDependency.md +36 -0
  265. ptctools/portainer_client/openapi_client/docs/ReleaseFile.md +30 -0
  266. ptctools/portainer_client/openapi_client/docs/ReleaseLock.md +31 -0
  267. ptctools/portainer_client/openapi_client/docs/ReleaseMaintainer.md +31 -0
  268. ptctools/portainer_client/openapi_client/docs/ReleaseMetadata.md +45 -0
  269. ptctools/portainer_client/openapi_client/docs/ReleaseReleaseElement.md +35 -0
  270. ptctools/portainer_client/openapi_client/docs/ReleaseValues.md +30 -0
  271. ptctools/portainer_client/openapi_client/docs/ResourceControlsApi.md +283 -0
  272. ptctools/portainer_client/openapi_client/docs/ResourceQuantity.md +29 -0
  273. ptctools/portainer_client/openapi_client/docs/ResourcecontrolsResourceControlCreatePayload.md +35 -0
  274. ptctools/portainer_client/openapi_client/docs/ResourcecontrolsResourceControlUpdatePayload.md +32 -0
  275. ptctools/portainer_client/openapi_client/docs/RolesApi.md +93 -0
  276. ptctools/portainer_client/openapi_client/docs/SettingsApi.md +251 -0
  277. ptctools/portainer_client/openapi_client/docs/SettingsPublicSettingsResponse.md +42 -0
  278. ptctools/portainer_client/openapi_client/docs/SettingsPublicSettingsResponseEdge.md +32 -0
  279. ptctools/portainer_client/openapi_client/docs/SettingsSettingsUpdatePayload.md +47 -0
  280. ptctools/portainer_client/openapi_client/docs/SslApi.md +184 -0
  281. ptctools/portainer_client/openapi_client/docs/SslSslUpdatePayload.md +31 -0
  282. ptctools/portainer_client/openapi_client/docs/StacksApi.md +2064 -0
  283. ptctools/portainer_client/openapi_client/docs/StacksComposeStackFromFileContentPayload.md +32 -0
  284. ptctools/portainer_client/openapi_client/docs/StacksComposeStackFromGitRepositoryPayload.md +40 -0
  285. ptctools/portainer_client/openapi_client/docs/StacksKubernetesGitDeploymentPayload.md +40 -0
  286. ptctools/portainer_client/openapi_client/docs/StacksKubernetesManifestURLDeploymentPayload.md +32 -0
  287. ptctools/portainer_client/openapi_client/docs/StacksKubernetesStringDeploymentPayload.md +33 -0
  288. ptctools/portainer_client/openapi_client/docs/StacksStackFileResponse.md +29 -0
  289. ptctools/portainer_client/openapi_client/docs/StacksStackGitRedployPayload.md +37 -0
  290. ptctools/portainer_client/openapi_client/docs/StacksStackGitUpdatePayload.md +37 -0
  291. ptctools/portainer_client/openapi_client/docs/StacksStackMigratePayload.md +31 -0
  292. ptctools/portainer_client/openapi_client/docs/StacksSwarmStackFromFileContentPayload.md +33 -0
  293. ptctools/portainer_client/openapi_client/docs/StacksSwarmStackFromGitRepositoryPayload.md +41 -0
  294. ptctools/portainer_client/openapi_client/docs/StacksUpdateSwarmStackPayload.md +32 -0
  295. ptctools/portainer_client/openapi_client/docs/StatusApi.md +75 -0
  296. ptctools/portainer_client/openapi_client/docs/SwarmServiceUpdateResponse.md +29 -0
  297. ptctools/portainer_client/openapi_client/docs/SystemApi.md +392 -0
  298. ptctools/portainer_client/openapi_client/docs/SystemNodesCountResponse.md +29 -0
  299. ptctools/portainer_client/openapi_client/docs/SystemStatus.md +30 -0
  300. ptctools/portainer_client/openapi_client/docs/SystemSystemInfoResponse.md +31 -0
  301. ptctools/portainer_client/openapi_client/docs/SystemVersionResponse.md +37 -0
  302. ptctools/portainer_client/openapi_client/docs/TagsApi.md +273 -0
  303. ptctools/portainer_client/openapi_client/docs/TagsTagCreatePayload.md +29 -0
  304. ptctools/portainer_client/openapi_client/docs/TeamMembershipsApi.md +463 -0
  305. ptctools/portainer_client/openapi_client/docs/TeammembershipsTeamMembershipCreatePayload.md +31 -0
  306. ptctools/portainer_client/openapi_client/docs/TeammembershipsTeamMembershipUpdatePayload.md +31 -0
  307. ptctools/portainer_client/openapi_client/docs/TeamsApi.md +467 -0
  308. ptctools/portainer_client/openapi_client/docs/TeamsTeamCreatePayload.md +30 -0
  309. ptctools/portainer_client/openapi_client/docs/TeamsTeamUpdatePayload.md +29 -0
  310. ptctools/portainer_client/openapi_client/docs/TemplatesApi.md +183 -0
  311. ptctools/portainer_client/openapi_client/docs/TemplatesFileResponse.md +29 -0
  312. ptctools/portainer_client/openapi_client/docs/TemplatesListResponse.md +30 -0
  313. ptctools/portainer_client/openapi_client/docs/UnstructuredUnstructured.md +29 -0
  314. ptctools/portainer_client/openapi_client/docs/UploadApi.md +99 -0
  315. ptctools/portainer_client/openapi_client/docs/UsersAccessTokenResponse.md +30 -0
  316. ptctools/portainer_client/openapi_client/docs/UsersAddHelmRepoUrlPayload.md +29 -0
  317. ptctools/portainer_client/openapi_client/docs/UsersAdminInitPayload.md +30 -0
  318. ptctools/portainer_client/openapi_client/docs/UsersApi.md +1159 -0
  319. ptctools/portainer_client/openapi_client/docs/UsersHelmUserRepositoryResponse.md +30 -0
  320. ptctools/portainer_client/openapi_client/docs/UsersThemePayload.md +29 -0
  321. ptctools/portainer_client/openapi_client/docs/UsersUserAccessTokenCreatePayload.md +30 -0
  322. ptctools/portainer_client/openapi_client/docs/UsersUserCreatePayload.md +31 -0
  323. ptctools/portainer_client/openapi_client/docs/UsersUserUpdatePasswordPayload.md +30 -0
  324. ptctools/portainer_client/openapi_client/docs/UsersUserUpdatePayload.md +34 -0
  325. ptctools/portainer_client/openapi_client/docs/V1AppArmorProfile.md +30 -0
  326. ptctools/portainer_client/openapi_client/docs/V1AppArmorProfileType.md +14 -0
  327. ptctools/portainer_client/openapi_client/docs/V1CSIPersistentVolumeSource.md +38 -0
  328. ptctools/portainer_client/openapi_client/docs/V1Capabilities.md +30 -0
  329. ptctools/portainer_client/openapi_client/docs/V1ClientIPConfig.md +29 -0
  330. ptctools/portainer_client/openapi_client/docs/V1Condition.md +34 -0
  331. ptctools/portainer_client/openapi_client/docs/V1ConfigMapEnvSource.md +30 -0
  332. ptctools/portainer_client/openapi_client/docs/V1ConfigMapKeySelector.md +31 -0
  333. ptctools/portainer_client/openapi_client/docs/V1Container.md +52 -0
  334. ptctools/portainer_client/openapi_client/docs/V1ContainerPort.md +33 -0
  335. ptctools/portainer_client/openapi_client/docs/V1ContainerResizePolicy.md +30 -0
  336. ptctools/portainer_client/openapi_client/docs/V1ContainerRestartPolicy.md +10 -0
  337. ptctools/portainer_client/openapi_client/docs/V1Duration.md +29 -0
  338. ptctools/portainer_client/openapi_client/docs/V1EnvFromSource.md +31 -0
  339. ptctools/portainer_client/openapi_client/docs/V1EnvVar.md +31 -0
  340. ptctools/portainer_client/openapi_client/docs/V1EnvVarSource.md +32 -0
  341. ptctools/portainer_client/openapi_client/docs/V1ExecAction.md +29 -0
  342. ptctools/portainer_client/openapi_client/docs/V1GRPCAction.md +30 -0
  343. ptctools/portainer_client/openapi_client/docs/V1HTTPGetAction.md +33 -0
  344. ptctools/portainer_client/openapi_client/docs/V1HTTPHeader.md +30 -0
  345. ptctools/portainer_client/openapi_client/docs/V1IPFamily.md +14 -0
  346. ptctools/portainer_client/openapi_client/docs/V1IPFamilyPolicy.md +14 -0
  347. ptctools/portainer_client/openapi_client/docs/V1LabelSelector.md +30 -0
  348. ptctools/portainer_client/openapi_client/docs/V1LabelSelectorOperator.md +16 -0
  349. ptctools/portainer_client/openapi_client/docs/V1LabelSelectorRequirement.md +31 -0
  350. ptctools/portainer_client/openapi_client/docs/V1Lifecycle.md +31 -0
  351. ptctools/portainer_client/openapi_client/docs/V1LifecycleHandler.md +32 -0
  352. ptctools/portainer_client/openapi_client/docs/V1ListMeta.md +32 -0
  353. ptctools/portainer_client/openapi_client/docs/V1LoadBalancerIPMode.md +12 -0
  354. ptctools/portainer_client/openapi_client/docs/V1LoadBalancerIngress.md +32 -0
  355. ptctools/portainer_client/openapi_client/docs/V1LoadBalancerStatus.md +29 -0
  356. ptctools/portainer_client/openapi_client/docs/V1ManagedFieldsEntry.md +35 -0
  357. ptctools/portainer_client/openapi_client/docs/V1ManagedFieldsOperationType.md +12 -0
  358. ptctools/portainer_client/openapi_client/docs/V1MountPropagationMode.md +14 -0
  359. ptctools/portainer_client/openapi_client/docs/V1NamespaceCondition.md +33 -0
  360. ptctools/portainer_client/openapi_client/docs/V1NamespaceConditionType.md +18 -0
  361. ptctools/portainer_client/openapi_client/docs/V1NamespacePhase.md +12 -0
  362. ptctools/portainer_client/openapi_client/docs/V1NamespaceStatus.md +30 -0
  363. ptctools/portainer_client/openapi_client/docs/V1ObjectFieldSelector.md +30 -0
  364. ptctools/portainer_client/openapi_client/docs/V1ObjectMeta.md +43 -0
  365. ptctools/portainer_client/openapi_client/docs/V1ObjectReference.md +35 -0
  366. ptctools/portainer_client/openapi_client/docs/V1OwnerReference.md +34 -0
  367. ptctools/portainer_client/openapi_client/docs/V1PersistentVolumeAccessMode.md +16 -0
  368. ptctools/portainer_client/openapi_client/docs/V1PersistentVolumeClaimPhase.md +14 -0
  369. ptctools/portainer_client/openapi_client/docs/V1PersistentVolumeMode.md +12 -0
  370. ptctools/portainer_client/openapi_client/docs/V1PersistentVolumeReclaimPolicy.md +14 -0
  371. ptctools/portainer_client/openapi_client/docs/V1PortStatus.md +31 -0
  372. ptctools/portainer_client/openapi_client/docs/V1Probe.md +38 -0
  373. ptctools/portainer_client/openapi_client/docs/V1ProcMountType.md +12 -0
  374. ptctools/portainer_client/openapi_client/docs/V1Protocol.md +14 -0
  375. ptctools/portainer_client/openapi_client/docs/V1PullPolicy.md +14 -0
  376. ptctools/portainer_client/openapi_client/docs/V1RecursiveReadOnlyMode.md +14 -0
  377. ptctools/portainer_client/openapi_client/docs/V1ResourceClaim.md +30 -0
  378. ptctools/portainer_client/openapi_client/docs/V1ResourceFieldSelector.md +31 -0
  379. ptctools/portainer_client/openapi_client/docs/V1ResourceName.md +48 -0
  380. ptctools/portainer_client/openapi_client/docs/V1ResourceQuota.md +33 -0
  381. ptctools/portainer_client/openapi_client/docs/V1ResourceQuotaScope.md +22 -0
  382. ptctools/portainer_client/openapi_client/docs/V1ResourceQuotaSpec.md +31 -0
  383. ptctools/portainer_client/openapi_client/docs/V1ResourceQuotaStatus.md +30 -0
  384. ptctools/portainer_client/openapi_client/docs/V1ResourceRequirements.md +31 -0
  385. ptctools/portainer_client/openapi_client/docs/V1ResourceResizeRestartPolicy.md +12 -0
  386. ptctools/portainer_client/openapi_client/docs/V1RoleRef.md +31 -0
  387. ptctools/portainer_client/openapi_client/docs/V1SELinuxOptions.md +32 -0
  388. ptctools/portainer_client/openapi_client/docs/V1ScopeSelector.md +29 -0
  389. ptctools/portainer_client/openapi_client/docs/V1ScopeSelectorOperator.md +16 -0
  390. ptctools/portainer_client/openapi_client/docs/V1ScopedResourceSelectorRequirement.md +31 -0
  391. ptctools/portainer_client/openapi_client/docs/V1SeccompProfile.md +30 -0
  392. ptctools/portainer_client/openapi_client/docs/V1SeccompProfileType.md +14 -0
  393. ptctools/portainer_client/openapi_client/docs/V1SecretEnvSource.md +30 -0
  394. ptctools/portainer_client/openapi_client/docs/V1SecretKeySelector.md +31 -0
  395. ptctools/portainer_client/openapi_client/docs/V1SecretReference.md +30 -0
  396. ptctools/portainer_client/openapi_client/docs/V1SecurityContext.md +40 -0
  397. ptctools/portainer_client/openapi_client/docs/V1Service.md +33 -0
  398. ptctools/portainer_client/openapi_client/docs/V1ServiceAffinity.md +12 -0
  399. ptctools/portainer_client/openapi_client/docs/V1ServiceExternalTrafficPolicy.md +16 -0
  400. ptctools/portainer_client/openapi_client/docs/V1ServiceInternalTrafficPolicy.md +12 -0
  401. ptctools/portainer_client/openapi_client/docs/V1ServicePort.md +34 -0
  402. ptctools/portainer_client/openapi_client/docs/V1ServiceSpec.md +48 -0
  403. ptctools/portainer_client/openapi_client/docs/V1ServiceStatus.md +30 -0
  404. ptctools/portainer_client/openapi_client/docs/V1ServiceType.md +16 -0
  405. ptctools/portainer_client/openapi_client/docs/V1SessionAffinityConfig.md +29 -0
  406. ptctools/portainer_client/openapi_client/docs/V1Signal.md +138 -0
  407. ptctools/portainer_client/openapi_client/docs/V1SleepAction.md +29 -0
  408. ptctools/portainer_client/openapi_client/docs/V1TCPSocketAction.md +30 -0
  409. ptctools/portainer_client/openapi_client/docs/V1TerminationMessagePolicy.md +12 -0
  410. ptctools/portainer_client/openapi_client/docs/V1URIScheme.md +12 -0
  411. ptctools/portainer_client/openapi_client/docs/V1VolumeDevice.md +30 -0
  412. ptctools/portainer_client/openapi_client/docs/V1VolumeMount.md +35 -0
  413. ptctools/portainer_client/openapi_client/docs/V1WindowsSecurityContextOptions.md +32 -0
  414. ptctools/portainer_client/openapi_client/docs/V1beta1ContainerMetrics.md +30 -0
  415. ptctools/portainer_client/openapi_client/docs/V1beta1NodeMetrics.md +34 -0
  416. ptctools/portainer_client/openapi_client/docs/V1beta1NodeMetricsList.md +32 -0
  417. ptctools/portainer_client/openapi_client/docs/V1beta1PodMetrics.md +34 -0
  418. ptctools/portainer_client/openapi_client/docs/V1beta1PodMetricsList.md +32 -0
  419. ptctools/portainer_client/openapi_client/docs/V2ContainerResourceMetricSource.md +31 -0
  420. ptctools/portainer_client/openapi_client/docs/V2ContainerResourceMetricStatus.md +31 -0
  421. ptctools/portainer_client/openapi_client/docs/V2CrossVersionObjectReference.md +31 -0
  422. ptctools/portainer_client/openapi_client/docs/V2ExternalMetricSource.md +30 -0
  423. ptctools/portainer_client/openapi_client/docs/V2ExternalMetricStatus.md +30 -0
  424. ptctools/portainer_client/openapi_client/docs/V2HPAScalingPolicy.md +31 -0
  425. ptctools/portainer_client/openapi_client/docs/V2HPAScalingPolicyType.md +12 -0
  426. ptctools/portainer_client/openapi_client/docs/V2HPAScalingRules.md +32 -0
  427. ptctools/portainer_client/openapi_client/docs/V2HorizontalPodAutoscaler.md +33 -0
  428. ptctools/portainer_client/openapi_client/docs/V2HorizontalPodAutoscalerBehavior.md +30 -0
  429. ptctools/portainer_client/openapi_client/docs/V2HorizontalPodAutoscalerCondition.md +33 -0
  430. ptctools/portainer_client/openapi_client/docs/V2HorizontalPodAutoscalerConditionType.md +14 -0
  431. ptctools/portainer_client/openapi_client/docs/V2HorizontalPodAutoscalerSpec.md +33 -0
  432. ptctools/portainer_client/openapi_client/docs/V2HorizontalPodAutoscalerStatus.md +34 -0
  433. ptctools/portainer_client/openapi_client/docs/V2MetricIdentifier.md +30 -0
  434. ptctools/portainer_client/openapi_client/docs/V2MetricSourceType.md +18 -0
  435. ptctools/portainer_client/openapi_client/docs/V2MetricSpec.md +34 -0
  436. ptctools/portainer_client/openapi_client/docs/V2MetricStatus.md +34 -0
  437. ptctools/portainer_client/openapi_client/docs/V2MetricTarget.md +32 -0
  438. ptctools/portainer_client/openapi_client/docs/V2MetricTargetType.md +14 -0
  439. ptctools/portainer_client/openapi_client/docs/V2MetricValueStatus.md +31 -0
  440. ptctools/portainer_client/openapi_client/docs/V2ObjectMetricSource.md +31 -0
  441. ptctools/portainer_client/openapi_client/docs/V2ObjectMetricStatus.md +31 -0
  442. ptctools/portainer_client/openapi_client/docs/V2PodsMetricSource.md +30 -0
  443. ptctools/portainer_client/openapi_client/docs/V2PodsMetricStatus.md +30 -0
  444. ptctools/portainer_client/openapi_client/docs/V2ResourceMetricSource.md +30 -0
  445. ptctools/portainer_client/openapi_client/docs/V2ResourceMetricStatus.md +30 -0
  446. ptctools/portainer_client/openapi_client/docs/V2ScalingPolicySelect.md +14 -0
  447. ptctools/portainer_client/openapi_client/docs/WebhooksApi.md +436 -0
  448. ptctools/portainer_client/openapi_client/docs/WebhooksWebhookCreatePayload.md +32 -0
  449. ptctools/portainer_client/openapi_client/docs/WebhooksWebhookUpdatePayload.md +29 -0
  450. ptctools/portainer_client/openapi_client/docs/WebsocketApi.md +385 -0
  451. ptctools/portainer_client/openapi_client/exceptions.py +220 -0
  452. ptctools/portainer_client/openapi_client/models/__init__.py +389 -0
  453. ptctools/portainer_client/openapi_client/models/auth_authenticate_payload.py +90 -0
  454. ptctools/portainer_client/openapi_client/models/auth_authenticate_response.py +88 -0
  455. ptctools/portainer_client/openapi_client/models/auth_oauth_payload.py +88 -0
  456. ptctools/portainer_client/openapi_client/models/backup_backup_payload.py +88 -0
  457. ptctools/portainer_client/openapi_client/models/backup_restore_payload.py +92 -0
  458. ptctools/portainer_client/openapi_client/models/build_build_info.py +100 -0
  459. ptctools/portainer_client/openapi_client/models/build_dependencies_info.py +94 -0
  460. ptctools/portainer_client/openapi_client/models/build_runtime_info.py +88 -0
  461. ptctools/portainer_client/openapi_client/models/containers_container_gpus_response.py +88 -0
  462. ptctools/portainer_client/openapi_client/models/customtemplates_custom_template_from_file_content_payload.py +114 -0
  463. ptctools/portainer_client/openapi_client/models/customtemplates_custom_template_from_git_repository_payload.py +128 -0
  464. ptctools/portainer_client/openapi_client/models/customtemplates_custom_template_update_payload.py +135 -0
  465. ptctools/portainer_client/openapi_client/models/customtemplates_file_response.py +88 -0
  466. ptctools/portainer_client/openapi_client/models/docker_container_stats.py +96 -0
  467. ptctools/portainer_client/openapi_client/models/docker_dashboard_response.py +106 -0
  468. ptctools/portainer_client/openapi_client/models/docker_images_counters.py +90 -0
  469. ptctools/portainer_client/openapi_client/models/edge_deployer_options_payload.py +90 -0
  470. ptctools/portainer_client/openapi_client/models/edge_registry_credentials.py +92 -0
  471. ptctools/portainer_client/openapi_client/models/edge_stack_payload.py +154 -0
  472. ptctools/portainer_client/openapi_client/models/edgegroups_decorated_edge_group.py +109 -0
  473. ptctools/portainer_client/openapi_client/models/edgegroups_edge_group_create_payload.py +96 -0
  474. ptctools/portainer_client/openapi_client/models/edgegroups_edge_group_update_payload.py +96 -0
  475. ptctools/portainer_client/openapi_client/models/edgejobs_edge_job_create_from_file_content_payload.py +98 -0
  476. ptctools/portainer_client/openapi_client/models/edgejobs_edge_job_file_response.py +88 -0
  477. ptctools/portainer_client/openapi_client/models/edgejobs_edge_job_update_payload.py +98 -0
  478. ptctools/portainer_client/openapi_client/models/edgejobs_file_response.py +88 -0
  479. ptctools/portainer_client/openapi_client/models/edgejobs_task_container.py +95 -0
  480. ptctools/portainer_client/openapi_client/models/edgestacks_edge_stack_from_git_repository_payload.py +114 -0
  481. ptctools/portainer_client/openapi_client/models/edgestacks_edge_stack_from_string_payload.py +99 -0
  482. ptctools/portainer_client/openapi_client/models/edgestacks_stack_file_response.py +88 -0
  483. ptctools/portainer_client/openapi_client/models/edgestacks_update_edge_stack_payload.py +97 -0
  484. ptctools/portainer_client/openapi_client/models/edgestacks_update_status_payload.py +97 -0
  485. ptctools/portainer_client/openapi_client/models/endpointedge_edge_job_response.py +96 -0
  486. ptctools/portainer_client/openapi_client/models/endpointedge_endpoint_edge_status_inspect_response.py +114 -0
  487. ptctools/portainer_client/openapi_client/models/endpointedge_stack_status_response.py +90 -0
  488. ptctools/portainer_client/openapi_client/models/endpointgroups_endpoint_group_create_payload.py +94 -0
  489. ptctools/portainer_client/openapi_client/models/endpointgroups_endpoint_group_update_payload.py +121 -0
  490. ptctools/portainer_client/openapi_client/models/endpoints_dockerhub_status_response.py +90 -0
  491. ptctools/portainer_client/openapi_client/models/endpoints_endpoint_create_global_key_response.py +88 -0
  492. ptctools/portainer_client/openapi_client/models/endpoints_endpoint_delete_batch_partial_response.py +90 -0
  493. ptctools/portainer_client/openapi_client/models/endpoints_endpoint_delete_batch_payload.py +96 -0
  494. ptctools/portainer_client/openapi_client/models/endpoints_endpoint_delete_request.py +90 -0
  495. ptctools/portainer_client/openapi_client/models/endpoints_endpoint_settings_update_payload.py +116 -0
  496. ptctools/portainer_client/openapi_client/models/endpoints_endpoint_update_payload.py +157 -0
  497. ptctools/portainer_client/openapi_client/models/endpoints_endpoint_update_relations_payload.py +101 -0
  498. ptctools/portainer_client/openapi_client/models/endpoints_endpoint_update_relations_payload_relations_value.py +92 -0
  499. ptctools/portainer_client/openapi_client/models/endpoints_force_update_service_payload.py +90 -0
  500. ptctools/portainer_client/openapi_client/models/endpoints_registry_access_payload.py +117 -0
  501. ptctools/portainer_client/openapi_client/models/filesystem_dir_entry.py +95 -0
  502. ptctools/portainer_client/openapi_client/models/github_com_portainer_portainer_pkg_libhelm_release_hook.py +106 -0
  503. ptctools/portainer_client/openapi_client/models/github_com_portainer_portainer_pkg_libhelm_release_hook_execution.py +92 -0
  504. ptctools/portainer_client/openapi_client/models/github_com_portainer_portainer_pkg_libhelm_release_info.py +108 -0
  505. ptctools/portainer_client/openapi_client/models/github_com_portainer_portainer_pkg_libhelm_release_release.py +132 -0
  506. ptctools/portainer_client/openapi_client/models/gitops_file_response.py +88 -0
  507. ptctools/portainer_client/openapi_client/models/gitops_repository_file_preview_payload.py +101 -0
  508. ptctools/portainer_client/openapi_client/models/gittypes_git_authentication.py +95 -0
  509. ptctools/portainer_client/openapi_client/models/gittypes_git_credential_auth_type.py +38 -0
  510. ptctools/portainer_client/openapi_client/models/gittypes_repo_config.py +102 -0
  511. ptctools/portainer_client/openapi_client/models/helm_install_chart_payload.py +100 -0
  512. ptctools/portainer_client/openapi_client/models/images_image_response.py +98 -0
  513. ptctools/portainer_client/openapi_client/models/intstr_int_or_string.py +93 -0
  514. ptctools/portainer_client/openapi_client/models/intstr_type.py +38 -0
  515. ptctools/portainer_client/openapi_client/models/k8s_io_api_core_v1_condition_status.py +39 -0
  516. ptctools/portainer_client/openapi_client/models/k8s_io_api_rbac_v1_subject.py +94 -0
  517. ptctools/portainer_client/openapi_client/models/k8s_io_apimachinery_pkg_apis_meta_v1_condition_status.py +39 -0
  518. ptctools/portainer_client/openapi_client/models/kubernetes_configuration.py +92 -0
  519. ptctools/portainer_client/openapi_client/models/kubernetes_custom_resource_metadata.py +92 -0
  520. ptctools/portainer_client/openapi_client/models/kubernetes_describe_resource_response.py +88 -0
  521. ptctools/portainer_client/openapi_client/models/kubernetes_ingress_rule.py +102 -0
  522. ptctools/portainer_client/openapi_client/models/kubernetes_k8s_application.py +198 -0
  523. ptctools/portainer_client/openapi_client/models/kubernetes_k8s_application_resource.py +94 -0
  524. ptctools/portainer_client/openapi_client/models/kubernetes_k8s_cluster_role.py +94 -0
  525. ptctools/portainer_client/openapi_client/models/kubernetes_k8s_cluster_role_binding.py +112 -0
  526. ptctools/portainer_client/openapi_client/models/kubernetes_k8s_config_map.py +116 -0
  527. ptctools/portainer_client/openapi_client/models/kubernetes_k8s_configuration_owner_resource.py +92 -0
  528. ptctools/portainer_client/openapi_client/models/kubernetes_k8s_cron_job.py +112 -0
  529. ptctools/portainer_client/openapi_client/models/kubernetes_k8s_dashboard.py +100 -0
  530. ptctools/portainer_client/openapi_client/models/kubernetes_k8s_event.py +114 -0
  531. ptctools/portainer_client/openapi_client/models/kubernetes_k8s_event_involved_object.py +94 -0
  532. ptctools/portainer_client/openapi_client/models/kubernetes_k8s_ingress_controller.py +98 -0
  533. ptctools/portainer_client/openapi_client/models/kubernetes_k8s_ingress_info.py +124 -0
  534. ptctools/portainer_client/openapi_client/models/kubernetes_k8s_ingress_path.py +100 -0
  535. ptctools/portainer_client/openapi_client/models/kubernetes_k8s_ingress_tls.py +90 -0
  536. ptctools/portainer_client/openapi_client/models/kubernetes_k8s_job.py +118 -0
  537. ptctools/portainer_client/openapi_client/models/kubernetes_k8s_namespace_details.py +98 -0
  538. ptctools/portainer_client/openapi_client/models/kubernetes_k8s_persistent_volume.py +128 -0
  539. ptctools/portainer_client/openapi_client/models/kubernetes_k8s_persistent_volume_claim.py +136 -0
  540. ptctools/portainer_client/openapi_client/models/kubernetes_k8s_resource_quota.py +92 -0
  541. ptctools/portainer_client/openapi_client/models/kubernetes_k8s_role.py +96 -0
  542. ptctools/portainer_client/openapi_client/models/kubernetes_k8s_role_binding.py +112 -0
  543. ptctools/portainer_client/openapi_client/models/kubernetes_k8s_secret.py +118 -0
  544. ptctools/portainer_client/openapi_client/models/kubernetes_k8s_service_account.py +96 -0
  545. ptctools/portainer_client/openapi_client/models/kubernetes_k8s_service_info.py +140 -0
  546. ptctools/portainer_client/openapi_client/models/kubernetes_k8s_service_ingress.py +90 -0
  547. ptctools/portainer_client/openapi_client/models/kubernetes_k8s_service_port.py +96 -0
  548. ptctools/portainer_client/openapi_client/models/kubernetes_k8s_storage_class.py +95 -0
  549. ptctools/portainer_client/openapi_client/models/kubernetes_k8s_volume_info.py +104 -0
  550. ptctools/portainer_client/openapi_client/models/kubernetes_metadata.py +90 -0
  551. ptctools/portainer_client/openapi_client/models/kubernetes_namespaces_toggle_system_payload.py +88 -0
  552. ptctools/portainer_client/openapi_client/models/kubernetes_pod.py +110 -0
  553. ptctools/portainer_client/openapi_client/models/kubernetes_published_port.py +98 -0
  554. ptctools/portainer_client/openapi_client/models/kubernetes_tls_info.py +88 -0
  555. ptctools/portainer_client/openapi_client/models/ldap_check_payload.py +92 -0
  556. ptctools/portainer_client/openapi_client/models/motd_motd_response.py +96 -0
  557. ptctools/portainer_client/openapi_client/models/oauth2_auth_style.py +39 -0
  558. ptctools/portainer_client/openapi_client/models/openamt_device_action_payload.py +88 -0
  559. ptctools/portainer_client/openapi_client/models/openamt_device_features_payload.py +92 -0
  560. ptctools/portainer_client/openapi_client/models/openamt_open_amt_configure_payload.py +102 -0
  561. ptctools/portainer_client/openapi_client/models/os_file_mode.py +51 -0
  562. ptctools/portainer_client/openapi_client/models/platform_container_platform.py +41 -0
  563. ptctools/portainer_client/openapi_client/models/portainer_access_policy.py +88 -0
  564. ptctools/portainer_client/openapi_client/models/portainer_api_key.py +100 -0
  565. ptctools/portainer_client/openapi_client/models/portainer_authentication_method.py +40 -0
  566. ptctools/portainer_client/openapi_client/models/portainer_auto_update_settings.py +96 -0
  567. ptctools/portainer_client/openapi_client/models/portainer_azure_credentials.py +92 -0
  568. ptctools/portainer_client/openapi_client/models/portainer_custom_template.py +134 -0
  569. ptctools/portainer_client/openapi_client/models/portainer_custom_template_platform.py +39 -0
  570. ptctools/portainer_client/openapi_client/models/portainer_custom_template_variable_definition.py +94 -0
  571. ptctools/portainer_client/openapi_client/models/portainer_diagnostics_data.py +94 -0
  572. ptctools/portainer_client/openapi_client/models/portainer_docker_snapshot.py +136 -0
  573. ptctools/portainer_client/openapi_client/models/portainer_ecr_data.py +88 -0
  574. ptctools/portainer_client/openapi_client/models/portainer_edge.py +94 -0
  575. ptctools/portainer_client/openapi_client/models/portainer_edge_group.py +100 -0
  576. ptctools/portainer_client/openapi_client/models/portainer_edge_job.py +131 -0
  577. ptctools/portainer_client/openapi_client/models/portainer_edge_job_endpoint_meta.py +91 -0
  578. ptctools/portainer_client/openapi_client/models/portainer_edge_job_logs_status.py +40 -0
  579. ptctools/portainer_client/openapi_client/models/portainer_edge_stack.py +124 -0
  580. ptctools/portainer_client/openapi_client/models/portainer_edge_stack_deployment_status.py +97 -0
  581. ptctools/portainer_client/openapi_client/models/portainer_edge_stack_deployment_type.py +38 -0
  582. ptctools/portainer_client/openapi_client/models/portainer_edge_stack_status.py +117 -0
  583. ptctools/portainer_client/openapi_client/models/portainer_edge_stack_status_details.py +100 -0
  584. ptctools/portainer_client/openapi_client/models/portainer_edge_stack_status_type.py +50 -0
  585. ptctools/portainer_client/openapi_client/models/portainer_endpoint.py +233 -0
  586. ptctools/portainer_client/openapi_client/models/portainer_endpoint_agent.py +88 -0
  587. ptctools/portainer_client/openapi_client/models/portainer_endpoint_group.py +139 -0
  588. ptctools/portainer_client/openapi_client/models/portainer_endpoint_post_init_migrations.py +90 -0
  589. ptctools/portainer_client/openapi_client/models/portainer_endpoint_security_settings.py +104 -0
  590. ptctools/portainer_client/openapi_client/models/portainer_endpoint_status.py +39 -0
  591. ptctools/portainer_client/openapi_client/models/portainer_endpoint_type.py +44 -0
  592. ptctools/portainer_client/openapi_client/models/portainer_environment_edge_settings.py +94 -0
  593. ptctools/portainer_client/openapi_client/models/portainer_github_registry_data.py +90 -0
  594. ptctools/portainer_client/openapi_client/models/portainer_gitlab_registry_data.py +92 -0
  595. ptctools/portainer_client/openapi_client/models/portainer_global_deployment_options.py +88 -0
  596. ptctools/portainer_client/openapi_client/models/portainer_helm_user_repository.py +92 -0
  597. ptctools/portainer_client/openapi_client/models/portainer_internal_auth_settings.py +88 -0
  598. ptctools/portainer_client/openapi_client/models/portainer_k8s_namespace_info.py +114 -0
  599. ptctools/portainer_client/openapi_client/models/portainer_k8s_node_limits.py +90 -0
  600. ptctools/portainer_client/openapi_client/models/portainer_kubernetes_configuration.py +120 -0
  601. ptctools/portainer_client/openapi_client/models/portainer_kubernetes_data.py +108 -0
  602. ptctools/portainer_client/openapi_client/models/portainer_kubernetes_flags.py +92 -0
  603. ptctools/portainer_client/openapi_client/models/portainer_kubernetes_ingress_class_config.py +94 -0
  604. ptctools/portainer_client/openapi_client/models/portainer_kubernetes_snapshot.py +108 -0
  605. ptctools/portainer_client/openapi_client/models/portainer_kubernetes_storage_class_config.py +94 -0
  606. ptctools/portainer_client/openapi_client/models/portainer_ldap_group_search_settings.py +92 -0
  607. ptctools/portainer_client/openapi_client/models/portainer_ldap_search_settings.py +92 -0
  608. ptctools/portainer_client/openapi_client/models/portainer_ldap_settings.py +124 -0
  609. ptctools/portainer_client/openapi_client/models/portainer_membership_role.py +39 -0
  610. ptctools/portainer_client/openapi_client/models/portainer_o_auth_settings.py +115 -0
  611. ptctools/portainer_client/openapi_client/models/portainer_open_amt_configuration.py +104 -0
  612. ptctools/portainer_client/openapi_client/models/portainer_open_amt_device_enabled_features.py +96 -0
  613. ptctools/portainer_client/openapi_client/models/portainer_pair.py +90 -0
  614. ptctools/portainer_client/openapi_client/models/portainer_performance_metrics.py +92 -0
  615. ptctools/portainer_client/openapi_client/models/portainer_quay_registry_data.py +90 -0
  616. ptctools/portainer_client/openapi_client/models/portainer_registry.py +185 -0
  617. ptctools/portainer_client/openapi_client/models/portainer_registry_access_policies.py +117 -0
  618. ptctools/portainer_client/openapi_client/models/portainer_registry_management_configuration.py +111 -0
  619. ptctools/portainer_client/openapi_client/models/portainer_registry_type.py +45 -0
  620. ptctools/portainer_client/openapi_client/models/portainer_resource_access_level.py +38 -0
  621. ptctools/portainer_client/openapi_client/models/portainer_resource_control.py +126 -0
  622. ptctools/portainer_client/openapi_client/models/portainer_resource_control_type.py +46 -0
  623. ptctools/portainer_client/openapi_client/models/portainer_role.py +96 -0
  624. ptctools/portainer_client/openapi_client/models/portainer_settings.py +187 -0
  625. ptctools/portainer_client/openapi_client/models/portainer_ssl_settings.py +94 -0
  626. ptctools/portainer_client/openapi_client/models/portainer_stack.py +152 -0
  627. ptctools/portainer_client/openapi_client/models/portainer_stack_deployment_info.py +92 -0
  628. ptctools/portainer_client/openapi_client/models/portainer_stack_option.py +88 -0
  629. ptctools/portainer_client/openapi_client/models/portainer_stack_status.py +39 -0
  630. ptctools/portainer_client/openapi_client/models/portainer_stack_type.py +40 -0
  631. ptctools/portainer_client/openapi_client/models/portainer_tag.py +94 -0
  632. ptctools/portainer_client/openapi_client/models/portainer_team.py +90 -0
  633. ptctools/portainer_client/openapi_client/models/portainer_team_membership.py +95 -0
  634. ptctools/portainer_client/openapi_client/models/portainer_team_resource_access.py +91 -0
  635. ptctools/portainer_client/openapi_client/models/portainer_template.py +163 -0
  636. ptctools/portainer_client/openapi_client/models/portainer_template_env.py +106 -0
  637. ptctools/portainer_client/openapi_client/models/portainer_template_env_select.py +92 -0
  638. ptctools/portainer_client/openapi_client/models/portainer_template_repository.py +90 -0
  639. ptctools/portainer_client/openapi_client/models/portainer_template_type.py +40 -0
  640. ptctools/portainer_client/openapi_client/models/portainer_template_volume.py +92 -0
  641. ptctools/portainer_client/openapi_client/models/portainer_tls_configuration.py +96 -0
  642. ptctools/portainer_client/openapi_client/models/portainer_user.py +109 -0
  643. ptctools/portainer_client/openapi_client/models/portainer_user_resource_access.py +91 -0
  644. ptctools/portainer_client/openapi_client/models/portainer_user_role.py +39 -0
  645. ptctools/portainer_client/openapi_client/models/portainer_user_theme_settings.py +98 -0
  646. ptctools/portainer_client/openapi_client/models/portainer_webhook.py +99 -0
  647. ptctools/portainer_client/openapi_client/models/portainer_webhook_type.py +38 -0
  648. ptctools/portainer_client/openapi_client/models/registries_registry_configure_payload.py +104 -0
  649. ptctools/portainer_client/openapi_client/models/registries_registry_create_payload.py +119 -0
  650. ptctools/portainer_client/openapi_client/models/registries_registry_update_payload.py +125 -0
  651. ptctools/portainer_client/openapi_client/models/release_chart.py +121 -0
  652. ptctools/portainer_client/openapi_client/models/release_chart_reference.py +92 -0
  653. ptctools/portainer_client/openapi_client/models/release_dependency.py +102 -0
  654. ptctools/portainer_client/openapi_client/models/release_file.py +90 -0
  655. ptctools/portainer_client/openapi_client/models/release_lock.py +100 -0
  656. ptctools/portainer_client/openapi_client/models/release_maintainer.py +92 -0
  657. ptctools/portainer_client/openapi_client/models/release_metadata.py +136 -0
  658. ptctools/portainer_client/openapi_client/models/release_release_element.py +100 -0
  659. ptctools/portainer_client/openapi_client/models/release_values.py +90 -0
  660. ptctools/portainer_client/openapi_client/models/resource_quantity.py +98 -0
  661. ptctools/portainer_client/openapi_client/models/resourcecontrols_resource_control_create_payload.py +101 -0
  662. ptctools/portainer_client/openapi_client/models/resourcecontrols_resource_control_update_payload.py +94 -0
  663. ptctools/portainer_client/openapi_client/models/settings_public_settings_response.py +123 -0
  664. ptctools/portainer_client/openapi_client/models/settings_public_settings_response_edge.py +94 -0
  665. ptctools/portainer_client/openapi_client/models/settings_settings_update_payload.py +148 -0
  666. ptctools/portainer_client/openapi_client/models/ssl_ssl_update_payload.py +92 -0
  667. ptctools/portainer_client/openapi_client/models/stacks_compose_stack_from_file_content_payload.py +102 -0
  668. ptctools/portainer_client/openapi_client/models/stacks_compose_stack_from_git_repository_payload.py +122 -0
  669. ptctools/portainer_client/openapi_client/models/stacks_kubernetes_git_deployment_payload.py +114 -0
  670. ptctools/portainer_client/openapi_client/models/stacks_kubernetes_manifest_url_deployment_payload.py +94 -0
  671. ptctools/portainer_client/openapi_client/models/stacks_kubernetes_string_deployment_payload.py +96 -0
  672. ptctools/portainer_client/openapi_client/models/stacks_stack_file_response.py +88 -0
  673. ptctools/portainer_client/openapi_client/models/stacks_stack_git_redploy_payload.py +113 -0
  674. ptctools/portainer_client/openapi_client/models/stacks_stack_git_update_payload.py +117 -0
  675. ptctools/portainer_client/openapi_client/models/stacks_stack_migrate_payload.py +92 -0
  676. ptctools/portainer_client/openapi_client/models/stacks_swarm_stack_from_file_content_payload.py +104 -0
  677. ptctools/portainer_client/openapi_client/models/stacks_swarm_stack_from_git_repository_payload.py +124 -0
  678. ptctools/portainer_client/openapi_client/models/stacks_update_swarm_stack_payload.py +102 -0
  679. ptctools/portainer_client/openapi_client/models/swarm_service_update_response.py +88 -0
  680. ptctools/portainer_client/openapi_client/models/system_nodes_count_response.py +88 -0
  681. ptctools/portainer_client/openapi_client/models/system_status.py +90 -0
  682. ptctools/portainer_client/openapi_client/models/system_system_info_response.py +93 -0
  683. ptctools/portainer_client/openapi_client/models/system_version_response.py +116 -0
  684. ptctools/portainer_client/openapi_client/models/tags_tag_create_payload.py +88 -0
  685. ptctools/portainer_client/openapi_client/models/teammemberships_team_membership_create_payload.py +92 -0
  686. ptctools/portainer_client/openapi_client/models/teammemberships_team_membership_update_payload.py +92 -0
  687. ptctools/portainer_client/openapi_client/models/teams_team_create_payload.py +90 -0
  688. ptctools/portainer_client/openapi_client/models/teams_team_update_payload.py +88 -0
  689. ptctools/portainer_client/openapi_client/models/templates_file_response.py +88 -0
  690. ptctools/portainer_client/openapi_client/models/templates_list_response.py +98 -0
  691. ptctools/portainer_client/openapi_client/models/unstructured_unstructured.py +88 -0
  692. ptctools/portainer_client/openapi_client/models/users_access_token_response.py +94 -0
  693. ptctools/portainer_client/openapi_client/models/users_add_helm_repo_url_payload.py +88 -0
  694. ptctools/portainer_client/openapi_client/models/users_admin_init_payload.py +90 -0
  695. ptctools/portainer_client/openapi_client/models/users_helm_user_repository_response.py +98 -0
  696. ptctools/portainer_client/openapi_client/models/users_theme_payload.py +98 -0
  697. ptctools/portainer_client/openapi_client/models/users_user_access_token_create_payload.py +90 -0
  698. ptctools/portainer_client/openapi_client/models/users_user_create_payload.py +92 -0
  699. ptctools/portainer_client/openapi_client/models/users_user_update_password_payload.py +90 -0
  700. ptctools/portainer_client/openapi_client/models/users_user_update_payload.py +102 -0
  701. ptctools/portainer_client/openapi_client/models/v1_app_armor_profile.py +91 -0
  702. ptctools/portainer_client/openapi_client/models/v1_app_armor_profile_type.py +39 -0
  703. ptctools/portainer_client/openapi_client/models/v1_capabilities.py +90 -0
  704. ptctools/portainer_client/openapi_client/models/v1_client_ip_config.py +88 -0
  705. ptctools/portainer_client/openapi_client/models/v1_condition.py +99 -0
  706. ptctools/portainer_client/openapi_client/models/v1_config_map_env_source.py +90 -0
  707. ptctools/portainer_client/openapi_client/models/v1_config_map_key_selector.py +92 -0
  708. ptctools/portainer_client/openapi_client/models/v1_container.py +207 -0
  709. ptctools/portainer_client/openapi_client/models/v1_container_port.py +97 -0
  710. ptctools/portainer_client/openapi_client/models/v1_container_resize_policy.py +92 -0
  711. ptctools/portainer_client/openapi_client/models/v1_container_restart_policy.py +37 -0
  712. ptctools/portainer_client/openapi_client/models/v1_csi_persistent_volume_source.py +122 -0
  713. ptctools/portainer_client/openapi_client/models/v1_duration.py +88 -0
  714. ptctools/portainer_client/openapi_client/models/v1_env_from_source.py +100 -0
  715. ptctools/portainer_client/openapi_client/models/v1_env_var.py +96 -0
  716. ptctools/portainer_client/openapi_client/models/v1_env_var_source.py +110 -0
  717. ptctools/portainer_client/openapi_client/models/v1_exec_action.py +88 -0
  718. ptctools/portainer_client/openapi_client/models/v1_grpc_action.py +90 -0
  719. ptctools/portainer_client/openapi_client/models/v1_http_get_action.py +109 -0
  720. ptctools/portainer_client/openapi_client/models/v1_http_header.py +90 -0
  721. ptctools/portainer_client/openapi_client/models/v1_ip_family.py +39 -0
  722. ptctools/portainer_client/openapi_client/models/v1_ip_family_policy.py +39 -0
  723. ptctools/portainer_client/openapi_client/models/v1_label_selector.py +98 -0
  724. ptctools/portainer_client/openapi_client/models/v1_label_selector_operator.py +40 -0
  725. ptctools/portainer_client/openapi_client/models/v1_label_selector_requirement.py +93 -0
  726. ptctools/portainer_client/openapi_client/models/v1_lifecycle.py +100 -0
  727. ptctools/portainer_client/openapi_client/models/v1_lifecycle_handler.py +110 -0
  728. ptctools/portainer_client/openapi_client/models/v1_list_meta.py +94 -0
  729. ptctools/portainer_client/openapi_client/models/v1_load_balancer_ingress.py +103 -0
  730. ptctools/portainer_client/openapi_client/models/v1_load_balancer_ip_mode.py +38 -0
  731. ptctools/portainer_client/openapi_client/models/v1_load_balancer_status.py +96 -0
  732. ptctools/portainer_client/openapi_client/models/v1_managed_fields_entry.py +101 -0
  733. ptctools/portainer_client/openapi_client/models/v1_managed_fields_operation_type.py +38 -0
  734. ptctools/portainer_client/openapi_client/models/v1_mount_propagation_mode.py +39 -0
  735. ptctools/portainer_client/openapi_client/models/v1_namespace_condition.py +98 -0
  736. ptctools/portainer_client/openapi_client/models/v1_namespace_condition_type.py +41 -0
  737. ptctools/portainer_client/openapi_client/models/v1_namespace_phase.py +38 -0
  738. ptctools/portainer_client/openapi_client/models/v1_namespace_status.py +99 -0
  739. ptctools/portainer_client/openapi_client/models/v1_object_field_selector.py +90 -0
  740. ptctools/portainer_client/openapi_client/models/v1_object_meta.py +132 -0
  741. ptctools/portainer_client/openapi_client/models/v1_object_reference.py +100 -0
  742. ptctools/portainer_client/openapi_client/models/v1_owner_reference.py +98 -0
  743. ptctools/portainer_client/openapi_client/models/v1_persistent_volume_access_mode.py +40 -0
  744. ptctools/portainer_client/openapi_client/models/v1_persistent_volume_claim_phase.py +39 -0
  745. ptctools/portainer_client/openapi_client/models/v1_persistent_volume_mode.py +38 -0
  746. ptctools/portainer_client/openapi_client/models/v1_persistent_volume_reclaim_policy.py +39 -0
  747. ptctools/portainer_client/openapi_client/models/v1_port_status.py +93 -0
  748. ptctools/portainer_client/openapi_client/models/v1_probe.py +122 -0
  749. ptctools/portainer_client/openapi_client/models/v1_proc_mount_type.py +38 -0
  750. ptctools/portainer_client/openapi_client/models/v1_protocol.py +39 -0
  751. ptctools/portainer_client/openapi_client/models/v1_pull_policy.py +39 -0
  752. ptctools/portainer_client/openapi_client/models/v1_recursive_read_only_mode.py +39 -0
  753. ptctools/portainer_client/openapi_client/models/v1_resource_claim.py +90 -0
  754. ptctools/portainer_client/openapi_client/models/v1_resource_field_selector.py +96 -0
  755. ptctools/portainer_client/openapi_client/models/v1_resource_name.py +56 -0
  756. ptctools/portainer_client/openapi_client/models/v1_resource_quota.py +108 -0
  757. ptctools/portainer_client/openapi_client/models/v1_resource_quota_scope.py +43 -0
  758. ptctools/portainer_client/openapi_client/models/v1_resource_quota_spec.py +110 -0
  759. ptctools/portainer_client/openapi_client/models/v1_resource_quota_status.py +115 -0
  760. ptctools/portainer_client/openapi_client/models/v1_resource_requirements.py +125 -0
  761. ptctools/portainer_client/openapi_client/models/v1_resource_resize_restart_policy.py +38 -0
  762. ptctools/portainer_client/openapi_client/models/v1_role_ref.py +92 -0
  763. ptctools/portainer_client/openapi_client/models/v1_scope_selector.py +96 -0
  764. ptctools/portainer_client/openapi_client/models/v1_scope_selector_operator.py +40 -0
  765. ptctools/portainer_client/openapi_client/models/v1_scoped_resource_selector_requirement.py +94 -0
  766. ptctools/portainer_client/openapi_client/models/v1_se_linux_options.py +94 -0
  767. ptctools/portainer_client/openapi_client/models/v1_seccomp_profile.py +91 -0
  768. ptctools/portainer_client/openapi_client/models/v1_seccomp_profile_type.py +39 -0
  769. ptctools/portainer_client/openapi_client/models/v1_secret_env_source.py +90 -0
  770. ptctools/portainer_client/openapi_client/models/v1_secret_key_selector.py +92 -0
  771. ptctools/portainer_client/openapi_client/models/v1_secret_reference.py +90 -0
  772. ptctools/portainer_client/openapi_client/models/v1_security_context.py +131 -0
  773. ptctools/portainer_client/openapi_client/models/v1_service.py +108 -0
  774. ptctools/portainer_client/openapi_client/models/v1_service_affinity.py +38 -0
  775. ptctools/portainer_client/openapi_client/models/v1_service_external_traffic_policy.py +40 -0
  776. ptctools/portainer_client/openapi_client/models/v1_service_internal_traffic_policy.py +38 -0
  777. ptctools/portainer_client/openapi_client/models/v1_service_port.py +103 -0
  778. ptctools/portainer_client/openapi_client/models/v1_service_spec.py +144 -0
  779. ptctools/portainer_client/openapi_client/models/v1_service_status.py +102 -0
  780. ptctools/portainer_client/openapi_client/models/v1_service_type.py +40 -0
  781. ptctools/portainer_client/openapi_client/models/v1_session_affinity_config.py +92 -0
  782. ptctools/portainer_client/openapi_client/models/v1_signal.py +101 -0
  783. ptctools/portainer_client/openapi_client/models/v1_sleep_action.py +88 -0
  784. ptctools/portainer_client/openapi_client/models/v1_tcp_socket_action.py +94 -0
  785. ptctools/portainer_client/openapi_client/models/v1_termination_message_policy.py +38 -0
  786. ptctools/portainer_client/openapi_client/models/v1_uri_scheme.py +38 -0
  787. ptctools/portainer_client/openapi_client/models/v1_volume_device.py +90 -0
  788. ptctools/portainer_client/openapi_client/models/v1_volume_mount.py +102 -0
  789. ptctools/portainer_client/openapi_client/models/v1_windows_security_context_options.py +94 -0
  790. ptctools/portainer_client/openapi_client/models/v1beta1_container_metrics.py +103 -0
  791. ptctools/portainer_client/openapi_client/models/v1beta1_node_metrics.py +119 -0
  792. ptctools/portainer_client/openapi_client/models/v1beta1_node_metrics_list.py +106 -0
  793. ptctools/portainer_client/openapi_client/models/v1beta1_pod_metrics.py +114 -0
  794. ptctools/portainer_client/openapi_client/models/v1beta1_pod_metrics_list.py +106 -0
  795. ptctools/portainer_client/openapi_client/models/v2_container_resource_metric_source.py +97 -0
  796. ptctools/portainer_client/openapi_client/models/v2_container_resource_metric_status.py +97 -0
  797. ptctools/portainer_client/openapi_client/models/v2_cross_version_object_reference.py +92 -0
  798. ptctools/portainer_client/openapi_client/models/v2_external_metric_source.py +98 -0
  799. ptctools/portainer_client/openapi_client/models/v2_external_metric_status.py +98 -0
  800. ptctools/portainer_client/openapi_client/models/v2_horizontal_pod_autoscaler.py +108 -0
  801. ptctools/portainer_client/openapi_client/models/v2_horizontal_pod_autoscaler_behavior.py +97 -0
  802. ptctools/portainer_client/openapi_client/models/v2_horizontal_pod_autoscaler_condition.py +98 -0
  803. ptctools/portainer_client/openapi_client/models/v2_horizontal_pod_autoscaler_condition_type.py +39 -0
  804. ptctools/portainer_client/openapi_client/models/v2_horizontal_pod_autoscaler_spec.py +112 -0
  805. ptctools/portainer_client/openapi_client/models/v2_horizontal_pod_autoscaler_status.py +114 -0
  806. ptctools/portainer_client/openapi_client/models/v2_hpa_scaling_policy.py +93 -0
  807. ptctools/portainer_client/openapi_client/models/v2_hpa_scaling_policy_type.py +38 -0
  808. ptctools/portainer_client/openapi_client/models/v2_hpa_scaling_rules.py +107 -0
  809. ptctools/portainer_client/openapi_client/models/v2_metric_identifier.py +94 -0
  810. ptctools/portainer_client/openapi_client/models/v2_metric_source_type.py +41 -0
  811. ptctools/portainer_client/openapi_client/models/v2_metric_spec.py +119 -0
  812. ptctools/portainer_client/openapi_client/models/v2_metric_status.py +119 -0
  813. ptctools/portainer_client/openapi_client/models/v2_metric_target.py +102 -0
  814. ptctools/portainer_client/openapi_client/models/v2_metric_target_type.py +39 -0
  815. ptctools/portainer_client/openapi_client/models/v2_metric_value_status.py +99 -0
  816. ptctools/portainer_client/openapi_client/models/v2_object_metric_source.py +104 -0
  817. ptctools/portainer_client/openapi_client/models/v2_object_metric_status.py +104 -0
  818. ptctools/portainer_client/openapi_client/models/v2_pods_metric_source.py +98 -0
  819. ptctools/portainer_client/openapi_client/models/v2_pods_metric_status.py +98 -0
  820. ptctools/portainer_client/openapi_client/models/v2_resource_metric_source.py +95 -0
  821. ptctools/portainer_client/openapi_client/models/v2_resource_metric_status.py +95 -0
  822. ptctools/portainer_client/openapi_client/models/v2_scaling_policy_select.py +39 -0
  823. ptctools/portainer_client/openapi_client/models/webhooks_webhook_create_payload.py +95 -0
  824. ptctools/portainer_client/openapi_client/models/webhooks_webhook_update_payload.py +88 -0
  825. ptctools/portainer_client/openapi_client/rest.py +264 -0
  826. ptctools/portainer_client/openapi_client/test/__init__.py +0 -0
  827. ptctools/portainer_client/openapi_client/test/test_auth_api.py +53 -0
  828. ptctools/portainer_client/openapi_client/test/test_auth_authenticate_payload.py +55 -0
  829. ptctools/portainer_client/openapi_client/test/test_auth_authenticate_response.py +52 -0
  830. ptctools/portainer_client/openapi_client/test/test_auth_oauth_payload.py +52 -0
  831. ptctools/portainer_client/openapi_client/test/test_backup_api.py +46 -0
  832. ptctools/portainer_client/openapi_client/test/test_backup_backup_payload.py +52 -0
  833. ptctools/portainer_client/openapi_client/test/test_backup_restore_payload.py +56 -0
  834. ptctools/portainer_client/openapi_client/test/test_build_build_info.py +58 -0
  835. ptctools/portainer_client/openapi_client/test/test_build_dependencies_info.py +55 -0
  836. ptctools/portainer_client/openapi_client/test/test_build_runtime_info.py +54 -0
  837. ptctools/portainer_client/openapi_client/test/test_containers_container_gpus_response.py +52 -0
  838. ptctools/portainer_client/openapi_client/test/test_custom_templates_api.py +95 -0
  839. ptctools/portainer_client/openapi_client/test/test_customtemplates_custom_template_from_file_content_payload.py +70 -0
  840. ptctools/portainer_client/openapi_client/test/test_customtemplates_custom_template_from_git_repository_payload.py +77 -0
  841. ptctools/portainer_client/openapi_client/test/test_customtemplates_custom_template_update_payload.py +81 -0
  842. ptctools/portainer_client/openapi_client/test/test_customtemplates_file_response.py +52 -0
  843. ptctools/portainer_client/openapi_client/test/test_docker_api.py +53 -0
  844. ptctools/portainer_client/openapi_client/test/test_docker_container_stats.py +56 -0
  845. ptctools/portainer_client/openapi_client/test/test_docker_dashboard_response.py +64 -0
  846. ptctools/portainer_client/openapi_client/test/test_docker_images_counters.py +53 -0
  847. ptctools/portainer_client/openapi_client/test/test_edge_api.py +46 -0
  848. ptctools/portainer_client/openapi_client/test/test_edge_deployer_options_payload.py +53 -0
  849. ptctools/portainer_client/openapi_client/test/test_edge_groups_api.py +67 -0
  850. ptctools/portainer_client/openapi_client/test/test_edge_jobs_api.py +109 -0
  851. ptctools/portainer_client/openapi_client/test/test_edge_registry_credentials.py +54 -0
  852. ptctools/portainer_client/openapi_client/test/test_edge_stack_payload.py +88 -0
  853. ptctools/portainer_client/openapi_client/test/test_edge_stacks_api.py +102 -0
  854. ptctools/portainer_client/openapi_client/test/test_edgegroups_decorated_edge_group.py +70 -0
  855. ptctools/portainer_client/openapi_client/test/test_edgegroups_edge_group_create_payload.py +60 -0
  856. ptctools/portainer_client/openapi_client/test/test_edgegroups_edge_group_update_payload.py +60 -0
  857. ptctools/portainer_client/openapi_client/test/test_edgejobs_edge_job_create_from_file_content_payload.py +61 -0
  858. ptctools/portainer_client/openapi_client/test/test_edgejobs_edge_job_file_response.py +52 -0
  859. ptctools/portainer_client/openapi_client/test/test_edgejobs_edge_job_update_payload.py +61 -0
  860. ptctools/portainer_client/openapi_client/test/test_edgejobs_file_response.py +52 -0
  861. ptctools/portainer_client/openapi_client/test/test_edgejobs_task_container.py +55 -0
  862. ptctools/portainer_client/openapi_client/test/test_edgestacks_edge_stack_from_git_repository_payload.py +69 -0
  863. ptctools/portainer_client/openapi_client/test/test_edgestacks_edge_stack_from_string_payload.py +67 -0
  864. ptctools/portainer_client/openapi_client/test/test_edgestacks_stack_file_response.py +52 -0
  865. ptctools/portainer_client/openapi_client/test/test_edgestacks_update_edge_stack_payload.py +58 -0
  866. ptctools/portainer_client/openapi_client/test/test_edgestacks_update_status_payload.py +56 -0
  867. ptctools/portainer_client/openapi_client/test/test_endpoint_groups_api.py +81 -0
  868. ptctools/portainer_client/openapi_client/test/test_endpointedge_edge_job_response.py +56 -0
  869. ptctools/portainer_client/openapi_client/test/test_endpointedge_endpoint_edge_status_inspect_response.py +68 -0
  870. ptctools/portainer_client/openapi_client/test/test_endpointedge_stack_status_response.py +53 -0
  871. ptctools/portainer_client/openapi_client/test/test_endpointgroups_endpoint_group_create_payload.py +56 -0
  872. ptctools/portainer_client/openapi_client/test/test_endpointgroups_endpoint_group_update_payload.py +62 -0
  873. ptctools/portainer_client/openapi_client/test/test_endpoints_api.py +179 -0
  874. ptctools/portainer_client/openapi_client/test/test_endpoints_dockerhub_status_response.py +53 -0
  875. ptctools/portainer_client/openapi_client/test/test_endpoints_endpoint_create_global_key_response.py +52 -0
  876. ptctools/portainer_client/openapi_client/test/test_endpoints_endpoint_delete_batch_partial_response.py +57 -0
  877. ptctools/portainer_client/openapi_client/test/test_endpoints_endpoint_delete_batch_payload.py +56 -0
  878. ptctools/portainer_client/openapi_client/test/test_endpoints_endpoint_delete_request.py +53 -0
  879. ptctools/portainer_client/openapi_client/test/test_endpoints_endpoint_settings_update_payload.py +66 -0
  880. ptctools/portainer_client/openapi_client/test/test_endpoints_endpoint_update_payload.py +131 -0
  881. ptctools/portainer_client/openapi_client/test/test_endpoints_endpoint_update_relations_payload.py +61 -0
  882. ptctools/portainer_client/openapi_client/test/test_endpoints_endpoint_update_relations_payload_relations_value.py +58 -0
  883. ptctools/portainer_client/openapi_client/test/test_endpoints_force_update_service_payload.py +53 -0
  884. ptctools/portainer_client/openapi_client/test/test_endpoints_registry_access_payload.py +62 -0
  885. ptctools/portainer_client/openapi_client/test/test_filesystem_dir_entry.py +55 -0
  886. ptctools/portainer_client/openapi_client/test/test_github_com_portainer_portainer_pkg_libhelm_release_hook.py +66 -0
  887. ptctools/portainer_client/openapi_client/test/test_github_com_portainer_portainer_pkg_libhelm_release_hook_execution.py +54 -0
  888. ptctools/portainer_client/openapi_client/test/test_github_com_portainer_portainer_pkg_libhelm_release_info.py +61 -0
  889. ptctools/portainer_client/openapi_client/test/test_github_com_portainer_portainer_pkg_libhelm_release_release.py +112 -0
  890. ptctools/portainer_client/openapi_client/test/test_gitops_api.py +39 -0
  891. ptctools/portainer_client/openapi_client/test/test_gitops_file_response.py +52 -0
  892. ptctools/portainer_client/openapi_client/test/test_gitops_repository_file_preview_payload.py +59 -0
  893. ptctools/portainer_client/openapi_client/test/test_gittypes_git_authentication.py +55 -0
  894. ptctools/portainer_client/openapi_client/test/test_gittypes_git_credential_auth_type.py +34 -0
  895. ptctools/portainer_client/openapi_client/test/test_gittypes_repo_config.py +61 -0
  896. ptctools/portainer_client/openapi_client/test/test_helm_api.py +109 -0
  897. ptctools/portainer_client/openapi_client/test/test_helm_install_chart_payload.py +58 -0
  898. ptctools/portainer_client/openapi_client/test/test_images_image_response.py +59 -0
  899. ptctools/portainer_client/openapi_client/test/test_intel_api.py +74 -0
  900. ptctools/portainer_client/openapi_client/test/test_intstr_int_or_string.py +54 -0
  901. ptctools/portainer_client/openapi_client/test/test_intstr_type.py +34 -0
  902. ptctools/portainer_client/openapi_client/test/test_k8s_io_api_core_v1_condition_status.py +34 -0
  903. ptctools/portainer_client/openapi_client/test/test_k8s_io_api_rbac_v1_subject.py +55 -0
  904. ptctools/portainer_client/openapi_client/test/test_k8s_io_apimachinery_pkg_apis_meta_v1_condition_status.py +34 -0
  905. ptctools/portainer_client/openapi_client/test/test_kubernetes_api.py +480 -0
  906. ptctools/portainer_client/openapi_client/test/test_kubernetes_configuration.py +54 -0
  907. ptctools/portainer_client/openapi_client/test/test_kubernetes_custom_resource_metadata.py +54 -0
  908. ptctools/portainer_client/openapi_client/test/test_kubernetes_describe_resource_response.py +52 -0
  909. ptctools/portainer_client/openapi_client/test/test_kubernetes_ingress_rule.py +60 -0
  910. ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_application.py +152 -0
  911. ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_application_resource.py +55 -0
  912. ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_cluster_role.py +55 -0
  913. ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_cluster_role_binding.py +67 -0
  914. ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_config_map.py +73 -0
  915. ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_configuration_owner_resource.py +54 -0
  916. ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_cron_job.py +138 -0
  917. ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_dashboard.py +58 -0
  918. ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_event.py +67 -0
  919. ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_event_involved_object.py +55 -0
  920. ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_ingress_controller.py +57 -0
  921. ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_ingress_info.py +83 -0
  922. ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_ingress_path.py +58 -0
  923. ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_ingress_tls.py +55 -0
  924. ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_job.py +127 -0
  925. ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_namespace_details.py +60 -0
  926. ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_persistent_volume.py +86 -0
  927. ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_persistent_volume_claim.py +174 -0
  928. ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_resource_quota.py +54 -0
  929. ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_role.py +56 -0
  930. ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_role_binding.py +67 -0
  931. ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_secret.py +74 -0
  932. ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_service_account.py +56 -0
  933. ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_service_info.py +190 -0
  934. ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_service_ingress.py +53 -0
  935. ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_service_port.py +56 -0
  936. ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_storage_class.py +55 -0
  937. ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_volume_info.py +213 -0
  938. ptctools/portainer_client/openapi_client/test/test_kubernetes_metadata.py +57 -0
  939. ptctools/portainer_client/openapi_client/test/test_kubernetes_namespaces_toggle_system_payload.py +52 -0
  940. ptctools/portainer_client/openapi_client/test/test_kubernetes_pod.py +65 -0
  941. ptctools/portainer_client/openapi_client/test/test_kubernetes_published_port.py +64 -0
  942. ptctools/portainer_client/openapi_client/test/test_kubernetes_tls_info.py +54 -0
  943. ptctools/portainer_client/openapi_client/test/test_ldap_api.py +39 -0
  944. ptctools/portainer_client/openapi_client/test/test_ldap_check_payload.py +76 -0
  945. ptctools/portainer_client/openapi_client/test/test_motd_api.py +39 -0
  946. ptctools/portainer_client/openapi_client/test/test_motd_motd_response.py +60 -0
  947. ptctools/portainer_client/openapi_client/test/test_oauth2_auth_style.py +34 -0
  948. ptctools/portainer_client/openapi_client/test/test_openamt_device_action_payload.py +52 -0
  949. ptctools/portainer_client/openapi_client/test/test_openamt_device_features_payload.py +57 -0
  950. ptctools/portainer_client/openapi_client/test/test_openamt_open_amt_configure_payload.py +59 -0
  951. ptctools/portainer_client/openapi_client/test/test_os_file_mode.py +34 -0
  952. ptctools/portainer_client/openapi_client/test/test_platform_container_platform.py +34 -0
  953. ptctools/portainer_client/openapi_client/test/test_portainer_access_policy.py +52 -0
  954. ptctools/portainer_client/openapi_client/test/test_portainer_api_key.py +58 -0
  955. ptctools/portainer_client/openapi_client/test/test_portainer_authentication_method.py +34 -0
  956. ptctools/portainer_client/openapi_client/test/test_portainer_auto_update_settings.py +56 -0
  957. ptctools/portainer_client/openapi_client/test/test_portainer_azure_credentials.py +54 -0
  958. ptctools/portainer_client/openapi_client/test/test_portainer_custom_template.py +95 -0
  959. ptctools/portainer_client/openapi_client/test/test_portainer_custom_template_platform.py +34 -0
  960. ptctools/portainer_client/openapi_client/test/test_portainer_custom_template_variable_definition.py +55 -0
  961. ptctools/portainer_client/openapi_client/test/test_portainer_diagnostics_data.py +61 -0
  962. ptctools/portainer_client/openapi_client/test/test_portainer_docker_snapshot.py +87 -0
  963. ptctools/portainer_client/openapi_client/test/test_portainer_ecr_data.py +52 -0
  964. ptctools/portainer_client/openapi_client/test/test_portainer_edge.py +55 -0
  965. ptctools/portainer_client/openapi_client/test/test_portainer_edge_group.py +62 -0
  966. ptctools/portainer_client/openapi_client/test/test_portainer_edge_job.py +71 -0
  967. ptctools/portainer_client/openapi_client/test/test_portainer_edge_job_endpoint_meta.py +53 -0
  968. ptctools/portainer_client/openapi_client/test/test_portainer_edge_job_logs_status.py +34 -0
  969. ptctools/portainer_client/openapi_client/test/test_portainer_edge_stack.py +81 -0
  970. ptctools/portainer_client/openapi_client/test/test_portainer_edge_stack_deployment_status.py +56 -0
  971. ptctools/portainer_client/openapi_client/test/test_portainer_edge_stack_deployment_type.py +34 -0
  972. ptctools/portainer_client/openapi_client/test/test_portainer_edge_stack_status.py +75 -0
  973. ptctools/portainer_client/openapi_client/test/test_portainer_edge_stack_status_details.py +58 -0
  974. ptctools/portainer_client/openapi_client/test/test_portainer_edge_stack_status_type.py +34 -0
  975. ptctools/portainer_client/openapi_client/test/test_portainer_endpoint.py +222 -0
  976. ptctools/portainer_client/openapi_client/test/test_portainer_endpoint_agent.py +52 -0
  977. ptctools/portainer_client/openapi_client/test/test_portainer_endpoint_group.py +79 -0
  978. ptctools/portainer_client/openapi_client/test/test_portainer_endpoint_post_init_migrations.py +53 -0
  979. ptctools/portainer_client/openapi_client/test/test_portainer_endpoint_security_settings.py +60 -0
  980. ptctools/portainer_client/openapi_client/test/test_portainer_endpoint_status.py +34 -0
  981. ptctools/portainer_client/openapi_client/test/test_portainer_endpoint_type.py +34 -0
  982. ptctools/portainer_client/openapi_client/test/test_portainer_environment_edge_settings.py +55 -0
  983. ptctools/portainer_client/openapi_client/test/test_portainer_github_registry_data.py +53 -0
  984. ptctools/portainer_client/openapi_client/test/test_portainer_gitlab_registry_data.py +54 -0
  985. ptctools/portainer_client/openapi_client/test/test_portainer_global_deployment_options.py +52 -0
  986. ptctools/portainer_client/openapi_client/test/test_portainer_helm_user_repository.py +54 -0
  987. ptctools/portainer_client/openapi_client/test/test_portainer_internal_auth_settings.py +52 -0
  988. ptctools/portainer_client/openapi_client/test/test_portainer_k8s_namespace_info.py +77 -0
  989. ptctools/portainer_client/openapi_client/test/test_portainer_k8s_node_limits.py +53 -0
  990. ptctools/portainer_client/openapi_client/test/test_portainer_kubernetes_configuration.py +76 -0
  991. ptctools/portainer_client/openapi_client/test/test_portainer_kubernetes_data.py +104 -0
  992. ptctools/portainer_client/openapi_client/test/test_portainer_kubernetes_flags.py +54 -0
  993. ptctools/portainer_client/openapi_client/test/test_portainer_kubernetes_ingress_class_config.py +57 -0
  994. ptctools/portainer_client/openapi_client/test/test_portainer_kubernetes_snapshot.py +71 -0
  995. ptctools/portainer_client/openapi_client/test/test_portainer_kubernetes_storage_class_config.py +57 -0
  996. ptctools/portainer_client/openapi_client/test/test_portainer_ldap_group_search_settings.py +54 -0
  997. ptctools/portainer_client/openapi_client/test/test_portainer_ldap_search_settings.py +54 -0
  998. ptctools/portainer_client/openapi_client/test/test_portainer_ldap_settings.py +75 -0
  999. ptctools/portainer_client/openapi_client/test/test_portainer_membership_role.py +34 -0
  1000. ptctools/portainer_client/openapi_client/test/test_portainer_o_auth_settings.py +67 -0
  1001. ptctools/portainer_client/openapi_client/test/test_portainer_open_amt_configuration.py +60 -0
  1002. ptctools/portainer_client/openapi_client/test/test_portainer_open_amt_device_enabled_features.py +56 -0
  1003. ptctools/portainer_client/openapi_client/test/test_portainer_pair.py +53 -0
  1004. ptctools/portainer_client/openapi_client/test/test_portainer_performance_metrics.py +54 -0
  1005. ptctools/portainer_client/openapi_client/test/test_portainer_quay_registry_data.py +53 -0
  1006. ptctools/portainer_client/openapi_client/test/test_portainer_registry.py +116 -0
  1007. ptctools/portainer_client/openapi_client/test/test_portainer_registry_access_policies.py +62 -0
  1008. ptctools/portainer_client/openapi_client/test/test_portainer_registry_management_configuration.py +65 -0
  1009. ptctools/portainer_client/openapi_client/test/test_portainer_registry_type.py +34 -0
  1010. ptctools/portainer_client/openapi_client/test/test_portainer_resource_access_level.py +34 -0
  1011. ptctools/portainer_client/openapi_client/test/test_portainer_resource_control.py +70 -0
  1012. ptctools/portainer_client/openapi_client/test/test_portainer_resource_control_type.py +34 -0
  1013. ptctools/portainer_client/openapi_client/test/test_portainer_role.py +58 -0
  1014. ptctools/portainer_client/openapi_client/test/test_portainer_settings.py +146 -0
  1015. ptctools/portainer_client/openapi_client/test/test_portainer_ssl_settings.py +55 -0
  1016. ptctools/portainer_client/openapi_client/test/test_portainer_stack.py +106 -0
  1017. ptctools/portainer_client/openapi_client/test/test_portainer_stack_deployment_info.py +54 -0
  1018. ptctools/portainer_client/openapi_client/test/test_portainer_stack_option.py +52 -0
  1019. ptctools/portainer_client/openapi_client/test/test_portainer_stack_status.py +34 -0
  1020. ptctools/portainer_client/openapi_client/test/test_portainer_stack_type.py +34 -0
  1021. ptctools/portainer_client/openapi_client/test/test_portainer_tag.py +59 -0
  1022. ptctools/portainer_client/openapi_client/test/test_portainer_team.py +53 -0
  1023. ptctools/portainer_client/openapi_client/test/test_portainer_team_membership.py +55 -0
  1024. ptctools/portainer_client/openapi_client/test/test_portainer_team_resource_access.py +53 -0
  1025. ptctools/portainer_client/openapi_client/test/test_portainer_template.py +99 -0
  1026. ptctools/portainer_client/openapi_client/test/test_portainer_template_env.py +62 -0
  1027. ptctools/portainer_client/openapi_client/test/test_portainer_template_env_select.py +54 -0
  1028. ptctools/portainer_client/openapi_client/test/test_portainer_template_repository.py +53 -0
  1029. ptctools/portainer_client/openapi_client/test/test_portainer_template_type.py +34 -0
  1030. ptctools/portainer_client/openapi_client/test/test_portainer_template_volume.py +54 -0
  1031. ptctools/portainer_client/openapi_client/test/test_portainer_tls_configuration.py +56 -0
  1032. ptctools/portainer_client/openapi_client/test/test_portainer_user.py +67 -0
  1033. ptctools/portainer_client/openapi_client/test/test_portainer_user_resource_access.py +53 -0
  1034. ptctools/portainer_client/openapi_client/test/test_portainer_user_role.py +34 -0
  1035. ptctools/portainer_client/openapi_client/test/test_portainer_user_theme_settings.py +52 -0
  1036. ptctools/portainer_client/openapi_client/test/test_portainer_webhook.py +57 -0
  1037. ptctools/portainer_client/openapi_client/test/test_portainer_webhook_type.py +34 -0
  1038. ptctools/portainer_client/openapi_client/test/test_registries_api.py +74 -0
  1039. ptctools/portainer_client/openapi_client/test/test_registries_registry_configure_payload.py +67 -0
  1040. ptctools/portainer_client/openapi_client/test/test_registries_registry_create_payload.py +71 -0
  1041. ptctools/portainer_client/openapi_client/test/test_registries_registry_update_payload.py +79 -0
  1042. ptctools/portainer_client/openapi_client/test/test_release_chart.py +132 -0
  1043. ptctools/portainer_client/openapi_client/test/test_release_chart_reference.py +54 -0
  1044. ptctools/portainer_client/openapi_client/test/test_release_dependency.py +63 -0
  1045. ptctools/portainer_client/openapi_client/test/test_release_file.py +55 -0
  1046. ptctools/portainer_client/openapi_client/test/test_release_lock.py +68 -0
  1047. ptctools/portainer_client/openapi_client/test/test_release_maintainer.py +54 -0
  1048. ptctools/portainer_client/openapi_client/test/test_release_metadata.py +93 -0
  1049. ptctools/portainer_client/openapi_client/test/test_release_release_element.py +58 -0
  1050. ptctools/portainer_client/openapi_client/test/test_release_values.py +53 -0
  1051. ptctools/portainer_client/openapi_client/test/test_resource_controls_api.py +53 -0
  1052. ptctools/portainer_client/openapi_client/test/test_resource_quantity.py +52 -0
  1053. ptctools/portainer_client/openapi_client/test/test_resourcecontrols_resource_control_create_payload.py +60 -0
  1054. ptctools/portainer_client/openapi_client/test/test_resourcecontrols_resource_control_update_payload.py +55 -0
  1055. ptctools/portainer_client/openapi_client/test/test_roles_api.py +39 -0
  1056. ptctools/portainer_client/openapi_client/test/test_settings_api.py +53 -0
  1057. ptctools/portainer_client/openapi_client/test/test_settings_public_settings_response.py +72 -0
  1058. ptctools/portainer_client/openapi_client/test/test_settings_public_settings_response_edge.py +55 -0
  1059. ptctools/portainer_client/openapi_client/test/test_settings_settings_update_payload.py +116 -0
  1060. ptctools/portainer_client/openapi_client/test/test_ssl_api.py +46 -0
  1061. ptctools/portainer_client/openapi_client/test/test_ssl_ssl_update_payload.py +54 -0
  1062. ptctools/portainer_client/openapi_client/test/test_stacks_api.py +186 -0
  1063. ptctools/portainer_client/openapi_client/test/test_stacks_compose_stack_from_file_content_payload.py +67 -0
  1064. ptctools/portainer_client/openapi_client/test/test_stacks_compose_stack_from_git_repository_payload.py +74 -0
  1065. ptctools/portainer_client/openapi_client/test/test_stacks_kubernetes_git_deployment_payload.py +70 -0
  1066. ptctools/portainer_client/openapi_client/test/test_stacks_kubernetes_manifest_url_deployment_payload.py +55 -0
  1067. ptctools/portainer_client/openapi_client/test/test_stacks_kubernetes_string_deployment_payload.py +56 -0
  1068. ptctools/portainer_client/openapi_client/test/test_stacks_stack_file_response.py +55 -0
  1069. ptctools/portainer_client/openapi_client/test/test_stacks_stack_git_redploy_payload.py +64 -0
  1070. ptctools/portainer_client/openapi_client/test/test_stacks_stack_git_update_payload.py +69 -0
  1071. ptctools/portainer_client/openapi_client/test/test_stacks_stack_migrate_payload.py +55 -0
  1072. ptctools/portainer_client/openapi_client/test/test_stacks_swarm_stack_from_file_content_payload.py +69 -0
  1073. ptctools/portainer_client/openapi_client/test/test_stacks_swarm_stack_from_git_repository_payload.py +76 -0
  1074. ptctools/portainer_client/openapi_client/test/test_stacks_update_swarm_stack_payload.py +62 -0
  1075. ptctools/portainer_client/openapi_client/test/test_status_api.py +39 -0
  1076. ptctools/portainer_client/openapi_client/test/test_swarm_service_update_response.py +54 -0
  1077. ptctools/portainer_client/openapi_client/test/test_system_api.py +67 -0
  1078. ptctools/portainer_client/openapi_client/test/test_system_nodes_count_response.py +52 -0
  1079. ptctools/portainer_client/openapi_client/test/test_system_status.py +53 -0
  1080. ptctools/portainer_client/openapi_client/test/test_system_system_info_response.py +54 -0
  1081. ptctools/portainer_client/openapi_client/test/test_system_version_response.py +74 -0
  1082. ptctools/portainer_client/openapi_client/test/test_tags_api.py +53 -0
  1083. ptctools/portainer_client/openapi_client/test/test_tags_tag_create_payload.py +53 -0
  1084. ptctools/portainer_client/openapi_client/test/test_team_memberships_api.py +67 -0
  1085. ptctools/portainer_client/openapi_client/test/test_teammemberships_team_membership_create_payload.py +57 -0
  1086. ptctools/portainer_client/openapi_client/test/test_teammemberships_team_membership_update_payload.py +57 -0
  1087. ptctools/portainer_client/openapi_client/test/test_teams_api.py +67 -0
  1088. ptctools/portainer_client/openapi_client/test/test_teams_team_create_payload.py +54 -0
  1089. ptctools/portainer_client/openapi_client/test/test_teams_team_update_payload.py +52 -0
  1090. ptctools/portainer_client/openapi_client/test/test_templates_api.py +46 -0
  1091. ptctools/portainer_client/openapi_client/test/test_templates_file_response.py +52 -0
  1092. ptctools/portainer_client/openapi_client/test/test_templates_list_response.py +101 -0
  1093. ptctools/portainer_client/openapi_client/test/test_unstructured_unstructured.py +52 -0
  1094. ptctools/portainer_client/openapi_client/test/test_upload_api.py +39 -0
  1095. ptctools/portainer_client/openapi_client/test/test_users_access_token_response.py +60 -0
  1096. ptctools/portainer_client/openapi_client/test/test_users_add_helm_repo_url_payload.py +52 -0
  1097. ptctools/portainer_client/openapi_client/test/test_users_admin_init_payload.py +55 -0
  1098. ptctools/portainer_client/openapi_client/test/test_users_api.py +123 -0
  1099. ptctools/portainer_client/openapi_client/test/test_users_helm_user_repository_response.py +58 -0
  1100. ptctools/portainer_client/openapi_client/test/test_users_theme_payload.py +52 -0
  1101. ptctools/portainer_client/openapi_client/test/test_users_user_access_token_create_payload.py +55 -0
  1102. ptctools/portainer_client/openapi_client/test/test_users_user_create_payload.py +57 -0
  1103. ptctools/portainer_client/openapi_client/test/test_users_user_update_password_payload.py +55 -0
  1104. ptctools/portainer_client/openapi_client/test/test_users_user_update_payload.py +63 -0
  1105. ptctools/portainer_client/openapi_client/test/test_v1_app_armor_profile.py +53 -0
  1106. ptctools/portainer_client/openapi_client/test/test_v1_app_armor_profile_type.py +34 -0
  1107. ptctools/portainer_client/openapi_client/test/test_v1_capabilities.py +57 -0
  1108. ptctools/portainer_client/openapi_client/test/test_v1_client_ip_config.py +52 -0
  1109. ptctools/portainer_client/openapi_client/test/test_v1_condition.py +57 -0
  1110. ptctools/portainer_client/openapi_client/test/test_v1_config_map_env_source.py +53 -0
  1111. ptctools/portainer_client/openapi_client/test/test_v1_config_map_key_selector.py +54 -0
  1112. ptctools/portainer_client/openapi_client/test/test_v1_container.py +165 -0
  1113. ptctools/portainer_client/openapi_client/test/test_v1_container_port.py +56 -0
  1114. ptctools/portainer_client/openapi_client/test/test_v1_container_resize_policy.py +53 -0
  1115. ptctools/portainer_client/openapi_client/test/test_v1_container_restart_policy.py +34 -0
  1116. ptctools/portainer_client/openapi_client/test/test_v1_csi_persistent_volume_source.py +73 -0
  1117. ptctools/portainer_client/openapi_client/test/test_v1_duration.py +52 -0
  1118. ptctools/portainer_client/openapi_client/test/test_v1_env_from_source.py +58 -0
  1119. ptctools/portainer_client/openapi_client/test/test_v1_env_var.py +58 -0
  1120. ptctools/portainer_client/openapi_client/test/test_v1_env_var_source.py +66 -0
  1121. ptctools/portainer_client/openapi_client/test/test_v1_exec_action.py +54 -0
  1122. ptctools/portainer_client/openapi_client/test/test_v1_grpc_action.py +53 -0
  1123. ptctools/portainer_client/openapi_client/test/test_v1_http_get_action.py +63 -0
  1124. ptctools/portainer_client/openapi_client/test/test_v1_http_header.py +53 -0
  1125. ptctools/portainer_client/openapi_client/test/test_v1_ip_family.py +34 -0
  1126. ptctools/portainer_client/openapi_client/test/test_v1_ip_family_policy.py +34 -0
  1127. ptctools/portainer_client/openapi_client/test/test_v1_label_selector.py +62 -0
  1128. ptctools/portainer_client/openapi_client/test/test_v1_label_selector_operator.py +34 -0
  1129. ptctools/portainer_client/openapi_client/test/test_v1_label_selector_requirement.py +56 -0
  1130. ptctools/portainer_client/openapi_client/test/test_v1_lifecycle.py +62 -0
  1131. ptctools/portainer_client/openapi_client/test/test_v1_lifecycle_handler.py +70 -0
  1132. ptctools/portainer_client/openapi_client/test/test_v1_list_meta.py +55 -0
  1133. ptctools/portainer_client/openapi_client/test/test_v1_load_balancer_ingress.py +60 -0
  1134. ptctools/portainer_client/openapi_client/test/test_v1_load_balancer_ip_mode.py +34 -0
  1135. ptctools/portainer_client/openapi_client/test/test_v1_load_balancer_status.py +63 -0
  1136. ptctools/portainer_client/openapi_client/test/test_v1_managed_fields_entry.py +58 -0
  1137. ptctools/portainer_client/openapi_client/test/test_v1_managed_fields_operation_type.py +34 -0
  1138. ptctools/portainer_client/openapi_client/test/test_v1_mount_propagation_mode.py +34 -0
  1139. ptctools/portainer_client/openapi_client/test/test_v1_namespace_condition.py +56 -0
  1140. ptctools/portainer_client/openapi_client/test/test_v1_namespace_condition_type.py +34 -0
  1141. ptctools/portainer_client/openapi_client/test/test_v1_namespace_phase.py +34 -0
  1142. ptctools/portainer_client/openapi_client/test/test_v1_namespace_status.py +60 -0
  1143. ptctools/portainer_client/openapi_client/test/test_v1_object_field_selector.py +53 -0
  1144. ptctools/portainer_client/openapi_client/test/test_v1_object_meta.py +89 -0
  1145. ptctools/portainer_client/openapi_client/test/test_v1_object_reference.py +58 -0
  1146. ptctools/portainer_client/openapi_client/test/test_v1_owner_reference.py +57 -0
  1147. ptctools/portainer_client/openapi_client/test/test_v1_persistent_volume_access_mode.py +34 -0
  1148. ptctools/portainer_client/openapi_client/test/test_v1_persistent_volume_claim_phase.py +34 -0
  1149. ptctools/portainer_client/openapi_client/test/test_v1_persistent_volume_mode.py +34 -0
  1150. ptctools/portainer_client/openapi_client/test/test_v1_persistent_volume_reclaim_policy.py +34 -0
  1151. ptctools/portainer_client/openapi_client/test/test_v1_port_status.py +54 -0
  1152. ptctools/portainer_client/openapi_client/test/test_v1_probe.py +77 -0
  1153. ptctools/portainer_client/openapi_client/test/test_v1_proc_mount_type.py +34 -0
  1154. ptctools/portainer_client/openapi_client/test/test_v1_protocol.py +34 -0
  1155. ptctools/portainer_client/openapi_client/test/test_v1_pull_policy.py +34 -0
  1156. ptctools/portainer_client/openapi_client/test/test_v1_recursive_read_only_mode.py +34 -0
  1157. ptctools/portainer_client/openapi_client/test/test_v1_resource_claim.py +53 -0
  1158. ptctools/portainer_client/openapi_client/test/test_v1_resource_field_selector.py +55 -0
  1159. ptctools/portainer_client/openapi_client/test/test_v1_resource_name.py +34 -0
  1160. ptctools/portainer_client/openapi_client/test/test_v1_resource_quota.py +101 -0
  1161. ptctools/portainer_client/openapi_client/test/test_v1_resource_quota_scope.py +34 -0
  1162. ptctools/portainer_client/openapi_client/test/test_v1_resource_quota_spec.py +67 -0
  1163. ptctools/portainer_client/openapi_client/test/test_v1_resource_quota_status.py +59 -0
  1164. ptctools/portainer_client/openapi_client/test/test_v1_resource_requirements.py +64 -0
  1165. ptctools/portainer_client/openapi_client/test/test_v1_resource_resize_restart_policy.py +34 -0
  1166. ptctools/portainer_client/openapi_client/test/test_v1_role_ref.py +54 -0
  1167. ptctools/portainer_client/openapi_client/test/test_v1_scope_selector.py +59 -0
  1168. ptctools/portainer_client/openapi_client/test/test_v1_scope_selector_operator.py +34 -0
  1169. ptctools/portainer_client/openapi_client/test/test_v1_scoped_resource_selector_requirement.py +56 -0
  1170. ptctools/portainer_client/openapi_client/test/test_v1_se_linux_options.py +55 -0
  1171. ptctools/portainer_client/openapi_client/test/test_v1_seccomp_profile.py +53 -0
  1172. ptctools/portainer_client/openapi_client/test/test_v1_seccomp_profile_type.py +34 -0
  1173. ptctools/portainer_client/openapi_client/test/test_v1_secret_env_source.py +53 -0
  1174. ptctools/portainer_client/openapi_client/test/test_v1_secret_key_selector.py +54 -0
  1175. ptctools/portainer_client/openapi_client/test/test_v1_secret_reference.py +53 -0
  1176. ptctools/portainer_client/openapi_client/test/test_v1_security_context.py +81 -0
  1177. ptctools/portainer_client/openapi_client/test/test_v1_service.py +142 -0
  1178. ptctools/portainer_client/openapi_client/test/test_v1_service_affinity.py +34 -0
  1179. ptctools/portainer_client/openapi_client/test/test_v1_service_external_traffic_policy.py +34 -0
  1180. ptctools/portainer_client/openapi_client/test/test_v1_service_internal_traffic_policy.py +34 -0
  1181. ptctools/portainer_client/openapi_client/test/test_v1_service_port.py +60 -0
  1182. ptctools/portainer_client/openapi_client/test/test_v1_service_spec.py +90 -0
  1183. ptctools/portainer_client/openapi_client/test/test_v1_service_status.py +73 -0
  1184. ptctools/portainer_client/openapi_client/test/test_v1_service_type.py +34 -0
  1185. ptctools/portainer_client/openapi_client/test/test_v1_session_affinity_config.py +53 -0
  1186. ptctools/portainer_client/openapi_client/test/test_v1_signal.py +34 -0
  1187. ptctools/portainer_client/openapi_client/test/test_v1_sleep_action.py +52 -0
  1188. ptctools/portainer_client/openapi_client/test/test_v1_tcp_socket_action.py +56 -0
  1189. ptctools/portainer_client/openapi_client/test/test_v1_termination_message_policy.py +34 -0
  1190. ptctools/portainer_client/openapi_client/test/test_v1_uri_scheme.py +34 -0
  1191. ptctools/portainer_client/openapi_client/test/test_v1_volume_device.py +53 -0
  1192. ptctools/portainer_client/openapi_client/test/test_v1_volume_mount.py +58 -0
  1193. ptctools/portainer_client/openapi_client/test/test_v1_windows_security_context_options.py +55 -0
  1194. ptctools/portainer_client/openapi_client/test/test_v1beta1_container_metrics.py +56 -0
  1195. ptctools/portainer_client/openapi_client/test/test_v1beta1_node_metrics.py +99 -0
  1196. ptctools/portainer_client/openapi_client/test/test_v1beta1_node_metrics_list.py +68 -0
  1197. ptctools/portainer_client/openapi_client/test/test_v1beta1_pod_metrics.py +100 -0
  1198. ptctools/portainer_client/openapi_client/test/test_v1beta1_pod_metrics_list.py +72 -0
  1199. ptctools/portainer_client/openapi_client/test/test_v2_container_resource_metric_source.py +58 -0
  1200. ptctools/portainer_client/openapi_client/test/test_v2_container_resource_metric_status.py +57 -0
  1201. ptctools/portainer_client/openapi_client/test/test_v2_cross_version_object_reference.py +54 -0
  1202. ptctools/portainer_client/openapi_client/test/test_v2_external_metric_source.py +59 -0
  1203. ptctools/portainer_client/openapi_client/test/test_v2_external_metric_status.py +58 -0
  1204. ptctools/portainer_client/openapi_client/test/test_v2_horizontal_pod_autoscaler.py +128 -0
  1205. ptctools/portainer_client/openapi_client/test/test_v2_horizontal_pod_autoscaler_behavior.py +71 -0
  1206. ptctools/portainer_client/openapi_client/test/test_v2_horizontal_pod_autoscaler_condition.py +56 -0
  1207. ptctools/portainer_client/openapi_client/test/test_v2_horizontal_pod_autoscaler_condition_type.py +34 -0
  1208. ptctools/portainer_client/openapi_client/test/test_v2_horizontal_pod_autoscaler_spec.py +69 -0
  1209. ptctools/portainer_client/openapi_client/test/test_v2_horizontal_pod_autoscaler_status.py +72 -0
  1210. ptctools/portainer_client/openapi_client/test/test_v2_hpa_scaling_policy.py +54 -0
  1211. ptctools/portainer_client/openapi_client/test/test_v2_hpa_scaling_policy_type.py +34 -0
  1212. ptctools/portainer_client/openapi_client/test/test_v2_hpa_scaling_rules.py +61 -0
  1213. ptctools/portainer_client/openapi_client/test/test_v2_metric_identifier.py +64 -0
  1214. ptctools/portainer_client/openapi_client/test/test_v2_metric_source_type.py +34 -0
  1215. ptctools/portainer_client/openapi_client/test/test_v2_metric_spec.py +69 -0
  1216. ptctools/portainer_client/openapi_client/test/test_v2_metric_status.py +69 -0
  1217. ptctools/portainer_client/openapi_client/test/test_v2_metric_target.py +57 -0
  1218. ptctools/portainer_client/openapi_client/test/test_v2_metric_target_type.py +34 -0
  1219. ptctools/portainer_client/openapi_client/test/test_v2_metric_value_status.py +56 -0
  1220. ptctools/portainer_client/openapi_client/test/test_v2_object_metric_source.py +63 -0
  1221. ptctools/portainer_client/openapi_client/test/test_v2_object_metric_status.py +62 -0
  1222. ptctools/portainer_client/openapi_client/test/test_v2_pods_metric_source.py +59 -0
  1223. ptctools/portainer_client/openapi_client/test/test_v2_pods_metric_status.py +58 -0
  1224. ptctools/portainer_client/openapi_client/test/test_v2_resource_metric_source.py +57 -0
  1225. ptctools/portainer_client/openapi_client/test/test_v2_resource_metric_status.py +56 -0
  1226. ptctools/portainer_client/openapi_client/test/test_v2_scaling_policy_select.py +34 -0
  1227. ptctools/portainer_client/openapi_client/test/test_webhooks_api.py +67 -0
  1228. ptctools/portainer_client/openapi_client/test/test_webhooks_webhook_create_payload.py +55 -0
  1229. ptctools/portainer_client/openapi_client/test/test_webhooks_webhook_update_payload.py +52 -0
  1230. ptctools/portainer_client/openapi_client/test/test_websocket_api.py +60 -0
  1231. ptctools/portainer_client/openapi_client_README.md +707 -0
  1232. ptctools/secret.py +146 -0
  1233. ptctools/stack.py +216 -261
  1234. ptctools/utils.py +8 -0
  1235. ptctools/volume.py +668 -89
  1236. ptctools-0.2.0.dist-info/METADATA +162 -0
  1237. ptctools-0.2.0.dist-info/RECORD +1241 -0
  1238. ptctools-0.1.0.dist-info/METADATA +0 -99
  1239. ptctools-0.1.0.dist-info/RECORD +0 -14
  1240. {ptctools-0.1.0.dist-info → ptctools-0.2.0.dist-info}/WHEEL +0 -0
  1241. {ptctools-0.1.0.dist-info → ptctools-0.2.0.dist-info}/entry_points.txt +0 -0
  1242. {ptctools-0.1.0.dist-info → ptctools-0.2.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,3659 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ PortainerCE API
5
+
6
+ Portainer API is an HTTP API served by Portainer. It is used by the Portainer UI and everything you can do with the UI can be done using the HTTP API. Examples are available at https://documentation.portainer.io/api/api-examples/ You can find out more about Portainer at [http://portainer.io](http://portainer.io) and get some support on [Slack](http://portainer.io/slack/). # Authentication Most of the API environments(endpoints) require to be authenticated as well as some level of authorization to be used. Portainer API uses JSON Web Token to manage authentication and thus requires you to provide a token in the **Authorization** header of each request with the **Bearer** authentication mechanism. Example: ``` Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwidXNlcm5hbWUiOiJhZG1pbiIsInJvbGUiOjEsImV4cCI6MTQ5OTM3NjE1NH0.NJ6vE8FY1WG6jsRQzfMqeatJ4vh2TWAeeYfDhP71YEE ``` # Security Each API environment(endpoint) has an associated access policy, it is documented in the description of each environment(endpoint). Different access policies are available: - Public access - Authenticated access - Restricted access - Administrator access ### Public access No authentication is required to access the environments(endpoints) with this access policy. ### Authenticated access Authentication is required to access the environments(endpoints) with this access policy. ### Restricted access Authentication is required to access the environments(endpoints) with this access policy. Extra-checks might be added to ensure access to the resource is granted. Returned data might also be filtered. ### Administrator access Authentication as well as an administrator role are required to access the environments(endpoints) with this access policy. # Execute Docker requests Portainer **DO NOT** expose specific environments(endpoints) to manage your Docker resources (create a container, remove a volume, etc...). Instead, it acts as a reverse-proxy to the Docker HTTP API. This means that you can execute Docker requests **via** the Portainer HTTP API. To do so, you can use the `/endpoints/{id}/docker` Portainer API environment(endpoint) (which is not documented below due to Swagger limitations). This environment(endpoint) has a restricted access policy so you still need to be authenticated to be able to query this environment(endpoint). Any query on this environment(endpoint) will be proxied to the Docker API of the associated environment(endpoint) (requests and responses objects are the same as documented in the Docker API). # Private Registry Using private registry, you will need to pass a based64 encoded JSON string ‘{\"registryId\":\\<registryID value\\>}’ inside the Request Header. The parameter name is \"X-Registry-Auth\". \\<registryID value\\> - The registry ID where the repository was created. Example: ``` eyJyZWdpc3RyeUlkIjoxfQ== ``` **NOTE**: You can find more information on how to query the Docker API in the [Docker official documentation](https://docs.docker.com/engine/api/v1.30/) as well as in [this Portainer example](https://documentation.portainer.io/api/api-examples/).
7
+
8
+ The version of the OpenAPI document: 2.33.6
9
+ Contact: info@portainer.io
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+ import warnings
16
+ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
17
+ from typing import Any, Dict, List, Optional, Tuple, Union
18
+ from typing_extensions import Annotated
19
+
20
+ from pydantic import Field, StrictInt
21
+ from typing import List, Optional
22
+ from typing_extensions import Annotated
23
+ from openapi_client.models.portainer_api_key import PortainerAPIKey
24
+ from openapi_client.models.portainer_team_membership import PortainerTeamMembership
25
+ from openapi_client.models.portainer_user import PortainerUser
26
+ from openapi_client.models.users_access_token_response import UsersAccessTokenResponse
27
+ from openapi_client.models.users_admin_init_payload import UsersAdminInitPayload
28
+ from openapi_client.models.users_user_access_token_create_payload import UsersUserAccessTokenCreatePayload
29
+ from openapi_client.models.users_user_create_payload import UsersUserCreatePayload
30
+ from openapi_client.models.users_user_update_password_payload import UsersUserUpdatePasswordPayload
31
+ from openapi_client.models.users_user_update_payload import UsersUserUpdatePayload
32
+
33
+ from openapi_client.api_client import ApiClient, RequestSerialized
34
+ from openapi_client.api_response import ApiResponse
35
+ from openapi_client.rest import RESTResponseType
36
+
37
+
38
+ class UsersApi:
39
+ """NOTE: This class is auto generated by OpenAPI Generator
40
+ Ref: https://openapi-generator.tech
41
+
42
+ Do not edit the class manually.
43
+ """
44
+
45
+ def __init__(self, api_client=None) -> None:
46
+ if api_client is None:
47
+ api_client = ApiClient.get_default()
48
+ self.api_client = api_client
49
+
50
+
51
+ @validate_call
52
+ def current_user_inspect(
53
+ self,
54
+ _request_timeout: Union[
55
+ None,
56
+ Annotated[StrictFloat, Field(gt=0)],
57
+ Tuple[
58
+ Annotated[StrictFloat, Field(gt=0)],
59
+ Annotated[StrictFloat, Field(gt=0)]
60
+ ]
61
+ ] = None,
62
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
63
+ _content_type: Optional[StrictStr] = None,
64
+ _headers: Optional[Dict[StrictStr, Any]] = None,
65
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
66
+ ) -> PortainerUser:
67
+ """Inspect the current user user
68
+
69
+ Retrieve details about the current user. User passwords are filtered out, and should never be accessible. **Access policy**: authenticated
70
+
71
+ :param _request_timeout: timeout setting for this request. If one
72
+ number provided, it will be total request
73
+ timeout. It can also be a pair (tuple) of
74
+ (connection, read) timeouts.
75
+ :type _request_timeout: int, tuple(int, int), optional
76
+ :param _request_auth: set to override the auth_settings for an a single
77
+ request; this effectively ignores the
78
+ authentication in the spec for a single request.
79
+ :type _request_auth: dict, optional
80
+ :param _content_type: force content-type for the request.
81
+ :type _content_type: str, Optional
82
+ :param _headers: set to override the headers for a single
83
+ request; this effectively ignores the headers
84
+ in the spec for a single request.
85
+ :type _headers: dict, optional
86
+ :param _host_index: set to override the host_index for a single
87
+ request; this effectively ignores the host_index
88
+ in the spec for a single request.
89
+ :type _host_index: int, optional
90
+ :return: Returns the result object.
91
+ """ # noqa: E501
92
+
93
+ _param = self._current_user_inspect_serialize(
94
+ _request_auth=_request_auth,
95
+ _content_type=_content_type,
96
+ _headers=_headers,
97
+ _host_index=_host_index
98
+ )
99
+
100
+ _response_types_map: Dict[str, Optional[str]] = {
101
+ '200': "PortainerUser",
102
+ '400': None,
103
+ '403': None,
104
+ '404': None,
105
+ '500': None,
106
+ }
107
+ response_data = self.api_client.call_api(
108
+ *_param,
109
+ _request_timeout=_request_timeout
110
+ )
111
+ response_data.read()
112
+ return self.api_client.response_deserialize(
113
+ response_data=response_data,
114
+ response_types_map=_response_types_map,
115
+ ).data
116
+
117
+
118
+ @validate_call
119
+ def current_user_inspect_with_http_info(
120
+ self,
121
+ _request_timeout: Union[
122
+ None,
123
+ Annotated[StrictFloat, Field(gt=0)],
124
+ Tuple[
125
+ Annotated[StrictFloat, Field(gt=0)],
126
+ Annotated[StrictFloat, Field(gt=0)]
127
+ ]
128
+ ] = None,
129
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
130
+ _content_type: Optional[StrictStr] = None,
131
+ _headers: Optional[Dict[StrictStr, Any]] = None,
132
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
133
+ ) -> ApiResponse[PortainerUser]:
134
+ """Inspect the current user user
135
+
136
+ Retrieve details about the current user. User passwords are filtered out, and should never be accessible. **Access policy**: authenticated
137
+
138
+ :param _request_timeout: timeout setting for this request. If one
139
+ number provided, it will be total request
140
+ timeout. It can also be a pair (tuple) of
141
+ (connection, read) timeouts.
142
+ :type _request_timeout: int, tuple(int, int), optional
143
+ :param _request_auth: set to override the auth_settings for an a single
144
+ request; this effectively ignores the
145
+ authentication in the spec for a single request.
146
+ :type _request_auth: dict, optional
147
+ :param _content_type: force content-type for the request.
148
+ :type _content_type: str, Optional
149
+ :param _headers: set to override the headers for a single
150
+ request; this effectively ignores the headers
151
+ in the spec for a single request.
152
+ :type _headers: dict, optional
153
+ :param _host_index: set to override the host_index for a single
154
+ request; this effectively ignores the host_index
155
+ in the spec for a single request.
156
+ :type _host_index: int, optional
157
+ :return: Returns the result object.
158
+ """ # noqa: E501
159
+
160
+ _param = self._current_user_inspect_serialize(
161
+ _request_auth=_request_auth,
162
+ _content_type=_content_type,
163
+ _headers=_headers,
164
+ _host_index=_host_index
165
+ )
166
+
167
+ _response_types_map: Dict[str, Optional[str]] = {
168
+ '200': "PortainerUser",
169
+ '400': None,
170
+ '403': None,
171
+ '404': None,
172
+ '500': None,
173
+ }
174
+ response_data = self.api_client.call_api(
175
+ *_param,
176
+ _request_timeout=_request_timeout
177
+ )
178
+ response_data.read()
179
+ return self.api_client.response_deserialize(
180
+ response_data=response_data,
181
+ response_types_map=_response_types_map,
182
+ )
183
+
184
+
185
+ @validate_call
186
+ def current_user_inspect_without_preload_content(
187
+ self,
188
+ _request_timeout: Union[
189
+ None,
190
+ Annotated[StrictFloat, Field(gt=0)],
191
+ Tuple[
192
+ Annotated[StrictFloat, Field(gt=0)],
193
+ Annotated[StrictFloat, Field(gt=0)]
194
+ ]
195
+ ] = None,
196
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
197
+ _content_type: Optional[StrictStr] = None,
198
+ _headers: Optional[Dict[StrictStr, Any]] = None,
199
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
200
+ ) -> RESTResponseType:
201
+ """Inspect the current user user
202
+
203
+ Retrieve details about the current user. User passwords are filtered out, and should never be accessible. **Access policy**: authenticated
204
+
205
+ :param _request_timeout: timeout setting for this request. If one
206
+ number provided, it will be total request
207
+ timeout. It can also be a pair (tuple) of
208
+ (connection, read) timeouts.
209
+ :type _request_timeout: int, tuple(int, int), optional
210
+ :param _request_auth: set to override the auth_settings for an a single
211
+ request; this effectively ignores the
212
+ authentication in the spec for a single request.
213
+ :type _request_auth: dict, optional
214
+ :param _content_type: force content-type for the request.
215
+ :type _content_type: str, Optional
216
+ :param _headers: set to override the headers for a single
217
+ request; this effectively ignores the headers
218
+ in the spec for a single request.
219
+ :type _headers: dict, optional
220
+ :param _host_index: set to override the host_index for a single
221
+ request; this effectively ignores the host_index
222
+ in the spec for a single request.
223
+ :type _host_index: int, optional
224
+ :return: Returns the result object.
225
+ """ # noqa: E501
226
+
227
+ _param = self._current_user_inspect_serialize(
228
+ _request_auth=_request_auth,
229
+ _content_type=_content_type,
230
+ _headers=_headers,
231
+ _host_index=_host_index
232
+ )
233
+
234
+ _response_types_map: Dict[str, Optional[str]] = {
235
+ '200': "PortainerUser",
236
+ '400': None,
237
+ '403': None,
238
+ '404': None,
239
+ '500': None,
240
+ }
241
+ response_data = self.api_client.call_api(
242
+ *_param,
243
+ _request_timeout=_request_timeout
244
+ )
245
+ return response_data.response
246
+
247
+
248
+ def _current_user_inspect_serialize(
249
+ self,
250
+ _request_auth,
251
+ _content_type,
252
+ _headers,
253
+ _host_index,
254
+ ) -> RequestSerialized:
255
+
256
+ _host = None
257
+
258
+ _collection_formats: Dict[str, str] = {
259
+ }
260
+
261
+ _path_params: Dict[str, str] = {}
262
+ _query_params: List[Tuple[str, str]] = []
263
+ _header_params: Dict[str, Optional[str]] = _headers or {}
264
+ _form_params: List[Tuple[str, str]] = []
265
+ _files: Dict[
266
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
267
+ ] = {}
268
+ _body_params: Optional[bytes] = None
269
+
270
+ # process the path parameters
271
+ # process the query parameters
272
+ # process the header parameters
273
+ # process the form parameters
274
+ # process the body parameter
275
+
276
+
277
+ # set the HTTP header `Accept`
278
+ if 'Accept' not in _header_params:
279
+ _header_params['Accept'] = self.api_client.select_header_accept(
280
+ [
281
+ 'application/json'
282
+ ]
283
+ )
284
+
285
+
286
+ # authentication setting
287
+ _auth_settings: List[str] = [
288
+ 'jwt',
289
+ 'ApiKeyAuth'
290
+ ]
291
+
292
+ return self.api_client.param_serialize(
293
+ method='GET',
294
+ resource_path='/users/me',
295
+ path_params=_path_params,
296
+ query_params=_query_params,
297
+ header_params=_header_params,
298
+ body=_body_params,
299
+ post_params=_form_params,
300
+ files=_files,
301
+ auth_settings=_auth_settings,
302
+ collection_formats=_collection_formats,
303
+ _host=_host,
304
+ _request_auth=_request_auth
305
+ )
306
+
307
+
308
+
309
+
310
+ @validate_call
311
+ def user_admin_check(
312
+ self,
313
+ _request_timeout: Union[
314
+ None,
315
+ Annotated[StrictFloat, Field(gt=0)],
316
+ Tuple[
317
+ Annotated[StrictFloat, Field(gt=0)],
318
+ Annotated[StrictFloat, Field(gt=0)]
319
+ ]
320
+ ] = None,
321
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
322
+ _content_type: Optional[StrictStr] = None,
323
+ _headers: Optional[Dict[StrictStr, Any]] = None,
324
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
325
+ ) -> None:
326
+ """Check administrator account existence
327
+
328
+ Check if an administrator account exists in the database. **Access policy**: public
329
+
330
+ :param _request_timeout: timeout setting for this request. If one
331
+ number provided, it will be total request
332
+ timeout. It can also be a pair (tuple) of
333
+ (connection, read) timeouts.
334
+ :type _request_timeout: int, tuple(int, int), optional
335
+ :param _request_auth: set to override the auth_settings for an a single
336
+ request; this effectively ignores the
337
+ authentication in the spec for a single request.
338
+ :type _request_auth: dict, optional
339
+ :param _content_type: force content-type for the request.
340
+ :type _content_type: str, Optional
341
+ :param _headers: set to override the headers for a single
342
+ request; this effectively ignores the headers
343
+ in the spec for a single request.
344
+ :type _headers: dict, optional
345
+ :param _host_index: set to override the host_index for a single
346
+ request; this effectively ignores the host_index
347
+ in the spec for a single request.
348
+ :type _host_index: int, optional
349
+ :return: Returns the result object.
350
+ """ # noqa: E501
351
+
352
+ _param = self._user_admin_check_serialize(
353
+ _request_auth=_request_auth,
354
+ _content_type=_content_type,
355
+ _headers=_headers,
356
+ _host_index=_host_index
357
+ )
358
+
359
+ _response_types_map: Dict[str, Optional[str]] = {
360
+ '204': None,
361
+ '404': None,
362
+ }
363
+ response_data = self.api_client.call_api(
364
+ *_param,
365
+ _request_timeout=_request_timeout
366
+ )
367
+ response_data.read()
368
+ return self.api_client.response_deserialize(
369
+ response_data=response_data,
370
+ response_types_map=_response_types_map,
371
+ ).data
372
+
373
+
374
+ @validate_call
375
+ def user_admin_check_with_http_info(
376
+ self,
377
+ _request_timeout: Union[
378
+ None,
379
+ Annotated[StrictFloat, Field(gt=0)],
380
+ Tuple[
381
+ Annotated[StrictFloat, Field(gt=0)],
382
+ Annotated[StrictFloat, Field(gt=0)]
383
+ ]
384
+ ] = None,
385
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
386
+ _content_type: Optional[StrictStr] = None,
387
+ _headers: Optional[Dict[StrictStr, Any]] = None,
388
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
389
+ ) -> ApiResponse[None]:
390
+ """Check administrator account existence
391
+
392
+ Check if an administrator account exists in the database. **Access policy**: public
393
+
394
+ :param _request_timeout: timeout setting for this request. If one
395
+ number provided, it will be total request
396
+ timeout. It can also be a pair (tuple) of
397
+ (connection, read) timeouts.
398
+ :type _request_timeout: int, tuple(int, int), optional
399
+ :param _request_auth: set to override the auth_settings for an a single
400
+ request; this effectively ignores the
401
+ authentication in the spec for a single request.
402
+ :type _request_auth: dict, optional
403
+ :param _content_type: force content-type for the request.
404
+ :type _content_type: str, Optional
405
+ :param _headers: set to override the headers for a single
406
+ request; this effectively ignores the headers
407
+ in the spec for a single request.
408
+ :type _headers: dict, optional
409
+ :param _host_index: set to override the host_index for a single
410
+ request; this effectively ignores the host_index
411
+ in the spec for a single request.
412
+ :type _host_index: int, optional
413
+ :return: Returns the result object.
414
+ """ # noqa: E501
415
+
416
+ _param = self._user_admin_check_serialize(
417
+ _request_auth=_request_auth,
418
+ _content_type=_content_type,
419
+ _headers=_headers,
420
+ _host_index=_host_index
421
+ )
422
+
423
+ _response_types_map: Dict[str, Optional[str]] = {
424
+ '204': None,
425
+ '404': None,
426
+ }
427
+ response_data = self.api_client.call_api(
428
+ *_param,
429
+ _request_timeout=_request_timeout
430
+ )
431
+ response_data.read()
432
+ return self.api_client.response_deserialize(
433
+ response_data=response_data,
434
+ response_types_map=_response_types_map,
435
+ )
436
+
437
+
438
+ @validate_call
439
+ def user_admin_check_without_preload_content(
440
+ self,
441
+ _request_timeout: Union[
442
+ None,
443
+ Annotated[StrictFloat, Field(gt=0)],
444
+ Tuple[
445
+ Annotated[StrictFloat, Field(gt=0)],
446
+ Annotated[StrictFloat, Field(gt=0)]
447
+ ]
448
+ ] = None,
449
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
450
+ _content_type: Optional[StrictStr] = None,
451
+ _headers: Optional[Dict[StrictStr, Any]] = None,
452
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
453
+ ) -> RESTResponseType:
454
+ """Check administrator account existence
455
+
456
+ Check if an administrator account exists in the database. **Access policy**: public
457
+
458
+ :param _request_timeout: timeout setting for this request. If one
459
+ number provided, it will be total request
460
+ timeout. It can also be a pair (tuple) of
461
+ (connection, read) timeouts.
462
+ :type _request_timeout: int, tuple(int, int), optional
463
+ :param _request_auth: set to override the auth_settings for an a single
464
+ request; this effectively ignores the
465
+ authentication in the spec for a single request.
466
+ :type _request_auth: dict, optional
467
+ :param _content_type: force content-type for the request.
468
+ :type _content_type: str, Optional
469
+ :param _headers: set to override the headers for a single
470
+ request; this effectively ignores the headers
471
+ in the spec for a single request.
472
+ :type _headers: dict, optional
473
+ :param _host_index: set to override the host_index for a single
474
+ request; this effectively ignores the host_index
475
+ in the spec for a single request.
476
+ :type _host_index: int, optional
477
+ :return: Returns the result object.
478
+ """ # noqa: E501
479
+
480
+ _param = self._user_admin_check_serialize(
481
+ _request_auth=_request_auth,
482
+ _content_type=_content_type,
483
+ _headers=_headers,
484
+ _host_index=_host_index
485
+ )
486
+
487
+ _response_types_map: Dict[str, Optional[str]] = {
488
+ '204': None,
489
+ '404': None,
490
+ }
491
+ response_data = self.api_client.call_api(
492
+ *_param,
493
+ _request_timeout=_request_timeout
494
+ )
495
+ return response_data.response
496
+
497
+
498
+ def _user_admin_check_serialize(
499
+ self,
500
+ _request_auth,
501
+ _content_type,
502
+ _headers,
503
+ _host_index,
504
+ ) -> RequestSerialized:
505
+
506
+ _host = None
507
+
508
+ _collection_formats: Dict[str, str] = {
509
+ }
510
+
511
+ _path_params: Dict[str, str] = {}
512
+ _query_params: List[Tuple[str, str]] = []
513
+ _header_params: Dict[str, Optional[str]] = _headers or {}
514
+ _form_params: List[Tuple[str, str]] = []
515
+ _files: Dict[
516
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
517
+ ] = {}
518
+ _body_params: Optional[bytes] = None
519
+
520
+ # process the path parameters
521
+ # process the query parameters
522
+ # process the header parameters
523
+ # process the form parameters
524
+ # process the body parameter
525
+
526
+
527
+
528
+
529
+ # authentication setting
530
+ _auth_settings: List[str] = [
531
+ ]
532
+
533
+ return self.api_client.param_serialize(
534
+ method='GET',
535
+ resource_path='/users/admin/check',
536
+ path_params=_path_params,
537
+ query_params=_query_params,
538
+ header_params=_header_params,
539
+ body=_body_params,
540
+ post_params=_form_params,
541
+ files=_files,
542
+ auth_settings=_auth_settings,
543
+ collection_formats=_collection_formats,
544
+ _host=_host,
545
+ _request_auth=_request_auth
546
+ )
547
+
548
+
549
+
550
+
551
+ @validate_call
552
+ def user_admin_init(
553
+ self,
554
+ body: Annotated[UsersAdminInitPayload, Field(description="User details")],
555
+ _request_timeout: Union[
556
+ None,
557
+ Annotated[StrictFloat, Field(gt=0)],
558
+ Tuple[
559
+ Annotated[StrictFloat, Field(gt=0)],
560
+ Annotated[StrictFloat, Field(gt=0)]
561
+ ]
562
+ ] = None,
563
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
564
+ _content_type: Optional[StrictStr] = None,
565
+ _headers: Optional[Dict[StrictStr, Any]] = None,
566
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
567
+ ) -> PortainerUser:
568
+ """Initialize administrator account
569
+
570
+ Initialize the 'admin' user account. **Access policy**: public
571
+
572
+ :param body: User details (required)
573
+ :type body: UsersAdminInitPayload
574
+ :param _request_timeout: timeout setting for this request. If one
575
+ number provided, it will be total request
576
+ timeout. It can also be a pair (tuple) of
577
+ (connection, read) timeouts.
578
+ :type _request_timeout: int, tuple(int, int), optional
579
+ :param _request_auth: set to override the auth_settings for an a single
580
+ request; this effectively ignores the
581
+ authentication in the spec for a single request.
582
+ :type _request_auth: dict, optional
583
+ :param _content_type: force content-type for the request.
584
+ :type _content_type: str, Optional
585
+ :param _headers: set to override the headers for a single
586
+ request; this effectively ignores the headers
587
+ in the spec for a single request.
588
+ :type _headers: dict, optional
589
+ :param _host_index: set to override the host_index for a single
590
+ request; this effectively ignores the host_index
591
+ in the spec for a single request.
592
+ :type _host_index: int, optional
593
+ :return: Returns the result object.
594
+ """ # noqa: E501
595
+
596
+ _param = self._user_admin_init_serialize(
597
+ body=body,
598
+ _request_auth=_request_auth,
599
+ _content_type=_content_type,
600
+ _headers=_headers,
601
+ _host_index=_host_index
602
+ )
603
+
604
+ _response_types_map: Dict[str, Optional[str]] = {
605
+ '200': "PortainerUser",
606
+ '400': None,
607
+ '409': None,
608
+ '500': None,
609
+ }
610
+ response_data = self.api_client.call_api(
611
+ *_param,
612
+ _request_timeout=_request_timeout
613
+ )
614
+ response_data.read()
615
+ return self.api_client.response_deserialize(
616
+ response_data=response_data,
617
+ response_types_map=_response_types_map,
618
+ ).data
619
+
620
+
621
+ @validate_call
622
+ def user_admin_init_with_http_info(
623
+ self,
624
+ body: Annotated[UsersAdminInitPayload, Field(description="User details")],
625
+ _request_timeout: Union[
626
+ None,
627
+ Annotated[StrictFloat, Field(gt=0)],
628
+ Tuple[
629
+ Annotated[StrictFloat, Field(gt=0)],
630
+ Annotated[StrictFloat, Field(gt=0)]
631
+ ]
632
+ ] = None,
633
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
634
+ _content_type: Optional[StrictStr] = None,
635
+ _headers: Optional[Dict[StrictStr, Any]] = None,
636
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
637
+ ) -> ApiResponse[PortainerUser]:
638
+ """Initialize administrator account
639
+
640
+ Initialize the 'admin' user account. **Access policy**: public
641
+
642
+ :param body: User details (required)
643
+ :type body: UsersAdminInitPayload
644
+ :param _request_timeout: timeout setting for this request. If one
645
+ number provided, it will be total request
646
+ timeout. It can also be a pair (tuple) of
647
+ (connection, read) timeouts.
648
+ :type _request_timeout: int, tuple(int, int), optional
649
+ :param _request_auth: set to override the auth_settings for an a single
650
+ request; this effectively ignores the
651
+ authentication in the spec for a single request.
652
+ :type _request_auth: dict, optional
653
+ :param _content_type: force content-type for the request.
654
+ :type _content_type: str, Optional
655
+ :param _headers: set to override the headers for a single
656
+ request; this effectively ignores the headers
657
+ in the spec for a single request.
658
+ :type _headers: dict, optional
659
+ :param _host_index: set to override the host_index for a single
660
+ request; this effectively ignores the host_index
661
+ in the spec for a single request.
662
+ :type _host_index: int, optional
663
+ :return: Returns the result object.
664
+ """ # noqa: E501
665
+
666
+ _param = self._user_admin_init_serialize(
667
+ body=body,
668
+ _request_auth=_request_auth,
669
+ _content_type=_content_type,
670
+ _headers=_headers,
671
+ _host_index=_host_index
672
+ )
673
+
674
+ _response_types_map: Dict[str, Optional[str]] = {
675
+ '200': "PortainerUser",
676
+ '400': None,
677
+ '409': None,
678
+ '500': None,
679
+ }
680
+ response_data = self.api_client.call_api(
681
+ *_param,
682
+ _request_timeout=_request_timeout
683
+ )
684
+ response_data.read()
685
+ return self.api_client.response_deserialize(
686
+ response_data=response_data,
687
+ response_types_map=_response_types_map,
688
+ )
689
+
690
+
691
+ @validate_call
692
+ def user_admin_init_without_preload_content(
693
+ self,
694
+ body: Annotated[UsersAdminInitPayload, Field(description="User details")],
695
+ _request_timeout: Union[
696
+ None,
697
+ Annotated[StrictFloat, Field(gt=0)],
698
+ Tuple[
699
+ Annotated[StrictFloat, Field(gt=0)],
700
+ Annotated[StrictFloat, Field(gt=0)]
701
+ ]
702
+ ] = None,
703
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
704
+ _content_type: Optional[StrictStr] = None,
705
+ _headers: Optional[Dict[StrictStr, Any]] = None,
706
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
707
+ ) -> RESTResponseType:
708
+ """Initialize administrator account
709
+
710
+ Initialize the 'admin' user account. **Access policy**: public
711
+
712
+ :param body: User details (required)
713
+ :type body: UsersAdminInitPayload
714
+ :param _request_timeout: timeout setting for this request. If one
715
+ number provided, it will be total request
716
+ timeout. It can also be a pair (tuple) of
717
+ (connection, read) timeouts.
718
+ :type _request_timeout: int, tuple(int, int), optional
719
+ :param _request_auth: set to override the auth_settings for an a single
720
+ request; this effectively ignores the
721
+ authentication in the spec for a single request.
722
+ :type _request_auth: dict, optional
723
+ :param _content_type: force content-type for the request.
724
+ :type _content_type: str, Optional
725
+ :param _headers: set to override the headers for a single
726
+ request; this effectively ignores the headers
727
+ in the spec for a single request.
728
+ :type _headers: dict, optional
729
+ :param _host_index: set to override the host_index for a single
730
+ request; this effectively ignores the host_index
731
+ in the spec for a single request.
732
+ :type _host_index: int, optional
733
+ :return: Returns the result object.
734
+ """ # noqa: E501
735
+
736
+ _param = self._user_admin_init_serialize(
737
+ body=body,
738
+ _request_auth=_request_auth,
739
+ _content_type=_content_type,
740
+ _headers=_headers,
741
+ _host_index=_host_index
742
+ )
743
+
744
+ _response_types_map: Dict[str, Optional[str]] = {
745
+ '200': "PortainerUser",
746
+ '400': None,
747
+ '409': None,
748
+ '500': None,
749
+ }
750
+ response_data = self.api_client.call_api(
751
+ *_param,
752
+ _request_timeout=_request_timeout
753
+ )
754
+ return response_data.response
755
+
756
+
757
+ def _user_admin_init_serialize(
758
+ self,
759
+ body,
760
+ _request_auth,
761
+ _content_type,
762
+ _headers,
763
+ _host_index,
764
+ ) -> RequestSerialized:
765
+
766
+ _host = None
767
+
768
+ _collection_formats: Dict[str, str] = {
769
+ }
770
+
771
+ _path_params: Dict[str, str] = {}
772
+ _query_params: List[Tuple[str, str]] = []
773
+ _header_params: Dict[str, Optional[str]] = _headers or {}
774
+ _form_params: List[Tuple[str, str]] = []
775
+ _files: Dict[
776
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
777
+ ] = {}
778
+ _body_params: Optional[bytes] = None
779
+
780
+ # process the path parameters
781
+ # process the query parameters
782
+ # process the header parameters
783
+ # process the form parameters
784
+ # process the body parameter
785
+ if body is not None:
786
+ _body_params = body
787
+
788
+
789
+ # set the HTTP header `Accept`
790
+ if 'Accept' not in _header_params:
791
+ _header_params['Accept'] = self.api_client.select_header_accept(
792
+ [
793
+ 'application/json'
794
+ ]
795
+ )
796
+
797
+ # set the HTTP header `Content-Type`
798
+ if _content_type:
799
+ _header_params['Content-Type'] = _content_type
800
+ else:
801
+ _default_content_type = (
802
+ self.api_client.select_header_content_type(
803
+ [
804
+ 'application/json'
805
+ ]
806
+ )
807
+ )
808
+ if _default_content_type is not None:
809
+ _header_params['Content-Type'] = _default_content_type
810
+
811
+ # authentication setting
812
+ _auth_settings: List[str] = [
813
+ ]
814
+
815
+ return self.api_client.param_serialize(
816
+ method='POST',
817
+ resource_path='/users/admin/init',
818
+ path_params=_path_params,
819
+ query_params=_query_params,
820
+ header_params=_header_params,
821
+ body=_body_params,
822
+ post_params=_form_params,
823
+ files=_files,
824
+ auth_settings=_auth_settings,
825
+ collection_formats=_collection_formats,
826
+ _host=_host,
827
+ _request_auth=_request_auth
828
+ )
829
+
830
+
831
+
832
+
833
+ @validate_call
834
+ def user_create(
835
+ self,
836
+ body: Annotated[UsersUserCreatePayload, Field(description="User details")],
837
+ _request_timeout: Union[
838
+ None,
839
+ Annotated[StrictFloat, Field(gt=0)],
840
+ Tuple[
841
+ Annotated[StrictFloat, Field(gt=0)],
842
+ Annotated[StrictFloat, Field(gt=0)]
843
+ ]
844
+ ] = None,
845
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
846
+ _content_type: Optional[StrictStr] = None,
847
+ _headers: Optional[Dict[StrictStr, Any]] = None,
848
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
849
+ ) -> PortainerUser:
850
+ """Create a new user
851
+
852
+ Create a new Portainer user. Only administrators can create users. **Access policy**: restricted
853
+
854
+ :param body: User details (required)
855
+ :type body: UsersUserCreatePayload
856
+ :param _request_timeout: timeout setting for this request. If one
857
+ number provided, it will be total request
858
+ timeout. It can also be a pair (tuple) of
859
+ (connection, read) timeouts.
860
+ :type _request_timeout: int, tuple(int, int), optional
861
+ :param _request_auth: set to override the auth_settings for an a single
862
+ request; this effectively ignores the
863
+ authentication in the spec for a single request.
864
+ :type _request_auth: dict, optional
865
+ :param _content_type: force content-type for the request.
866
+ :type _content_type: str, Optional
867
+ :param _headers: set to override the headers for a single
868
+ request; this effectively ignores the headers
869
+ in the spec for a single request.
870
+ :type _headers: dict, optional
871
+ :param _host_index: set to override the host_index for a single
872
+ request; this effectively ignores the host_index
873
+ in the spec for a single request.
874
+ :type _host_index: int, optional
875
+ :return: Returns the result object.
876
+ """ # noqa: E501
877
+
878
+ _param = self._user_create_serialize(
879
+ body=body,
880
+ _request_auth=_request_auth,
881
+ _content_type=_content_type,
882
+ _headers=_headers,
883
+ _host_index=_host_index
884
+ )
885
+
886
+ _response_types_map: Dict[str, Optional[str]] = {
887
+ '200': "PortainerUser",
888
+ '400': None,
889
+ '403': None,
890
+ '409': None,
891
+ '500': None,
892
+ }
893
+ response_data = self.api_client.call_api(
894
+ *_param,
895
+ _request_timeout=_request_timeout
896
+ )
897
+ response_data.read()
898
+ return self.api_client.response_deserialize(
899
+ response_data=response_data,
900
+ response_types_map=_response_types_map,
901
+ ).data
902
+
903
+
904
+ @validate_call
905
+ def user_create_with_http_info(
906
+ self,
907
+ body: Annotated[UsersUserCreatePayload, Field(description="User details")],
908
+ _request_timeout: Union[
909
+ None,
910
+ Annotated[StrictFloat, Field(gt=0)],
911
+ Tuple[
912
+ Annotated[StrictFloat, Field(gt=0)],
913
+ Annotated[StrictFloat, Field(gt=0)]
914
+ ]
915
+ ] = None,
916
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
917
+ _content_type: Optional[StrictStr] = None,
918
+ _headers: Optional[Dict[StrictStr, Any]] = None,
919
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
920
+ ) -> ApiResponse[PortainerUser]:
921
+ """Create a new user
922
+
923
+ Create a new Portainer user. Only administrators can create users. **Access policy**: restricted
924
+
925
+ :param body: User details (required)
926
+ :type body: UsersUserCreatePayload
927
+ :param _request_timeout: timeout setting for this request. If one
928
+ number provided, it will be total request
929
+ timeout. It can also be a pair (tuple) of
930
+ (connection, read) timeouts.
931
+ :type _request_timeout: int, tuple(int, int), optional
932
+ :param _request_auth: set to override the auth_settings for an a single
933
+ request; this effectively ignores the
934
+ authentication in the spec for a single request.
935
+ :type _request_auth: dict, optional
936
+ :param _content_type: force content-type for the request.
937
+ :type _content_type: str, Optional
938
+ :param _headers: set to override the headers for a single
939
+ request; this effectively ignores the headers
940
+ in the spec for a single request.
941
+ :type _headers: dict, optional
942
+ :param _host_index: set to override the host_index for a single
943
+ request; this effectively ignores the host_index
944
+ in the spec for a single request.
945
+ :type _host_index: int, optional
946
+ :return: Returns the result object.
947
+ """ # noqa: E501
948
+
949
+ _param = self._user_create_serialize(
950
+ body=body,
951
+ _request_auth=_request_auth,
952
+ _content_type=_content_type,
953
+ _headers=_headers,
954
+ _host_index=_host_index
955
+ )
956
+
957
+ _response_types_map: Dict[str, Optional[str]] = {
958
+ '200': "PortainerUser",
959
+ '400': None,
960
+ '403': None,
961
+ '409': None,
962
+ '500': None,
963
+ }
964
+ response_data = self.api_client.call_api(
965
+ *_param,
966
+ _request_timeout=_request_timeout
967
+ )
968
+ response_data.read()
969
+ return self.api_client.response_deserialize(
970
+ response_data=response_data,
971
+ response_types_map=_response_types_map,
972
+ )
973
+
974
+
975
+ @validate_call
976
+ def user_create_without_preload_content(
977
+ self,
978
+ body: Annotated[UsersUserCreatePayload, Field(description="User details")],
979
+ _request_timeout: Union[
980
+ None,
981
+ Annotated[StrictFloat, Field(gt=0)],
982
+ Tuple[
983
+ Annotated[StrictFloat, Field(gt=0)],
984
+ Annotated[StrictFloat, Field(gt=0)]
985
+ ]
986
+ ] = None,
987
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
988
+ _content_type: Optional[StrictStr] = None,
989
+ _headers: Optional[Dict[StrictStr, Any]] = None,
990
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
991
+ ) -> RESTResponseType:
992
+ """Create a new user
993
+
994
+ Create a new Portainer user. Only administrators can create users. **Access policy**: restricted
995
+
996
+ :param body: User details (required)
997
+ :type body: UsersUserCreatePayload
998
+ :param _request_timeout: timeout setting for this request. If one
999
+ number provided, it will be total request
1000
+ timeout. It can also be a pair (tuple) of
1001
+ (connection, read) timeouts.
1002
+ :type _request_timeout: int, tuple(int, int), optional
1003
+ :param _request_auth: set to override the auth_settings for an a single
1004
+ request; this effectively ignores the
1005
+ authentication in the spec for a single request.
1006
+ :type _request_auth: dict, optional
1007
+ :param _content_type: force content-type for the request.
1008
+ :type _content_type: str, Optional
1009
+ :param _headers: set to override the headers for a single
1010
+ request; this effectively ignores the headers
1011
+ in the spec for a single request.
1012
+ :type _headers: dict, optional
1013
+ :param _host_index: set to override the host_index for a single
1014
+ request; this effectively ignores the host_index
1015
+ in the spec for a single request.
1016
+ :type _host_index: int, optional
1017
+ :return: Returns the result object.
1018
+ """ # noqa: E501
1019
+
1020
+ _param = self._user_create_serialize(
1021
+ body=body,
1022
+ _request_auth=_request_auth,
1023
+ _content_type=_content_type,
1024
+ _headers=_headers,
1025
+ _host_index=_host_index
1026
+ )
1027
+
1028
+ _response_types_map: Dict[str, Optional[str]] = {
1029
+ '200': "PortainerUser",
1030
+ '400': None,
1031
+ '403': None,
1032
+ '409': None,
1033
+ '500': None,
1034
+ }
1035
+ response_data = self.api_client.call_api(
1036
+ *_param,
1037
+ _request_timeout=_request_timeout
1038
+ )
1039
+ return response_data.response
1040
+
1041
+
1042
+ def _user_create_serialize(
1043
+ self,
1044
+ body,
1045
+ _request_auth,
1046
+ _content_type,
1047
+ _headers,
1048
+ _host_index,
1049
+ ) -> RequestSerialized:
1050
+
1051
+ _host = None
1052
+
1053
+ _collection_formats: Dict[str, str] = {
1054
+ }
1055
+
1056
+ _path_params: Dict[str, str] = {}
1057
+ _query_params: List[Tuple[str, str]] = []
1058
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1059
+ _form_params: List[Tuple[str, str]] = []
1060
+ _files: Dict[
1061
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1062
+ ] = {}
1063
+ _body_params: Optional[bytes] = None
1064
+
1065
+ # process the path parameters
1066
+ # process the query parameters
1067
+ # process the header parameters
1068
+ # process the form parameters
1069
+ # process the body parameter
1070
+ if body is not None:
1071
+ _body_params = body
1072
+
1073
+
1074
+ # set the HTTP header `Accept`
1075
+ if 'Accept' not in _header_params:
1076
+ _header_params['Accept'] = self.api_client.select_header_accept(
1077
+ [
1078
+ 'application/json'
1079
+ ]
1080
+ )
1081
+
1082
+ # set the HTTP header `Content-Type`
1083
+ if _content_type:
1084
+ _header_params['Content-Type'] = _content_type
1085
+ else:
1086
+ _default_content_type = (
1087
+ self.api_client.select_header_content_type(
1088
+ [
1089
+ 'application/json'
1090
+ ]
1091
+ )
1092
+ )
1093
+ if _default_content_type is not None:
1094
+ _header_params['Content-Type'] = _default_content_type
1095
+
1096
+ # authentication setting
1097
+ _auth_settings: List[str] = [
1098
+ 'jwt',
1099
+ 'ApiKeyAuth'
1100
+ ]
1101
+
1102
+ return self.api_client.param_serialize(
1103
+ method='POST',
1104
+ resource_path='/users',
1105
+ path_params=_path_params,
1106
+ query_params=_query_params,
1107
+ header_params=_header_params,
1108
+ body=_body_params,
1109
+ post_params=_form_params,
1110
+ files=_files,
1111
+ auth_settings=_auth_settings,
1112
+ collection_formats=_collection_formats,
1113
+ _host=_host,
1114
+ _request_auth=_request_auth
1115
+ )
1116
+
1117
+
1118
+
1119
+
1120
+ @validate_call
1121
+ def user_delete(
1122
+ self,
1123
+ id: Annotated[StrictInt, Field(description="User identifier")],
1124
+ _request_timeout: Union[
1125
+ None,
1126
+ Annotated[StrictFloat, Field(gt=0)],
1127
+ Tuple[
1128
+ Annotated[StrictFloat, Field(gt=0)],
1129
+ Annotated[StrictFloat, Field(gt=0)]
1130
+ ]
1131
+ ] = None,
1132
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1133
+ _content_type: Optional[StrictStr] = None,
1134
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1135
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1136
+ ) -> None:
1137
+ """Remove a user
1138
+
1139
+ Remove a user. **Access policy**: administrator
1140
+
1141
+ :param id: User identifier (required)
1142
+ :type id: int
1143
+ :param _request_timeout: timeout setting for this request. If one
1144
+ number provided, it will be total request
1145
+ timeout. It can also be a pair (tuple) of
1146
+ (connection, read) timeouts.
1147
+ :type _request_timeout: int, tuple(int, int), optional
1148
+ :param _request_auth: set to override the auth_settings for an a single
1149
+ request; this effectively ignores the
1150
+ authentication in the spec for a single request.
1151
+ :type _request_auth: dict, optional
1152
+ :param _content_type: force content-type for the request.
1153
+ :type _content_type: str, Optional
1154
+ :param _headers: set to override the headers for a single
1155
+ request; this effectively ignores the headers
1156
+ in the spec for a single request.
1157
+ :type _headers: dict, optional
1158
+ :param _host_index: set to override the host_index for a single
1159
+ request; this effectively ignores the host_index
1160
+ in the spec for a single request.
1161
+ :type _host_index: int, optional
1162
+ :return: Returns the result object.
1163
+ """ # noqa: E501
1164
+
1165
+ _param = self._user_delete_serialize(
1166
+ id=id,
1167
+ _request_auth=_request_auth,
1168
+ _content_type=_content_type,
1169
+ _headers=_headers,
1170
+ _host_index=_host_index
1171
+ )
1172
+
1173
+ _response_types_map: Dict[str, Optional[str]] = {
1174
+ '204': None,
1175
+ '400': None,
1176
+ '403': None,
1177
+ '404': None,
1178
+ '500': None,
1179
+ }
1180
+ response_data = self.api_client.call_api(
1181
+ *_param,
1182
+ _request_timeout=_request_timeout
1183
+ )
1184
+ response_data.read()
1185
+ return self.api_client.response_deserialize(
1186
+ response_data=response_data,
1187
+ response_types_map=_response_types_map,
1188
+ ).data
1189
+
1190
+
1191
+ @validate_call
1192
+ def user_delete_with_http_info(
1193
+ self,
1194
+ id: Annotated[StrictInt, Field(description="User identifier")],
1195
+ _request_timeout: Union[
1196
+ None,
1197
+ Annotated[StrictFloat, Field(gt=0)],
1198
+ Tuple[
1199
+ Annotated[StrictFloat, Field(gt=0)],
1200
+ Annotated[StrictFloat, Field(gt=0)]
1201
+ ]
1202
+ ] = None,
1203
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1204
+ _content_type: Optional[StrictStr] = None,
1205
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1206
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1207
+ ) -> ApiResponse[None]:
1208
+ """Remove a user
1209
+
1210
+ Remove a user. **Access policy**: administrator
1211
+
1212
+ :param id: User identifier (required)
1213
+ :type id: int
1214
+ :param _request_timeout: timeout setting for this request. If one
1215
+ number provided, it will be total request
1216
+ timeout. It can also be a pair (tuple) of
1217
+ (connection, read) timeouts.
1218
+ :type _request_timeout: int, tuple(int, int), optional
1219
+ :param _request_auth: set to override the auth_settings for an a single
1220
+ request; this effectively ignores the
1221
+ authentication in the spec for a single request.
1222
+ :type _request_auth: dict, optional
1223
+ :param _content_type: force content-type for the request.
1224
+ :type _content_type: str, Optional
1225
+ :param _headers: set to override the headers for a single
1226
+ request; this effectively ignores the headers
1227
+ in the spec for a single request.
1228
+ :type _headers: dict, optional
1229
+ :param _host_index: set to override the host_index for a single
1230
+ request; this effectively ignores the host_index
1231
+ in the spec for a single request.
1232
+ :type _host_index: int, optional
1233
+ :return: Returns the result object.
1234
+ """ # noqa: E501
1235
+
1236
+ _param = self._user_delete_serialize(
1237
+ id=id,
1238
+ _request_auth=_request_auth,
1239
+ _content_type=_content_type,
1240
+ _headers=_headers,
1241
+ _host_index=_host_index
1242
+ )
1243
+
1244
+ _response_types_map: Dict[str, Optional[str]] = {
1245
+ '204': None,
1246
+ '400': None,
1247
+ '403': None,
1248
+ '404': None,
1249
+ '500': None,
1250
+ }
1251
+ response_data = self.api_client.call_api(
1252
+ *_param,
1253
+ _request_timeout=_request_timeout
1254
+ )
1255
+ response_data.read()
1256
+ return self.api_client.response_deserialize(
1257
+ response_data=response_data,
1258
+ response_types_map=_response_types_map,
1259
+ )
1260
+
1261
+
1262
+ @validate_call
1263
+ def user_delete_without_preload_content(
1264
+ self,
1265
+ id: Annotated[StrictInt, Field(description="User identifier")],
1266
+ _request_timeout: Union[
1267
+ None,
1268
+ Annotated[StrictFloat, Field(gt=0)],
1269
+ Tuple[
1270
+ Annotated[StrictFloat, Field(gt=0)],
1271
+ Annotated[StrictFloat, Field(gt=0)]
1272
+ ]
1273
+ ] = None,
1274
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1275
+ _content_type: Optional[StrictStr] = None,
1276
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1277
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1278
+ ) -> RESTResponseType:
1279
+ """Remove a user
1280
+
1281
+ Remove a user. **Access policy**: administrator
1282
+
1283
+ :param id: User identifier (required)
1284
+ :type id: int
1285
+ :param _request_timeout: timeout setting for this request. If one
1286
+ number provided, it will be total request
1287
+ timeout. It can also be a pair (tuple) of
1288
+ (connection, read) timeouts.
1289
+ :type _request_timeout: int, tuple(int, int), optional
1290
+ :param _request_auth: set to override the auth_settings for an a single
1291
+ request; this effectively ignores the
1292
+ authentication in the spec for a single request.
1293
+ :type _request_auth: dict, optional
1294
+ :param _content_type: force content-type for the request.
1295
+ :type _content_type: str, Optional
1296
+ :param _headers: set to override the headers for a single
1297
+ request; this effectively ignores the headers
1298
+ in the spec for a single request.
1299
+ :type _headers: dict, optional
1300
+ :param _host_index: set to override the host_index for a single
1301
+ request; this effectively ignores the host_index
1302
+ in the spec for a single request.
1303
+ :type _host_index: int, optional
1304
+ :return: Returns the result object.
1305
+ """ # noqa: E501
1306
+
1307
+ _param = self._user_delete_serialize(
1308
+ id=id,
1309
+ _request_auth=_request_auth,
1310
+ _content_type=_content_type,
1311
+ _headers=_headers,
1312
+ _host_index=_host_index
1313
+ )
1314
+
1315
+ _response_types_map: Dict[str, Optional[str]] = {
1316
+ '204': None,
1317
+ '400': None,
1318
+ '403': None,
1319
+ '404': None,
1320
+ '500': None,
1321
+ }
1322
+ response_data = self.api_client.call_api(
1323
+ *_param,
1324
+ _request_timeout=_request_timeout
1325
+ )
1326
+ return response_data.response
1327
+
1328
+
1329
+ def _user_delete_serialize(
1330
+ self,
1331
+ id,
1332
+ _request_auth,
1333
+ _content_type,
1334
+ _headers,
1335
+ _host_index,
1336
+ ) -> RequestSerialized:
1337
+
1338
+ _host = None
1339
+
1340
+ _collection_formats: Dict[str, str] = {
1341
+ }
1342
+
1343
+ _path_params: Dict[str, str] = {}
1344
+ _query_params: List[Tuple[str, str]] = []
1345
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1346
+ _form_params: List[Tuple[str, str]] = []
1347
+ _files: Dict[
1348
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1349
+ ] = {}
1350
+ _body_params: Optional[bytes] = None
1351
+
1352
+ # process the path parameters
1353
+ if id is not None:
1354
+ _path_params['id'] = id
1355
+ # process the query parameters
1356
+ # process the header parameters
1357
+ # process the form parameters
1358
+ # process the body parameter
1359
+
1360
+
1361
+
1362
+
1363
+ # authentication setting
1364
+ _auth_settings: List[str] = [
1365
+ 'jwt',
1366
+ 'ApiKeyAuth'
1367
+ ]
1368
+
1369
+ return self.api_client.param_serialize(
1370
+ method='DELETE',
1371
+ resource_path='/users/{id}',
1372
+ path_params=_path_params,
1373
+ query_params=_query_params,
1374
+ header_params=_header_params,
1375
+ body=_body_params,
1376
+ post_params=_form_params,
1377
+ files=_files,
1378
+ auth_settings=_auth_settings,
1379
+ collection_formats=_collection_formats,
1380
+ _host=_host,
1381
+ _request_auth=_request_auth
1382
+ )
1383
+
1384
+
1385
+
1386
+
1387
+ @validate_call
1388
+ def user_generate_api_key(
1389
+ self,
1390
+ id: Annotated[StrictInt, Field(description="User identifier")],
1391
+ body: Annotated[UsersUserAccessTokenCreatePayload, Field(description="details")],
1392
+ _request_timeout: Union[
1393
+ None,
1394
+ Annotated[StrictFloat, Field(gt=0)],
1395
+ Tuple[
1396
+ Annotated[StrictFloat, Field(gt=0)],
1397
+ Annotated[StrictFloat, Field(gt=0)]
1398
+ ]
1399
+ ] = None,
1400
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1401
+ _content_type: Optional[StrictStr] = None,
1402
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1403
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1404
+ ) -> UsersAccessTokenResponse:
1405
+ """Generate an API key for a user
1406
+
1407
+ Generates an API key for a user. Only the calling user can generate a token for themselves. Password is required only for internal authentication. **Access policy**: restricted
1408
+
1409
+ :param id: User identifier (required)
1410
+ :type id: int
1411
+ :param body: details (required)
1412
+ :type body: UsersUserAccessTokenCreatePayload
1413
+ :param _request_timeout: timeout setting for this request. If one
1414
+ number provided, it will be total request
1415
+ timeout. It can also be a pair (tuple) of
1416
+ (connection, read) timeouts.
1417
+ :type _request_timeout: int, tuple(int, int), optional
1418
+ :param _request_auth: set to override the auth_settings for an a single
1419
+ request; this effectively ignores the
1420
+ authentication in the spec for a single request.
1421
+ :type _request_auth: dict, optional
1422
+ :param _content_type: force content-type for the request.
1423
+ :type _content_type: str, Optional
1424
+ :param _headers: set to override the headers for a single
1425
+ request; this effectively ignores the headers
1426
+ in the spec for a single request.
1427
+ :type _headers: dict, optional
1428
+ :param _host_index: set to override the host_index for a single
1429
+ request; this effectively ignores the host_index
1430
+ in the spec for a single request.
1431
+ :type _host_index: int, optional
1432
+ :return: Returns the result object.
1433
+ """ # noqa: E501
1434
+
1435
+ _param = self._user_generate_api_key_serialize(
1436
+ id=id,
1437
+ body=body,
1438
+ _request_auth=_request_auth,
1439
+ _content_type=_content_type,
1440
+ _headers=_headers,
1441
+ _host_index=_host_index
1442
+ )
1443
+
1444
+ _response_types_map: Dict[str, Optional[str]] = {
1445
+ '200': "UsersAccessTokenResponse",
1446
+ '400': None,
1447
+ '401': None,
1448
+ '403': None,
1449
+ '404': None,
1450
+ '500': None,
1451
+ }
1452
+ response_data = self.api_client.call_api(
1453
+ *_param,
1454
+ _request_timeout=_request_timeout
1455
+ )
1456
+ response_data.read()
1457
+ return self.api_client.response_deserialize(
1458
+ response_data=response_data,
1459
+ response_types_map=_response_types_map,
1460
+ ).data
1461
+
1462
+
1463
+ @validate_call
1464
+ def user_generate_api_key_with_http_info(
1465
+ self,
1466
+ id: Annotated[StrictInt, Field(description="User identifier")],
1467
+ body: Annotated[UsersUserAccessTokenCreatePayload, Field(description="details")],
1468
+ _request_timeout: Union[
1469
+ None,
1470
+ Annotated[StrictFloat, Field(gt=0)],
1471
+ Tuple[
1472
+ Annotated[StrictFloat, Field(gt=0)],
1473
+ Annotated[StrictFloat, Field(gt=0)]
1474
+ ]
1475
+ ] = None,
1476
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1477
+ _content_type: Optional[StrictStr] = None,
1478
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1479
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1480
+ ) -> ApiResponse[UsersAccessTokenResponse]:
1481
+ """Generate an API key for a user
1482
+
1483
+ Generates an API key for a user. Only the calling user can generate a token for themselves. Password is required only for internal authentication. **Access policy**: restricted
1484
+
1485
+ :param id: User identifier (required)
1486
+ :type id: int
1487
+ :param body: details (required)
1488
+ :type body: UsersUserAccessTokenCreatePayload
1489
+ :param _request_timeout: timeout setting for this request. If one
1490
+ number provided, it will be total request
1491
+ timeout. It can also be a pair (tuple) of
1492
+ (connection, read) timeouts.
1493
+ :type _request_timeout: int, tuple(int, int), optional
1494
+ :param _request_auth: set to override the auth_settings for an a single
1495
+ request; this effectively ignores the
1496
+ authentication in the spec for a single request.
1497
+ :type _request_auth: dict, optional
1498
+ :param _content_type: force content-type for the request.
1499
+ :type _content_type: str, Optional
1500
+ :param _headers: set to override the headers for a single
1501
+ request; this effectively ignores the headers
1502
+ in the spec for a single request.
1503
+ :type _headers: dict, optional
1504
+ :param _host_index: set to override the host_index for a single
1505
+ request; this effectively ignores the host_index
1506
+ in the spec for a single request.
1507
+ :type _host_index: int, optional
1508
+ :return: Returns the result object.
1509
+ """ # noqa: E501
1510
+
1511
+ _param = self._user_generate_api_key_serialize(
1512
+ id=id,
1513
+ body=body,
1514
+ _request_auth=_request_auth,
1515
+ _content_type=_content_type,
1516
+ _headers=_headers,
1517
+ _host_index=_host_index
1518
+ )
1519
+
1520
+ _response_types_map: Dict[str, Optional[str]] = {
1521
+ '200': "UsersAccessTokenResponse",
1522
+ '400': None,
1523
+ '401': None,
1524
+ '403': None,
1525
+ '404': None,
1526
+ '500': None,
1527
+ }
1528
+ response_data = self.api_client.call_api(
1529
+ *_param,
1530
+ _request_timeout=_request_timeout
1531
+ )
1532
+ response_data.read()
1533
+ return self.api_client.response_deserialize(
1534
+ response_data=response_data,
1535
+ response_types_map=_response_types_map,
1536
+ )
1537
+
1538
+
1539
+ @validate_call
1540
+ def user_generate_api_key_without_preload_content(
1541
+ self,
1542
+ id: Annotated[StrictInt, Field(description="User identifier")],
1543
+ body: Annotated[UsersUserAccessTokenCreatePayload, Field(description="details")],
1544
+ _request_timeout: Union[
1545
+ None,
1546
+ Annotated[StrictFloat, Field(gt=0)],
1547
+ Tuple[
1548
+ Annotated[StrictFloat, Field(gt=0)],
1549
+ Annotated[StrictFloat, Field(gt=0)]
1550
+ ]
1551
+ ] = None,
1552
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1553
+ _content_type: Optional[StrictStr] = None,
1554
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1555
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1556
+ ) -> RESTResponseType:
1557
+ """Generate an API key for a user
1558
+
1559
+ Generates an API key for a user. Only the calling user can generate a token for themselves. Password is required only for internal authentication. **Access policy**: restricted
1560
+
1561
+ :param id: User identifier (required)
1562
+ :type id: int
1563
+ :param body: details (required)
1564
+ :type body: UsersUserAccessTokenCreatePayload
1565
+ :param _request_timeout: timeout setting for this request. If one
1566
+ number provided, it will be total request
1567
+ timeout. It can also be a pair (tuple) of
1568
+ (connection, read) timeouts.
1569
+ :type _request_timeout: int, tuple(int, int), optional
1570
+ :param _request_auth: set to override the auth_settings for an a single
1571
+ request; this effectively ignores the
1572
+ authentication in the spec for a single request.
1573
+ :type _request_auth: dict, optional
1574
+ :param _content_type: force content-type for the request.
1575
+ :type _content_type: str, Optional
1576
+ :param _headers: set to override the headers for a single
1577
+ request; this effectively ignores the headers
1578
+ in the spec for a single request.
1579
+ :type _headers: dict, optional
1580
+ :param _host_index: set to override the host_index for a single
1581
+ request; this effectively ignores the host_index
1582
+ in the spec for a single request.
1583
+ :type _host_index: int, optional
1584
+ :return: Returns the result object.
1585
+ """ # noqa: E501
1586
+
1587
+ _param = self._user_generate_api_key_serialize(
1588
+ id=id,
1589
+ body=body,
1590
+ _request_auth=_request_auth,
1591
+ _content_type=_content_type,
1592
+ _headers=_headers,
1593
+ _host_index=_host_index
1594
+ )
1595
+
1596
+ _response_types_map: Dict[str, Optional[str]] = {
1597
+ '200': "UsersAccessTokenResponse",
1598
+ '400': None,
1599
+ '401': None,
1600
+ '403': None,
1601
+ '404': None,
1602
+ '500': None,
1603
+ }
1604
+ response_data = self.api_client.call_api(
1605
+ *_param,
1606
+ _request_timeout=_request_timeout
1607
+ )
1608
+ return response_data.response
1609
+
1610
+
1611
+ def _user_generate_api_key_serialize(
1612
+ self,
1613
+ id,
1614
+ body,
1615
+ _request_auth,
1616
+ _content_type,
1617
+ _headers,
1618
+ _host_index,
1619
+ ) -> RequestSerialized:
1620
+
1621
+ _host = None
1622
+
1623
+ _collection_formats: Dict[str, str] = {
1624
+ }
1625
+
1626
+ _path_params: Dict[str, str] = {}
1627
+ _query_params: List[Tuple[str, str]] = []
1628
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1629
+ _form_params: List[Tuple[str, str]] = []
1630
+ _files: Dict[
1631
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1632
+ ] = {}
1633
+ _body_params: Optional[bytes] = None
1634
+
1635
+ # process the path parameters
1636
+ if id is not None:
1637
+ _path_params['id'] = id
1638
+ # process the query parameters
1639
+ # process the header parameters
1640
+ # process the form parameters
1641
+ # process the body parameter
1642
+ if body is not None:
1643
+ _body_params = body
1644
+
1645
+
1646
+ # set the HTTP header `Accept`
1647
+ if 'Accept' not in _header_params:
1648
+ _header_params['Accept'] = self.api_client.select_header_accept(
1649
+ [
1650
+ 'application/json'
1651
+ ]
1652
+ )
1653
+
1654
+ # set the HTTP header `Content-Type`
1655
+ if _content_type:
1656
+ _header_params['Content-Type'] = _content_type
1657
+ else:
1658
+ _default_content_type = (
1659
+ self.api_client.select_header_content_type(
1660
+ [
1661
+ 'application/json'
1662
+ ]
1663
+ )
1664
+ )
1665
+ if _default_content_type is not None:
1666
+ _header_params['Content-Type'] = _default_content_type
1667
+
1668
+ # authentication setting
1669
+ _auth_settings: List[str] = [
1670
+ 'jwt'
1671
+ ]
1672
+
1673
+ return self.api_client.param_serialize(
1674
+ method='POST',
1675
+ resource_path='/users/{id}/tokens',
1676
+ path_params=_path_params,
1677
+ query_params=_query_params,
1678
+ header_params=_header_params,
1679
+ body=_body_params,
1680
+ post_params=_form_params,
1681
+ files=_files,
1682
+ auth_settings=_auth_settings,
1683
+ collection_formats=_collection_formats,
1684
+ _host=_host,
1685
+ _request_auth=_request_auth
1686
+ )
1687
+
1688
+
1689
+
1690
+
1691
+ @validate_call
1692
+ def user_get_api_keys(
1693
+ self,
1694
+ id: Annotated[StrictInt, Field(description="User identifier")],
1695
+ _request_timeout: Union[
1696
+ None,
1697
+ Annotated[StrictFloat, Field(gt=0)],
1698
+ Tuple[
1699
+ Annotated[StrictFloat, Field(gt=0)],
1700
+ Annotated[StrictFloat, Field(gt=0)]
1701
+ ]
1702
+ ] = None,
1703
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1704
+ _content_type: Optional[StrictStr] = None,
1705
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1706
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1707
+ ) -> List[PortainerAPIKey]:
1708
+ """Get all API keys for a user
1709
+
1710
+ Gets all API keys for a user. Only the calling user or admin can retrieve api-keys. **Access policy**: authenticated
1711
+
1712
+ :param id: User identifier (required)
1713
+ :type id: int
1714
+ :param _request_timeout: timeout setting for this request. If one
1715
+ number provided, it will be total request
1716
+ timeout. It can also be a pair (tuple) of
1717
+ (connection, read) timeouts.
1718
+ :type _request_timeout: int, tuple(int, int), optional
1719
+ :param _request_auth: set to override the auth_settings for an a single
1720
+ request; this effectively ignores the
1721
+ authentication in the spec for a single request.
1722
+ :type _request_auth: dict, optional
1723
+ :param _content_type: force content-type for the request.
1724
+ :type _content_type: str, Optional
1725
+ :param _headers: set to override the headers for a single
1726
+ request; this effectively ignores the headers
1727
+ in the spec for a single request.
1728
+ :type _headers: dict, optional
1729
+ :param _host_index: set to override the host_index for a single
1730
+ request; this effectively ignores the host_index
1731
+ in the spec for a single request.
1732
+ :type _host_index: int, optional
1733
+ :return: Returns the result object.
1734
+ """ # noqa: E501
1735
+
1736
+ _param = self._user_get_api_keys_serialize(
1737
+ id=id,
1738
+ _request_auth=_request_auth,
1739
+ _content_type=_content_type,
1740
+ _headers=_headers,
1741
+ _host_index=_host_index
1742
+ )
1743
+
1744
+ _response_types_map: Dict[str, Optional[str]] = {
1745
+ '200': "List[PortainerAPIKey]",
1746
+ '400': None,
1747
+ '403': None,
1748
+ '404': None,
1749
+ '500': None,
1750
+ }
1751
+ response_data = self.api_client.call_api(
1752
+ *_param,
1753
+ _request_timeout=_request_timeout
1754
+ )
1755
+ response_data.read()
1756
+ return self.api_client.response_deserialize(
1757
+ response_data=response_data,
1758
+ response_types_map=_response_types_map,
1759
+ ).data
1760
+
1761
+
1762
+ @validate_call
1763
+ def user_get_api_keys_with_http_info(
1764
+ self,
1765
+ id: Annotated[StrictInt, Field(description="User identifier")],
1766
+ _request_timeout: Union[
1767
+ None,
1768
+ Annotated[StrictFloat, Field(gt=0)],
1769
+ Tuple[
1770
+ Annotated[StrictFloat, Field(gt=0)],
1771
+ Annotated[StrictFloat, Field(gt=0)]
1772
+ ]
1773
+ ] = None,
1774
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1775
+ _content_type: Optional[StrictStr] = None,
1776
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1777
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1778
+ ) -> ApiResponse[List[PortainerAPIKey]]:
1779
+ """Get all API keys for a user
1780
+
1781
+ Gets all API keys for a user. Only the calling user or admin can retrieve api-keys. **Access policy**: authenticated
1782
+
1783
+ :param id: User identifier (required)
1784
+ :type id: int
1785
+ :param _request_timeout: timeout setting for this request. If one
1786
+ number provided, it will be total request
1787
+ timeout. It can also be a pair (tuple) of
1788
+ (connection, read) timeouts.
1789
+ :type _request_timeout: int, tuple(int, int), optional
1790
+ :param _request_auth: set to override the auth_settings for an a single
1791
+ request; this effectively ignores the
1792
+ authentication in the spec for a single request.
1793
+ :type _request_auth: dict, optional
1794
+ :param _content_type: force content-type for the request.
1795
+ :type _content_type: str, Optional
1796
+ :param _headers: set to override the headers for a single
1797
+ request; this effectively ignores the headers
1798
+ in the spec for a single request.
1799
+ :type _headers: dict, optional
1800
+ :param _host_index: set to override the host_index for a single
1801
+ request; this effectively ignores the host_index
1802
+ in the spec for a single request.
1803
+ :type _host_index: int, optional
1804
+ :return: Returns the result object.
1805
+ """ # noqa: E501
1806
+
1807
+ _param = self._user_get_api_keys_serialize(
1808
+ id=id,
1809
+ _request_auth=_request_auth,
1810
+ _content_type=_content_type,
1811
+ _headers=_headers,
1812
+ _host_index=_host_index
1813
+ )
1814
+
1815
+ _response_types_map: Dict[str, Optional[str]] = {
1816
+ '200': "List[PortainerAPIKey]",
1817
+ '400': None,
1818
+ '403': None,
1819
+ '404': None,
1820
+ '500': None,
1821
+ }
1822
+ response_data = self.api_client.call_api(
1823
+ *_param,
1824
+ _request_timeout=_request_timeout
1825
+ )
1826
+ response_data.read()
1827
+ return self.api_client.response_deserialize(
1828
+ response_data=response_data,
1829
+ response_types_map=_response_types_map,
1830
+ )
1831
+
1832
+
1833
+ @validate_call
1834
+ def user_get_api_keys_without_preload_content(
1835
+ self,
1836
+ id: Annotated[StrictInt, Field(description="User identifier")],
1837
+ _request_timeout: Union[
1838
+ None,
1839
+ Annotated[StrictFloat, Field(gt=0)],
1840
+ Tuple[
1841
+ Annotated[StrictFloat, Field(gt=0)],
1842
+ Annotated[StrictFloat, Field(gt=0)]
1843
+ ]
1844
+ ] = None,
1845
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1846
+ _content_type: Optional[StrictStr] = None,
1847
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1848
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1849
+ ) -> RESTResponseType:
1850
+ """Get all API keys for a user
1851
+
1852
+ Gets all API keys for a user. Only the calling user or admin can retrieve api-keys. **Access policy**: authenticated
1853
+
1854
+ :param id: User identifier (required)
1855
+ :type id: int
1856
+ :param _request_timeout: timeout setting for this request. If one
1857
+ number provided, it will be total request
1858
+ timeout. It can also be a pair (tuple) of
1859
+ (connection, read) timeouts.
1860
+ :type _request_timeout: int, tuple(int, int), optional
1861
+ :param _request_auth: set to override the auth_settings for an a single
1862
+ request; this effectively ignores the
1863
+ authentication in the spec for a single request.
1864
+ :type _request_auth: dict, optional
1865
+ :param _content_type: force content-type for the request.
1866
+ :type _content_type: str, Optional
1867
+ :param _headers: set to override the headers for a single
1868
+ request; this effectively ignores the headers
1869
+ in the spec for a single request.
1870
+ :type _headers: dict, optional
1871
+ :param _host_index: set to override the host_index for a single
1872
+ request; this effectively ignores the host_index
1873
+ in the spec for a single request.
1874
+ :type _host_index: int, optional
1875
+ :return: Returns the result object.
1876
+ """ # noqa: E501
1877
+
1878
+ _param = self._user_get_api_keys_serialize(
1879
+ id=id,
1880
+ _request_auth=_request_auth,
1881
+ _content_type=_content_type,
1882
+ _headers=_headers,
1883
+ _host_index=_host_index
1884
+ )
1885
+
1886
+ _response_types_map: Dict[str, Optional[str]] = {
1887
+ '200': "List[PortainerAPIKey]",
1888
+ '400': None,
1889
+ '403': None,
1890
+ '404': None,
1891
+ '500': None,
1892
+ }
1893
+ response_data = self.api_client.call_api(
1894
+ *_param,
1895
+ _request_timeout=_request_timeout
1896
+ )
1897
+ return response_data.response
1898
+
1899
+
1900
+ def _user_get_api_keys_serialize(
1901
+ self,
1902
+ id,
1903
+ _request_auth,
1904
+ _content_type,
1905
+ _headers,
1906
+ _host_index,
1907
+ ) -> RequestSerialized:
1908
+
1909
+ _host = None
1910
+
1911
+ _collection_formats: Dict[str, str] = {
1912
+ }
1913
+
1914
+ _path_params: Dict[str, str] = {}
1915
+ _query_params: List[Tuple[str, str]] = []
1916
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1917
+ _form_params: List[Tuple[str, str]] = []
1918
+ _files: Dict[
1919
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1920
+ ] = {}
1921
+ _body_params: Optional[bytes] = None
1922
+
1923
+ # process the path parameters
1924
+ if id is not None:
1925
+ _path_params['id'] = id
1926
+ # process the query parameters
1927
+ # process the header parameters
1928
+ # process the form parameters
1929
+ # process the body parameter
1930
+
1931
+
1932
+ # set the HTTP header `Accept`
1933
+ if 'Accept' not in _header_params:
1934
+ _header_params['Accept'] = self.api_client.select_header_accept(
1935
+ [
1936
+ 'application/json'
1937
+ ]
1938
+ )
1939
+
1940
+
1941
+ # authentication setting
1942
+ _auth_settings: List[str] = [
1943
+ 'jwt',
1944
+ 'ApiKeyAuth'
1945
+ ]
1946
+
1947
+ return self.api_client.param_serialize(
1948
+ method='GET',
1949
+ resource_path='/users/{id}/tokens',
1950
+ path_params=_path_params,
1951
+ query_params=_query_params,
1952
+ header_params=_header_params,
1953
+ body=_body_params,
1954
+ post_params=_form_params,
1955
+ files=_files,
1956
+ auth_settings=_auth_settings,
1957
+ collection_formats=_collection_formats,
1958
+ _host=_host,
1959
+ _request_auth=_request_auth
1960
+ )
1961
+
1962
+
1963
+
1964
+
1965
+ @validate_call
1966
+ def user_inspect(
1967
+ self,
1968
+ id: Annotated[StrictInt, Field(description="User identifier")],
1969
+ _request_timeout: Union[
1970
+ None,
1971
+ Annotated[StrictFloat, Field(gt=0)],
1972
+ Tuple[
1973
+ Annotated[StrictFloat, Field(gt=0)],
1974
+ Annotated[StrictFloat, Field(gt=0)]
1975
+ ]
1976
+ ] = None,
1977
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1978
+ _content_type: Optional[StrictStr] = None,
1979
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1980
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1981
+ ) -> PortainerUser:
1982
+ """Inspect a user
1983
+
1984
+ Retrieve details about a user. User passwords are filtered out, and should never be accessible. **Access policy**: authenticated
1985
+
1986
+ :param id: User identifier (required)
1987
+ :type id: int
1988
+ :param _request_timeout: timeout setting for this request. If one
1989
+ number provided, it will be total request
1990
+ timeout. It can also be a pair (tuple) of
1991
+ (connection, read) timeouts.
1992
+ :type _request_timeout: int, tuple(int, int), optional
1993
+ :param _request_auth: set to override the auth_settings for an a single
1994
+ request; this effectively ignores the
1995
+ authentication in the spec for a single request.
1996
+ :type _request_auth: dict, optional
1997
+ :param _content_type: force content-type for the request.
1998
+ :type _content_type: str, Optional
1999
+ :param _headers: set to override the headers for a single
2000
+ request; this effectively ignores the headers
2001
+ in the spec for a single request.
2002
+ :type _headers: dict, optional
2003
+ :param _host_index: set to override the host_index for a single
2004
+ request; this effectively ignores the host_index
2005
+ in the spec for a single request.
2006
+ :type _host_index: int, optional
2007
+ :return: Returns the result object.
2008
+ """ # noqa: E501
2009
+
2010
+ _param = self._user_inspect_serialize(
2011
+ id=id,
2012
+ _request_auth=_request_auth,
2013
+ _content_type=_content_type,
2014
+ _headers=_headers,
2015
+ _host_index=_host_index
2016
+ )
2017
+
2018
+ _response_types_map: Dict[str, Optional[str]] = {
2019
+ '200': "PortainerUser",
2020
+ '400': None,
2021
+ '403': None,
2022
+ '404': None,
2023
+ '500': None,
2024
+ }
2025
+ response_data = self.api_client.call_api(
2026
+ *_param,
2027
+ _request_timeout=_request_timeout
2028
+ )
2029
+ response_data.read()
2030
+ return self.api_client.response_deserialize(
2031
+ response_data=response_data,
2032
+ response_types_map=_response_types_map,
2033
+ ).data
2034
+
2035
+
2036
+ @validate_call
2037
+ def user_inspect_with_http_info(
2038
+ self,
2039
+ id: Annotated[StrictInt, Field(description="User identifier")],
2040
+ _request_timeout: Union[
2041
+ None,
2042
+ Annotated[StrictFloat, Field(gt=0)],
2043
+ Tuple[
2044
+ Annotated[StrictFloat, Field(gt=0)],
2045
+ Annotated[StrictFloat, Field(gt=0)]
2046
+ ]
2047
+ ] = None,
2048
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2049
+ _content_type: Optional[StrictStr] = None,
2050
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2051
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2052
+ ) -> ApiResponse[PortainerUser]:
2053
+ """Inspect a user
2054
+
2055
+ Retrieve details about a user. User passwords are filtered out, and should never be accessible. **Access policy**: authenticated
2056
+
2057
+ :param id: User identifier (required)
2058
+ :type id: int
2059
+ :param _request_timeout: timeout setting for this request. If one
2060
+ number provided, it will be total request
2061
+ timeout. It can also be a pair (tuple) of
2062
+ (connection, read) timeouts.
2063
+ :type _request_timeout: int, tuple(int, int), optional
2064
+ :param _request_auth: set to override the auth_settings for an a single
2065
+ request; this effectively ignores the
2066
+ authentication in the spec for a single request.
2067
+ :type _request_auth: dict, optional
2068
+ :param _content_type: force content-type for the request.
2069
+ :type _content_type: str, Optional
2070
+ :param _headers: set to override the headers for a single
2071
+ request; this effectively ignores the headers
2072
+ in the spec for a single request.
2073
+ :type _headers: dict, optional
2074
+ :param _host_index: set to override the host_index for a single
2075
+ request; this effectively ignores the host_index
2076
+ in the spec for a single request.
2077
+ :type _host_index: int, optional
2078
+ :return: Returns the result object.
2079
+ """ # noqa: E501
2080
+
2081
+ _param = self._user_inspect_serialize(
2082
+ id=id,
2083
+ _request_auth=_request_auth,
2084
+ _content_type=_content_type,
2085
+ _headers=_headers,
2086
+ _host_index=_host_index
2087
+ )
2088
+
2089
+ _response_types_map: Dict[str, Optional[str]] = {
2090
+ '200': "PortainerUser",
2091
+ '400': None,
2092
+ '403': None,
2093
+ '404': None,
2094
+ '500': None,
2095
+ }
2096
+ response_data = self.api_client.call_api(
2097
+ *_param,
2098
+ _request_timeout=_request_timeout
2099
+ )
2100
+ response_data.read()
2101
+ return self.api_client.response_deserialize(
2102
+ response_data=response_data,
2103
+ response_types_map=_response_types_map,
2104
+ )
2105
+
2106
+
2107
+ @validate_call
2108
+ def user_inspect_without_preload_content(
2109
+ self,
2110
+ id: Annotated[StrictInt, Field(description="User identifier")],
2111
+ _request_timeout: Union[
2112
+ None,
2113
+ Annotated[StrictFloat, Field(gt=0)],
2114
+ Tuple[
2115
+ Annotated[StrictFloat, Field(gt=0)],
2116
+ Annotated[StrictFloat, Field(gt=0)]
2117
+ ]
2118
+ ] = None,
2119
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2120
+ _content_type: Optional[StrictStr] = None,
2121
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2122
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2123
+ ) -> RESTResponseType:
2124
+ """Inspect a user
2125
+
2126
+ Retrieve details about a user. User passwords are filtered out, and should never be accessible. **Access policy**: authenticated
2127
+
2128
+ :param id: User identifier (required)
2129
+ :type id: int
2130
+ :param _request_timeout: timeout setting for this request. If one
2131
+ number provided, it will be total request
2132
+ timeout. It can also be a pair (tuple) of
2133
+ (connection, read) timeouts.
2134
+ :type _request_timeout: int, tuple(int, int), optional
2135
+ :param _request_auth: set to override the auth_settings for an a single
2136
+ request; this effectively ignores the
2137
+ authentication in the spec for a single request.
2138
+ :type _request_auth: dict, optional
2139
+ :param _content_type: force content-type for the request.
2140
+ :type _content_type: str, Optional
2141
+ :param _headers: set to override the headers for a single
2142
+ request; this effectively ignores the headers
2143
+ in the spec for a single request.
2144
+ :type _headers: dict, optional
2145
+ :param _host_index: set to override the host_index for a single
2146
+ request; this effectively ignores the host_index
2147
+ in the spec for a single request.
2148
+ :type _host_index: int, optional
2149
+ :return: Returns the result object.
2150
+ """ # noqa: E501
2151
+
2152
+ _param = self._user_inspect_serialize(
2153
+ id=id,
2154
+ _request_auth=_request_auth,
2155
+ _content_type=_content_type,
2156
+ _headers=_headers,
2157
+ _host_index=_host_index
2158
+ )
2159
+
2160
+ _response_types_map: Dict[str, Optional[str]] = {
2161
+ '200': "PortainerUser",
2162
+ '400': None,
2163
+ '403': None,
2164
+ '404': None,
2165
+ '500': None,
2166
+ }
2167
+ response_data = self.api_client.call_api(
2168
+ *_param,
2169
+ _request_timeout=_request_timeout
2170
+ )
2171
+ return response_data.response
2172
+
2173
+
2174
+ def _user_inspect_serialize(
2175
+ self,
2176
+ id,
2177
+ _request_auth,
2178
+ _content_type,
2179
+ _headers,
2180
+ _host_index,
2181
+ ) -> RequestSerialized:
2182
+
2183
+ _host = None
2184
+
2185
+ _collection_formats: Dict[str, str] = {
2186
+ }
2187
+
2188
+ _path_params: Dict[str, str] = {}
2189
+ _query_params: List[Tuple[str, str]] = []
2190
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2191
+ _form_params: List[Tuple[str, str]] = []
2192
+ _files: Dict[
2193
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2194
+ ] = {}
2195
+ _body_params: Optional[bytes] = None
2196
+
2197
+ # process the path parameters
2198
+ if id is not None:
2199
+ _path_params['id'] = id
2200
+ # process the query parameters
2201
+ # process the header parameters
2202
+ # process the form parameters
2203
+ # process the body parameter
2204
+
2205
+
2206
+ # set the HTTP header `Accept`
2207
+ if 'Accept' not in _header_params:
2208
+ _header_params['Accept'] = self.api_client.select_header_accept(
2209
+ [
2210
+ 'application/json'
2211
+ ]
2212
+ )
2213
+
2214
+
2215
+ # authentication setting
2216
+ _auth_settings: List[str] = [
2217
+ 'jwt',
2218
+ 'ApiKeyAuth'
2219
+ ]
2220
+
2221
+ return self.api_client.param_serialize(
2222
+ method='GET',
2223
+ resource_path='/users/{id}',
2224
+ path_params=_path_params,
2225
+ query_params=_query_params,
2226
+ header_params=_header_params,
2227
+ body=_body_params,
2228
+ post_params=_form_params,
2229
+ files=_files,
2230
+ auth_settings=_auth_settings,
2231
+ collection_formats=_collection_formats,
2232
+ _host=_host,
2233
+ _request_auth=_request_auth
2234
+ )
2235
+
2236
+
2237
+
2238
+
2239
+ @validate_call
2240
+ def user_list(
2241
+ self,
2242
+ environment_id: Annotated[Optional[StrictInt], Field(description="Identifier of the environment(endpoint) that will be used to filter the authorized users")] = None,
2243
+ _request_timeout: Union[
2244
+ None,
2245
+ Annotated[StrictFloat, Field(gt=0)],
2246
+ Tuple[
2247
+ Annotated[StrictFloat, Field(gt=0)],
2248
+ Annotated[StrictFloat, Field(gt=0)]
2249
+ ]
2250
+ ] = None,
2251
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2252
+ _content_type: Optional[StrictStr] = None,
2253
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2254
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2255
+ ) -> List[PortainerUser]:
2256
+ """List users
2257
+
2258
+ List Portainer users. Non-administrator users will only be able to list other non-administrator user accounts. User passwords are filtered out, and should never be accessible. **Access policy**: restricted
2259
+
2260
+ :param environment_id: Identifier of the environment(endpoint) that will be used to filter the authorized users
2261
+ :type environment_id: int
2262
+ :param _request_timeout: timeout setting for this request. If one
2263
+ number provided, it will be total request
2264
+ timeout. It can also be a pair (tuple) of
2265
+ (connection, read) timeouts.
2266
+ :type _request_timeout: int, tuple(int, int), optional
2267
+ :param _request_auth: set to override the auth_settings for an a single
2268
+ request; this effectively ignores the
2269
+ authentication in the spec for a single request.
2270
+ :type _request_auth: dict, optional
2271
+ :param _content_type: force content-type for the request.
2272
+ :type _content_type: str, Optional
2273
+ :param _headers: set to override the headers for a single
2274
+ request; this effectively ignores the headers
2275
+ in the spec for a single request.
2276
+ :type _headers: dict, optional
2277
+ :param _host_index: set to override the host_index for a single
2278
+ request; this effectively ignores the host_index
2279
+ in the spec for a single request.
2280
+ :type _host_index: int, optional
2281
+ :return: Returns the result object.
2282
+ """ # noqa: E501
2283
+
2284
+ _param = self._user_list_serialize(
2285
+ environment_id=environment_id,
2286
+ _request_auth=_request_auth,
2287
+ _content_type=_content_type,
2288
+ _headers=_headers,
2289
+ _host_index=_host_index
2290
+ )
2291
+
2292
+ _response_types_map: Dict[str, Optional[str]] = {
2293
+ '200': "List[PortainerUser]",
2294
+ '400': None,
2295
+ '500': None,
2296
+ }
2297
+ response_data = self.api_client.call_api(
2298
+ *_param,
2299
+ _request_timeout=_request_timeout
2300
+ )
2301
+ response_data.read()
2302
+ return self.api_client.response_deserialize(
2303
+ response_data=response_data,
2304
+ response_types_map=_response_types_map,
2305
+ ).data
2306
+
2307
+
2308
+ @validate_call
2309
+ def user_list_with_http_info(
2310
+ self,
2311
+ environment_id: Annotated[Optional[StrictInt], Field(description="Identifier of the environment(endpoint) that will be used to filter the authorized users")] = None,
2312
+ _request_timeout: Union[
2313
+ None,
2314
+ Annotated[StrictFloat, Field(gt=0)],
2315
+ Tuple[
2316
+ Annotated[StrictFloat, Field(gt=0)],
2317
+ Annotated[StrictFloat, Field(gt=0)]
2318
+ ]
2319
+ ] = None,
2320
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2321
+ _content_type: Optional[StrictStr] = None,
2322
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2323
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2324
+ ) -> ApiResponse[List[PortainerUser]]:
2325
+ """List users
2326
+
2327
+ List Portainer users. Non-administrator users will only be able to list other non-administrator user accounts. User passwords are filtered out, and should never be accessible. **Access policy**: restricted
2328
+
2329
+ :param environment_id: Identifier of the environment(endpoint) that will be used to filter the authorized users
2330
+ :type environment_id: int
2331
+ :param _request_timeout: timeout setting for this request. If one
2332
+ number provided, it will be total request
2333
+ timeout. It can also be a pair (tuple) of
2334
+ (connection, read) timeouts.
2335
+ :type _request_timeout: int, tuple(int, int), optional
2336
+ :param _request_auth: set to override the auth_settings for an a single
2337
+ request; this effectively ignores the
2338
+ authentication in the spec for a single request.
2339
+ :type _request_auth: dict, optional
2340
+ :param _content_type: force content-type for the request.
2341
+ :type _content_type: str, Optional
2342
+ :param _headers: set to override the headers for a single
2343
+ request; this effectively ignores the headers
2344
+ in the spec for a single request.
2345
+ :type _headers: dict, optional
2346
+ :param _host_index: set to override the host_index for a single
2347
+ request; this effectively ignores the host_index
2348
+ in the spec for a single request.
2349
+ :type _host_index: int, optional
2350
+ :return: Returns the result object.
2351
+ """ # noqa: E501
2352
+
2353
+ _param = self._user_list_serialize(
2354
+ environment_id=environment_id,
2355
+ _request_auth=_request_auth,
2356
+ _content_type=_content_type,
2357
+ _headers=_headers,
2358
+ _host_index=_host_index
2359
+ )
2360
+
2361
+ _response_types_map: Dict[str, Optional[str]] = {
2362
+ '200': "List[PortainerUser]",
2363
+ '400': None,
2364
+ '500': None,
2365
+ }
2366
+ response_data = self.api_client.call_api(
2367
+ *_param,
2368
+ _request_timeout=_request_timeout
2369
+ )
2370
+ response_data.read()
2371
+ return self.api_client.response_deserialize(
2372
+ response_data=response_data,
2373
+ response_types_map=_response_types_map,
2374
+ )
2375
+
2376
+
2377
+ @validate_call
2378
+ def user_list_without_preload_content(
2379
+ self,
2380
+ environment_id: Annotated[Optional[StrictInt], Field(description="Identifier of the environment(endpoint) that will be used to filter the authorized users")] = None,
2381
+ _request_timeout: Union[
2382
+ None,
2383
+ Annotated[StrictFloat, Field(gt=0)],
2384
+ Tuple[
2385
+ Annotated[StrictFloat, Field(gt=0)],
2386
+ Annotated[StrictFloat, Field(gt=0)]
2387
+ ]
2388
+ ] = None,
2389
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2390
+ _content_type: Optional[StrictStr] = None,
2391
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2392
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2393
+ ) -> RESTResponseType:
2394
+ """List users
2395
+
2396
+ List Portainer users. Non-administrator users will only be able to list other non-administrator user accounts. User passwords are filtered out, and should never be accessible. **Access policy**: restricted
2397
+
2398
+ :param environment_id: Identifier of the environment(endpoint) that will be used to filter the authorized users
2399
+ :type environment_id: int
2400
+ :param _request_timeout: timeout setting for this request. If one
2401
+ number provided, it will be total request
2402
+ timeout. It can also be a pair (tuple) of
2403
+ (connection, read) timeouts.
2404
+ :type _request_timeout: int, tuple(int, int), optional
2405
+ :param _request_auth: set to override the auth_settings for an a single
2406
+ request; this effectively ignores the
2407
+ authentication in the spec for a single request.
2408
+ :type _request_auth: dict, optional
2409
+ :param _content_type: force content-type for the request.
2410
+ :type _content_type: str, Optional
2411
+ :param _headers: set to override the headers for a single
2412
+ request; this effectively ignores the headers
2413
+ in the spec for a single request.
2414
+ :type _headers: dict, optional
2415
+ :param _host_index: set to override the host_index for a single
2416
+ request; this effectively ignores the host_index
2417
+ in the spec for a single request.
2418
+ :type _host_index: int, optional
2419
+ :return: Returns the result object.
2420
+ """ # noqa: E501
2421
+
2422
+ _param = self._user_list_serialize(
2423
+ environment_id=environment_id,
2424
+ _request_auth=_request_auth,
2425
+ _content_type=_content_type,
2426
+ _headers=_headers,
2427
+ _host_index=_host_index
2428
+ )
2429
+
2430
+ _response_types_map: Dict[str, Optional[str]] = {
2431
+ '200': "List[PortainerUser]",
2432
+ '400': None,
2433
+ '500': None,
2434
+ }
2435
+ response_data = self.api_client.call_api(
2436
+ *_param,
2437
+ _request_timeout=_request_timeout
2438
+ )
2439
+ return response_data.response
2440
+
2441
+
2442
+ def _user_list_serialize(
2443
+ self,
2444
+ environment_id,
2445
+ _request_auth,
2446
+ _content_type,
2447
+ _headers,
2448
+ _host_index,
2449
+ ) -> RequestSerialized:
2450
+
2451
+ _host = None
2452
+
2453
+ _collection_formats: Dict[str, str] = {
2454
+ }
2455
+
2456
+ _path_params: Dict[str, str] = {}
2457
+ _query_params: List[Tuple[str, str]] = []
2458
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2459
+ _form_params: List[Tuple[str, str]] = []
2460
+ _files: Dict[
2461
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2462
+ ] = {}
2463
+ _body_params: Optional[bytes] = None
2464
+
2465
+ # process the path parameters
2466
+ # process the query parameters
2467
+ if environment_id is not None:
2468
+
2469
+ _query_params.append(('environmentId', environment_id))
2470
+
2471
+ # process the header parameters
2472
+ # process the form parameters
2473
+ # process the body parameter
2474
+
2475
+
2476
+ # set the HTTP header `Accept`
2477
+ if 'Accept' not in _header_params:
2478
+ _header_params['Accept'] = self.api_client.select_header_accept(
2479
+ [
2480
+ 'application/json'
2481
+ ]
2482
+ )
2483
+
2484
+
2485
+ # authentication setting
2486
+ _auth_settings: List[str] = [
2487
+ 'jwt',
2488
+ 'ApiKeyAuth'
2489
+ ]
2490
+
2491
+ return self.api_client.param_serialize(
2492
+ method='GET',
2493
+ resource_path='/users',
2494
+ path_params=_path_params,
2495
+ query_params=_query_params,
2496
+ header_params=_header_params,
2497
+ body=_body_params,
2498
+ post_params=_form_params,
2499
+ files=_files,
2500
+ auth_settings=_auth_settings,
2501
+ collection_formats=_collection_formats,
2502
+ _host=_host,
2503
+ _request_auth=_request_auth
2504
+ )
2505
+
2506
+
2507
+
2508
+
2509
+ @validate_call
2510
+ def user_memberships_inspect(
2511
+ self,
2512
+ id: Annotated[StrictInt, Field(description="User identifier")],
2513
+ _request_timeout: Union[
2514
+ None,
2515
+ Annotated[StrictFloat, Field(gt=0)],
2516
+ Tuple[
2517
+ Annotated[StrictFloat, Field(gt=0)],
2518
+ Annotated[StrictFloat, Field(gt=0)]
2519
+ ]
2520
+ ] = None,
2521
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2522
+ _content_type: Optional[StrictStr] = None,
2523
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2524
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2525
+ ) -> List[PortainerTeamMembership]:
2526
+ """Inspect a user memberships
2527
+
2528
+ Inspect a user memberships. **Access policy**: restricted
2529
+
2530
+ :param id: User identifier (required)
2531
+ :type id: int
2532
+ :param _request_timeout: timeout setting for this request. If one
2533
+ number provided, it will be total request
2534
+ timeout. It can also be a pair (tuple) of
2535
+ (connection, read) timeouts.
2536
+ :type _request_timeout: int, tuple(int, int), optional
2537
+ :param _request_auth: set to override the auth_settings for an a single
2538
+ request; this effectively ignores the
2539
+ authentication in the spec for a single request.
2540
+ :type _request_auth: dict, optional
2541
+ :param _content_type: force content-type for the request.
2542
+ :type _content_type: str, Optional
2543
+ :param _headers: set to override the headers for a single
2544
+ request; this effectively ignores the headers
2545
+ in the spec for a single request.
2546
+ :type _headers: dict, optional
2547
+ :param _host_index: set to override the host_index for a single
2548
+ request; this effectively ignores the host_index
2549
+ in the spec for a single request.
2550
+ :type _host_index: int, optional
2551
+ :return: Returns the result object.
2552
+ """ # noqa: E501
2553
+
2554
+ _param = self._user_memberships_inspect_serialize(
2555
+ id=id,
2556
+ _request_auth=_request_auth,
2557
+ _content_type=_content_type,
2558
+ _headers=_headers,
2559
+ _host_index=_host_index
2560
+ )
2561
+
2562
+ _response_types_map: Dict[str, Optional[str]] = {
2563
+ '200': "List[PortainerTeamMembership]",
2564
+ '400': None,
2565
+ '403': None,
2566
+ '500': None,
2567
+ }
2568
+ response_data = self.api_client.call_api(
2569
+ *_param,
2570
+ _request_timeout=_request_timeout
2571
+ )
2572
+ response_data.read()
2573
+ return self.api_client.response_deserialize(
2574
+ response_data=response_data,
2575
+ response_types_map=_response_types_map,
2576
+ ).data
2577
+
2578
+
2579
+ @validate_call
2580
+ def user_memberships_inspect_with_http_info(
2581
+ self,
2582
+ id: Annotated[StrictInt, Field(description="User identifier")],
2583
+ _request_timeout: Union[
2584
+ None,
2585
+ Annotated[StrictFloat, Field(gt=0)],
2586
+ Tuple[
2587
+ Annotated[StrictFloat, Field(gt=0)],
2588
+ Annotated[StrictFloat, Field(gt=0)]
2589
+ ]
2590
+ ] = None,
2591
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2592
+ _content_type: Optional[StrictStr] = None,
2593
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2594
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2595
+ ) -> ApiResponse[List[PortainerTeamMembership]]:
2596
+ """Inspect a user memberships
2597
+
2598
+ Inspect a user memberships. **Access policy**: restricted
2599
+
2600
+ :param id: User identifier (required)
2601
+ :type id: int
2602
+ :param _request_timeout: timeout setting for this request. If one
2603
+ number provided, it will be total request
2604
+ timeout. It can also be a pair (tuple) of
2605
+ (connection, read) timeouts.
2606
+ :type _request_timeout: int, tuple(int, int), optional
2607
+ :param _request_auth: set to override the auth_settings for an a single
2608
+ request; this effectively ignores the
2609
+ authentication in the spec for a single request.
2610
+ :type _request_auth: dict, optional
2611
+ :param _content_type: force content-type for the request.
2612
+ :type _content_type: str, Optional
2613
+ :param _headers: set to override the headers for a single
2614
+ request; this effectively ignores the headers
2615
+ in the spec for a single request.
2616
+ :type _headers: dict, optional
2617
+ :param _host_index: set to override the host_index for a single
2618
+ request; this effectively ignores the host_index
2619
+ in the spec for a single request.
2620
+ :type _host_index: int, optional
2621
+ :return: Returns the result object.
2622
+ """ # noqa: E501
2623
+
2624
+ _param = self._user_memberships_inspect_serialize(
2625
+ id=id,
2626
+ _request_auth=_request_auth,
2627
+ _content_type=_content_type,
2628
+ _headers=_headers,
2629
+ _host_index=_host_index
2630
+ )
2631
+
2632
+ _response_types_map: Dict[str, Optional[str]] = {
2633
+ '200': "List[PortainerTeamMembership]",
2634
+ '400': None,
2635
+ '403': None,
2636
+ '500': None,
2637
+ }
2638
+ response_data = self.api_client.call_api(
2639
+ *_param,
2640
+ _request_timeout=_request_timeout
2641
+ )
2642
+ response_data.read()
2643
+ return self.api_client.response_deserialize(
2644
+ response_data=response_data,
2645
+ response_types_map=_response_types_map,
2646
+ )
2647
+
2648
+
2649
+ @validate_call
2650
+ def user_memberships_inspect_without_preload_content(
2651
+ self,
2652
+ id: Annotated[StrictInt, Field(description="User identifier")],
2653
+ _request_timeout: Union[
2654
+ None,
2655
+ Annotated[StrictFloat, Field(gt=0)],
2656
+ Tuple[
2657
+ Annotated[StrictFloat, Field(gt=0)],
2658
+ Annotated[StrictFloat, Field(gt=0)]
2659
+ ]
2660
+ ] = None,
2661
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2662
+ _content_type: Optional[StrictStr] = None,
2663
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2664
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2665
+ ) -> RESTResponseType:
2666
+ """Inspect a user memberships
2667
+
2668
+ Inspect a user memberships. **Access policy**: restricted
2669
+
2670
+ :param id: User identifier (required)
2671
+ :type id: int
2672
+ :param _request_timeout: timeout setting for this request. If one
2673
+ number provided, it will be total request
2674
+ timeout. It can also be a pair (tuple) of
2675
+ (connection, read) timeouts.
2676
+ :type _request_timeout: int, tuple(int, int), optional
2677
+ :param _request_auth: set to override the auth_settings for an a single
2678
+ request; this effectively ignores the
2679
+ authentication in the spec for a single request.
2680
+ :type _request_auth: dict, optional
2681
+ :param _content_type: force content-type for the request.
2682
+ :type _content_type: str, Optional
2683
+ :param _headers: set to override the headers for a single
2684
+ request; this effectively ignores the headers
2685
+ in the spec for a single request.
2686
+ :type _headers: dict, optional
2687
+ :param _host_index: set to override the host_index for a single
2688
+ request; this effectively ignores the host_index
2689
+ in the spec for a single request.
2690
+ :type _host_index: int, optional
2691
+ :return: Returns the result object.
2692
+ """ # noqa: E501
2693
+
2694
+ _param = self._user_memberships_inspect_serialize(
2695
+ id=id,
2696
+ _request_auth=_request_auth,
2697
+ _content_type=_content_type,
2698
+ _headers=_headers,
2699
+ _host_index=_host_index
2700
+ )
2701
+
2702
+ _response_types_map: Dict[str, Optional[str]] = {
2703
+ '200': "List[PortainerTeamMembership]",
2704
+ '400': None,
2705
+ '403': None,
2706
+ '500': None,
2707
+ }
2708
+ response_data = self.api_client.call_api(
2709
+ *_param,
2710
+ _request_timeout=_request_timeout
2711
+ )
2712
+ return response_data.response
2713
+
2714
+
2715
+ def _user_memberships_inspect_serialize(
2716
+ self,
2717
+ id,
2718
+ _request_auth,
2719
+ _content_type,
2720
+ _headers,
2721
+ _host_index,
2722
+ ) -> RequestSerialized:
2723
+
2724
+ _host = None
2725
+
2726
+ _collection_formats: Dict[str, str] = {
2727
+ }
2728
+
2729
+ _path_params: Dict[str, str] = {}
2730
+ _query_params: List[Tuple[str, str]] = []
2731
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2732
+ _form_params: List[Tuple[str, str]] = []
2733
+ _files: Dict[
2734
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2735
+ ] = {}
2736
+ _body_params: Optional[bytes] = None
2737
+
2738
+ # process the path parameters
2739
+ if id is not None:
2740
+ _path_params['id'] = id
2741
+ # process the query parameters
2742
+ # process the header parameters
2743
+ # process the form parameters
2744
+ # process the body parameter
2745
+
2746
+
2747
+ # set the HTTP header `Accept`
2748
+ if 'Accept' not in _header_params:
2749
+ _header_params['Accept'] = self.api_client.select_header_accept(
2750
+ [
2751
+ 'application/json'
2752
+ ]
2753
+ )
2754
+
2755
+
2756
+ # authentication setting
2757
+ _auth_settings: List[str] = [
2758
+ 'jwt',
2759
+ 'ApiKeyAuth'
2760
+ ]
2761
+
2762
+ return self.api_client.param_serialize(
2763
+ method='GET',
2764
+ resource_path='/users/{id}/memberships',
2765
+ path_params=_path_params,
2766
+ query_params=_query_params,
2767
+ header_params=_header_params,
2768
+ body=_body_params,
2769
+ post_params=_form_params,
2770
+ files=_files,
2771
+ auth_settings=_auth_settings,
2772
+ collection_formats=_collection_formats,
2773
+ _host=_host,
2774
+ _request_auth=_request_auth
2775
+ )
2776
+
2777
+
2778
+
2779
+
2780
+ @validate_call
2781
+ def user_remove_api_key(
2782
+ self,
2783
+ id: Annotated[StrictInt, Field(description="User identifier")],
2784
+ key_id: Annotated[StrictInt, Field(description="Api Key identifier")],
2785
+ _request_timeout: Union[
2786
+ None,
2787
+ Annotated[StrictFloat, Field(gt=0)],
2788
+ Tuple[
2789
+ Annotated[StrictFloat, Field(gt=0)],
2790
+ Annotated[StrictFloat, Field(gt=0)]
2791
+ ]
2792
+ ] = None,
2793
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2794
+ _content_type: Optional[StrictStr] = None,
2795
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2796
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2797
+ ) -> None:
2798
+ """Remove an api-key associated to a user
2799
+
2800
+ Remove an api-key associated to a user.. Only the calling user or admin can remove api-key. **Access policy**: authenticated
2801
+
2802
+ :param id: User identifier (required)
2803
+ :type id: int
2804
+ :param key_id: Api Key identifier (required)
2805
+ :type key_id: int
2806
+ :param _request_timeout: timeout setting for this request. If one
2807
+ number provided, it will be total request
2808
+ timeout. It can also be a pair (tuple) of
2809
+ (connection, read) timeouts.
2810
+ :type _request_timeout: int, tuple(int, int), optional
2811
+ :param _request_auth: set to override the auth_settings for an a single
2812
+ request; this effectively ignores the
2813
+ authentication in the spec for a single request.
2814
+ :type _request_auth: dict, optional
2815
+ :param _content_type: force content-type for the request.
2816
+ :type _content_type: str, Optional
2817
+ :param _headers: set to override the headers for a single
2818
+ request; this effectively ignores the headers
2819
+ in the spec for a single request.
2820
+ :type _headers: dict, optional
2821
+ :param _host_index: set to override the host_index for a single
2822
+ request; this effectively ignores the host_index
2823
+ in the spec for a single request.
2824
+ :type _host_index: int, optional
2825
+ :return: Returns the result object.
2826
+ """ # noqa: E501
2827
+
2828
+ _param = self._user_remove_api_key_serialize(
2829
+ id=id,
2830
+ key_id=key_id,
2831
+ _request_auth=_request_auth,
2832
+ _content_type=_content_type,
2833
+ _headers=_headers,
2834
+ _host_index=_host_index
2835
+ )
2836
+
2837
+ _response_types_map: Dict[str, Optional[str]] = {
2838
+ '204': None,
2839
+ '400': None,
2840
+ '403': None,
2841
+ '404': None,
2842
+ '500': None,
2843
+ }
2844
+ response_data = self.api_client.call_api(
2845
+ *_param,
2846
+ _request_timeout=_request_timeout
2847
+ )
2848
+ response_data.read()
2849
+ return self.api_client.response_deserialize(
2850
+ response_data=response_data,
2851
+ response_types_map=_response_types_map,
2852
+ ).data
2853
+
2854
+
2855
+ @validate_call
2856
+ def user_remove_api_key_with_http_info(
2857
+ self,
2858
+ id: Annotated[StrictInt, Field(description="User identifier")],
2859
+ key_id: Annotated[StrictInt, Field(description="Api Key identifier")],
2860
+ _request_timeout: Union[
2861
+ None,
2862
+ Annotated[StrictFloat, Field(gt=0)],
2863
+ Tuple[
2864
+ Annotated[StrictFloat, Field(gt=0)],
2865
+ Annotated[StrictFloat, Field(gt=0)]
2866
+ ]
2867
+ ] = None,
2868
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2869
+ _content_type: Optional[StrictStr] = None,
2870
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2871
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2872
+ ) -> ApiResponse[None]:
2873
+ """Remove an api-key associated to a user
2874
+
2875
+ Remove an api-key associated to a user.. Only the calling user or admin can remove api-key. **Access policy**: authenticated
2876
+
2877
+ :param id: User identifier (required)
2878
+ :type id: int
2879
+ :param key_id: Api Key identifier (required)
2880
+ :type key_id: int
2881
+ :param _request_timeout: timeout setting for this request. If one
2882
+ number provided, it will be total request
2883
+ timeout. It can also be a pair (tuple) of
2884
+ (connection, read) timeouts.
2885
+ :type _request_timeout: int, tuple(int, int), optional
2886
+ :param _request_auth: set to override the auth_settings for an a single
2887
+ request; this effectively ignores the
2888
+ authentication in the spec for a single request.
2889
+ :type _request_auth: dict, optional
2890
+ :param _content_type: force content-type for the request.
2891
+ :type _content_type: str, Optional
2892
+ :param _headers: set to override the headers for a single
2893
+ request; this effectively ignores the headers
2894
+ in the spec for a single request.
2895
+ :type _headers: dict, optional
2896
+ :param _host_index: set to override the host_index for a single
2897
+ request; this effectively ignores the host_index
2898
+ in the spec for a single request.
2899
+ :type _host_index: int, optional
2900
+ :return: Returns the result object.
2901
+ """ # noqa: E501
2902
+
2903
+ _param = self._user_remove_api_key_serialize(
2904
+ id=id,
2905
+ key_id=key_id,
2906
+ _request_auth=_request_auth,
2907
+ _content_type=_content_type,
2908
+ _headers=_headers,
2909
+ _host_index=_host_index
2910
+ )
2911
+
2912
+ _response_types_map: Dict[str, Optional[str]] = {
2913
+ '204': None,
2914
+ '400': None,
2915
+ '403': None,
2916
+ '404': None,
2917
+ '500': None,
2918
+ }
2919
+ response_data = self.api_client.call_api(
2920
+ *_param,
2921
+ _request_timeout=_request_timeout
2922
+ )
2923
+ response_data.read()
2924
+ return self.api_client.response_deserialize(
2925
+ response_data=response_data,
2926
+ response_types_map=_response_types_map,
2927
+ )
2928
+
2929
+
2930
+ @validate_call
2931
+ def user_remove_api_key_without_preload_content(
2932
+ self,
2933
+ id: Annotated[StrictInt, Field(description="User identifier")],
2934
+ key_id: Annotated[StrictInt, Field(description="Api Key identifier")],
2935
+ _request_timeout: Union[
2936
+ None,
2937
+ Annotated[StrictFloat, Field(gt=0)],
2938
+ Tuple[
2939
+ Annotated[StrictFloat, Field(gt=0)],
2940
+ Annotated[StrictFloat, Field(gt=0)]
2941
+ ]
2942
+ ] = None,
2943
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2944
+ _content_type: Optional[StrictStr] = None,
2945
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2946
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2947
+ ) -> RESTResponseType:
2948
+ """Remove an api-key associated to a user
2949
+
2950
+ Remove an api-key associated to a user.. Only the calling user or admin can remove api-key. **Access policy**: authenticated
2951
+
2952
+ :param id: User identifier (required)
2953
+ :type id: int
2954
+ :param key_id: Api Key identifier (required)
2955
+ :type key_id: int
2956
+ :param _request_timeout: timeout setting for this request. If one
2957
+ number provided, it will be total request
2958
+ timeout. It can also be a pair (tuple) of
2959
+ (connection, read) timeouts.
2960
+ :type _request_timeout: int, tuple(int, int), optional
2961
+ :param _request_auth: set to override the auth_settings for an a single
2962
+ request; this effectively ignores the
2963
+ authentication in the spec for a single request.
2964
+ :type _request_auth: dict, optional
2965
+ :param _content_type: force content-type for the request.
2966
+ :type _content_type: str, Optional
2967
+ :param _headers: set to override the headers for a single
2968
+ request; this effectively ignores the headers
2969
+ in the spec for a single request.
2970
+ :type _headers: dict, optional
2971
+ :param _host_index: set to override the host_index for a single
2972
+ request; this effectively ignores the host_index
2973
+ in the spec for a single request.
2974
+ :type _host_index: int, optional
2975
+ :return: Returns the result object.
2976
+ """ # noqa: E501
2977
+
2978
+ _param = self._user_remove_api_key_serialize(
2979
+ id=id,
2980
+ key_id=key_id,
2981
+ _request_auth=_request_auth,
2982
+ _content_type=_content_type,
2983
+ _headers=_headers,
2984
+ _host_index=_host_index
2985
+ )
2986
+
2987
+ _response_types_map: Dict[str, Optional[str]] = {
2988
+ '204': None,
2989
+ '400': None,
2990
+ '403': None,
2991
+ '404': None,
2992
+ '500': None,
2993
+ }
2994
+ response_data = self.api_client.call_api(
2995
+ *_param,
2996
+ _request_timeout=_request_timeout
2997
+ )
2998
+ return response_data.response
2999
+
3000
+
3001
+ def _user_remove_api_key_serialize(
3002
+ self,
3003
+ id,
3004
+ key_id,
3005
+ _request_auth,
3006
+ _content_type,
3007
+ _headers,
3008
+ _host_index,
3009
+ ) -> RequestSerialized:
3010
+
3011
+ _host = None
3012
+
3013
+ _collection_formats: Dict[str, str] = {
3014
+ }
3015
+
3016
+ _path_params: Dict[str, str] = {}
3017
+ _query_params: List[Tuple[str, str]] = []
3018
+ _header_params: Dict[str, Optional[str]] = _headers or {}
3019
+ _form_params: List[Tuple[str, str]] = []
3020
+ _files: Dict[
3021
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
3022
+ ] = {}
3023
+ _body_params: Optional[bytes] = None
3024
+
3025
+ # process the path parameters
3026
+ if id is not None:
3027
+ _path_params['id'] = id
3028
+ if key_id is not None:
3029
+ _path_params['keyID'] = key_id
3030
+ # process the query parameters
3031
+ # process the header parameters
3032
+ # process the form parameters
3033
+ # process the body parameter
3034
+
3035
+
3036
+
3037
+
3038
+ # authentication setting
3039
+ _auth_settings: List[str] = [
3040
+ 'jwt',
3041
+ 'ApiKeyAuth'
3042
+ ]
3043
+
3044
+ return self.api_client.param_serialize(
3045
+ method='DELETE',
3046
+ resource_path='/users/{id}/tokens/{keyID}',
3047
+ path_params=_path_params,
3048
+ query_params=_query_params,
3049
+ header_params=_header_params,
3050
+ body=_body_params,
3051
+ post_params=_form_params,
3052
+ files=_files,
3053
+ auth_settings=_auth_settings,
3054
+ collection_formats=_collection_formats,
3055
+ _host=_host,
3056
+ _request_auth=_request_auth
3057
+ )
3058
+
3059
+
3060
+
3061
+
3062
+ @validate_call
3063
+ def user_update(
3064
+ self,
3065
+ id: Annotated[StrictInt, Field(description="User identifier")],
3066
+ body: Annotated[UsersUserUpdatePayload, Field(description="User details")],
3067
+ _request_timeout: Union[
3068
+ None,
3069
+ Annotated[StrictFloat, Field(gt=0)],
3070
+ Tuple[
3071
+ Annotated[StrictFloat, Field(gt=0)],
3072
+ Annotated[StrictFloat, Field(gt=0)]
3073
+ ]
3074
+ ] = None,
3075
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3076
+ _content_type: Optional[StrictStr] = None,
3077
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3078
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3079
+ ) -> PortainerUser:
3080
+ """Update a user
3081
+
3082
+ Update user details. A regular user account can only update his details. A regular user account cannot change their username or role. **Access policy**: authenticated
3083
+
3084
+ :param id: User identifier (required)
3085
+ :type id: int
3086
+ :param body: User details (required)
3087
+ :type body: UsersUserUpdatePayload
3088
+ :param _request_timeout: timeout setting for this request. If one
3089
+ number provided, it will be total request
3090
+ timeout. It can also be a pair (tuple) of
3091
+ (connection, read) timeouts.
3092
+ :type _request_timeout: int, tuple(int, int), optional
3093
+ :param _request_auth: set to override the auth_settings for an a single
3094
+ request; this effectively ignores the
3095
+ authentication in the spec for a single request.
3096
+ :type _request_auth: dict, optional
3097
+ :param _content_type: force content-type for the request.
3098
+ :type _content_type: str, Optional
3099
+ :param _headers: set to override the headers for a single
3100
+ request; this effectively ignores the headers
3101
+ in the spec for a single request.
3102
+ :type _headers: dict, optional
3103
+ :param _host_index: set to override the host_index for a single
3104
+ request; this effectively ignores the host_index
3105
+ in the spec for a single request.
3106
+ :type _host_index: int, optional
3107
+ :return: Returns the result object.
3108
+ """ # noqa: E501
3109
+
3110
+ _param = self._user_update_serialize(
3111
+ id=id,
3112
+ body=body,
3113
+ _request_auth=_request_auth,
3114
+ _content_type=_content_type,
3115
+ _headers=_headers,
3116
+ _host_index=_host_index
3117
+ )
3118
+
3119
+ _response_types_map: Dict[str, Optional[str]] = {
3120
+ '200': "PortainerUser",
3121
+ '400': None,
3122
+ '403': None,
3123
+ '404': None,
3124
+ '409': None,
3125
+ '500': None,
3126
+ }
3127
+ response_data = self.api_client.call_api(
3128
+ *_param,
3129
+ _request_timeout=_request_timeout
3130
+ )
3131
+ response_data.read()
3132
+ return self.api_client.response_deserialize(
3133
+ response_data=response_data,
3134
+ response_types_map=_response_types_map,
3135
+ ).data
3136
+
3137
+
3138
+ @validate_call
3139
+ def user_update_with_http_info(
3140
+ self,
3141
+ id: Annotated[StrictInt, Field(description="User identifier")],
3142
+ body: Annotated[UsersUserUpdatePayload, Field(description="User details")],
3143
+ _request_timeout: Union[
3144
+ None,
3145
+ Annotated[StrictFloat, Field(gt=0)],
3146
+ Tuple[
3147
+ Annotated[StrictFloat, Field(gt=0)],
3148
+ Annotated[StrictFloat, Field(gt=0)]
3149
+ ]
3150
+ ] = None,
3151
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3152
+ _content_type: Optional[StrictStr] = None,
3153
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3154
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3155
+ ) -> ApiResponse[PortainerUser]:
3156
+ """Update a user
3157
+
3158
+ Update user details. A regular user account can only update his details. A regular user account cannot change their username or role. **Access policy**: authenticated
3159
+
3160
+ :param id: User identifier (required)
3161
+ :type id: int
3162
+ :param body: User details (required)
3163
+ :type body: UsersUserUpdatePayload
3164
+ :param _request_timeout: timeout setting for this request. If one
3165
+ number provided, it will be total request
3166
+ timeout. It can also be a pair (tuple) of
3167
+ (connection, read) timeouts.
3168
+ :type _request_timeout: int, tuple(int, int), optional
3169
+ :param _request_auth: set to override the auth_settings for an a single
3170
+ request; this effectively ignores the
3171
+ authentication in the spec for a single request.
3172
+ :type _request_auth: dict, optional
3173
+ :param _content_type: force content-type for the request.
3174
+ :type _content_type: str, Optional
3175
+ :param _headers: set to override the headers for a single
3176
+ request; this effectively ignores the headers
3177
+ in the spec for a single request.
3178
+ :type _headers: dict, optional
3179
+ :param _host_index: set to override the host_index for a single
3180
+ request; this effectively ignores the host_index
3181
+ in the spec for a single request.
3182
+ :type _host_index: int, optional
3183
+ :return: Returns the result object.
3184
+ """ # noqa: E501
3185
+
3186
+ _param = self._user_update_serialize(
3187
+ id=id,
3188
+ body=body,
3189
+ _request_auth=_request_auth,
3190
+ _content_type=_content_type,
3191
+ _headers=_headers,
3192
+ _host_index=_host_index
3193
+ )
3194
+
3195
+ _response_types_map: Dict[str, Optional[str]] = {
3196
+ '200': "PortainerUser",
3197
+ '400': None,
3198
+ '403': None,
3199
+ '404': None,
3200
+ '409': None,
3201
+ '500': None,
3202
+ }
3203
+ response_data = self.api_client.call_api(
3204
+ *_param,
3205
+ _request_timeout=_request_timeout
3206
+ )
3207
+ response_data.read()
3208
+ return self.api_client.response_deserialize(
3209
+ response_data=response_data,
3210
+ response_types_map=_response_types_map,
3211
+ )
3212
+
3213
+
3214
+ @validate_call
3215
+ def user_update_without_preload_content(
3216
+ self,
3217
+ id: Annotated[StrictInt, Field(description="User identifier")],
3218
+ body: Annotated[UsersUserUpdatePayload, Field(description="User details")],
3219
+ _request_timeout: Union[
3220
+ None,
3221
+ Annotated[StrictFloat, Field(gt=0)],
3222
+ Tuple[
3223
+ Annotated[StrictFloat, Field(gt=0)],
3224
+ Annotated[StrictFloat, Field(gt=0)]
3225
+ ]
3226
+ ] = None,
3227
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3228
+ _content_type: Optional[StrictStr] = None,
3229
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3230
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3231
+ ) -> RESTResponseType:
3232
+ """Update a user
3233
+
3234
+ Update user details. A regular user account can only update his details. A regular user account cannot change their username or role. **Access policy**: authenticated
3235
+
3236
+ :param id: User identifier (required)
3237
+ :type id: int
3238
+ :param body: User details (required)
3239
+ :type body: UsersUserUpdatePayload
3240
+ :param _request_timeout: timeout setting for this request. If one
3241
+ number provided, it will be total request
3242
+ timeout. It can also be a pair (tuple) of
3243
+ (connection, read) timeouts.
3244
+ :type _request_timeout: int, tuple(int, int), optional
3245
+ :param _request_auth: set to override the auth_settings for an a single
3246
+ request; this effectively ignores the
3247
+ authentication in the spec for a single request.
3248
+ :type _request_auth: dict, optional
3249
+ :param _content_type: force content-type for the request.
3250
+ :type _content_type: str, Optional
3251
+ :param _headers: set to override the headers for a single
3252
+ request; this effectively ignores the headers
3253
+ in the spec for a single request.
3254
+ :type _headers: dict, optional
3255
+ :param _host_index: set to override the host_index for a single
3256
+ request; this effectively ignores the host_index
3257
+ in the spec for a single request.
3258
+ :type _host_index: int, optional
3259
+ :return: Returns the result object.
3260
+ """ # noqa: E501
3261
+
3262
+ _param = self._user_update_serialize(
3263
+ id=id,
3264
+ body=body,
3265
+ _request_auth=_request_auth,
3266
+ _content_type=_content_type,
3267
+ _headers=_headers,
3268
+ _host_index=_host_index
3269
+ )
3270
+
3271
+ _response_types_map: Dict[str, Optional[str]] = {
3272
+ '200': "PortainerUser",
3273
+ '400': None,
3274
+ '403': None,
3275
+ '404': None,
3276
+ '409': None,
3277
+ '500': None,
3278
+ }
3279
+ response_data = self.api_client.call_api(
3280
+ *_param,
3281
+ _request_timeout=_request_timeout
3282
+ )
3283
+ return response_data.response
3284
+
3285
+
3286
+ def _user_update_serialize(
3287
+ self,
3288
+ id,
3289
+ body,
3290
+ _request_auth,
3291
+ _content_type,
3292
+ _headers,
3293
+ _host_index,
3294
+ ) -> RequestSerialized:
3295
+
3296
+ _host = None
3297
+
3298
+ _collection_formats: Dict[str, str] = {
3299
+ }
3300
+
3301
+ _path_params: Dict[str, str] = {}
3302
+ _query_params: List[Tuple[str, str]] = []
3303
+ _header_params: Dict[str, Optional[str]] = _headers or {}
3304
+ _form_params: List[Tuple[str, str]] = []
3305
+ _files: Dict[
3306
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
3307
+ ] = {}
3308
+ _body_params: Optional[bytes] = None
3309
+
3310
+ # process the path parameters
3311
+ if id is not None:
3312
+ _path_params['id'] = id
3313
+ # process the query parameters
3314
+ # process the header parameters
3315
+ # process the form parameters
3316
+ # process the body parameter
3317
+ if body is not None:
3318
+ _body_params = body
3319
+
3320
+
3321
+ # set the HTTP header `Accept`
3322
+ if 'Accept' not in _header_params:
3323
+ _header_params['Accept'] = self.api_client.select_header_accept(
3324
+ [
3325
+ 'application/json'
3326
+ ]
3327
+ )
3328
+
3329
+ # set the HTTP header `Content-Type`
3330
+ if _content_type:
3331
+ _header_params['Content-Type'] = _content_type
3332
+ else:
3333
+ _default_content_type = (
3334
+ self.api_client.select_header_content_type(
3335
+ [
3336
+ 'application/json'
3337
+ ]
3338
+ )
3339
+ )
3340
+ if _default_content_type is not None:
3341
+ _header_params['Content-Type'] = _default_content_type
3342
+
3343
+ # authentication setting
3344
+ _auth_settings: List[str] = [
3345
+ 'jwt',
3346
+ 'ApiKeyAuth'
3347
+ ]
3348
+
3349
+ return self.api_client.param_serialize(
3350
+ method='PUT',
3351
+ resource_path='/users/{id}',
3352
+ path_params=_path_params,
3353
+ query_params=_query_params,
3354
+ header_params=_header_params,
3355
+ body=_body_params,
3356
+ post_params=_form_params,
3357
+ files=_files,
3358
+ auth_settings=_auth_settings,
3359
+ collection_formats=_collection_formats,
3360
+ _host=_host,
3361
+ _request_auth=_request_auth
3362
+ )
3363
+
3364
+
3365
+
3366
+
3367
+ @validate_call
3368
+ def user_update_password(
3369
+ self,
3370
+ id: Annotated[StrictInt, Field(description="identifier")],
3371
+ body: Annotated[UsersUserUpdatePasswordPayload, Field(description="details")],
3372
+ _request_timeout: Union[
3373
+ None,
3374
+ Annotated[StrictFloat, Field(gt=0)],
3375
+ Tuple[
3376
+ Annotated[StrictFloat, Field(gt=0)],
3377
+ Annotated[StrictFloat, Field(gt=0)]
3378
+ ]
3379
+ ] = None,
3380
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3381
+ _content_type: Optional[StrictStr] = None,
3382
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3383
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3384
+ ) -> None:
3385
+ """Update password for a user
3386
+
3387
+ Update password for the specified user. **Access policy**: authenticated
3388
+
3389
+ :param id: identifier (required)
3390
+ :type id: int
3391
+ :param body: details (required)
3392
+ :type body: UsersUserUpdatePasswordPayload
3393
+ :param _request_timeout: timeout setting for this request. If one
3394
+ number provided, it will be total request
3395
+ timeout. It can also be a pair (tuple) of
3396
+ (connection, read) timeouts.
3397
+ :type _request_timeout: int, tuple(int, int), optional
3398
+ :param _request_auth: set to override the auth_settings for an a single
3399
+ request; this effectively ignores the
3400
+ authentication in the spec for a single request.
3401
+ :type _request_auth: dict, optional
3402
+ :param _content_type: force content-type for the request.
3403
+ :type _content_type: str, Optional
3404
+ :param _headers: set to override the headers for a single
3405
+ request; this effectively ignores the headers
3406
+ in the spec for a single request.
3407
+ :type _headers: dict, optional
3408
+ :param _host_index: set to override the host_index for a single
3409
+ request; this effectively ignores the host_index
3410
+ in the spec for a single request.
3411
+ :type _host_index: int, optional
3412
+ :return: Returns the result object.
3413
+ """ # noqa: E501
3414
+
3415
+ _param = self._user_update_password_serialize(
3416
+ id=id,
3417
+ body=body,
3418
+ _request_auth=_request_auth,
3419
+ _content_type=_content_type,
3420
+ _headers=_headers,
3421
+ _host_index=_host_index
3422
+ )
3423
+
3424
+ _response_types_map: Dict[str, Optional[str]] = {
3425
+ '204': None,
3426
+ '400': None,
3427
+ '403': None,
3428
+ '404': None,
3429
+ '500': None,
3430
+ }
3431
+ response_data = self.api_client.call_api(
3432
+ *_param,
3433
+ _request_timeout=_request_timeout
3434
+ )
3435
+ response_data.read()
3436
+ return self.api_client.response_deserialize(
3437
+ response_data=response_data,
3438
+ response_types_map=_response_types_map,
3439
+ ).data
3440
+
3441
+
3442
+ @validate_call
3443
+ def user_update_password_with_http_info(
3444
+ self,
3445
+ id: Annotated[StrictInt, Field(description="identifier")],
3446
+ body: Annotated[UsersUserUpdatePasswordPayload, Field(description="details")],
3447
+ _request_timeout: Union[
3448
+ None,
3449
+ Annotated[StrictFloat, Field(gt=0)],
3450
+ Tuple[
3451
+ Annotated[StrictFloat, Field(gt=0)],
3452
+ Annotated[StrictFloat, Field(gt=0)]
3453
+ ]
3454
+ ] = None,
3455
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3456
+ _content_type: Optional[StrictStr] = None,
3457
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3458
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3459
+ ) -> ApiResponse[None]:
3460
+ """Update password for a user
3461
+
3462
+ Update password for the specified user. **Access policy**: authenticated
3463
+
3464
+ :param id: identifier (required)
3465
+ :type id: int
3466
+ :param body: details (required)
3467
+ :type body: UsersUserUpdatePasswordPayload
3468
+ :param _request_timeout: timeout setting for this request. If one
3469
+ number provided, it will be total request
3470
+ timeout. It can also be a pair (tuple) of
3471
+ (connection, read) timeouts.
3472
+ :type _request_timeout: int, tuple(int, int), optional
3473
+ :param _request_auth: set to override the auth_settings for an a single
3474
+ request; this effectively ignores the
3475
+ authentication in the spec for a single request.
3476
+ :type _request_auth: dict, optional
3477
+ :param _content_type: force content-type for the request.
3478
+ :type _content_type: str, Optional
3479
+ :param _headers: set to override the headers for a single
3480
+ request; this effectively ignores the headers
3481
+ in the spec for a single request.
3482
+ :type _headers: dict, optional
3483
+ :param _host_index: set to override the host_index for a single
3484
+ request; this effectively ignores the host_index
3485
+ in the spec for a single request.
3486
+ :type _host_index: int, optional
3487
+ :return: Returns the result object.
3488
+ """ # noqa: E501
3489
+
3490
+ _param = self._user_update_password_serialize(
3491
+ id=id,
3492
+ body=body,
3493
+ _request_auth=_request_auth,
3494
+ _content_type=_content_type,
3495
+ _headers=_headers,
3496
+ _host_index=_host_index
3497
+ )
3498
+
3499
+ _response_types_map: Dict[str, Optional[str]] = {
3500
+ '204': None,
3501
+ '400': None,
3502
+ '403': None,
3503
+ '404': None,
3504
+ '500': None,
3505
+ }
3506
+ response_data = self.api_client.call_api(
3507
+ *_param,
3508
+ _request_timeout=_request_timeout
3509
+ )
3510
+ response_data.read()
3511
+ return self.api_client.response_deserialize(
3512
+ response_data=response_data,
3513
+ response_types_map=_response_types_map,
3514
+ )
3515
+
3516
+
3517
+ @validate_call
3518
+ def user_update_password_without_preload_content(
3519
+ self,
3520
+ id: Annotated[StrictInt, Field(description="identifier")],
3521
+ body: Annotated[UsersUserUpdatePasswordPayload, Field(description="details")],
3522
+ _request_timeout: Union[
3523
+ None,
3524
+ Annotated[StrictFloat, Field(gt=0)],
3525
+ Tuple[
3526
+ Annotated[StrictFloat, Field(gt=0)],
3527
+ Annotated[StrictFloat, Field(gt=0)]
3528
+ ]
3529
+ ] = None,
3530
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3531
+ _content_type: Optional[StrictStr] = None,
3532
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3533
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3534
+ ) -> RESTResponseType:
3535
+ """Update password for a user
3536
+
3537
+ Update password for the specified user. **Access policy**: authenticated
3538
+
3539
+ :param id: identifier (required)
3540
+ :type id: int
3541
+ :param body: details (required)
3542
+ :type body: UsersUserUpdatePasswordPayload
3543
+ :param _request_timeout: timeout setting for this request. If one
3544
+ number provided, it will be total request
3545
+ timeout. It can also be a pair (tuple) of
3546
+ (connection, read) timeouts.
3547
+ :type _request_timeout: int, tuple(int, int), optional
3548
+ :param _request_auth: set to override the auth_settings for an a single
3549
+ request; this effectively ignores the
3550
+ authentication in the spec for a single request.
3551
+ :type _request_auth: dict, optional
3552
+ :param _content_type: force content-type for the request.
3553
+ :type _content_type: str, Optional
3554
+ :param _headers: set to override the headers for a single
3555
+ request; this effectively ignores the headers
3556
+ in the spec for a single request.
3557
+ :type _headers: dict, optional
3558
+ :param _host_index: set to override the host_index for a single
3559
+ request; this effectively ignores the host_index
3560
+ in the spec for a single request.
3561
+ :type _host_index: int, optional
3562
+ :return: Returns the result object.
3563
+ """ # noqa: E501
3564
+
3565
+ _param = self._user_update_password_serialize(
3566
+ id=id,
3567
+ body=body,
3568
+ _request_auth=_request_auth,
3569
+ _content_type=_content_type,
3570
+ _headers=_headers,
3571
+ _host_index=_host_index
3572
+ )
3573
+
3574
+ _response_types_map: Dict[str, Optional[str]] = {
3575
+ '204': None,
3576
+ '400': None,
3577
+ '403': None,
3578
+ '404': None,
3579
+ '500': None,
3580
+ }
3581
+ response_data = self.api_client.call_api(
3582
+ *_param,
3583
+ _request_timeout=_request_timeout
3584
+ )
3585
+ return response_data.response
3586
+
3587
+
3588
+ def _user_update_password_serialize(
3589
+ self,
3590
+ id,
3591
+ body,
3592
+ _request_auth,
3593
+ _content_type,
3594
+ _headers,
3595
+ _host_index,
3596
+ ) -> RequestSerialized:
3597
+
3598
+ _host = None
3599
+
3600
+ _collection_formats: Dict[str, str] = {
3601
+ }
3602
+
3603
+ _path_params: Dict[str, str] = {}
3604
+ _query_params: List[Tuple[str, str]] = []
3605
+ _header_params: Dict[str, Optional[str]] = _headers or {}
3606
+ _form_params: List[Tuple[str, str]] = []
3607
+ _files: Dict[
3608
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
3609
+ ] = {}
3610
+ _body_params: Optional[bytes] = None
3611
+
3612
+ # process the path parameters
3613
+ if id is not None:
3614
+ _path_params['id'] = id
3615
+ # process the query parameters
3616
+ # process the header parameters
3617
+ # process the form parameters
3618
+ # process the body parameter
3619
+ if body is not None:
3620
+ _body_params = body
3621
+
3622
+
3623
+
3624
+ # set the HTTP header `Content-Type`
3625
+ if _content_type:
3626
+ _header_params['Content-Type'] = _content_type
3627
+ else:
3628
+ _default_content_type = (
3629
+ self.api_client.select_header_content_type(
3630
+ [
3631
+ 'application/json'
3632
+ ]
3633
+ )
3634
+ )
3635
+ if _default_content_type is not None:
3636
+ _header_params['Content-Type'] = _default_content_type
3637
+
3638
+ # authentication setting
3639
+ _auth_settings: List[str] = [
3640
+ 'jwt',
3641
+ 'ApiKeyAuth'
3642
+ ]
3643
+
3644
+ return self.api_client.param_serialize(
3645
+ method='PUT',
3646
+ resource_path='/users/{id}/passwd',
3647
+ path_params=_path_params,
3648
+ query_params=_query_params,
3649
+ header_params=_header_params,
3650
+ body=_body_params,
3651
+ post_params=_form_params,
3652
+ files=_files,
3653
+ auth_settings=_auth_settings,
3654
+ collection_formats=_collection_formats,
3655
+ _host=_host,
3656
+ _request_auth=_request_auth
3657
+ )
3658
+
3659
+