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.
- ptctools/__init__.py +7 -1
- ptctools/_portainer.py +450 -226
- ptctools/cli.py +5 -8
- ptctools/config.py +111 -149
- ptctools/db.py +203 -142
- ptctools/docker.py +29 -0
- ptctools/portainer_client/.openapi-generator/FILES +818 -0
- ptctools/portainer_client/.openapi-generator/VERSION +1 -0
- ptctools/portainer_client/.openapi-generator-ignore +23 -0
- ptctools/portainer_client/openapi_client/__init__.py +855 -0
- ptctools/portainer_client/openapi_client/api/__init__.py +36 -0
- ptctools/portainer_client/openapi_client/api/auth_api.py +848 -0
- ptctools/portainer_client/openapi_client/api/backup_api.py +587 -0
- ptctools/portainer_client/openapi_client/api/custom_templates_api.py +2659 -0
- ptctools/portainer_client/openapi_client/api/docker_api.py +878 -0
- ptctools/portainer_client/openapi_client/api/edge_api.py +597 -0
- ptctools/portainer_client/openapi_client/api/edge_groups_api.py +1405 -0
- ptctools/portainer_client/openapi_client/api/edge_jobs_api.py +3146 -0
- ptctools/portainer_client/openapi_client/api/edge_stacks_api.py +2990 -0
- ptctools/portainer_client/openapi_client/api/endpoint_groups_api.py +1965 -0
- ptctools/portainer_client/openapi_client/api/endpoints_api.py +6607 -0
- ptctools/portainer_client/openapi_client/api/gitops_api.py +308 -0
- ptctools/portainer_client/openapi_client/api/helm_api.py +3529 -0
- ptctools/portainer_client/openapi_client/api/intel_api.py +1718 -0
- ptctools/portainer_client/openapi_client/api/kubernetes_api.py +18877 -0
- ptctools/portainer_client/openapi_client/api/ldap_api.py +313 -0
- ptctools/portainer_client/openapi_client/api/motd_api.py +284 -0
- ptctools/portainer_client/openapi_client/api/registries_api.py +1712 -0
- ptctools/portainer_client/openapi_client/api/resource_controls_api.py +891 -0
- ptctools/portainer_client/openapi_client/api/roles_api.py +288 -0
- ptctools/portainer_client/openapi_client/api/settings_api.py +820 -0
- ptctools/portainer_client/openapi_client/api/ssl_api.py +573 -0
- ptctools/portainer_client/openapi_client/api/stacks_api.py +6640 -0
- ptctools/portainer_client/openapi_client/api/status_api.py +285 -0
- ptctools/portainer_client/openapi_client/api/system_api.py +1277 -0
- ptctools/portainer_client/openapi_client/api/tags_api.py +839 -0
- ptctools/portainer_client/openapi_client/api/team_memberships_api.py +1425 -0
- ptctools/portainer_client/openapi_client/api/teams_api.py +1453 -0
- ptctools/portainer_client/openapi_client/api/templates_api.py +558 -0
- ptctools/portainer_client/openapi_client/api/upload_api.py +343 -0
- ptctools/portainer_client/openapi_client/api/users_api.py +3659 -0
- ptctools/portainer_client/openapi_client/api/webhooks_api.py +1415 -0
- ptctools/portainer_client/openapi_client/api/websocket_api.py +1279 -0
- ptctools/portainer_client/openapi_client/api_client.py +805 -0
- ptctools/portainer_client/openapi_client/api_response.py +21 -0
- ptctools/portainer_client/openapi_client/configuration.py +619 -0
- ptctools/portainer_client/openapi_client/docs/AuthApi.md +236 -0
- ptctools/portainer_client/openapi_client/docs/AuthAuthenticatePayload.md +30 -0
- ptctools/portainer_client/openapi_client/docs/AuthAuthenticateResponse.md +29 -0
- ptctools/portainer_client/openapi_client/docs/AuthOauthPayload.md +29 -0
- ptctools/portainer_client/openapi_client/docs/BackupApi.md +166 -0
- ptctools/portainer_client/openapi_client/docs/BackupBackupPayload.md +29 -0
- ptctools/portainer_client/openapi_client/docs/BackupRestorePayload.md +31 -0
- ptctools/portainer_client/openapi_client/docs/BuildBuildInfo.md +35 -0
- ptctools/portainer_client/openapi_client/docs/BuildDependenciesInfo.md +32 -0
- ptctools/portainer_client/openapi_client/docs/BuildRuntimeInfo.md +29 -0
- ptctools/portainer_client/openapi_client/docs/ContainersContainerGpusResponse.md +29 -0
- ptctools/portainer_client/openapi_client/docs/CustomTemplatesApi.md +842 -0
- ptctools/portainer_client/openapi_client/docs/CustomtemplatesCustomTemplateFromFileContentPayload.md +37 -0
- ptctools/portainer_client/openapi_client/docs/CustomtemplatesCustomTemplateFromGitRepositoryPayload.md +44 -0
- ptctools/portainer_client/openapi_client/docs/CustomtemplatesCustomTemplateUpdatePayload.md +47 -0
- ptctools/portainer_client/openapi_client/docs/CustomtemplatesFileResponse.md +29 -0
- ptctools/portainer_client/openapi_client/docs/DockerApi.md +259 -0
- ptctools/portainer_client/openapi_client/docs/DockerContainerStats.md +33 -0
- ptctools/portainer_client/openapi_client/docs/DockerDashboardResponse.md +34 -0
- ptctools/portainer_client/openapi_client/docs/DockerImagesCounters.md +30 -0
- ptctools/portainer_client/openapi_client/docs/EdgeApi.md +152 -0
- ptctools/portainer_client/openapi_client/docs/EdgeDeployerOptionsPayload.md +30 -0
- ptctools/portainer_client/openapi_client/docs/EdgeGroupsApi.md +451 -0
- ptctools/portainer_client/openapi_client/docs/EdgeJobsApi.md +1003 -0
- ptctools/portainer_client/openapi_client/docs/EdgeRegistryCredentials.md +31 -0
- ptctools/portainer_client/openapi_client/docs/EdgeStackPayload.md +48 -0
- ptctools/portainer_client/openapi_client/docs/EdgeStacksApi.md +900 -0
- ptctools/portainer_client/openapi_client/docs/EdgegroupsDecoratedEdgeGroup.md +39 -0
- ptctools/portainer_client/openapi_client/docs/EdgegroupsEdgeGroupCreatePayload.md +33 -0
- ptctools/portainer_client/openapi_client/docs/EdgegroupsEdgeGroupUpdatePayload.md +33 -0
- ptctools/portainer_client/openapi_client/docs/EdgejobsEdgeJobCreateFromFileContentPayload.md +34 -0
- ptctools/portainer_client/openapi_client/docs/EdgejobsEdgeJobFileResponse.md +29 -0
- ptctools/portainer_client/openapi_client/docs/EdgejobsEdgeJobUpdatePayload.md +34 -0
- ptctools/portainer_client/openapi_client/docs/EdgejobsFileResponse.md +29 -0
- ptctools/portainer_client/openapi_client/docs/EdgejobsTaskContainer.md +32 -0
- ptctools/portainer_client/openapi_client/docs/EdgestacksEdgeStackFromGitRepositoryPayload.md +41 -0
- ptctools/portainer_client/openapi_client/docs/EdgestacksEdgeStackFromStringPayload.md +34 -0
- ptctools/portainer_client/openapi_client/docs/EdgestacksStackFileResponse.md +29 -0
- ptctools/portainer_client/openapi_client/docs/EdgestacksUpdateEdgeStackPayload.md +33 -0
- ptctools/portainer_client/openapi_client/docs/EdgestacksUpdateStatusPayload.md +33 -0
- ptctools/portainer_client/openapi_client/docs/EndpointGroupsApi.md +638 -0
- ptctools/portainer_client/openapi_client/docs/EndpointedgeEdgeJobResponse.md +33 -0
- ptctools/portainer_client/openapi_client/docs/EndpointedgeEndpointEdgeStatusInspectResponse.md +34 -0
- ptctools/portainer_client/openapi_client/docs/EndpointedgeStackStatusResponse.md +30 -0
- ptctools/portainer_client/openapi_client/docs/EndpointgroupsEndpointGroupCreatePayload.md +32 -0
- ptctools/portainer_client/openapi_client/docs/EndpointgroupsEndpointGroupUpdatePayload.md +33 -0
- ptctools/portainer_client/openapi_client/docs/EndpointsApi.md +1930 -0
- ptctools/portainer_client/openapi_client/docs/EndpointsDockerhubStatusResponse.md +30 -0
- ptctools/portainer_client/openapi_client/docs/EndpointsEndpointCreateGlobalKeyResponse.md +29 -0
- ptctools/portainer_client/openapi_client/docs/EndpointsEndpointDeleteBatchPartialResponse.md +30 -0
- ptctools/portainer_client/openapi_client/docs/EndpointsEndpointDeleteBatchPayload.md +29 -0
- ptctools/portainer_client/openapi_client/docs/EndpointsEndpointDeleteRequest.md +30 -0
- ptctools/portainer_client/openapi_client/docs/EndpointsEndpointSettingsUpdatePayload.md +39 -0
- ptctools/portainer_client/openapi_client/docs/EndpointsEndpointUpdatePayload.md +45 -0
- ptctools/portainer_client/openapi_client/docs/EndpointsEndpointUpdateRelationsPayload.md +29 -0
- ptctools/portainer_client/openapi_client/docs/EndpointsEndpointUpdateRelationsPayloadRelationsValue.md +31 -0
- ptctools/portainer_client/openapi_client/docs/EndpointsForceUpdateServicePayload.md +30 -0
- ptctools/portainer_client/openapi_client/docs/EndpointsRegistryAccessPayload.md +31 -0
- ptctools/portainer_client/openapi_client/docs/FilesystemDirEntry.md +32 -0
- ptctools/portainer_client/openapi_client/docs/GithubComPortainerPortainerPkgLibhelmReleaseHook.md +36 -0
- ptctools/portainer_client/openapi_client/docs/GithubComPortainerPortainerPkgLibhelmReleaseHookExecution.md +31 -0
- ptctools/portainer_client/openapi_client/docs/GithubComPortainerPortainerPkgLibhelmReleaseInfo.md +35 -0
- ptctools/portainer_client/openapi_client/docs/GithubComPortainerPortainerPkgLibhelmReleaseRelease.md +39 -0
- ptctools/portainer_client/openapi_client/docs/GitopsApi.md +99 -0
- ptctools/portainer_client/openapi_client/docs/GitopsFileResponse.md +29 -0
- ptctools/portainer_client/openapi_client/docs/GitopsRepositoryFilePreviewPayload.md +35 -0
- ptctools/portainer_client/openapi_client/docs/GittypesGitAuthentication.md +32 -0
- ptctools/portainer_client/openapi_client/docs/GittypesGitCredentialAuthType.md +12 -0
- ptctools/portainer_client/openapi_client/docs/GittypesRepoConfig.md +34 -0
- ptctools/portainer_client/openapi_client/docs/HelmApi.md +1062 -0
- ptctools/portainer_client/openapi_client/docs/HelmInstallChartPayload.md +35 -0
- ptctools/portainer_client/openapi_client/docs/ImagesImageResponse.md +34 -0
- ptctools/portainer_client/openapi_client/docs/IntelApi.md +505 -0
- ptctools/portainer_client/openapi_client/docs/IntstrIntOrString.md +31 -0
- ptctools/portainer_client/openapi_client/docs/IntstrType.md +12 -0
- ptctools/portainer_client/openapi_client/docs/K8sIoApiCoreV1ConditionStatus.md +14 -0
- ptctools/portainer_client/openapi_client/docs/K8sIoApiRbacV1Subject.md +32 -0
- ptctools/portainer_client/openapi_client/docs/K8sIoApimachineryPkgApisMetaV1ConditionStatus.md +14 -0
- ptctools/portainer_client/openapi_client/docs/KubernetesApi.md +6017 -0
- ptctools/portainer_client/openapi_client/docs/KubernetesConfiguration.md +31 -0
- ptctools/portainer_client/openapi_client/docs/KubernetesCustomResourceMetadata.md +31 -0
- ptctools/portainer_client/openapi_client/docs/KubernetesDescribeResourceResponse.md +29 -0
- ptctools/portainer_client/openapi_client/docs/KubernetesIngressRule.md +32 -0
- ptctools/portainer_client/openapi_client/docs/KubernetesK8sApplication.md +60 -0
- ptctools/portainer_client/openapi_client/docs/KubernetesK8sApplicationResource.md +32 -0
- ptctools/portainer_client/openapi_client/docs/KubernetesK8sClusterRole.md +32 -0
- ptctools/portainer_client/openapi_client/docs/KubernetesK8sClusterRoleBinding.md +35 -0
- ptctools/portainer_client/openapi_client/docs/KubernetesK8sConfigMap.md +39 -0
- ptctools/portainer_client/openapi_client/docs/KubernetesK8sConfigurationOwnerResource.md +31 -0
- ptctools/portainer_client/openapi_client/docs/KubernetesK8sCronJob.md +37 -0
- ptctools/portainer_client/openapi_client/docs/KubernetesK8sDashboard.md +35 -0
- ptctools/portainer_client/openapi_client/docs/KubernetesK8sEvent.md +40 -0
- ptctools/portainer_client/openapi_client/docs/KubernetesK8sEventInvolvedObject.md +32 -0
- ptctools/portainer_client/openapi_client/docs/KubernetesK8sIngressController.md +34 -0
- ptctools/portainer_client/openapi_client/docs/KubernetesK8sIngressInfo.md +39 -0
- ptctools/portainer_client/openapi_client/docs/KubernetesK8sIngressPath.md +35 -0
- ptctools/portainer_client/openapi_client/docs/KubernetesK8sIngressTLS.md +30 -0
- ptctools/portainer_client/openapi_client/docs/KubernetesK8sJob.md +42 -0
- ptctools/portainer_client/openapi_client/docs/KubernetesK8sNamespaceDetails.md +32 -0
- ptctools/portainer_client/openapi_client/docs/KubernetesK8sPersistentVolume.md +37 -0
- ptctools/portainer_client/openapi_client/docs/KubernetesK8sPersistentVolumeClaim.md +41 -0
- ptctools/portainer_client/openapi_client/docs/KubernetesK8sResourceQuota.md +31 -0
- ptctools/portainer_client/openapi_client/docs/KubernetesK8sRole.md +33 -0
- ptctools/portainer_client/openapi_client/docs/KubernetesK8sRoleBinding.md +35 -0
- ptctools/portainer_client/openapi_client/docs/KubernetesK8sSecret.md +40 -0
- ptctools/portainer_client/openapi_client/docs/KubernetesK8sServiceAccount.md +33 -0
- ptctools/portainer_client/openapi_client/docs/KubernetesK8sServiceInfo.md +43 -0
- ptctools/portainer_client/openapi_client/docs/KubernetesK8sServiceIngress.md +30 -0
- ptctools/portainer_client/openapi_client/docs/KubernetesK8sServicePort.md +33 -0
- ptctools/portainer_client/openapi_client/docs/KubernetesK8sStorageClass.md +32 -0
- ptctools/portainer_client/openapi_client/docs/KubernetesK8sVolumeInfo.md +31 -0
- ptctools/portainer_client/openapi_client/docs/KubernetesMetadata.md +30 -0
- ptctools/portainer_client/openapi_client/docs/KubernetesNamespacesToggleSystemPayload.md +29 -0
- ptctools/portainer_client/openapi_client/docs/KubernetesPod.md +38 -0
- ptctools/portainer_client/openapi_client/docs/KubernetesPublishedPort.md +30 -0
- ptctools/portainer_client/openapi_client/docs/KubernetesTLSInfo.md +29 -0
- ptctools/portainer_client/openapi_client/docs/LdapApi.md +96 -0
- ptctools/portainer_client/openapi_client/docs/LdapCheckPayload.md +29 -0
- ptctools/portainer_client/openapi_client/docs/MotdApi.md +91 -0
- ptctools/portainer_client/openapi_client/docs/MotdMotdResponse.md +33 -0
- ptctools/portainer_client/openapi_client/docs/Oauth2AuthStyle.md +14 -0
- ptctools/portainer_client/openapi_client/docs/OpenamtDeviceActionPayload.md +29 -0
- ptctools/portainer_client/openapi_client/docs/OpenamtDeviceFeaturesPayload.md +29 -0
- ptctools/portainer_client/openapi_client/docs/OpenamtOpenAMTConfigurePayload.md +36 -0
- ptctools/portainer_client/openapi_client/docs/OsFileMode.md +38 -0
- ptctools/portainer_client/openapi_client/docs/PlatformContainerPlatform.md +18 -0
- ptctools/portainer_client/openapi_client/docs/PortainerAPIKey.md +35 -0
- ptctools/portainer_client/openapi_client/docs/PortainerAccessPolicy.md +29 -0
- ptctools/portainer_client/openapi_client/docs/PortainerAuthenticationMethod.md +16 -0
- ptctools/portainer_client/openapi_client/docs/PortainerAutoUpdateSettings.md +33 -0
- ptctools/portainer_client/openapi_client/docs/PortainerAzureCredentials.md +31 -0
- ptctools/portainer_client/openapi_client/docs/PortainerCustomTemplate.md +43 -0
- ptctools/portainer_client/openapi_client/docs/PortainerCustomTemplatePlatform.md +14 -0
- ptctools/portainer_client/openapi_client/docs/PortainerCustomTemplateVariableDefinition.md +32 -0
- ptctools/portainer_client/openapi_client/docs/PortainerDiagnosticsData.md +32 -0
- ptctools/portainer_client/openapi_client/docs/PortainerDockerSnapshot.md +49 -0
- ptctools/portainer_client/openapi_client/docs/PortainerEcrData.md +29 -0
- ptctools/portainer_client/openapi_client/docs/PortainerEdge.md +32 -0
- ptctools/portainer_client/openapi_client/docs/PortainerEdgeGroup.md +35 -0
- ptctools/portainer_client/openapi_client/docs/PortainerEdgeJob.md +38 -0
- ptctools/portainer_client/openapi_client/docs/PortainerEdgeJobEndpointMeta.md +30 -0
- ptctools/portainer_client/openapi_client/docs/PortainerEdgeJobLogsStatus.md +16 -0
- ptctools/portainer_client/openapi_client/docs/PortainerEdgeStack.md +40 -0
- ptctools/portainer_client/openapi_client/docs/PortainerEdgeStackDeploymentStatus.md +33 -0
- ptctools/portainer_client/openapi_client/docs/PortainerEdgeStackDeploymentType.md +12 -0
- ptctools/portainer_client/openapi_client/docs/PortainerEdgeStackStatus.md +35 -0
- ptctools/portainer_client/openapi_client/docs/PortainerEdgeStackStatusDetails.md +35 -0
- ptctools/portainer_client/openapi_client/docs/PortainerEdgeStackStatusType.md +36 -0
- ptctools/portainer_client/openapi_client/docs/PortainerEndpoint.md +66 -0
- ptctools/portainer_client/openapi_client/docs/PortainerEndpointAgent.md +29 -0
- ptctools/portainer_client/openapi_client/docs/PortainerEndpointGroup.md +38 -0
- ptctools/portainer_client/openapi_client/docs/PortainerEndpointPostInitMigrations.md +30 -0
- ptctools/portainer_client/openapi_client/docs/PortainerEndpointSecuritySettings.md +37 -0
- ptctools/portainer_client/openapi_client/docs/PortainerEndpointStatus.md +14 -0
- ptctools/portainer_client/openapi_client/docs/PortainerEndpointType.md +24 -0
- ptctools/portainer_client/openapi_client/docs/PortainerEnvironmentEdgeSettings.md +32 -0
- ptctools/portainer_client/openapi_client/docs/PortainerGithubRegistryData.md +30 -0
- ptctools/portainer_client/openapi_client/docs/PortainerGitlabRegistryData.md +31 -0
- ptctools/portainer_client/openapi_client/docs/PortainerGlobalDeploymentOptions.md +29 -0
- ptctools/portainer_client/openapi_client/docs/PortainerHelmUserRepository.md +31 -0
- ptctools/portainer_client/openapi_client/docs/PortainerInternalAuthSettings.md +29 -0
- ptctools/portainer_client/openapi_client/docs/PortainerK8sNamespaceInfo.md +38 -0
- ptctools/portainer_client/openapi_client/docs/PortainerK8sNodeLimits.md +30 -0
- ptctools/portainer_client/openapi_client/docs/PortainerKubernetesConfiguration.md +37 -0
- ptctools/portainer_client/openapi_client/docs/PortainerKubernetesData.md +31 -0
- ptctools/portainer_client/openapi_client/docs/PortainerKubernetesFlags.md +31 -0
- ptctools/portainer_client/openapi_client/docs/PortainerKubernetesIngressClassConfig.md +32 -0
- ptctools/portainer_client/openapi_client/docs/PortainerKubernetesSnapshot.md +35 -0
- ptctools/portainer_client/openapi_client/docs/PortainerKubernetesStorageClassConfig.md +32 -0
- ptctools/portainer_client/openapi_client/docs/PortainerLDAPGroupSearchSettings.md +31 -0
- ptctools/portainer_client/openapi_client/docs/PortainerLDAPSearchSettings.md +31 -0
- ptctools/portainer_client/openapi_client/docs/PortainerLDAPSettings.md +37 -0
- ptctools/portainer_client/openapi_client/docs/PortainerMembershipRole.md +14 -0
- ptctools/portainer_client/openapi_client/docs/PortainerOAuthSettings.md +42 -0
- ptctools/portainer_client/openapi_client/docs/PortainerOpenAMTConfiguration.md +37 -0
- ptctools/portainer_client/openapi_client/docs/PortainerOpenAMTDeviceEnabledFeatures.md +33 -0
- ptctools/portainer_client/openapi_client/docs/PortainerPair.md +30 -0
- ptctools/portainer_client/openapi_client/docs/PortainerPerformanceMetrics.md +31 -0
- ptctools/portainer_client/openapi_client/docs/PortainerQuayRegistryData.md +30 -0
- ptctools/portainer_client/openapi_client/docs/PortainerRegistry.md +48 -0
- ptctools/portainer_client/openapi_client/docs/PortainerRegistryAccessPolicies.md +31 -0
- ptctools/portainer_client/openapi_client/docs/PortainerRegistryManagementConfiguration.md +36 -0
- ptctools/portainer_client/openapi_client/docs/PortainerRegistryType.md +26 -0
- ptctools/portainer_client/openapi_client/docs/PortainerResourceAccessLevel.md +12 -0
- ptctools/portainer_client/openapi_client/docs/PortainerResourceControl.md +39 -0
- ptctools/portainer_client/openapi_client/docs/PortainerResourceControlType.md +28 -0
- ptctools/portainer_client/openapi_client/docs/PortainerRole.md +33 -0
- ptctools/portainer_client/openapi_client/docs/PortainerSSLSettings.md +32 -0
- ptctools/portainer_client/openapi_client/docs/PortainerSettings.md +62 -0
- ptctools/portainer_client/openapi_client/docs/PortainerStack.md +48 -0
- ptctools/portainer_client/openapi_client/docs/PortainerStackDeploymentInfo.md +31 -0
- ptctools/portainer_client/openapi_client/docs/PortainerStackOption.md +29 -0
- ptctools/portainer_client/openapi_client/docs/PortainerStackStatus.md +14 -0
- ptctools/portainer_client/openapi_client/docs/PortainerStackType.md +16 -0
- ptctools/portainer_client/openapi_client/docs/PortainerTLSConfiguration.md +33 -0
- ptctools/portainer_client/openapi_client/docs/PortainerTag.md +32 -0
- ptctools/portainer_client/openapi_client/docs/PortainerTeam.md +30 -0
- ptctools/portainer_client/openapi_client/docs/PortainerTeamMembership.md +32 -0
- ptctools/portainer_client/openapi_client/docs/PortainerTeamResourceAccess.md +30 -0
- ptctools/portainer_client/openapi_client/docs/PortainerTemplate.md +52 -0
- ptctools/portainer_client/openapi_client/docs/PortainerTemplateEnv.md +34 -0
- ptctools/portainer_client/openapi_client/docs/PortainerTemplateEnvSelect.md +31 -0
- ptctools/portainer_client/openapi_client/docs/PortainerTemplateRepository.md +30 -0
- ptctools/portainer_client/openapi_client/docs/PortainerTemplateType.md +16 -0
- ptctools/portainer_client/openapi_client/docs/PortainerTemplateVolume.md +31 -0
- ptctools/portainer_client/openapi_client/docs/PortainerUser.md +37 -0
- ptctools/portainer_client/openapi_client/docs/PortainerUserResourceAccess.md +30 -0
- ptctools/portainer_client/openapi_client/docs/PortainerUserRole.md +14 -0
- ptctools/portainer_client/openapi_client/docs/PortainerUserThemeSettings.md +29 -0
- ptctools/portainer_client/openapi_client/docs/PortainerWebhook.md +34 -0
- ptctools/portainer_client/openapi_client/docs/PortainerWebhookType.md +12 -0
- ptctools/portainer_client/openapi_client/docs/RegistriesApi.md +554 -0
- ptctools/portainer_client/openapi_client/docs/RegistriesRegistryConfigurePayload.md +37 -0
- ptctools/portainer_client/openapi_client/docs/RegistriesRegistryCreatePayload.md +38 -0
- ptctools/portainer_client/openapi_client/docs/RegistriesRegistryUpdatePayload.md +37 -0
- ptctools/portainer_client/openapi_client/docs/ReleaseChart.md +34 -0
- ptctools/portainer_client/openapi_client/docs/ReleaseChartReference.md +31 -0
- ptctools/portainer_client/openapi_client/docs/ReleaseDependency.md +36 -0
- ptctools/portainer_client/openapi_client/docs/ReleaseFile.md +30 -0
- ptctools/portainer_client/openapi_client/docs/ReleaseLock.md +31 -0
- ptctools/portainer_client/openapi_client/docs/ReleaseMaintainer.md +31 -0
- ptctools/portainer_client/openapi_client/docs/ReleaseMetadata.md +45 -0
- ptctools/portainer_client/openapi_client/docs/ReleaseReleaseElement.md +35 -0
- ptctools/portainer_client/openapi_client/docs/ReleaseValues.md +30 -0
- ptctools/portainer_client/openapi_client/docs/ResourceControlsApi.md +283 -0
- ptctools/portainer_client/openapi_client/docs/ResourceQuantity.md +29 -0
- ptctools/portainer_client/openapi_client/docs/ResourcecontrolsResourceControlCreatePayload.md +35 -0
- ptctools/portainer_client/openapi_client/docs/ResourcecontrolsResourceControlUpdatePayload.md +32 -0
- ptctools/portainer_client/openapi_client/docs/RolesApi.md +93 -0
- ptctools/portainer_client/openapi_client/docs/SettingsApi.md +251 -0
- ptctools/portainer_client/openapi_client/docs/SettingsPublicSettingsResponse.md +42 -0
- ptctools/portainer_client/openapi_client/docs/SettingsPublicSettingsResponseEdge.md +32 -0
- ptctools/portainer_client/openapi_client/docs/SettingsSettingsUpdatePayload.md +47 -0
- ptctools/portainer_client/openapi_client/docs/SslApi.md +184 -0
- ptctools/portainer_client/openapi_client/docs/SslSslUpdatePayload.md +31 -0
- ptctools/portainer_client/openapi_client/docs/StacksApi.md +2064 -0
- ptctools/portainer_client/openapi_client/docs/StacksComposeStackFromFileContentPayload.md +32 -0
- ptctools/portainer_client/openapi_client/docs/StacksComposeStackFromGitRepositoryPayload.md +40 -0
- ptctools/portainer_client/openapi_client/docs/StacksKubernetesGitDeploymentPayload.md +40 -0
- ptctools/portainer_client/openapi_client/docs/StacksKubernetesManifestURLDeploymentPayload.md +32 -0
- ptctools/portainer_client/openapi_client/docs/StacksKubernetesStringDeploymentPayload.md +33 -0
- ptctools/portainer_client/openapi_client/docs/StacksStackFileResponse.md +29 -0
- ptctools/portainer_client/openapi_client/docs/StacksStackGitRedployPayload.md +37 -0
- ptctools/portainer_client/openapi_client/docs/StacksStackGitUpdatePayload.md +37 -0
- ptctools/portainer_client/openapi_client/docs/StacksStackMigratePayload.md +31 -0
- ptctools/portainer_client/openapi_client/docs/StacksSwarmStackFromFileContentPayload.md +33 -0
- ptctools/portainer_client/openapi_client/docs/StacksSwarmStackFromGitRepositoryPayload.md +41 -0
- ptctools/portainer_client/openapi_client/docs/StacksUpdateSwarmStackPayload.md +32 -0
- ptctools/portainer_client/openapi_client/docs/StatusApi.md +75 -0
- ptctools/portainer_client/openapi_client/docs/SwarmServiceUpdateResponse.md +29 -0
- ptctools/portainer_client/openapi_client/docs/SystemApi.md +392 -0
- ptctools/portainer_client/openapi_client/docs/SystemNodesCountResponse.md +29 -0
- ptctools/portainer_client/openapi_client/docs/SystemStatus.md +30 -0
- ptctools/portainer_client/openapi_client/docs/SystemSystemInfoResponse.md +31 -0
- ptctools/portainer_client/openapi_client/docs/SystemVersionResponse.md +37 -0
- ptctools/portainer_client/openapi_client/docs/TagsApi.md +273 -0
- ptctools/portainer_client/openapi_client/docs/TagsTagCreatePayload.md +29 -0
- ptctools/portainer_client/openapi_client/docs/TeamMembershipsApi.md +463 -0
- ptctools/portainer_client/openapi_client/docs/TeammembershipsTeamMembershipCreatePayload.md +31 -0
- ptctools/portainer_client/openapi_client/docs/TeammembershipsTeamMembershipUpdatePayload.md +31 -0
- ptctools/portainer_client/openapi_client/docs/TeamsApi.md +467 -0
- ptctools/portainer_client/openapi_client/docs/TeamsTeamCreatePayload.md +30 -0
- ptctools/portainer_client/openapi_client/docs/TeamsTeamUpdatePayload.md +29 -0
- ptctools/portainer_client/openapi_client/docs/TemplatesApi.md +183 -0
- ptctools/portainer_client/openapi_client/docs/TemplatesFileResponse.md +29 -0
- ptctools/portainer_client/openapi_client/docs/TemplatesListResponse.md +30 -0
- ptctools/portainer_client/openapi_client/docs/UnstructuredUnstructured.md +29 -0
- ptctools/portainer_client/openapi_client/docs/UploadApi.md +99 -0
- ptctools/portainer_client/openapi_client/docs/UsersAccessTokenResponse.md +30 -0
- ptctools/portainer_client/openapi_client/docs/UsersAddHelmRepoUrlPayload.md +29 -0
- ptctools/portainer_client/openapi_client/docs/UsersAdminInitPayload.md +30 -0
- ptctools/portainer_client/openapi_client/docs/UsersApi.md +1159 -0
- ptctools/portainer_client/openapi_client/docs/UsersHelmUserRepositoryResponse.md +30 -0
- ptctools/portainer_client/openapi_client/docs/UsersThemePayload.md +29 -0
- ptctools/portainer_client/openapi_client/docs/UsersUserAccessTokenCreatePayload.md +30 -0
- ptctools/portainer_client/openapi_client/docs/UsersUserCreatePayload.md +31 -0
- ptctools/portainer_client/openapi_client/docs/UsersUserUpdatePasswordPayload.md +30 -0
- ptctools/portainer_client/openapi_client/docs/UsersUserUpdatePayload.md +34 -0
- ptctools/portainer_client/openapi_client/docs/V1AppArmorProfile.md +30 -0
- ptctools/portainer_client/openapi_client/docs/V1AppArmorProfileType.md +14 -0
- ptctools/portainer_client/openapi_client/docs/V1CSIPersistentVolumeSource.md +38 -0
- ptctools/portainer_client/openapi_client/docs/V1Capabilities.md +30 -0
- ptctools/portainer_client/openapi_client/docs/V1ClientIPConfig.md +29 -0
- ptctools/portainer_client/openapi_client/docs/V1Condition.md +34 -0
- ptctools/portainer_client/openapi_client/docs/V1ConfigMapEnvSource.md +30 -0
- ptctools/portainer_client/openapi_client/docs/V1ConfigMapKeySelector.md +31 -0
- ptctools/portainer_client/openapi_client/docs/V1Container.md +52 -0
- ptctools/portainer_client/openapi_client/docs/V1ContainerPort.md +33 -0
- ptctools/portainer_client/openapi_client/docs/V1ContainerResizePolicy.md +30 -0
- ptctools/portainer_client/openapi_client/docs/V1ContainerRestartPolicy.md +10 -0
- ptctools/portainer_client/openapi_client/docs/V1Duration.md +29 -0
- ptctools/portainer_client/openapi_client/docs/V1EnvFromSource.md +31 -0
- ptctools/portainer_client/openapi_client/docs/V1EnvVar.md +31 -0
- ptctools/portainer_client/openapi_client/docs/V1EnvVarSource.md +32 -0
- ptctools/portainer_client/openapi_client/docs/V1ExecAction.md +29 -0
- ptctools/portainer_client/openapi_client/docs/V1GRPCAction.md +30 -0
- ptctools/portainer_client/openapi_client/docs/V1HTTPGetAction.md +33 -0
- ptctools/portainer_client/openapi_client/docs/V1HTTPHeader.md +30 -0
- ptctools/portainer_client/openapi_client/docs/V1IPFamily.md +14 -0
- ptctools/portainer_client/openapi_client/docs/V1IPFamilyPolicy.md +14 -0
- ptctools/portainer_client/openapi_client/docs/V1LabelSelector.md +30 -0
- ptctools/portainer_client/openapi_client/docs/V1LabelSelectorOperator.md +16 -0
- ptctools/portainer_client/openapi_client/docs/V1LabelSelectorRequirement.md +31 -0
- ptctools/portainer_client/openapi_client/docs/V1Lifecycle.md +31 -0
- ptctools/portainer_client/openapi_client/docs/V1LifecycleHandler.md +32 -0
- ptctools/portainer_client/openapi_client/docs/V1ListMeta.md +32 -0
- ptctools/portainer_client/openapi_client/docs/V1LoadBalancerIPMode.md +12 -0
- ptctools/portainer_client/openapi_client/docs/V1LoadBalancerIngress.md +32 -0
- ptctools/portainer_client/openapi_client/docs/V1LoadBalancerStatus.md +29 -0
- ptctools/portainer_client/openapi_client/docs/V1ManagedFieldsEntry.md +35 -0
- ptctools/portainer_client/openapi_client/docs/V1ManagedFieldsOperationType.md +12 -0
- ptctools/portainer_client/openapi_client/docs/V1MountPropagationMode.md +14 -0
- ptctools/portainer_client/openapi_client/docs/V1NamespaceCondition.md +33 -0
- ptctools/portainer_client/openapi_client/docs/V1NamespaceConditionType.md +18 -0
- ptctools/portainer_client/openapi_client/docs/V1NamespacePhase.md +12 -0
- ptctools/portainer_client/openapi_client/docs/V1NamespaceStatus.md +30 -0
- ptctools/portainer_client/openapi_client/docs/V1ObjectFieldSelector.md +30 -0
- ptctools/portainer_client/openapi_client/docs/V1ObjectMeta.md +43 -0
- ptctools/portainer_client/openapi_client/docs/V1ObjectReference.md +35 -0
- ptctools/portainer_client/openapi_client/docs/V1OwnerReference.md +34 -0
- ptctools/portainer_client/openapi_client/docs/V1PersistentVolumeAccessMode.md +16 -0
- ptctools/portainer_client/openapi_client/docs/V1PersistentVolumeClaimPhase.md +14 -0
- ptctools/portainer_client/openapi_client/docs/V1PersistentVolumeMode.md +12 -0
- ptctools/portainer_client/openapi_client/docs/V1PersistentVolumeReclaimPolicy.md +14 -0
- ptctools/portainer_client/openapi_client/docs/V1PortStatus.md +31 -0
- ptctools/portainer_client/openapi_client/docs/V1Probe.md +38 -0
- ptctools/portainer_client/openapi_client/docs/V1ProcMountType.md +12 -0
- ptctools/portainer_client/openapi_client/docs/V1Protocol.md +14 -0
- ptctools/portainer_client/openapi_client/docs/V1PullPolicy.md +14 -0
- ptctools/portainer_client/openapi_client/docs/V1RecursiveReadOnlyMode.md +14 -0
- ptctools/portainer_client/openapi_client/docs/V1ResourceClaim.md +30 -0
- ptctools/portainer_client/openapi_client/docs/V1ResourceFieldSelector.md +31 -0
- ptctools/portainer_client/openapi_client/docs/V1ResourceName.md +48 -0
- ptctools/portainer_client/openapi_client/docs/V1ResourceQuota.md +33 -0
- ptctools/portainer_client/openapi_client/docs/V1ResourceQuotaScope.md +22 -0
- ptctools/portainer_client/openapi_client/docs/V1ResourceQuotaSpec.md +31 -0
- ptctools/portainer_client/openapi_client/docs/V1ResourceQuotaStatus.md +30 -0
- ptctools/portainer_client/openapi_client/docs/V1ResourceRequirements.md +31 -0
- ptctools/portainer_client/openapi_client/docs/V1ResourceResizeRestartPolicy.md +12 -0
- ptctools/portainer_client/openapi_client/docs/V1RoleRef.md +31 -0
- ptctools/portainer_client/openapi_client/docs/V1SELinuxOptions.md +32 -0
- ptctools/portainer_client/openapi_client/docs/V1ScopeSelector.md +29 -0
- ptctools/portainer_client/openapi_client/docs/V1ScopeSelectorOperator.md +16 -0
- ptctools/portainer_client/openapi_client/docs/V1ScopedResourceSelectorRequirement.md +31 -0
- ptctools/portainer_client/openapi_client/docs/V1SeccompProfile.md +30 -0
- ptctools/portainer_client/openapi_client/docs/V1SeccompProfileType.md +14 -0
- ptctools/portainer_client/openapi_client/docs/V1SecretEnvSource.md +30 -0
- ptctools/portainer_client/openapi_client/docs/V1SecretKeySelector.md +31 -0
- ptctools/portainer_client/openapi_client/docs/V1SecretReference.md +30 -0
- ptctools/portainer_client/openapi_client/docs/V1SecurityContext.md +40 -0
- ptctools/portainer_client/openapi_client/docs/V1Service.md +33 -0
- ptctools/portainer_client/openapi_client/docs/V1ServiceAffinity.md +12 -0
- ptctools/portainer_client/openapi_client/docs/V1ServiceExternalTrafficPolicy.md +16 -0
- ptctools/portainer_client/openapi_client/docs/V1ServiceInternalTrafficPolicy.md +12 -0
- ptctools/portainer_client/openapi_client/docs/V1ServicePort.md +34 -0
- ptctools/portainer_client/openapi_client/docs/V1ServiceSpec.md +48 -0
- ptctools/portainer_client/openapi_client/docs/V1ServiceStatus.md +30 -0
- ptctools/portainer_client/openapi_client/docs/V1ServiceType.md +16 -0
- ptctools/portainer_client/openapi_client/docs/V1SessionAffinityConfig.md +29 -0
- ptctools/portainer_client/openapi_client/docs/V1Signal.md +138 -0
- ptctools/portainer_client/openapi_client/docs/V1SleepAction.md +29 -0
- ptctools/portainer_client/openapi_client/docs/V1TCPSocketAction.md +30 -0
- ptctools/portainer_client/openapi_client/docs/V1TerminationMessagePolicy.md +12 -0
- ptctools/portainer_client/openapi_client/docs/V1URIScheme.md +12 -0
- ptctools/portainer_client/openapi_client/docs/V1VolumeDevice.md +30 -0
- ptctools/portainer_client/openapi_client/docs/V1VolumeMount.md +35 -0
- ptctools/portainer_client/openapi_client/docs/V1WindowsSecurityContextOptions.md +32 -0
- ptctools/portainer_client/openapi_client/docs/V1beta1ContainerMetrics.md +30 -0
- ptctools/portainer_client/openapi_client/docs/V1beta1NodeMetrics.md +34 -0
- ptctools/portainer_client/openapi_client/docs/V1beta1NodeMetricsList.md +32 -0
- ptctools/portainer_client/openapi_client/docs/V1beta1PodMetrics.md +34 -0
- ptctools/portainer_client/openapi_client/docs/V1beta1PodMetricsList.md +32 -0
- ptctools/portainer_client/openapi_client/docs/V2ContainerResourceMetricSource.md +31 -0
- ptctools/portainer_client/openapi_client/docs/V2ContainerResourceMetricStatus.md +31 -0
- ptctools/portainer_client/openapi_client/docs/V2CrossVersionObjectReference.md +31 -0
- ptctools/portainer_client/openapi_client/docs/V2ExternalMetricSource.md +30 -0
- ptctools/portainer_client/openapi_client/docs/V2ExternalMetricStatus.md +30 -0
- ptctools/portainer_client/openapi_client/docs/V2HPAScalingPolicy.md +31 -0
- ptctools/portainer_client/openapi_client/docs/V2HPAScalingPolicyType.md +12 -0
- ptctools/portainer_client/openapi_client/docs/V2HPAScalingRules.md +32 -0
- ptctools/portainer_client/openapi_client/docs/V2HorizontalPodAutoscaler.md +33 -0
- ptctools/portainer_client/openapi_client/docs/V2HorizontalPodAutoscalerBehavior.md +30 -0
- ptctools/portainer_client/openapi_client/docs/V2HorizontalPodAutoscalerCondition.md +33 -0
- ptctools/portainer_client/openapi_client/docs/V2HorizontalPodAutoscalerConditionType.md +14 -0
- ptctools/portainer_client/openapi_client/docs/V2HorizontalPodAutoscalerSpec.md +33 -0
- ptctools/portainer_client/openapi_client/docs/V2HorizontalPodAutoscalerStatus.md +34 -0
- ptctools/portainer_client/openapi_client/docs/V2MetricIdentifier.md +30 -0
- ptctools/portainer_client/openapi_client/docs/V2MetricSourceType.md +18 -0
- ptctools/portainer_client/openapi_client/docs/V2MetricSpec.md +34 -0
- ptctools/portainer_client/openapi_client/docs/V2MetricStatus.md +34 -0
- ptctools/portainer_client/openapi_client/docs/V2MetricTarget.md +32 -0
- ptctools/portainer_client/openapi_client/docs/V2MetricTargetType.md +14 -0
- ptctools/portainer_client/openapi_client/docs/V2MetricValueStatus.md +31 -0
- ptctools/portainer_client/openapi_client/docs/V2ObjectMetricSource.md +31 -0
- ptctools/portainer_client/openapi_client/docs/V2ObjectMetricStatus.md +31 -0
- ptctools/portainer_client/openapi_client/docs/V2PodsMetricSource.md +30 -0
- ptctools/portainer_client/openapi_client/docs/V2PodsMetricStatus.md +30 -0
- ptctools/portainer_client/openapi_client/docs/V2ResourceMetricSource.md +30 -0
- ptctools/portainer_client/openapi_client/docs/V2ResourceMetricStatus.md +30 -0
- ptctools/portainer_client/openapi_client/docs/V2ScalingPolicySelect.md +14 -0
- ptctools/portainer_client/openapi_client/docs/WebhooksApi.md +436 -0
- ptctools/portainer_client/openapi_client/docs/WebhooksWebhookCreatePayload.md +32 -0
- ptctools/portainer_client/openapi_client/docs/WebhooksWebhookUpdatePayload.md +29 -0
- ptctools/portainer_client/openapi_client/docs/WebsocketApi.md +385 -0
- ptctools/portainer_client/openapi_client/exceptions.py +220 -0
- ptctools/portainer_client/openapi_client/models/__init__.py +389 -0
- ptctools/portainer_client/openapi_client/models/auth_authenticate_payload.py +90 -0
- ptctools/portainer_client/openapi_client/models/auth_authenticate_response.py +88 -0
- ptctools/portainer_client/openapi_client/models/auth_oauth_payload.py +88 -0
- ptctools/portainer_client/openapi_client/models/backup_backup_payload.py +88 -0
- ptctools/portainer_client/openapi_client/models/backup_restore_payload.py +92 -0
- ptctools/portainer_client/openapi_client/models/build_build_info.py +100 -0
- ptctools/portainer_client/openapi_client/models/build_dependencies_info.py +94 -0
- ptctools/portainer_client/openapi_client/models/build_runtime_info.py +88 -0
- ptctools/portainer_client/openapi_client/models/containers_container_gpus_response.py +88 -0
- ptctools/portainer_client/openapi_client/models/customtemplates_custom_template_from_file_content_payload.py +114 -0
- ptctools/portainer_client/openapi_client/models/customtemplates_custom_template_from_git_repository_payload.py +128 -0
- ptctools/portainer_client/openapi_client/models/customtemplates_custom_template_update_payload.py +135 -0
- ptctools/portainer_client/openapi_client/models/customtemplates_file_response.py +88 -0
- ptctools/portainer_client/openapi_client/models/docker_container_stats.py +96 -0
- ptctools/portainer_client/openapi_client/models/docker_dashboard_response.py +106 -0
- ptctools/portainer_client/openapi_client/models/docker_images_counters.py +90 -0
- ptctools/portainer_client/openapi_client/models/edge_deployer_options_payload.py +90 -0
- ptctools/portainer_client/openapi_client/models/edge_registry_credentials.py +92 -0
- ptctools/portainer_client/openapi_client/models/edge_stack_payload.py +154 -0
- ptctools/portainer_client/openapi_client/models/edgegroups_decorated_edge_group.py +109 -0
- ptctools/portainer_client/openapi_client/models/edgegroups_edge_group_create_payload.py +96 -0
- ptctools/portainer_client/openapi_client/models/edgegroups_edge_group_update_payload.py +96 -0
- ptctools/portainer_client/openapi_client/models/edgejobs_edge_job_create_from_file_content_payload.py +98 -0
- ptctools/portainer_client/openapi_client/models/edgejobs_edge_job_file_response.py +88 -0
- ptctools/portainer_client/openapi_client/models/edgejobs_edge_job_update_payload.py +98 -0
- ptctools/portainer_client/openapi_client/models/edgejobs_file_response.py +88 -0
- ptctools/portainer_client/openapi_client/models/edgejobs_task_container.py +95 -0
- ptctools/portainer_client/openapi_client/models/edgestacks_edge_stack_from_git_repository_payload.py +114 -0
- ptctools/portainer_client/openapi_client/models/edgestacks_edge_stack_from_string_payload.py +99 -0
- ptctools/portainer_client/openapi_client/models/edgestacks_stack_file_response.py +88 -0
- ptctools/portainer_client/openapi_client/models/edgestacks_update_edge_stack_payload.py +97 -0
- ptctools/portainer_client/openapi_client/models/edgestacks_update_status_payload.py +97 -0
- ptctools/portainer_client/openapi_client/models/endpointedge_edge_job_response.py +96 -0
- ptctools/portainer_client/openapi_client/models/endpointedge_endpoint_edge_status_inspect_response.py +114 -0
- ptctools/portainer_client/openapi_client/models/endpointedge_stack_status_response.py +90 -0
- ptctools/portainer_client/openapi_client/models/endpointgroups_endpoint_group_create_payload.py +94 -0
- ptctools/portainer_client/openapi_client/models/endpointgroups_endpoint_group_update_payload.py +121 -0
- ptctools/portainer_client/openapi_client/models/endpoints_dockerhub_status_response.py +90 -0
- ptctools/portainer_client/openapi_client/models/endpoints_endpoint_create_global_key_response.py +88 -0
- ptctools/portainer_client/openapi_client/models/endpoints_endpoint_delete_batch_partial_response.py +90 -0
- ptctools/portainer_client/openapi_client/models/endpoints_endpoint_delete_batch_payload.py +96 -0
- ptctools/portainer_client/openapi_client/models/endpoints_endpoint_delete_request.py +90 -0
- ptctools/portainer_client/openapi_client/models/endpoints_endpoint_settings_update_payload.py +116 -0
- ptctools/portainer_client/openapi_client/models/endpoints_endpoint_update_payload.py +157 -0
- ptctools/portainer_client/openapi_client/models/endpoints_endpoint_update_relations_payload.py +101 -0
- ptctools/portainer_client/openapi_client/models/endpoints_endpoint_update_relations_payload_relations_value.py +92 -0
- ptctools/portainer_client/openapi_client/models/endpoints_force_update_service_payload.py +90 -0
- ptctools/portainer_client/openapi_client/models/endpoints_registry_access_payload.py +117 -0
- ptctools/portainer_client/openapi_client/models/filesystem_dir_entry.py +95 -0
- ptctools/portainer_client/openapi_client/models/github_com_portainer_portainer_pkg_libhelm_release_hook.py +106 -0
- ptctools/portainer_client/openapi_client/models/github_com_portainer_portainer_pkg_libhelm_release_hook_execution.py +92 -0
- ptctools/portainer_client/openapi_client/models/github_com_portainer_portainer_pkg_libhelm_release_info.py +108 -0
- ptctools/portainer_client/openapi_client/models/github_com_portainer_portainer_pkg_libhelm_release_release.py +132 -0
- ptctools/portainer_client/openapi_client/models/gitops_file_response.py +88 -0
- ptctools/portainer_client/openapi_client/models/gitops_repository_file_preview_payload.py +101 -0
- ptctools/portainer_client/openapi_client/models/gittypes_git_authentication.py +95 -0
- ptctools/portainer_client/openapi_client/models/gittypes_git_credential_auth_type.py +38 -0
- ptctools/portainer_client/openapi_client/models/gittypes_repo_config.py +102 -0
- ptctools/portainer_client/openapi_client/models/helm_install_chart_payload.py +100 -0
- ptctools/portainer_client/openapi_client/models/images_image_response.py +98 -0
- ptctools/portainer_client/openapi_client/models/intstr_int_or_string.py +93 -0
- ptctools/portainer_client/openapi_client/models/intstr_type.py +38 -0
- ptctools/portainer_client/openapi_client/models/k8s_io_api_core_v1_condition_status.py +39 -0
- ptctools/portainer_client/openapi_client/models/k8s_io_api_rbac_v1_subject.py +94 -0
- ptctools/portainer_client/openapi_client/models/k8s_io_apimachinery_pkg_apis_meta_v1_condition_status.py +39 -0
- ptctools/portainer_client/openapi_client/models/kubernetes_configuration.py +92 -0
- ptctools/portainer_client/openapi_client/models/kubernetes_custom_resource_metadata.py +92 -0
- ptctools/portainer_client/openapi_client/models/kubernetes_describe_resource_response.py +88 -0
- ptctools/portainer_client/openapi_client/models/kubernetes_ingress_rule.py +102 -0
- ptctools/portainer_client/openapi_client/models/kubernetes_k8s_application.py +198 -0
- ptctools/portainer_client/openapi_client/models/kubernetes_k8s_application_resource.py +94 -0
- ptctools/portainer_client/openapi_client/models/kubernetes_k8s_cluster_role.py +94 -0
- ptctools/portainer_client/openapi_client/models/kubernetes_k8s_cluster_role_binding.py +112 -0
- ptctools/portainer_client/openapi_client/models/kubernetes_k8s_config_map.py +116 -0
- ptctools/portainer_client/openapi_client/models/kubernetes_k8s_configuration_owner_resource.py +92 -0
- ptctools/portainer_client/openapi_client/models/kubernetes_k8s_cron_job.py +112 -0
- ptctools/portainer_client/openapi_client/models/kubernetes_k8s_dashboard.py +100 -0
- ptctools/portainer_client/openapi_client/models/kubernetes_k8s_event.py +114 -0
- ptctools/portainer_client/openapi_client/models/kubernetes_k8s_event_involved_object.py +94 -0
- ptctools/portainer_client/openapi_client/models/kubernetes_k8s_ingress_controller.py +98 -0
- ptctools/portainer_client/openapi_client/models/kubernetes_k8s_ingress_info.py +124 -0
- ptctools/portainer_client/openapi_client/models/kubernetes_k8s_ingress_path.py +100 -0
- ptctools/portainer_client/openapi_client/models/kubernetes_k8s_ingress_tls.py +90 -0
- ptctools/portainer_client/openapi_client/models/kubernetes_k8s_job.py +118 -0
- ptctools/portainer_client/openapi_client/models/kubernetes_k8s_namespace_details.py +98 -0
- ptctools/portainer_client/openapi_client/models/kubernetes_k8s_persistent_volume.py +128 -0
- ptctools/portainer_client/openapi_client/models/kubernetes_k8s_persistent_volume_claim.py +136 -0
- ptctools/portainer_client/openapi_client/models/kubernetes_k8s_resource_quota.py +92 -0
- ptctools/portainer_client/openapi_client/models/kubernetes_k8s_role.py +96 -0
- ptctools/portainer_client/openapi_client/models/kubernetes_k8s_role_binding.py +112 -0
- ptctools/portainer_client/openapi_client/models/kubernetes_k8s_secret.py +118 -0
- ptctools/portainer_client/openapi_client/models/kubernetes_k8s_service_account.py +96 -0
- ptctools/portainer_client/openapi_client/models/kubernetes_k8s_service_info.py +140 -0
- ptctools/portainer_client/openapi_client/models/kubernetes_k8s_service_ingress.py +90 -0
- ptctools/portainer_client/openapi_client/models/kubernetes_k8s_service_port.py +96 -0
- ptctools/portainer_client/openapi_client/models/kubernetes_k8s_storage_class.py +95 -0
- ptctools/portainer_client/openapi_client/models/kubernetes_k8s_volume_info.py +104 -0
- ptctools/portainer_client/openapi_client/models/kubernetes_metadata.py +90 -0
- ptctools/portainer_client/openapi_client/models/kubernetes_namespaces_toggle_system_payload.py +88 -0
- ptctools/portainer_client/openapi_client/models/kubernetes_pod.py +110 -0
- ptctools/portainer_client/openapi_client/models/kubernetes_published_port.py +98 -0
- ptctools/portainer_client/openapi_client/models/kubernetes_tls_info.py +88 -0
- ptctools/portainer_client/openapi_client/models/ldap_check_payload.py +92 -0
- ptctools/portainer_client/openapi_client/models/motd_motd_response.py +96 -0
- ptctools/portainer_client/openapi_client/models/oauth2_auth_style.py +39 -0
- ptctools/portainer_client/openapi_client/models/openamt_device_action_payload.py +88 -0
- ptctools/portainer_client/openapi_client/models/openamt_device_features_payload.py +92 -0
- ptctools/portainer_client/openapi_client/models/openamt_open_amt_configure_payload.py +102 -0
- ptctools/portainer_client/openapi_client/models/os_file_mode.py +51 -0
- ptctools/portainer_client/openapi_client/models/platform_container_platform.py +41 -0
- ptctools/portainer_client/openapi_client/models/portainer_access_policy.py +88 -0
- ptctools/portainer_client/openapi_client/models/portainer_api_key.py +100 -0
- ptctools/portainer_client/openapi_client/models/portainer_authentication_method.py +40 -0
- ptctools/portainer_client/openapi_client/models/portainer_auto_update_settings.py +96 -0
- ptctools/portainer_client/openapi_client/models/portainer_azure_credentials.py +92 -0
- ptctools/portainer_client/openapi_client/models/portainer_custom_template.py +134 -0
- ptctools/portainer_client/openapi_client/models/portainer_custom_template_platform.py +39 -0
- ptctools/portainer_client/openapi_client/models/portainer_custom_template_variable_definition.py +94 -0
- ptctools/portainer_client/openapi_client/models/portainer_diagnostics_data.py +94 -0
- ptctools/portainer_client/openapi_client/models/portainer_docker_snapshot.py +136 -0
- ptctools/portainer_client/openapi_client/models/portainer_ecr_data.py +88 -0
- ptctools/portainer_client/openapi_client/models/portainer_edge.py +94 -0
- ptctools/portainer_client/openapi_client/models/portainer_edge_group.py +100 -0
- ptctools/portainer_client/openapi_client/models/portainer_edge_job.py +131 -0
- ptctools/portainer_client/openapi_client/models/portainer_edge_job_endpoint_meta.py +91 -0
- ptctools/portainer_client/openapi_client/models/portainer_edge_job_logs_status.py +40 -0
- ptctools/portainer_client/openapi_client/models/portainer_edge_stack.py +124 -0
- ptctools/portainer_client/openapi_client/models/portainer_edge_stack_deployment_status.py +97 -0
- ptctools/portainer_client/openapi_client/models/portainer_edge_stack_deployment_type.py +38 -0
- ptctools/portainer_client/openapi_client/models/portainer_edge_stack_status.py +117 -0
- ptctools/portainer_client/openapi_client/models/portainer_edge_stack_status_details.py +100 -0
- ptctools/portainer_client/openapi_client/models/portainer_edge_stack_status_type.py +50 -0
- ptctools/portainer_client/openapi_client/models/portainer_endpoint.py +233 -0
- ptctools/portainer_client/openapi_client/models/portainer_endpoint_agent.py +88 -0
- ptctools/portainer_client/openapi_client/models/portainer_endpoint_group.py +139 -0
- ptctools/portainer_client/openapi_client/models/portainer_endpoint_post_init_migrations.py +90 -0
- ptctools/portainer_client/openapi_client/models/portainer_endpoint_security_settings.py +104 -0
- ptctools/portainer_client/openapi_client/models/portainer_endpoint_status.py +39 -0
- ptctools/portainer_client/openapi_client/models/portainer_endpoint_type.py +44 -0
- ptctools/portainer_client/openapi_client/models/portainer_environment_edge_settings.py +94 -0
- ptctools/portainer_client/openapi_client/models/portainer_github_registry_data.py +90 -0
- ptctools/portainer_client/openapi_client/models/portainer_gitlab_registry_data.py +92 -0
- ptctools/portainer_client/openapi_client/models/portainer_global_deployment_options.py +88 -0
- ptctools/portainer_client/openapi_client/models/portainer_helm_user_repository.py +92 -0
- ptctools/portainer_client/openapi_client/models/portainer_internal_auth_settings.py +88 -0
- ptctools/portainer_client/openapi_client/models/portainer_k8s_namespace_info.py +114 -0
- ptctools/portainer_client/openapi_client/models/portainer_k8s_node_limits.py +90 -0
- ptctools/portainer_client/openapi_client/models/portainer_kubernetes_configuration.py +120 -0
- ptctools/portainer_client/openapi_client/models/portainer_kubernetes_data.py +108 -0
- ptctools/portainer_client/openapi_client/models/portainer_kubernetes_flags.py +92 -0
- ptctools/portainer_client/openapi_client/models/portainer_kubernetes_ingress_class_config.py +94 -0
- ptctools/portainer_client/openapi_client/models/portainer_kubernetes_snapshot.py +108 -0
- ptctools/portainer_client/openapi_client/models/portainer_kubernetes_storage_class_config.py +94 -0
- ptctools/portainer_client/openapi_client/models/portainer_ldap_group_search_settings.py +92 -0
- ptctools/portainer_client/openapi_client/models/portainer_ldap_search_settings.py +92 -0
- ptctools/portainer_client/openapi_client/models/portainer_ldap_settings.py +124 -0
- ptctools/portainer_client/openapi_client/models/portainer_membership_role.py +39 -0
- ptctools/portainer_client/openapi_client/models/portainer_o_auth_settings.py +115 -0
- ptctools/portainer_client/openapi_client/models/portainer_open_amt_configuration.py +104 -0
- ptctools/portainer_client/openapi_client/models/portainer_open_amt_device_enabled_features.py +96 -0
- ptctools/portainer_client/openapi_client/models/portainer_pair.py +90 -0
- ptctools/portainer_client/openapi_client/models/portainer_performance_metrics.py +92 -0
- ptctools/portainer_client/openapi_client/models/portainer_quay_registry_data.py +90 -0
- ptctools/portainer_client/openapi_client/models/portainer_registry.py +185 -0
- ptctools/portainer_client/openapi_client/models/portainer_registry_access_policies.py +117 -0
- ptctools/portainer_client/openapi_client/models/portainer_registry_management_configuration.py +111 -0
- ptctools/portainer_client/openapi_client/models/portainer_registry_type.py +45 -0
- ptctools/portainer_client/openapi_client/models/portainer_resource_access_level.py +38 -0
- ptctools/portainer_client/openapi_client/models/portainer_resource_control.py +126 -0
- ptctools/portainer_client/openapi_client/models/portainer_resource_control_type.py +46 -0
- ptctools/portainer_client/openapi_client/models/portainer_role.py +96 -0
- ptctools/portainer_client/openapi_client/models/portainer_settings.py +187 -0
- ptctools/portainer_client/openapi_client/models/portainer_ssl_settings.py +94 -0
- ptctools/portainer_client/openapi_client/models/portainer_stack.py +152 -0
- ptctools/portainer_client/openapi_client/models/portainer_stack_deployment_info.py +92 -0
- ptctools/portainer_client/openapi_client/models/portainer_stack_option.py +88 -0
- ptctools/portainer_client/openapi_client/models/portainer_stack_status.py +39 -0
- ptctools/portainer_client/openapi_client/models/portainer_stack_type.py +40 -0
- ptctools/portainer_client/openapi_client/models/portainer_tag.py +94 -0
- ptctools/portainer_client/openapi_client/models/portainer_team.py +90 -0
- ptctools/portainer_client/openapi_client/models/portainer_team_membership.py +95 -0
- ptctools/portainer_client/openapi_client/models/portainer_team_resource_access.py +91 -0
- ptctools/portainer_client/openapi_client/models/portainer_template.py +163 -0
- ptctools/portainer_client/openapi_client/models/portainer_template_env.py +106 -0
- ptctools/portainer_client/openapi_client/models/portainer_template_env_select.py +92 -0
- ptctools/portainer_client/openapi_client/models/portainer_template_repository.py +90 -0
- ptctools/portainer_client/openapi_client/models/portainer_template_type.py +40 -0
- ptctools/portainer_client/openapi_client/models/portainer_template_volume.py +92 -0
- ptctools/portainer_client/openapi_client/models/portainer_tls_configuration.py +96 -0
- ptctools/portainer_client/openapi_client/models/portainer_user.py +109 -0
- ptctools/portainer_client/openapi_client/models/portainer_user_resource_access.py +91 -0
- ptctools/portainer_client/openapi_client/models/portainer_user_role.py +39 -0
- ptctools/portainer_client/openapi_client/models/portainer_user_theme_settings.py +98 -0
- ptctools/portainer_client/openapi_client/models/portainer_webhook.py +99 -0
- ptctools/portainer_client/openapi_client/models/portainer_webhook_type.py +38 -0
- ptctools/portainer_client/openapi_client/models/registries_registry_configure_payload.py +104 -0
- ptctools/portainer_client/openapi_client/models/registries_registry_create_payload.py +119 -0
- ptctools/portainer_client/openapi_client/models/registries_registry_update_payload.py +125 -0
- ptctools/portainer_client/openapi_client/models/release_chart.py +121 -0
- ptctools/portainer_client/openapi_client/models/release_chart_reference.py +92 -0
- ptctools/portainer_client/openapi_client/models/release_dependency.py +102 -0
- ptctools/portainer_client/openapi_client/models/release_file.py +90 -0
- ptctools/portainer_client/openapi_client/models/release_lock.py +100 -0
- ptctools/portainer_client/openapi_client/models/release_maintainer.py +92 -0
- ptctools/portainer_client/openapi_client/models/release_metadata.py +136 -0
- ptctools/portainer_client/openapi_client/models/release_release_element.py +100 -0
- ptctools/portainer_client/openapi_client/models/release_values.py +90 -0
- ptctools/portainer_client/openapi_client/models/resource_quantity.py +98 -0
- ptctools/portainer_client/openapi_client/models/resourcecontrols_resource_control_create_payload.py +101 -0
- ptctools/portainer_client/openapi_client/models/resourcecontrols_resource_control_update_payload.py +94 -0
- ptctools/portainer_client/openapi_client/models/settings_public_settings_response.py +123 -0
- ptctools/portainer_client/openapi_client/models/settings_public_settings_response_edge.py +94 -0
- ptctools/portainer_client/openapi_client/models/settings_settings_update_payload.py +148 -0
- ptctools/portainer_client/openapi_client/models/ssl_ssl_update_payload.py +92 -0
- ptctools/portainer_client/openapi_client/models/stacks_compose_stack_from_file_content_payload.py +102 -0
- ptctools/portainer_client/openapi_client/models/stacks_compose_stack_from_git_repository_payload.py +122 -0
- ptctools/portainer_client/openapi_client/models/stacks_kubernetes_git_deployment_payload.py +114 -0
- ptctools/portainer_client/openapi_client/models/stacks_kubernetes_manifest_url_deployment_payload.py +94 -0
- ptctools/portainer_client/openapi_client/models/stacks_kubernetes_string_deployment_payload.py +96 -0
- ptctools/portainer_client/openapi_client/models/stacks_stack_file_response.py +88 -0
- ptctools/portainer_client/openapi_client/models/stacks_stack_git_redploy_payload.py +113 -0
- ptctools/portainer_client/openapi_client/models/stacks_stack_git_update_payload.py +117 -0
- ptctools/portainer_client/openapi_client/models/stacks_stack_migrate_payload.py +92 -0
- ptctools/portainer_client/openapi_client/models/stacks_swarm_stack_from_file_content_payload.py +104 -0
- ptctools/portainer_client/openapi_client/models/stacks_swarm_stack_from_git_repository_payload.py +124 -0
- ptctools/portainer_client/openapi_client/models/stacks_update_swarm_stack_payload.py +102 -0
- ptctools/portainer_client/openapi_client/models/swarm_service_update_response.py +88 -0
- ptctools/portainer_client/openapi_client/models/system_nodes_count_response.py +88 -0
- ptctools/portainer_client/openapi_client/models/system_status.py +90 -0
- ptctools/portainer_client/openapi_client/models/system_system_info_response.py +93 -0
- ptctools/portainer_client/openapi_client/models/system_version_response.py +116 -0
- ptctools/portainer_client/openapi_client/models/tags_tag_create_payload.py +88 -0
- ptctools/portainer_client/openapi_client/models/teammemberships_team_membership_create_payload.py +92 -0
- ptctools/portainer_client/openapi_client/models/teammemberships_team_membership_update_payload.py +92 -0
- ptctools/portainer_client/openapi_client/models/teams_team_create_payload.py +90 -0
- ptctools/portainer_client/openapi_client/models/teams_team_update_payload.py +88 -0
- ptctools/portainer_client/openapi_client/models/templates_file_response.py +88 -0
- ptctools/portainer_client/openapi_client/models/templates_list_response.py +98 -0
- ptctools/portainer_client/openapi_client/models/unstructured_unstructured.py +88 -0
- ptctools/portainer_client/openapi_client/models/users_access_token_response.py +94 -0
- ptctools/portainer_client/openapi_client/models/users_add_helm_repo_url_payload.py +88 -0
- ptctools/portainer_client/openapi_client/models/users_admin_init_payload.py +90 -0
- ptctools/portainer_client/openapi_client/models/users_helm_user_repository_response.py +98 -0
- ptctools/portainer_client/openapi_client/models/users_theme_payload.py +98 -0
- ptctools/portainer_client/openapi_client/models/users_user_access_token_create_payload.py +90 -0
- ptctools/portainer_client/openapi_client/models/users_user_create_payload.py +92 -0
- ptctools/portainer_client/openapi_client/models/users_user_update_password_payload.py +90 -0
- ptctools/portainer_client/openapi_client/models/users_user_update_payload.py +102 -0
- ptctools/portainer_client/openapi_client/models/v1_app_armor_profile.py +91 -0
- ptctools/portainer_client/openapi_client/models/v1_app_armor_profile_type.py +39 -0
- ptctools/portainer_client/openapi_client/models/v1_capabilities.py +90 -0
- ptctools/portainer_client/openapi_client/models/v1_client_ip_config.py +88 -0
- ptctools/portainer_client/openapi_client/models/v1_condition.py +99 -0
- ptctools/portainer_client/openapi_client/models/v1_config_map_env_source.py +90 -0
- ptctools/portainer_client/openapi_client/models/v1_config_map_key_selector.py +92 -0
- ptctools/portainer_client/openapi_client/models/v1_container.py +207 -0
- ptctools/portainer_client/openapi_client/models/v1_container_port.py +97 -0
- ptctools/portainer_client/openapi_client/models/v1_container_resize_policy.py +92 -0
- ptctools/portainer_client/openapi_client/models/v1_container_restart_policy.py +37 -0
- ptctools/portainer_client/openapi_client/models/v1_csi_persistent_volume_source.py +122 -0
- ptctools/portainer_client/openapi_client/models/v1_duration.py +88 -0
- ptctools/portainer_client/openapi_client/models/v1_env_from_source.py +100 -0
- ptctools/portainer_client/openapi_client/models/v1_env_var.py +96 -0
- ptctools/portainer_client/openapi_client/models/v1_env_var_source.py +110 -0
- ptctools/portainer_client/openapi_client/models/v1_exec_action.py +88 -0
- ptctools/portainer_client/openapi_client/models/v1_grpc_action.py +90 -0
- ptctools/portainer_client/openapi_client/models/v1_http_get_action.py +109 -0
- ptctools/portainer_client/openapi_client/models/v1_http_header.py +90 -0
- ptctools/portainer_client/openapi_client/models/v1_ip_family.py +39 -0
- ptctools/portainer_client/openapi_client/models/v1_ip_family_policy.py +39 -0
- ptctools/portainer_client/openapi_client/models/v1_label_selector.py +98 -0
- ptctools/portainer_client/openapi_client/models/v1_label_selector_operator.py +40 -0
- ptctools/portainer_client/openapi_client/models/v1_label_selector_requirement.py +93 -0
- ptctools/portainer_client/openapi_client/models/v1_lifecycle.py +100 -0
- ptctools/portainer_client/openapi_client/models/v1_lifecycle_handler.py +110 -0
- ptctools/portainer_client/openapi_client/models/v1_list_meta.py +94 -0
- ptctools/portainer_client/openapi_client/models/v1_load_balancer_ingress.py +103 -0
- ptctools/portainer_client/openapi_client/models/v1_load_balancer_ip_mode.py +38 -0
- ptctools/portainer_client/openapi_client/models/v1_load_balancer_status.py +96 -0
- ptctools/portainer_client/openapi_client/models/v1_managed_fields_entry.py +101 -0
- ptctools/portainer_client/openapi_client/models/v1_managed_fields_operation_type.py +38 -0
- ptctools/portainer_client/openapi_client/models/v1_mount_propagation_mode.py +39 -0
- ptctools/portainer_client/openapi_client/models/v1_namespace_condition.py +98 -0
- ptctools/portainer_client/openapi_client/models/v1_namespace_condition_type.py +41 -0
- ptctools/portainer_client/openapi_client/models/v1_namespace_phase.py +38 -0
- ptctools/portainer_client/openapi_client/models/v1_namespace_status.py +99 -0
- ptctools/portainer_client/openapi_client/models/v1_object_field_selector.py +90 -0
- ptctools/portainer_client/openapi_client/models/v1_object_meta.py +132 -0
- ptctools/portainer_client/openapi_client/models/v1_object_reference.py +100 -0
- ptctools/portainer_client/openapi_client/models/v1_owner_reference.py +98 -0
- ptctools/portainer_client/openapi_client/models/v1_persistent_volume_access_mode.py +40 -0
- ptctools/portainer_client/openapi_client/models/v1_persistent_volume_claim_phase.py +39 -0
- ptctools/portainer_client/openapi_client/models/v1_persistent_volume_mode.py +38 -0
- ptctools/portainer_client/openapi_client/models/v1_persistent_volume_reclaim_policy.py +39 -0
- ptctools/portainer_client/openapi_client/models/v1_port_status.py +93 -0
- ptctools/portainer_client/openapi_client/models/v1_probe.py +122 -0
- ptctools/portainer_client/openapi_client/models/v1_proc_mount_type.py +38 -0
- ptctools/portainer_client/openapi_client/models/v1_protocol.py +39 -0
- ptctools/portainer_client/openapi_client/models/v1_pull_policy.py +39 -0
- ptctools/portainer_client/openapi_client/models/v1_recursive_read_only_mode.py +39 -0
- ptctools/portainer_client/openapi_client/models/v1_resource_claim.py +90 -0
- ptctools/portainer_client/openapi_client/models/v1_resource_field_selector.py +96 -0
- ptctools/portainer_client/openapi_client/models/v1_resource_name.py +56 -0
- ptctools/portainer_client/openapi_client/models/v1_resource_quota.py +108 -0
- ptctools/portainer_client/openapi_client/models/v1_resource_quota_scope.py +43 -0
- ptctools/portainer_client/openapi_client/models/v1_resource_quota_spec.py +110 -0
- ptctools/portainer_client/openapi_client/models/v1_resource_quota_status.py +115 -0
- ptctools/portainer_client/openapi_client/models/v1_resource_requirements.py +125 -0
- ptctools/portainer_client/openapi_client/models/v1_resource_resize_restart_policy.py +38 -0
- ptctools/portainer_client/openapi_client/models/v1_role_ref.py +92 -0
- ptctools/portainer_client/openapi_client/models/v1_scope_selector.py +96 -0
- ptctools/portainer_client/openapi_client/models/v1_scope_selector_operator.py +40 -0
- ptctools/portainer_client/openapi_client/models/v1_scoped_resource_selector_requirement.py +94 -0
- ptctools/portainer_client/openapi_client/models/v1_se_linux_options.py +94 -0
- ptctools/portainer_client/openapi_client/models/v1_seccomp_profile.py +91 -0
- ptctools/portainer_client/openapi_client/models/v1_seccomp_profile_type.py +39 -0
- ptctools/portainer_client/openapi_client/models/v1_secret_env_source.py +90 -0
- ptctools/portainer_client/openapi_client/models/v1_secret_key_selector.py +92 -0
- ptctools/portainer_client/openapi_client/models/v1_secret_reference.py +90 -0
- ptctools/portainer_client/openapi_client/models/v1_security_context.py +131 -0
- ptctools/portainer_client/openapi_client/models/v1_service.py +108 -0
- ptctools/portainer_client/openapi_client/models/v1_service_affinity.py +38 -0
- ptctools/portainer_client/openapi_client/models/v1_service_external_traffic_policy.py +40 -0
- ptctools/portainer_client/openapi_client/models/v1_service_internal_traffic_policy.py +38 -0
- ptctools/portainer_client/openapi_client/models/v1_service_port.py +103 -0
- ptctools/portainer_client/openapi_client/models/v1_service_spec.py +144 -0
- ptctools/portainer_client/openapi_client/models/v1_service_status.py +102 -0
- ptctools/portainer_client/openapi_client/models/v1_service_type.py +40 -0
- ptctools/portainer_client/openapi_client/models/v1_session_affinity_config.py +92 -0
- ptctools/portainer_client/openapi_client/models/v1_signal.py +101 -0
- ptctools/portainer_client/openapi_client/models/v1_sleep_action.py +88 -0
- ptctools/portainer_client/openapi_client/models/v1_tcp_socket_action.py +94 -0
- ptctools/portainer_client/openapi_client/models/v1_termination_message_policy.py +38 -0
- ptctools/portainer_client/openapi_client/models/v1_uri_scheme.py +38 -0
- ptctools/portainer_client/openapi_client/models/v1_volume_device.py +90 -0
- ptctools/portainer_client/openapi_client/models/v1_volume_mount.py +102 -0
- ptctools/portainer_client/openapi_client/models/v1_windows_security_context_options.py +94 -0
- ptctools/portainer_client/openapi_client/models/v1beta1_container_metrics.py +103 -0
- ptctools/portainer_client/openapi_client/models/v1beta1_node_metrics.py +119 -0
- ptctools/portainer_client/openapi_client/models/v1beta1_node_metrics_list.py +106 -0
- ptctools/portainer_client/openapi_client/models/v1beta1_pod_metrics.py +114 -0
- ptctools/portainer_client/openapi_client/models/v1beta1_pod_metrics_list.py +106 -0
- ptctools/portainer_client/openapi_client/models/v2_container_resource_metric_source.py +97 -0
- ptctools/portainer_client/openapi_client/models/v2_container_resource_metric_status.py +97 -0
- ptctools/portainer_client/openapi_client/models/v2_cross_version_object_reference.py +92 -0
- ptctools/portainer_client/openapi_client/models/v2_external_metric_source.py +98 -0
- ptctools/portainer_client/openapi_client/models/v2_external_metric_status.py +98 -0
- ptctools/portainer_client/openapi_client/models/v2_horizontal_pod_autoscaler.py +108 -0
- ptctools/portainer_client/openapi_client/models/v2_horizontal_pod_autoscaler_behavior.py +97 -0
- ptctools/portainer_client/openapi_client/models/v2_horizontal_pod_autoscaler_condition.py +98 -0
- ptctools/portainer_client/openapi_client/models/v2_horizontal_pod_autoscaler_condition_type.py +39 -0
- ptctools/portainer_client/openapi_client/models/v2_horizontal_pod_autoscaler_spec.py +112 -0
- ptctools/portainer_client/openapi_client/models/v2_horizontal_pod_autoscaler_status.py +114 -0
- ptctools/portainer_client/openapi_client/models/v2_hpa_scaling_policy.py +93 -0
- ptctools/portainer_client/openapi_client/models/v2_hpa_scaling_policy_type.py +38 -0
- ptctools/portainer_client/openapi_client/models/v2_hpa_scaling_rules.py +107 -0
- ptctools/portainer_client/openapi_client/models/v2_metric_identifier.py +94 -0
- ptctools/portainer_client/openapi_client/models/v2_metric_source_type.py +41 -0
- ptctools/portainer_client/openapi_client/models/v2_metric_spec.py +119 -0
- ptctools/portainer_client/openapi_client/models/v2_metric_status.py +119 -0
- ptctools/portainer_client/openapi_client/models/v2_metric_target.py +102 -0
- ptctools/portainer_client/openapi_client/models/v2_metric_target_type.py +39 -0
- ptctools/portainer_client/openapi_client/models/v2_metric_value_status.py +99 -0
- ptctools/portainer_client/openapi_client/models/v2_object_metric_source.py +104 -0
- ptctools/portainer_client/openapi_client/models/v2_object_metric_status.py +104 -0
- ptctools/portainer_client/openapi_client/models/v2_pods_metric_source.py +98 -0
- ptctools/portainer_client/openapi_client/models/v2_pods_metric_status.py +98 -0
- ptctools/portainer_client/openapi_client/models/v2_resource_metric_source.py +95 -0
- ptctools/portainer_client/openapi_client/models/v2_resource_metric_status.py +95 -0
- ptctools/portainer_client/openapi_client/models/v2_scaling_policy_select.py +39 -0
- ptctools/portainer_client/openapi_client/models/webhooks_webhook_create_payload.py +95 -0
- ptctools/portainer_client/openapi_client/models/webhooks_webhook_update_payload.py +88 -0
- ptctools/portainer_client/openapi_client/rest.py +264 -0
- ptctools/portainer_client/openapi_client/test/__init__.py +0 -0
- ptctools/portainer_client/openapi_client/test/test_auth_api.py +53 -0
- ptctools/portainer_client/openapi_client/test/test_auth_authenticate_payload.py +55 -0
- ptctools/portainer_client/openapi_client/test/test_auth_authenticate_response.py +52 -0
- ptctools/portainer_client/openapi_client/test/test_auth_oauth_payload.py +52 -0
- ptctools/portainer_client/openapi_client/test/test_backup_api.py +46 -0
- ptctools/portainer_client/openapi_client/test/test_backup_backup_payload.py +52 -0
- ptctools/portainer_client/openapi_client/test/test_backup_restore_payload.py +56 -0
- ptctools/portainer_client/openapi_client/test/test_build_build_info.py +58 -0
- ptctools/portainer_client/openapi_client/test/test_build_dependencies_info.py +55 -0
- ptctools/portainer_client/openapi_client/test/test_build_runtime_info.py +54 -0
- ptctools/portainer_client/openapi_client/test/test_containers_container_gpus_response.py +52 -0
- ptctools/portainer_client/openapi_client/test/test_custom_templates_api.py +95 -0
- ptctools/portainer_client/openapi_client/test/test_customtemplates_custom_template_from_file_content_payload.py +70 -0
- ptctools/portainer_client/openapi_client/test/test_customtemplates_custom_template_from_git_repository_payload.py +77 -0
- ptctools/portainer_client/openapi_client/test/test_customtemplates_custom_template_update_payload.py +81 -0
- ptctools/portainer_client/openapi_client/test/test_customtemplates_file_response.py +52 -0
- ptctools/portainer_client/openapi_client/test/test_docker_api.py +53 -0
- ptctools/portainer_client/openapi_client/test/test_docker_container_stats.py +56 -0
- ptctools/portainer_client/openapi_client/test/test_docker_dashboard_response.py +64 -0
- ptctools/portainer_client/openapi_client/test/test_docker_images_counters.py +53 -0
- ptctools/portainer_client/openapi_client/test/test_edge_api.py +46 -0
- ptctools/portainer_client/openapi_client/test/test_edge_deployer_options_payload.py +53 -0
- ptctools/portainer_client/openapi_client/test/test_edge_groups_api.py +67 -0
- ptctools/portainer_client/openapi_client/test/test_edge_jobs_api.py +109 -0
- ptctools/portainer_client/openapi_client/test/test_edge_registry_credentials.py +54 -0
- ptctools/portainer_client/openapi_client/test/test_edge_stack_payload.py +88 -0
- ptctools/portainer_client/openapi_client/test/test_edge_stacks_api.py +102 -0
- ptctools/portainer_client/openapi_client/test/test_edgegroups_decorated_edge_group.py +70 -0
- ptctools/portainer_client/openapi_client/test/test_edgegroups_edge_group_create_payload.py +60 -0
- ptctools/portainer_client/openapi_client/test/test_edgegroups_edge_group_update_payload.py +60 -0
- ptctools/portainer_client/openapi_client/test/test_edgejobs_edge_job_create_from_file_content_payload.py +61 -0
- ptctools/portainer_client/openapi_client/test/test_edgejobs_edge_job_file_response.py +52 -0
- ptctools/portainer_client/openapi_client/test/test_edgejobs_edge_job_update_payload.py +61 -0
- ptctools/portainer_client/openapi_client/test/test_edgejobs_file_response.py +52 -0
- ptctools/portainer_client/openapi_client/test/test_edgejobs_task_container.py +55 -0
- ptctools/portainer_client/openapi_client/test/test_edgestacks_edge_stack_from_git_repository_payload.py +69 -0
- ptctools/portainer_client/openapi_client/test/test_edgestacks_edge_stack_from_string_payload.py +67 -0
- ptctools/portainer_client/openapi_client/test/test_edgestacks_stack_file_response.py +52 -0
- ptctools/portainer_client/openapi_client/test/test_edgestacks_update_edge_stack_payload.py +58 -0
- ptctools/portainer_client/openapi_client/test/test_edgestacks_update_status_payload.py +56 -0
- ptctools/portainer_client/openapi_client/test/test_endpoint_groups_api.py +81 -0
- ptctools/portainer_client/openapi_client/test/test_endpointedge_edge_job_response.py +56 -0
- ptctools/portainer_client/openapi_client/test/test_endpointedge_endpoint_edge_status_inspect_response.py +68 -0
- ptctools/portainer_client/openapi_client/test/test_endpointedge_stack_status_response.py +53 -0
- ptctools/portainer_client/openapi_client/test/test_endpointgroups_endpoint_group_create_payload.py +56 -0
- ptctools/portainer_client/openapi_client/test/test_endpointgroups_endpoint_group_update_payload.py +62 -0
- ptctools/portainer_client/openapi_client/test/test_endpoints_api.py +179 -0
- ptctools/portainer_client/openapi_client/test/test_endpoints_dockerhub_status_response.py +53 -0
- ptctools/portainer_client/openapi_client/test/test_endpoints_endpoint_create_global_key_response.py +52 -0
- ptctools/portainer_client/openapi_client/test/test_endpoints_endpoint_delete_batch_partial_response.py +57 -0
- ptctools/portainer_client/openapi_client/test/test_endpoints_endpoint_delete_batch_payload.py +56 -0
- ptctools/portainer_client/openapi_client/test/test_endpoints_endpoint_delete_request.py +53 -0
- ptctools/portainer_client/openapi_client/test/test_endpoints_endpoint_settings_update_payload.py +66 -0
- ptctools/portainer_client/openapi_client/test/test_endpoints_endpoint_update_payload.py +131 -0
- ptctools/portainer_client/openapi_client/test/test_endpoints_endpoint_update_relations_payload.py +61 -0
- ptctools/portainer_client/openapi_client/test/test_endpoints_endpoint_update_relations_payload_relations_value.py +58 -0
- ptctools/portainer_client/openapi_client/test/test_endpoints_force_update_service_payload.py +53 -0
- ptctools/portainer_client/openapi_client/test/test_endpoints_registry_access_payload.py +62 -0
- ptctools/portainer_client/openapi_client/test/test_filesystem_dir_entry.py +55 -0
- ptctools/portainer_client/openapi_client/test/test_github_com_portainer_portainer_pkg_libhelm_release_hook.py +66 -0
- ptctools/portainer_client/openapi_client/test/test_github_com_portainer_portainer_pkg_libhelm_release_hook_execution.py +54 -0
- ptctools/portainer_client/openapi_client/test/test_github_com_portainer_portainer_pkg_libhelm_release_info.py +61 -0
- ptctools/portainer_client/openapi_client/test/test_github_com_portainer_portainer_pkg_libhelm_release_release.py +112 -0
- ptctools/portainer_client/openapi_client/test/test_gitops_api.py +39 -0
- ptctools/portainer_client/openapi_client/test/test_gitops_file_response.py +52 -0
- ptctools/portainer_client/openapi_client/test/test_gitops_repository_file_preview_payload.py +59 -0
- ptctools/portainer_client/openapi_client/test/test_gittypes_git_authentication.py +55 -0
- ptctools/portainer_client/openapi_client/test/test_gittypes_git_credential_auth_type.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_gittypes_repo_config.py +61 -0
- ptctools/portainer_client/openapi_client/test/test_helm_api.py +109 -0
- ptctools/portainer_client/openapi_client/test/test_helm_install_chart_payload.py +58 -0
- ptctools/portainer_client/openapi_client/test/test_images_image_response.py +59 -0
- ptctools/portainer_client/openapi_client/test/test_intel_api.py +74 -0
- ptctools/portainer_client/openapi_client/test/test_intstr_int_or_string.py +54 -0
- ptctools/portainer_client/openapi_client/test/test_intstr_type.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_k8s_io_api_core_v1_condition_status.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_k8s_io_api_rbac_v1_subject.py +55 -0
- ptctools/portainer_client/openapi_client/test/test_k8s_io_apimachinery_pkg_apis_meta_v1_condition_status.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_kubernetes_api.py +480 -0
- ptctools/portainer_client/openapi_client/test/test_kubernetes_configuration.py +54 -0
- ptctools/portainer_client/openapi_client/test/test_kubernetes_custom_resource_metadata.py +54 -0
- ptctools/portainer_client/openapi_client/test/test_kubernetes_describe_resource_response.py +52 -0
- ptctools/portainer_client/openapi_client/test/test_kubernetes_ingress_rule.py +60 -0
- ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_application.py +152 -0
- ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_application_resource.py +55 -0
- ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_cluster_role.py +55 -0
- ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_cluster_role_binding.py +67 -0
- ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_config_map.py +73 -0
- ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_configuration_owner_resource.py +54 -0
- ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_cron_job.py +138 -0
- ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_dashboard.py +58 -0
- ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_event.py +67 -0
- ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_event_involved_object.py +55 -0
- ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_ingress_controller.py +57 -0
- ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_ingress_info.py +83 -0
- ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_ingress_path.py +58 -0
- ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_ingress_tls.py +55 -0
- ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_job.py +127 -0
- ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_namespace_details.py +60 -0
- ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_persistent_volume.py +86 -0
- ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_persistent_volume_claim.py +174 -0
- ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_resource_quota.py +54 -0
- ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_role.py +56 -0
- ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_role_binding.py +67 -0
- ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_secret.py +74 -0
- ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_service_account.py +56 -0
- ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_service_info.py +190 -0
- ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_service_ingress.py +53 -0
- ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_service_port.py +56 -0
- ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_storage_class.py +55 -0
- ptctools/portainer_client/openapi_client/test/test_kubernetes_k8s_volume_info.py +213 -0
- ptctools/portainer_client/openapi_client/test/test_kubernetes_metadata.py +57 -0
- ptctools/portainer_client/openapi_client/test/test_kubernetes_namespaces_toggle_system_payload.py +52 -0
- ptctools/portainer_client/openapi_client/test/test_kubernetes_pod.py +65 -0
- ptctools/portainer_client/openapi_client/test/test_kubernetes_published_port.py +64 -0
- ptctools/portainer_client/openapi_client/test/test_kubernetes_tls_info.py +54 -0
- ptctools/portainer_client/openapi_client/test/test_ldap_api.py +39 -0
- ptctools/portainer_client/openapi_client/test/test_ldap_check_payload.py +76 -0
- ptctools/portainer_client/openapi_client/test/test_motd_api.py +39 -0
- ptctools/portainer_client/openapi_client/test/test_motd_motd_response.py +60 -0
- ptctools/portainer_client/openapi_client/test/test_oauth2_auth_style.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_openamt_device_action_payload.py +52 -0
- ptctools/portainer_client/openapi_client/test/test_openamt_device_features_payload.py +57 -0
- ptctools/portainer_client/openapi_client/test/test_openamt_open_amt_configure_payload.py +59 -0
- ptctools/portainer_client/openapi_client/test/test_os_file_mode.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_platform_container_platform.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_access_policy.py +52 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_api_key.py +58 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_authentication_method.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_auto_update_settings.py +56 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_azure_credentials.py +54 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_custom_template.py +95 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_custom_template_platform.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_custom_template_variable_definition.py +55 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_diagnostics_data.py +61 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_docker_snapshot.py +87 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_ecr_data.py +52 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_edge.py +55 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_edge_group.py +62 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_edge_job.py +71 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_edge_job_endpoint_meta.py +53 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_edge_job_logs_status.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_edge_stack.py +81 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_edge_stack_deployment_status.py +56 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_edge_stack_deployment_type.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_edge_stack_status.py +75 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_edge_stack_status_details.py +58 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_edge_stack_status_type.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_endpoint.py +222 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_endpoint_agent.py +52 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_endpoint_group.py +79 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_endpoint_post_init_migrations.py +53 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_endpoint_security_settings.py +60 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_endpoint_status.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_endpoint_type.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_environment_edge_settings.py +55 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_github_registry_data.py +53 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_gitlab_registry_data.py +54 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_global_deployment_options.py +52 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_helm_user_repository.py +54 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_internal_auth_settings.py +52 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_k8s_namespace_info.py +77 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_k8s_node_limits.py +53 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_kubernetes_configuration.py +76 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_kubernetes_data.py +104 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_kubernetes_flags.py +54 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_kubernetes_ingress_class_config.py +57 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_kubernetes_snapshot.py +71 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_kubernetes_storage_class_config.py +57 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_ldap_group_search_settings.py +54 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_ldap_search_settings.py +54 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_ldap_settings.py +75 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_membership_role.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_o_auth_settings.py +67 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_open_amt_configuration.py +60 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_open_amt_device_enabled_features.py +56 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_pair.py +53 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_performance_metrics.py +54 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_quay_registry_data.py +53 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_registry.py +116 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_registry_access_policies.py +62 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_registry_management_configuration.py +65 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_registry_type.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_resource_access_level.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_resource_control.py +70 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_resource_control_type.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_role.py +58 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_settings.py +146 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_ssl_settings.py +55 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_stack.py +106 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_stack_deployment_info.py +54 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_stack_option.py +52 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_stack_status.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_stack_type.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_tag.py +59 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_team.py +53 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_team_membership.py +55 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_team_resource_access.py +53 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_template.py +99 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_template_env.py +62 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_template_env_select.py +54 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_template_repository.py +53 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_template_type.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_template_volume.py +54 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_tls_configuration.py +56 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_user.py +67 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_user_resource_access.py +53 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_user_role.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_user_theme_settings.py +52 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_webhook.py +57 -0
- ptctools/portainer_client/openapi_client/test/test_portainer_webhook_type.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_registries_api.py +74 -0
- ptctools/portainer_client/openapi_client/test/test_registries_registry_configure_payload.py +67 -0
- ptctools/portainer_client/openapi_client/test/test_registries_registry_create_payload.py +71 -0
- ptctools/portainer_client/openapi_client/test/test_registries_registry_update_payload.py +79 -0
- ptctools/portainer_client/openapi_client/test/test_release_chart.py +132 -0
- ptctools/portainer_client/openapi_client/test/test_release_chart_reference.py +54 -0
- ptctools/portainer_client/openapi_client/test/test_release_dependency.py +63 -0
- ptctools/portainer_client/openapi_client/test/test_release_file.py +55 -0
- ptctools/portainer_client/openapi_client/test/test_release_lock.py +68 -0
- ptctools/portainer_client/openapi_client/test/test_release_maintainer.py +54 -0
- ptctools/portainer_client/openapi_client/test/test_release_metadata.py +93 -0
- ptctools/portainer_client/openapi_client/test/test_release_release_element.py +58 -0
- ptctools/portainer_client/openapi_client/test/test_release_values.py +53 -0
- ptctools/portainer_client/openapi_client/test/test_resource_controls_api.py +53 -0
- ptctools/portainer_client/openapi_client/test/test_resource_quantity.py +52 -0
- ptctools/portainer_client/openapi_client/test/test_resourcecontrols_resource_control_create_payload.py +60 -0
- ptctools/portainer_client/openapi_client/test/test_resourcecontrols_resource_control_update_payload.py +55 -0
- ptctools/portainer_client/openapi_client/test/test_roles_api.py +39 -0
- ptctools/portainer_client/openapi_client/test/test_settings_api.py +53 -0
- ptctools/portainer_client/openapi_client/test/test_settings_public_settings_response.py +72 -0
- ptctools/portainer_client/openapi_client/test/test_settings_public_settings_response_edge.py +55 -0
- ptctools/portainer_client/openapi_client/test/test_settings_settings_update_payload.py +116 -0
- ptctools/portainer_client/openapi_client/test/test_ssl_api.py +46 -0
- ptctools/portainer_client/openapi_client/test/test_ssl_ssl_update_payload.py +54 -0
- ptctools/portainer_client/openapi_client/test/test_stacks_api.py +186 -0
- ptctools/portainer_client/openapi_client/test/test_stacks_compose_stack_from_file_content_payload.py +67 -0
- ptctools/portainer_client/openapi_client/test/test_stacks_compose_stack_from_git_repository_payload.py +74 -0
- ptctools/portainer_client/openapi_client/test/test_stacks_kubernetes_git_deployment_payload.py +70 -0
- ptctools/portainer_client/openapi_client/test/test_stacks_kubernetes_manifest_url_deployment_payload.py +55 -0
- ptctools/portainer_client/openapi_client/test/test_stacks_kubernetes_string_deployment_payload.py +56 -0
- ptctools/portainer_client/openapi_client/test/test_stacks_stack_file_response.py +55 -0
- ptctools/portainer_client/openapi_client/test/test_stacks_stack_git_redploy_payload.py +64 -0
- ptctools/portainer_client/openapi_client/test/test_stacks_stack_git_update_payload.py +69 -0
- ptctools/portainer_client/openapi_client/test/test_stacks_stack_migrate_payload.py +55 -0
- ptctools/portainer_client/openapi_client/test/test_stacks_swarm_stack_from_file_content_payload.py +69 -0
- ptctools/portainer_client/openapi_client/test/test_stacks_swarm_stack_from_git_repository_payload.py +76 -0
- ptctools/portainer_client/openapi_client/test/test_stacks_update_swarm_stack_payload.py +62 -0
- ptctools/portainer_client/openapi_client/test/test_status_api.py +39 -0
- ptctools/portainer_client/openapi_client/test/test_swarm_service_update_response.py +54 -0
- ptctools/portainer_client/openapi_client/test/test_system_api.py +67 -0
- ptctools/portainer_client/openapi_client/test/test_system_nodes_count_response.py +52 -0
- ptctools/portainer_client/openapi_client/test/test_system_status.py +53 -0
- ptctools/portainer_client/openapi_client/test/test_system_system_info_response.py +54 -0
- ptctools/portainer_client/openapi_client/test/test_system_version_response.py +74 -0
- ptctools/portainer_client/openapi_client/test/test_tags_api.py +53 -0
- ptctools/portainer_client/openapi_client/test/test_tags_tag_create_payload.py +53 -0
- ptctools/portainer_client/openapi_client/test/test_team_memberships_api.py +67 -0
- ptctools/portainer_client/openapi_client/test/test_teammemberships_team_membership_create_payload.py +57 -0
- ptctools/portainer_client/openapi_client/test/test_teammemberships_team_membership_update_payload.py +57 -0
- ptctools/portainer_client/openapi_client/test/test_teams_api.py +67 -0
- ptctools/portainer_client/openapi_client/test/test_teams_team_create_payload.py +54 -0
- ptctools/portainer_client/openapi_client/test/test_teams_team_update_payload.py +52 -0
- ptctools/portainer_client/openapi_client/test/test_templates_api.py +46 -0
- ptctools/portainer_client/openapi_client/test/test_templates_file_response.py +52 -0
- ptctools/portainer_client/openapi_client/test/test_templates_list_response.py +101 -0
- ptctools/portainer_client/openapi_client/test/test_unstructured_unstructured.py +52 -0
- ptctools/portainer_client/openapi_client/test/test_upload_api.py +39 -0
- ptctools/portainer_client/openapi_client/test/test_users_access_token_response.py +60 -0
- ptctools/portainer_client/openapi_client/test/test_users_add_helm_repo_url_payload.py +52 -0
- ptctools/portainer_client/openapi_client/test/test_users_admin_init_payload.py +55 -0
- ptctools/portainer_client/openapi_client/test/test_users_api.py +123 -0
- ptctools/portainer_client/openapi_client/test/test_users_helm_user_repository_response.py +58 -0
- ptctools/portainer_client/openapi_client/test/test_users_theme_payload.py +52 -0
- ptctools/portainer_client/openapi_client/test/test_users_user_access_token_create_payload.py +55 -0
- ptctools/portainer_client/openapi_client/test/test_users_user_create_payload.py +57 -0
- ptctools/portainer_client/openapi_client/test/test_users_user_update_password_payload.py +55 -0
- ptctools/portainer_client/openapi_client/test/test_users_user_update_payload.py +63 -0
- ptctools/portainer_client/openapi_client/test/test_v1_app_armor_profile.py +53 -0
- ptctools/portainer_client/openapi_client/test/test_v1_app_armor_profile_type.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_v1_capabilities.py +57 -0
- ptctools/portainer_client/openapi_client/test/test_v1_client_ip_config.py +52 -0
- ptctools/portainer_client/openapi_client/test/test_v1_condition.py +57 -0
- ptctools/portainer_client/openapi_client/test/test_v1_config_map_env_source.py +53 -0
- ptctools/portainer_client/openapi_client/test/test_v1_config_map_key_selector.py +54 -0
- ptctools/portainer_client/openapi_client/test/test_v1_container.py +165 -0
- ptctools/portainer_client/openapi_client/test/test_v1_container_port.py +56 -0
- ptctools/portainer_client/openapi_client/test/test_v1_container_resize_policy.py +53 -0
- ptctools/portainer_client/openapi_client/test/test_v1_container_restart_policy.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_v1_csi_persistent_volume_source.py +73 -0
- ptctools/portainer_client/openapi_client/test/test_v1_duration.py +52 -0
- ptctools/portainer_client/openapi_client/test/test_v1_env_from_source.py +58 -0
- ptctools/portainer_client/openapi_client/test/test_v1_env_var.py +58 -0
- ptctools/portainer_client/openapi_client/test/test_v1_env_var_source.py +66 -0
- ptctools/portainer_client/openapi_client/test/test_v1_exec_action.py +54 -0
- ptctools/portainer_client/openapi_client/test/test_v1_grpc_action.py +53 -0
- ptctools/portainer_client/openapi_client/test/test_v1_http_get_action.py +63 -0
- ptctools/portainer_client/openapi_client/test/test_v1_http_header.py +53 -0
- ptctools/portainer_client/openapi_client/test/test_v1_ip_family.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_v1_ip_family_policy.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_v1_label_selector.py +62 -0
- ptctools/portainer_client/openapi_client/test/test_v1_label_selector_operator.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_v1_label_selector_requirement.py +56 -0
- ptctools/portainer_client/openapi_client/test/test_v1_lifecycle.py +62 -0
- ptctools/portainer_client/openapi_client/test/test_v1_lifecycle_handler.py +70 -0
- ptctools/portainer_client/openapi_client/test/test_v1_list_meta.py +55 -0
- ptctools/portainer_client/openapi_client/test/test_v1_load_balancer_ingress.py +60 -0
- ptctools/portainer_client/openapi_client/test/test_v1_load_balancer_ip_mode.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_v1_load_balancer_status.py +63 -0
- ptctools/portainer_client/openapi_client/test/test_v1_managed_fields_entry.py +58 -0
- ptctools/portainer_client/openapi_client/test/test_v1_managed_fields_operation_type.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_v1_mount_propagation_mode.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_v1_namespace_condition.py +56 -0
- ptctools/portainer_client/openapi_client/test/test_v1_namespace_condition_type.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_v1_namespace_phase.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_v1_namespace_status.py +60 -0
- ptctools/portainer_client/openapi_client/test/test_v1_object_field_selector.py +53 -0
- ptctools/portainer_client/openapi_client/test/test_v1_object_meta.py +89 -0
- ptctools/portainer_client/openapi_client/test/test_v1_object_reference.py +58 -0
- ptctools/portainer_client/openapi_client/test/test_v1_owner_reference.py +57 -0
- ptctools/portainer_client/openapi_client/test/test_v1_persistent_volume_access_mode.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_v1_persistent_volume_claim_phase.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_v1_persistent_volume_mode.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_v1_persistent_volume_reclaim_policy.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_v1_port_status.py +54 -0
- ptctools/portainer_client/openapi_client/test/test_v1_probe.py +77 -0
- ptctools/portainer_client/openapi_client/test/test_v1_proc_mount_type.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_v1_protocol.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_v1_pull_policy.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_v1_recursive_read_only_mode.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_v1_resource_claim.py +53 -0
- ptctools/portainer_client/openapi_client/test/test_v1_resource_field_selector.py +55 -0
- ptctools/portainer_client/openapi_client/test/test_v1_resource_name.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_v1_resource_quota.py +101 -0
- ptctools/portainer_client/openapi_client/test/test_v1_resource_quota_scope.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_v1_resource_quota_spec.py +67 -0
- ptctools/portainer_client/openapi_client/test/test_v1_resource_quota_status.py +59 -0
- ptctools/portainer_client/openapi_client/test/test_v1_resource_requirements.py +64 -0
- ptctools/portainer_client/openapi_client/test/test_v1_resource_resize_restart_policy.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_v1_role_ref.py +54 -0
- ptctools/portainer_client/openapi_client/test/test_v1_scope_selector.py +59 -0
- ptctools/portainer_client/openapi_client/test/test_v1_scope_selector_operator.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_v1_scoped_resource_selector_requirement.py +56 -0
- ptctools/portainer_client/openapi_client/test/test_v1_se_linux_options.py +55 -0
- ptctools/portainer_client/openapi_client/test/test_v1_seccomp_profile.py +53 -0
- ptctools/portainer_client/openapi_client/test/test_v1_seccomp_profile_type.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_v1_secret_env_source.py +53 -0
- ptctools/portainer_client/openapi_client/test/test_v1_secret_key_selector.py +54 -0
- ptctools/portainer_client/openapi_client/test/test_v1_secret_reference.py +53 -0
- ptctools/portainer_client/openapi_client/test/test_v1_security_context.py +81 -0
- ptctools/portainer_client/openapi_client/test/test_v1_service.py +142 -0
- ptctools/portainer_client/openapi_client/test/test_v1_service_affinity.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_v1_service_external_traffic_policy.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_v1_service_internal_traffic_policy.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_v1_service_port.py +60 -0
- ptctools/portainer_client/openapi_client/test/test_v1_service_spec.py +90 -0
- ptctools/portainer_client/openapi_client/test/test_v1_service_status.py +73 -0
- ptctools/portainer_client/openapi_client/test/test_v1_service_type.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_v1_session_affinity_config.py +53 -0
- ptctools/portainer_client/openapi_client/test/test_v1_signal.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_v1_sleep_action.py +52 -0
- ptctools/portainer_client/openapi_client/test/test_v1_tcp_socket_action.py +56 -0
- ptctools/portainer_client/openapi_client/test/test_v1_termination_message_policy.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_v1_uri_scheme.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_v1_volume_device.py +53 -0
- ptctools/portainer_client/openapi_client/test/test_v1_volume_mount.py +58 -0
- ptctools/portainer_client/openapi_client/test/test_v1_windows_security_context_options.py +55 -0
- ptctools/portainer_client/openapi_client/test/test_v1beta1_container_metrics.py +56 -0
- ptctools/portainer_client/openapi_client/test/test_v1beta1_node_metrics.py +99 -0
- ptctools/portainer_client/openapi_client/test/test_v1beta1_node_metrics_list.py +68 -0
- ptctools/portainer_client/openapi_client/test/test_v1beta1_pod_metrics.py +100 -0
- ptctools/portainer_client/openapi_client/test/test_v1beta1_pod_metrics_list.py +72 -0
- ptctools/portainer_client/openapi_client/test/test_v2_container_resource_metric_source.py +58 -0
- ptctools/portainer_client/openapi_client/test/test_v2_container_resource_metric_status.py +57 -0
- ptctools/portainer_client/openapi_client/test/test_v2_cross_version_object_reference.py +54 -0
- ptctools/portainer_client/openapi_client/test/test_v2_external_metric_source.py +59 -0
- ptctools/portainer_client/openapi_client/test/test_v2_external_metric_status.py +58 -0
- ptctools/portainer_client/openapi_client/test/test_v2_horizontal_pod_autoscaler.py +128 -0
- ptctools/portainer_client/openapi_client/test/test_v2_horizontal_pod_autoscaler_behavior.py +71 -0
- ptctools/portainer_client/openapi_client/test/test_v2_horizontal_pod_autoscaler_condition.py +56 -0
- ptctools/portainer_client/openapi_client/test/test_v2_horizontal_pod_autoscaler_condition_type.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_v2_horizontal_pod_autoscaler_spec.py +69 -0
- ptctools/portainer_client/openapi_client/test/test_v2_horizontal_pod_autoscaler_status.py +72 -0
- ptctools/portainer_client/openapi_client/test/test_v2_hpa_scaling_policy.py +54 -0
- ptctools/portainer_client/openapi_client/test/test_v2_hpa_scaling_policy_type.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_v2_hpa_scaling_rules.py +61 -0
- ptctools/portainer_client/openapi_client/test/test_v2_metric_identifier.py +64 -0
- ptctools/portainer_client/openapi_client/test/test_v2_metric_source_type.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_v2_metric_spec.py +69 -0
- ptctools/portainer_client/openapi_client/test/test_v2_metric_status.py +69 -0
- ptctools/portainer_client/openapi_client/test/test_v2_metric_target.py +57 -0
- ptctools/portainer_client/openapi_client/test/test_v2_metric_target_type.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_v2_metric_value_status.py +56 -0
- ptctools/portainer_client/openapi_client/test/test_v2_object_metric_source.py +63 -0
- ptctools/portainer_client/openapi_client/test/test_v2_object_metric_status.py +62 -0
- ptctools/portainer_client/openapi_client/test/test_v2_pods_metric_source.py +59 -0
- ptctools/portainer_client/openapi_client/test/test_v2_pods_metric_status.py +58 -0
- ptctools/portainer_client/openapi_client/test/test_v2_resource_metric_source.py +57 -0
- ptctools/portainer_client/openapi_client/test/test_v2_resource_metric_status.py +56 -0
- ptctools/portainer_client/openapi_client/test/test_v2_scaling_policy_select.py +34 -0
- ptctools/portainer_client/openapi_client/test/test_webhooks_api.py +67 -0
- ptctools/portainer_client/openapi_client/test/test_webhooks_webhook_create_payload.py +55 -0
- ptctools/portainer_client/openapi_client/test/test_webhooks_webhook_update_payload.py +52 -0
- ptctools/portainer_client/openapi_client/test/test_websocket_api.py +60 -0
- ptctools/portainer_client/openapi_client_README.md +707 -0
- ptctools/secret.py +146 -0
- ptctools/stack.py +216 -261
- ptctools/utils.py +8 -0
- ptctools/volume.py +668 -89
- ptctools-0.2.0.dist-info/METADATA +162 -0
- ptctools-0.2.0.dist-info/RECORD +1241 -0
- ptctools-0.1.0.dist-info/METADATA +0 -99
- ptctools-0.1.0.dist-info/RECORD +0 -14
- {ptctools-0.1.0.dist-info → ptctools-0.2.0.dist-info}/WHEEL +0 -0
- {ptctools-0.1.0.dist-info → ptctools-0.2.0.dist-info}/entry_points.txt +0 -0
- {ptctools-0.1.0.dist-info → ptctools-0.2.0.dist-info}/licenses/LICENSE +0 -0
ptctools/secret.py
ADDED
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
"""Secret management commands."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import base64
|
|
6
|
+
import os
|
|
7
|
+
import sys
|
|
8
|
+
from pathlib import Path
|
|
9
|
+
|
|
10
|
+
import click
|
|
11
|
+
import docker.errors
|
|
12
|
+
|
|
13
|
+
from ptctools._portainer import (
|
|
14
|
+
get_portainer_docker_client,
|
|
15
|
+
PortainerError,
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class SecretError(PortainerError):
|
|
20
|
+
"""Exception for secret operations."""
|
|
21
|
+
|
|
22
|
+
pass
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
@click.group()
|
|
26
|
+
def cli():
|
|
27
|
+
"""Secret management commands."""
|
|
28
|
+
pass
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
@cli.command()
|
|
32
|
+
@click.option(
|
|
33
|
+
"--url",
|
|
34
|
+
"-u",
|
|
35
|
+
envvar="PORTAINER_URL",
|
|
36
|
+
required=True,
|
|
37
|
+
help="Portainer base URL (or PORTAINER_URL env var)",
|
|
38
|
+
)
|
|
39
|
+
@click.option("--endpoint-id", "-e", type=int, default=1, help="Portainer endpoint ID")
|
|
40
|
+
@click.option(
|
|
41
|
+
"--file",
|
|
42
|
+
"-f",
|
|
43
|
+
"file_path",
|
|
44
|
+
type=click.Path(exists=True, path_type=Path),
|
|
45
|
+
help="Read secret from file",
|
|
46
|
+
)
|
|
47
|
+
@click.option(
|
|
48
|
+
"--value", "-v", help="Secret value (use stdin or --file for sensitive data)"
|
|
49
|
+
)
|
|
50
|
+
@click.argument("name")
|
|
51
|
+
def create(
|
|
52
|
+
url: str,
|
|
53
|
+
endpoint_id: int,
|
|
54
|
+
file_path: Path | None,
|
|
55
|
+
value: str | None,
|
|
56
|
+
name: str,
|
|
57
|
+
):
|
|
58
|
+
"""Create a Docker Swarm secret.
|
|
59
|
+
|
|
60
|
+
NAME is the name of the secret to create.
|
|
61
|
+
|
|
62
|
+
The secret value can be provided via:
|
|
63
|
+
- stdin: echo "secret" | ptctools docker secret create -u URL my_secret
|
|
64
|
+
- file: ptctools docker secret create -u URL -f /path/to/file my_secret
|
|
65
|
+
- value: ptctools docker secret create -u URL -v "secret" my_secret
|
|
66
|
+
|
|
67
|
+
Example:
|
|
68
|
+
echo "postgresql://user:pass@db:5432/mydb" | ptctools docker secret create -u https://portainer.example.com litellm_db_dsn
|
|
69
|
+
"""
|
|
70
|
+
access_token = os.environ.get("PORTAINER_ACCESS_TOKEN")
|
|
71
|
+
if not access_token:
|
|
72
|
+
click.echo(
|
|
73
|
+
"Error: Missing PORTAINER_ACCESS_TOKEN environment variable", err=True
|
|
74
|
+
)
|
|
75
|
+
sys.exit(1)
|
|
76
|
+
|
|
77
|
+
# Determine secret data source
|
|
78
|
+
secret_data: bytes | None = None
|
|
79
|
+
|
|
80
|
+
if file_path:
|
|
81
|
+
# Read from file
|
|
82
|
+
secret_data = file_path.read_bytes()
|
|
83
|
+
elif value:
|
|
84
|
+
# Use provided value
|
|
85
|
+
secret_data = value.encode("utf-8")
|
|
86
|
+
elif not sys.stdin.isatty():
|
|
87
|
+
# Read from stdin
|
|
88
|
+
secret_data = sys.stdin.read().encode("utf-8")
|
|
89
|
+
else:
|
|
90
|
+
click.echo(
|
|
91
|
+
"Error: Secret value required. Use --file, --value, or pipe via stdin.",
|
|
92
|
+
err=True,
|
|
93
|
+
)
|
|
94
|
+
sys.exit(1)
|
|
95
|
+
|
|
96
|
+
# Strip trailing newline if present (common when piping from echo)
|
|
97
|
+
if secret_data.endswith(b"\n"):
|
|
98
|
+
secret_data = secret_data.rstrip(b"\n")
|
|
99
|
+
|
|
100
|
+
portainer_url = url.rstrip("/")
|
|
101
|
+
|
|
102
|
+
click.echo(f"Portainer URL: {portainer_url}")
|
|
103
|
+
click.echo(f"Endpoint ID: {endpoint_id}")
|
|
104
|
+
click.echo(f"Secret Name: {name}")
|
|
105
|
+
click.echo()
|
|
106
|
+
|
|
107
|
+
try:
|
|
108
|
+
docker_client = get_portainer_docker_client(
|
|
109
|
+
portainer_url, access_token, endpoint_id
|
|
110
|
+
)
|
|
111
|
+
|
|
112
|
+
# Check if secret already exists
|
|
113
|
+
try:
|
|
114
|
+
existing = docker_client.secrets.get(name)
|
|
115
|
+
click.echo(
|
|
116
|
+
f"Error: Secret '{name}' already exists (ID: {existing.id[:12]})",
|
|
117
|
+
err=True,
|
|
118
|
+
)
|
|
119
|
+
click.echo(
|
|
120
|
+
"Use 'docker secret rm' to remove it first, or choose a different name.",
|
|
121
|
+
err=True,
|
|
122
|
+
)
|
|
123
|
+
sys.exit(1)
|
|
124
|
+
except docker.errors.NotFound:
|
|
125
|
+
pass # Good, secret doesn't exist
|
|
126
|
+
|
|
127
|
+
# Create the secret
|
|
128
|
+
click.echo(f"Creating secret '{name}'...")
|
|
129
|
+
secret = docker_client.secrets.create(name=name, data=secret_data)
|
|
130
|
+
click.echo(f"Secret created successfully!")
|
|
131
|
+
click.echo(f" ID: {secret.id}")
|
|
132
|
+
click.echo(f" Name: {name}")
|
|
133
|
+
click.echo()
|
|
134
|
+
click.echo("Done!")
|
|
135
|
+
sys.exit(0)
|
|
136
|
+
|
|
137
|
+
except docker.errors.APIError as e:
|
|
138
|
+
click.echo(f"Error: {e.explanation or str(e)}", err=True)
|
|
139
|
+
click.echo()
|
|
140
|
+
click.echo("Failed!")
|
|
141
|
+
sys.exit(1)
|
|
142
|
+
except SecretError as e:
|
|
143
|
+
click.echo(f"Error: {e}", err=True)
|
|
144
|
+
click.echo()
|
|
145
|
+
click.echo("Failed!")
|
|
146
|
+
sys.exit(1)
|
ptctools/stack.py
CHANGED
|
@@ -3,13 +3,49 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
5
|
import json
|
|
6
|
+
import logging
|
|
6
7
|
import os
|
|
7
8
|
import sys
|
|
9
|
+
import traceback
|
|
8
10
|
from pathlib import Path
|
|
9
11
|
|
|
10
12
|
import click
|
|
11
13
|
|
|
12
|
-
from ptctools._portainer import
|
|
14
|
+
from ptctools._portainer import (
|
|
15
|
+
get_portainer_api_client,
|
|
16
|
+
get_portainer_docker_client,
|
|
17
|
+
PortainerError,
|
|
18
|
+
ResourceControlError,
|
|
19
|
+
)
|
|
20
|
+
from ptctools.portainer_client.openapi_client.api.stacks_api import StacksApi
|
|
21
|
+
from ptctools.portainer_client.openapi_client.api.users_api import UsersApi
|
|
22
|
+
from ptctools.portainer_client.openapi_client.api.resource_controls_api import (
|
|
23
|
+
ResourceControlsApi,
|
|
24
|
+
)
|
|
25
|
+
from ptctools.portainer_client.openapi_client.models.stacks_swarm_stack_from_file_content_payload import (
|
|
26
|
+
StacksSwarmStackFromFileContentPayload,
|
|
27
|
+
)
|
|
28
|
+
from ptctools.portainer_client.openapi_client.models.stacks_update_swarm_stack_payload import (
|
|
29
|
+
StacksUpdateSwarmStackPayload,
|
|
30
|
+
)
|
|
31
|
+
from ptctools.portainer_client.openapi_client.models.resourcecontrols_resource_control_create_payload import (
|
|
32
|
+
ResourcecontrolsResourceControlCreatePayload,
|
|
33
|
+
)
|
|
34
|
+
from ptctools.portainer_client.openapi_client.models.resourcecontrols_resource_control_update_payload import (
|
|
35
|
+
ResourcecontrolsResourceControlUpdatePayload,
|
|
36
|
+
)
|
|
37
|
+
from ptctools.portainer_client.openapi_client.models.portainer_resource_control_type import (
|
|
38
|
+
PortainerResourceControlType,
|
|
39
|
+
)
|
|
40
|
+
from ptctools.portainer_client.openapi_client.exceptions import ApiException
|
|
41
|
+
|
|
42
|
+
logger = logging.getLogger(__name__)
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class StackError(PortainerError):
|
|
46
|
+
"""Exception for stack operations."""
|
|
47
|
+
|
|
48
|
+
pass
|
|
13
49
|
|
|
14
50
|
|
|
15
51
|
def load_stack_env_file(env_path: Path) -> list[dict]:
|
|
@@ -33,163 +69,6 @@ def load_stack_env_file(env_path: Path) -> list[dict]:
|
|
|
33
69
|
return env_vars
|
|
34
70
|
|
|
35
71
|
|
|
36
|
-
def get_swarm_id(portainer_url: str, api_key: str, endpoint_id: int) -> str | None:
|
|
37
|
-
"""Get swarm ID from the endpoint."""
|
|
38
|
-
url = f"{portainer_url}/api/endpoints/{endpoint_id}/docker/swarm"
|
|
39
|
-
swarm_info, status_code = api_request(url, api_key)
|
|
40
|
-
|
|
41
|
-
if status_code == 200 and isinstance(swarm_info, dict):
|
|
42
|
-
return swarm_info.get("ID")
|
|
43
|
-
return None
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
def get_stack_id(portainer_url: str, api_key: str, stack_name: str) -> int | None:
|
|
47
|
-
"""Get stack ID by name, returns None if not found."""
|
|
48
|
-
url = f"{portainer_url}/api/stacks"
|
|
49
|
-
stacks, status_code = api_request(url, api_key)
|
|
50
|
-
|
|
51
|
-
if status_code != 200 or not isinstance(stacks, list):
|
|
52
|
-
return None
|
|
53
|
-
|
|
54
|
-
for stack in stacks:
|
|
55
|
-
if stack.get("Name") == stack_name:
|
|
56
|
-
return stack.get("Id")
|
|
57
|
-
return None
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
def get_user_teams(portainer_url: str, api_key: str) -> list[dict]:
|
|
61
|
-
"""Get teams that the current user belongs to."""
|
|
62
|
-
url = f"{portainer_url}/api/users/me"
|
|
63
|
-
user_info, status_code = api_request(url, api_key)
|
|
64
|
-
|
|
65
|
-
if status_code != 200 or not user_info:
|
|
66
|
-
return []
|
|
67
|
-
|
|
68
|
-
user_id = user_info.get("Id")
|
|
69
|
-
if not user_id:
|
|
70
|
-
return []
|
|
71
|
-
|
|
72
|
-
url = f"{portainer_url}/api/users/{user_id}/memberships"
|
|
73
|
-
memberships, status_code = api_request(url, api_key)
|
|
74
|
-
|
|
75
|
-
if status_code != 200 or not isinstance(memberships, list):
|
|
76
|
-
return []
|
|
77
|
-
|
|
78
|
-
teams = []
|
|
79
|
-
for m in memberships:
|
|
80
|
-
team_id = m.get("TeamID")
|
|
81
|
-
if team_id:
|
|
82
|
-
teams.append({"Id": team_id, "Name": f"Team {team_id}"})
|
|
83
|
-
|
|
84
|
-
return teams
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
def create_stack(
|
|
88
|
-
portainer_url: str,
|
|
89
|
-
api_key: str,
|
|
90
|
-
endpoint_id: int,
|
|
91
|
-
stack_name: str,
|
|
92
|
-
stack_content: str,
|
|
93
|
-
env_vars: list[dict],
|
|
94
|
-
swarm_id: str,
|
|
95
|
-
) -> bool:
|
|
96
|
-
"""Create a new stack in Portainer."""
|
|
97
|
-
click.echo(f"Creating new stack: {stack_name}...")
|
|
98
|
-
|
|
99
|
-
url = f"{portainer_url}/api/stacks/create/swarm/string?endpointId={endpoint_id}"
|
|
100
|
-
data = {
|
|
101
|
-
"name": stack_name,
|
|
102
|
-
"stackFileContent": stack_content,
|
|
103
|
-
"env": env_vars,
|
|
104
|
-
"swarmID": swarm_id,
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
response, status_code = api_request(url, api_key, method="POST", data=data)
|
|
108
|
-
|
|
109
|
-
if 200 <= status_code < 300:
|
|
110
|
-
click.echo("Stack created successfully!")
|
|
111
|
-
click.echo(json.dumps(response, indent=2))
|
|
112
|
-
return True
|
|
113
|
-
else:
|
|
114
|
-
click.echo(f"Error creating stack (HTTP {status_code}):")
|
|
115
|
-
click.echo(json.dumps(response, indent=2))
|
|
116
|
-
return False
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
def update_stack(
|
|
120
|
-
portainer_url: str,
|
|
121
|
-
api_key: str,
|
|
122
|
-
endpoint_id: int,
|
|
123
|
-
stack_id: int,
|
|
124
|
-
stack_name: str,
|
|
125
|
-
stack_content: str,
|
|
126
|
-
env_vars: list[dict],
|
|
127
|
-
) -> bool:
|
|
128
|
-
"""Update an existing stack in Portainer."""
|
|
129
|
-
click.echo(f"Updating existing stack: {stack_name} (ID: {stack_id})...")
|
|
130
|
-
|
|
131
|
-
url = f"{portainer_url}/api/stacks/{stack_id}?endpointId={endpoint_id}"
|
|
132
|
-
data = {
|
|
133
|
-
"stackFileContent": stack_content,
|
|
134
|
-
"env": env_vars,
|
|
135
|
-
"prune": True,
|
|
136
|
-
"pullImage": True,
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
response, status_code = api_request(url, api_key, method="PUT", data=data)
|
|
140
|
-
|
|
141
|
-
if 200 <= status_code < 300:
|
|
142
|
-
click.echo("Stack updated successfully!")
|
|
143
|
-
click.echo(json.dumps(response, indent=2))
|
|
144
|
-
return True
|
|
145
|
-
else:
|
|
146
|
-
click.echo(f"Error updating stack (HTTP {status_code}):")
|
|
147
|
-
click.echo(json.dumps(response, indent=2))
|
|
148
|
-
return False
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
def update_resource_control(
|
|
152
|
-
portainer_url: str,
|
|
153
|
-
api_key: str,
|
|
154
|
-
resource_control_id: int,
|
|
155
|
-
public: bool = False,
|
|
156
|
-
team_ids: list[int] | None = None,
|
|
157
|
-
user_ids: list[int] | None = None,
|
|
158
|
-
) -> bool:
|
|
159
|
-
"""Update resource control with specified access settings."""
|
|
160
|
-
url = f"{portainer_url}/api/resource_controls/{resource_control_id}"
|
|
161
|
-
data = {
|
|
162
|
-
"Public": public,
|
|
163
|
-
"Teams": team_ids or [],
|
|
164
|
-
"Users": user_ids or [],
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
_, status_code = api_request(url, api_key, method="PUT", data=data)
|
|
168
|
-
return 200 <= status_code < 300
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
def create_resource_control(
|
|
172
|
-
portainer_url: str,
|
|
173
|
-
api_key: str,
|
|
174
|
-
stack_id: int,
|
|
175
|
-
public: bool = False,
|
|
176
|
-
team_ids: list[int] | None = None,
|
|
177
|
-
user_ids: list[int] | None = None,
|
|
178
|
-
) -> bool:
|
|
179
|
-
"""Create resource control for a stack with specified access settings."""
|
|
180
|
-
url = f"{portainer_url}/api/resource_controls"
|
|
181
|
-
data = {
|
|
182
|
-
"Type": "stack",
|
|
183
|
-
"ResourceID": str(stack_id),
|
|
184
|
-
"Public": public,
|
|
185
|
-
"Teams": team_ids or [],
|
|
186
|
-
"Users": user_ids or [],
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
_, status_code = api_request(url, api_key, method="POST", data=data)
|
|
190
|
-
return 200 <= status_code < 300
|
|
191
|
-
|
|
192
|
-
|
|
193
72
|
@click.group()
|
|
194
73
|
def cli():
|
|
195
74
|
"""Stack management commands."""
|
|
@@ -197,7 +76,13 @@ def cli():
|
|
|
197
76
|
|
|
198
77
|
|
|
199
78
|
@cli.command()
|
|
200
|
-
@click.option(
|
|
79
|
+
@click.option(
|
|
80
|
+
"--url",
|
|
81
|
+
"-u",
|
|
82
|
+
envvar="PORTAINER_URL",
|
|
83
|
+
required=True,
|
|
84
|
+
help="Portainer base URL (or PORTAINER_URL env var)",
|
|
85
|
+
)
|
|
201
86
|
@click.option("--stack-name", "-n", required=True, help="Stack name")
|
|
202
87
|
@click.option(
|
|
203
88
|
"--stack-file",
|
|
@@ -239,15 +124,32 @@ def deploy(
|
|
|
239
124
|
|
|
240
125
|
# Auto-detect team if needed
|
|
241
126
|
if ownership == "team" and not team_id:
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
127
|
+
try:
|
|
128
|
+
with get_portainer_api_client(portainer_url, access_token) as client:
|
|
129
|
+
users_api = UsersApi(client)
|
|
130
|
+
user = users_api.current_user_inspect()
|
|
131
|
+
memberships = users_api.user_memberships_inspect(user.id)
|
|
132
|
+
user_teams = []
|
|
133
|
+
for m in memberships:
|
|
134
|
+
if m.team_id:
|
|
135
|
+
user_teams.append(
|
|
136
|
+
{"Id": m.team_id, "Name": f"Team {m.team_id}"}
|
|
137
|
+
)
|
|
138
|
+
|
|
139
|
+
if user_teams:
|
|
140
|
+
team_id = user_teams[0]["Id"]
|
|
141
|
+
click.echo(
|
|
142
|
+
f"Auto-detected team: {user_teams[0]['Name']} (ID: {team_id})"
|
|
143
|
+
)
|
|
144
|
+
else:
|
|
145
|
+
click.echo(
|
|
146
|
+
"Error: ownership=team but no team found and --team-id not specified",
|
|
147
|
+
err=True,
|
|
148
|
+
)
|
|
149
|
+
sys.exit(1)
|
|
150
|
+
except ApiException as e:
|
|
151
|
+
logger.error("Stack operation failed: %s\n%s", e, traceback.format_exc())
|
|
152
|
+
click.echo(f"Error: Failed to get user teams: {e}", err=True)
|
|
251
153
|
sys.exit(1)
|
|
252
154
|
|
|
253
155
|
stack_content = stack_file.read_text()
|
|
@@ -264,104 +166,157 @@ def deploy(
|
|
|
264
166
|
click.echo(f"Team ID: {team_id}")
|
|
265
167
|
click.echo()
|
|
266
168
|
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
169
|
+
try:
|
|
170
|
+
with get_portainer_api_client(portainer_url, access_token) as client:
|
|
171
|
+
stacks_api = StacksApi(client)
|
|
172
|
+
users_api = UsersApi(client)
|
|
173
|
+
rc_api = ResourceControlsApi(client)
|
|
174
|
+
|
|
175
|
+
# Check if stack exists
|
|
176
|
+
click.echo("Checking if stack already exists...")
|
|
177
|
+
existing_stack_id = None
|
|
178
|
+
stacks = stacks_api.stack_list()
|
|
179
|
+
for stack in stacks:
|
|
180
|
+
if stack.name == stack_name:
|
|
181
|
+
existing_stack_id = stack.id
|
|
182
|
+
break
|
|
183
|
+
|
|
184
|
+
if existing_stack_id is not None:
|
|
185
|
+
# Update existing stack
|
|
186
|
+
click.echo(
|
|
187
|
+
f"Updating existing stack: {stack_name} (ID: {existing_stack_id})..."
|
|
188
|
+
)
|
|
189
|
+
payload = StacksUpdateSwarmStackPayload(
|
|
190
|
+
stack_file_content=stack_content,
|
|
191
|
+
env=env_vars,
|
|
192
|
+
prune=True,
|
|
193
|
+
pull_image=True,
|
|
194
|
+
)
|
|
195
|
+
response = stacks_api.stack_update(
|
|
196
|
+
id=existing_stack_id,
|
|
197
|
+
endpoint_id=endpoint_id,
|
|
198
|
+
body=payload.to_dict(),
|
|
199
|
+
)
|
|
200
|
+
click.echo("Stack updated successfully!")
|
|
201
|
+
click.echo(json.dumps(response.to_dict(), indent=2))
|
|
202
|
+
else:
|
|
203
|
+
# Create new stack - need swarm ID first
|
|
204
|
+
click.echo("Getting swarm ID...")
|
|
205
|
+
docker_client = get_portainer_docker_client(
|
|
206
|
+
portainer_url, access_token, endpoint_id
|
|
207
|
+
)
|
|
208
|
+
swarm_info = docker_client.swarm.attrs
|
|
209
|
+
swarm_id = swarm_info.get("ID") if swarm_info else None
|
|
210
|
+
if not swarm_id:
|
|
211
|
+
raise StackError("Could not get swarm ID from endpoint")
|
|
212
|
+
click.echo(f"Swarm ID: {swarm_id}")
|
|
213
|
+
|
|
214
|
+
click.echo(f"Creating new stack: {stack_name}...")
|
|
215
|
+
payload = StacksSwarmStackFromFileContentPayload(
|
|
216
|
+
name=stack_name,
|
|
217
|
+
stack_file_content=stack_content,
|
|
218
|
+
env=env_vars,
|
|
219
|
+
swarm_id=swarm_id,
|
|
220
|
+
)
|
|
221
|
+
response = stacks_api.stack_create_docker_swarm_string(
|
|
222
|
+
endpoint_id=endpoint_id, body=payload.to_dict()
|
|
223
|
+
)
|
|
224
|
+
click.echo("Stack created successfully!")
|
|
225
|
+
click.echo(json.dumps(response.to_dict(), indent=2))
|
|
226
|
+
|
|
227
|
+
# Apply access control
|
|
228
|
+
if ownership:
|
|
229
|
+
click.echo()
|
|
230
|
+
|
|
231
|
+
# Get final stack ID
|
|
232
|
+
final_stack_id = None
|
|
233
|
+
stacks = stacks_api.stack_list()
|
|
234
|
+
for stack in stacks:
|
|
235
|
+
if stack.name == stack_name:
|
|
236
|
+
final_stack_id = stack.id
|
|
237
|
+
break
|
|
238
|
+
|
|
239
|
+
if final_stack_id:
|
|
240
|
+
stack_info = stacks_api.stack_inspect(id=final_stack_id)
|
|
241
|
+
rc = stack_info.resource_control
|
|
242
|
+
|
|
243
|
+
if ownership == "private":
|
|
244
|
+
if rc and rc.id:
|
|
245
|
+
user = users_api.current_user_inspect()
|
|
246
|
+
user_id = user.id
|
|
315
247
|
click.echo("Setting access control to private...")
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
248
|
+
rc_payload = ResourcecontrolsResourceControlUpdatePayload(
|
|
249
|
+
public=False,
|
|
250
|
+
teams=[],
|
|
251
|
+
users=[user_id],
|
|
252
|
+
)
|
|
253
|
+
rc_api.resource_control_update(
|
|
254
|
+
id=rc.id, body=rc_payload.to_dict()
|
|
255
|
+
)
|
|
256
|
+
click.echo("✓ Access control set to private")
|
|
257
|
+
|
|
258
|
+
elif ownership == "team" and team_id:
|
|
259
|
+
click.echo(f"Setting access control for team {team_id}...")
|
|
260
|
+
if rc and rc.id:
|
|
261
|
+
rc_payload = ResourcecontrolsResourceControlUpdatePayload(
|
|
262
|
+
public=False,
|
|
263
|
+
teams=[team_id],
|
|
264
|
+
users=[],
|
|
265
|
+
)
|
|
266
|
+
rc_api.resource_control_update(
|
|
267
|
+
id=rc.id, body=rc_payload.to_dict()
|
|
268
|
+
)
|
|
332
269
|
click.echo(f"✓ Access control set to team {team_id}")
|
|
333
270
|
else:
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
271
|
+
rc_payload = ResourcecontrolsResourceControlCreatePayload(
|
|
272
|
+
resource_id=str(final_stack_id),
|
|
273
|
+
type=PortainerResourceControlType.StackResourceControl,
|
|
274
|
+
public=False,
|
|
275
|
+
teams=[team_id],
|
|
276
|
+
users=[],
|
|
277
|
+
)
|
|
278
|
+
rc_api.resource_control_create(body=rc_payload.to_dict())
|
|
342
279
|
click.echo(f"✓ Access control created for team {team_id}")
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
280
|
+
|
|
281
|
+
elif ownership == "public":
|
|
282
|
+
click.echo("Setting access control to public...")
|
|
283
|
+
if rc and rc.id:
|
|
284
|
+
rc_payload = ResourcecontrolsResourceControlUpdatePayload(
|
|
285
|
+
public=True,
|
|
286
|
+
teams=[],
|
|
287
|
+
users=[],
|
|
288
|
+
)
|
|
289
|
+
rc_api.resource_control_update(
|
|
290
|
+
id=rc.id, body=rc_payload.to_dict()
|
|
291
|
+
)
|
|
352
292
|
click.echo("✓ Access control set to public")
|
|
353
293
|
else:
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
else:
|
|
361
|
-
click.echo(
|
|
362
|
-
"Warning: Failed to create public access control"
|
|
294
|
+
rc_payload = ResourcecontrolsResourceControlCreatePayload(
|
|
295
|
+
resource_id=str(final_stack_id),
|
|
296
|
+
type=PortainerResourceControlType.StackResourceControl,
|
|
297
|
+
public=True,
|
|
298
|
+
teams=[],
|
|
299
|
+
users=[],
|
|
363
300
|
)
|
|
301
|
+
rc_api.resource_control_create(body=rc_payload.to_dict())
|
|
302
|
+
click.echo("✓ Access control created as public")
|
|
364
303
|
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
304
|
+
click.echo()
|
|
305
|
+
click.echo("Done!")
|
|
306
|
+
sys.exit(0)
|
|
307
|
+
|
|
308
|
+
except ApiException as e:
|
|
309
|
+
error_msg = str(e.body) if e.body else str(e.reason)
|
|
310
|
+
logger.error(
|
|
311
|
+
"Stack operation failed: %s\n%s", error_msg, traceback.format_exc()
|
|
312
|
+
)
|
|
313
|
+
click.echo(f"Error: {error_msg}", err=True)
|
|
314
|
+
click.echo()
|
|
315
|
+
click.echo("Failed!")
|
|
316
|
+
sys.exit(1)
|
|
317
|
+
except (StackError, PortainerError) as e:
|
|
318
|
+
logger.error("Stack operation failed: %s\n%s", e, traceback.format_exc())
|
|
319
|
+
click.echo(f"Error: {e}", err=True)
|
|
320
|
+
click.echo()
|
|
321
|
+
click.echo("Failed!")
|
|
322
|
+
sys.exit(1)
|