import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; export declare class Stack extends pulumi.CustomResource { /** * Get an existing Stack resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: StackState, opts?: pulumi.CustomResourceOptions): Stack; /** * Returns true if the given object is an instance of Stack. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Stack; /** * Whether the stack should be running. Set to false to stop the stack. */ readonly active: pulumi.Output; /** * List of additional Compose file paths to use when deploying from Git repository. */ readonly additionalFiles: pulumi.Output; /** * List of additional Helm values files (e.g. values-prod.yaml). Only used with helm_chart_path. */ readonly additionalHelmValuesFiles: pulumi.Output; /** * List of team IDs authorized to access this stack (only if ownership is restricted). */ readonly authorizedTeams: pulumi.Output; /** * List of user IDs authorized to access this stack (only if ownership is restricted). */ readonly authorizedUsers: pulumi.Output; /** * Whether the supplied content is in Docker Compose format (true) instead of native Kubernetes manifest (false). Only applies to Kubernetes stacks. Changing this value forces resource recreation. */ readonly composeFormat: pulumi.Output; /** * Deployment mode: 'standalone', 'swarm', or 'kubernetes' */ readonly deploymentType: pulumi.Output; /** * Identifier of the Portainer environment (endpoint) where the stack will be deployed. Changing this value forces resource recreation. */ readonly endpointId: pulumi.Output; /** * List of environment variables injected into the stack at deploy time. */ readonly envs: pulumi.Output; /** * Path to Compose/manifest file in the repository. Defaults to docker-compose.yml for Docker/Swarm stacks. Not required when helmChartPath is set. */ readonly filePathInRepository: pulumi.Output; /** * Local filesystem path on the host used when supportRelativePath is true. Maps to the repository working directory. */ readonly filesystemPath: pulumi.Output; /** * Whether to prune unused services/networks during stack update (default: true) */ readonly forceUpdate: pulumi.Output; /** * Whether the Git repository requires authentication. When true, repositoryUsername and repositoryPassword (or their write-only equivalents) are sent to Portainer. */ readonly gitRepositoryAuthentication: pulumi.Output; /** * Path to a Helm chart folder in the Git repository (must contain Chart.yaml). Only used when deploymentType is 'kubernetes' and method is 'repository'. */ readonly helmChartPath: pulumi.Output; /** * URL to a remote Kubernetes manifest used when deploymentType is 'kubernetes' and method is 'url'. Changing this value forces resource recreation. */ readonly manifestUrl: pulumi.Output; /** * Creation method: 'string', 'file', 'repository', or 'url' */ readonly method: pulumi.Output; /** * Name of the Portainer stack. Must be unique within the target endpoint. Changing this value forces resource recreation. */ readonly name: pulumi.Output; /** * Kubernetes namespace used when deploymentType is 'kubernetes'. Changing this value forces resource recreation. */ readonly namespace: pulumi.Output; /** * Ownership level: 'public', 'administrators' or 'restricted'. */ readonly ownership: pulumi.Output; /** * Whether to prune unused services/networks during stack update (default: false) */ readonly prune: pulumi.Output; /** * Whether to force pull latest images during stack update (default: true) */ readonly pullImage: pulumi.Output; /** * List of registry IDs allowed for this stack. */ readonly registries: pulumi.Output; /** * ID of the Git credentials to use for authentication. */ readonly repositoryGitCredentialId: pulumi.Output; /** * Password or personal access token used to authenticate against the Git repository. Stored in state as a sensitive value. */ readonly repositoryPassword: pulumi.Output; /** * **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. * Write-only repository password (supports ephemeral values; not stored in Terraform state). */ readonly repositoryPasswordWo: pulumi.Output; /** * Git reference (branch or tag) used by Portainer when deploying from the repository. Defaults to refs/heads/main. */ readonly repositoryReferenceName: pulumi.Output; /** * URL of the Git repository used to deploy the stack when method is 'repository'. Changing this value forces resource recreation. */ readonly repositoryUrl: pulumi.Output; /** * **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. * Write-only repository URL (supports ephemeral values; not stored in Terraform state). */ readonly repositoryUrlWo: pulumi.Output; /** * Username used to authenticate against the Git repository. */ readonly repositoryUsername: pulumi.Output; /** * **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. * Write-only repository username (supports ephemeral values). */ readonly repositoryUsernameWo: pulumi.Output; /** * Version flag for write-only repository credentials; increment to trigger recreation. */ readonly repositoryWoVersion: pulumi.Output; /** * Identifier of the Portainer resource control entry associated with the stack. Computed by Portainer. */ readonly resourceControlId: pulumi.Output; /** * Inline Compose or Kubernetes manifest content used to deploy the stack. Required when method is 'string'; populated from stackFilePath when method is 'file'. */ readonly stackFileContent: pulumi.Output; /** * Local filesystem path to a Compose or manifest file. Contents are read and uploaded to Portainer when method is 'file'. */ readonly stackFilePath: pulumi.Output; readonly stackId: pulumi.Output; /** * Enable autoUpdate webhook (GitOps). */ readonly stackWebhook: pulumi.Output; /** * Whether Portainer should support relative paths inside the Compose file for bind mounts referencing repository contents. Changing this value forces resource recreation. */ readonly supportRelativePath: pulumi.Output; /** * Identifier of the Docker Swarm cluster used when deploymentType is 'swarm'. Automatically fetched from Portainer when not provided. Changing this value forces resource recreation. */ readonly swarmId: pulumi.Output; readonly timeouts: pulumi.Output; /** * Whether to skip TLS verification when Portainer connects to the Git repository. Changing this value forces resource recreation. */ readonly tlsskipVerify: pulumi.Output; /** * GitOps auto-update polling interval (e.g. '5m', '1h'). When set, Portainer periodically checks the Git repository for changes and redeploys the stack. */ readonly updateInterval: pulumi.Output; /** * UUID of the GitOps webhook (read-only). */ readonly webhookId: pulumi.Output; /** * Full URL of the webhook trigger */ readonly webhookUrl: pulumi.Output; /** * Create a Stack resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: StackArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Stack resources. */ export interface StackState { /** * Whether the stack should be running. Set to false to stop the stack. */ active?: pulumi.Input; /** * List of additional Compose file paths to use when deploying from Git repository. */ additionalFiles?: pulumi.Input[] | undefined>; /** * List of additional Helm values files (e.g. values-prod.yaml). Only used with helm_chart_path. */ additionalHelmValuesFiles?: pulumi.Input[] | undefined>; /** * List of team IDs authorized to access this stack (only if ownership is restricted). */ authorizedTeams?: pulumi.Input[] | undefined>; /** * List of user IDs authorized to access this stack (only if ownership is restricted). */ authorizedUsers?: pulumi.Input[] | undefined>; /** * Whether the supplied content is in Docker Compose format (true) instead of native Kubernetes manifest (false). Only applies to Kubernetes stacks. Changing this value forces resource recreation. */ composeFormat?: pulumi.Input; /** * Deployment mode: 'standalone', 'swarm', or 'kubernetes' */ deploymentType?: pulumi.Input; /** * Identifier of the Portainer environment (endpoint) where the stack will be deployed. Changing this value forces resource recreation. */ endpointId?: pulumi.Input; /** * List of environment variables injected into the stack at deploy time. */ envs?: pulumi.Input[] | undefined>; /** * Path to Compose/manifest file in the repository. Defaults to docker-compose.yml for Docker/Swarm stacks. Not required when helmChartPath is set. */ filePathInRepository?: pulumi.Input; /** * Local filesystem path on the host used when supportRelativePath is true. Maps to the repository working directory. */ filesystemPath?: pulumi.Input; /** * Whether to prune unused services/networks during stack update (default: true) */ forceUpdate?: pulumi.Input; /** * Whether the Git repository requires authentication. When true, repositoryUsername and repositoryPassword (or their write-only equivalents) are sent to Portainer. */ gitRepositoryAuthentication?: pulumi.Input; /** * Path to a Helm chart folder in the Git repository (must contain Chart.yaml). Only used when deploymentType is 'kubernetes' and method is 'repository'. */ helmChartPath?: pulumi.Input; /** * URL to a remote Kubernetes manifest used when deploymentType is 'kubernetes' and method is 'url'. Changing this value forces resource recreation. */ manifestUrl?: pulumi.Input; /** * Creation method: 'string', 'file', 'repository', or 'url' */ method?: pulumi.Input; /** * Name of the Portainer stack. Must be unique within the target endpoint. Changing this value forces resource recreation. */ name?: pulumi.Input; /** * Kubernetes namespace used when deploymentType is 'kubernetes'. Changing this value forces resource recreation. */ namespace?: pulumi.Input; /** * Ownership level: 'public', 'administrators' or 'restricted'. */ ownership?: pulumi.Input; /** * Whether to prune unused services/networks during stack update (default: false) */ prune?: pulumi.Input; /** * Whether to force pull latest images during stack update (default: true) */ pullImage?: pulumi.Input; /** * List of registry IDs allowed for this stack. */ registries?: pulumi.Input[] | undefined>; /** * ID of the Git credentials to use for authentication. */ repositoryGitCredentialId?: pulumi.Input; /** * Password or personal access token used to authenticate against the Git repository. Stored in state as a sensitive value. */ repositoryPassword?: pulumi.Input; /** * **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. * Write-only repository password (supports ephemeral values; not stored in Terraform state). */ repositoryPasswordWo?: pulumi.Input; /** * Git reference (branch or tag) used by Portainer when deploying from the repository. Defaults to refs/heads/main. */ repositoryReferenceName?: pulumi.Input; /** * URL of the Git repository used to deploy the stack when method is 'repository'. Changing this value forces resource recreation. */ repositoryUrl?: pulumi.Input; /** * **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. * Write-only repository URL (supports ephemeral values; not stored in Terraform state). */ repositoryUrlWo?: pulumi.Input; /** * Username used to authenticate against the Git repository. */ repositoryUsername?: pulumi.Input; /** * **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. * Write-only repository username (supports ephemeral values). */ repositoryUsernameWo?: pulumi.Input; /** * Version flag for write-only repository credentials; increment to trigger recreation. */ repositoryWoVersion?: pulumi.Input; /** * Identifier of the Portainer resource control entry associated with the stack. Computed by Portainer. */ resourceControlId?: pulumi.Input; /** * Inline Compose or Kubernetes manifest content used to deploy the stack. Required when method is 'string'; populated from stackFilePath when method is 'file'. */ stackFileContent?: pulumi.Input; /** * Local filesystem path to a Compose or manifest file. Contents are read and uploaded to Portainer when method is 'file'. */ stackFilePath?: pulumi.Input; stackId?: pulumi.Input; /** * Enable autoUpdate webhook (GitOps). */ stackWebhook?: pulumi.Input; /** * Whether Portainer should support relative paths inside the Compose file for bind mounts referencing repository contents. Changing this value forces resource recreation. */ supportRelativePath?: pulumi.Input; /** * Identifier of the Docker Swarm cluster used when deploymentType is 'swarm'. Automatically fetched from Portainer when not provided. Changing this value forces resource recreation. */ swarmId?: pulumi.Input; timeouts?: pulumi.Input; /** * Whether to skip TLS verification when Portainer connects to the Git repository. Changing this value forces resource recreation. */ tlsskipVerify?: pulumi.Input; /** * GitOps auto-update polling interval (e.g. '5m', '1h'). When set, Portainer periodically checks the Git repository for changes and redeploys the stack. */ updateInterval?: pulumi.Input; /** * UUID of the GitOps webhook (read-only). */ webhookId?: pulumi.Input; /** * Full URL of the webhook trigger */ webhookUrl?: pulumi.Input; } /** * The set of arguments for constructing a Stack resource. */ export interface StackArgs { /** * Whether the stack should be running. Set to false to stop the stack. */ active?: pulumi.Input; /** * List of additional Compose file paths to use when deploying from Git repository. */ additionalFiles?: pulumi.Input[] | undefined>; /** * List of additional Helm values files (e.g. values-prod.yaml). Only used with helm_chart_path. */ additionalHelmValuesFiles?: pulumi.Input[] | undefined>; /** * List of team IDs authorized to access this stack (only if ownership is restricted). */ authorizedTeams?: pulumi.Input[] | undefined>; /** * List of user IDs authorized to access this stack (only if ownership is restricted). */ authorizedUsers?: pulumi.Input[] | undefined>; /** * Whether the supplied content is in Docker Compose format (true) instead of native Kubernetes manifest (false). Only applies to Kubernetes stacks. Changing this value forces resource recreation. */ composeFormat?: pulumi.Input; /** * Deployment mode: 'standalone', 'swarm', or 'kubernetes' */ deploymentType: pulumi.Input; /** * Identifier of the Portainer environment (endpoint) where the stack will be deployed. Changing this value forces resource recreation. */ endpointId: pulumi.Input; /** * List of environment variables injected into the stack at deploy time. */ envs?: pulumi.Input[] | undefined>; /** * Path to Compose/manifest file in the repository. Defaults to docker-compose.yml for Docker/Swarm stacks. Not required when helmChartPath is set. */ filePathInRepository?: pulumi.Input; /** * Local filesystem path on the host used when supportRelativePath is true. Maps to the repository working directory. */ filesystemPath?: pulumi.Input; /** * Whether to prune unused services/networks during stack update (default: true) */ forceUpdate?: pulumi.Input; /** * Whether the Git repository requires authentication. When true, repositoryUsername and repositoryPassword (or their write-only equivalents) are sent to Portainer. */ gitRepositoryAuthentication?: pulumi.Input; /** * Path to a Helm chart folder in the Git repository (must contain Chart.yaml). Only used when deploymentType is 'kubernetes' and method is 'repository'. */ helmChartPath?: pulumi.Input; /** * URL to a remote Kubernetes manifest used when deploymentType is 'kubernetes' and method is 'url'. Changing this value forces resource recreation. */ manifestUrl?: pulumi.Input; /** * Creation method: 'string', 'file', 'repository', or 'url' */ method: pulumi.Input; /** * Name of the Portainer stack. Must be unique within the target endpoint. Changing this value forces resource recreation. */ name?: pulumi.Input; /** * Kubernetes namespace used when deploymentType is 'kubernetes'. Changing this value forces resource recreation. */ namespace?: pulumi.Input; /** * Ownership level: 'public', 'administrators' or 'restricted'. */ ownership?: pulumi.Input; /** * Whether to prune unused services/networks during stack update (default: false) */ prune?: pulumi.Input; /** * Whether to force pull latest images during stack update (default: true) */ pullImage?: pulumi.Input; /** * List of registry IDs allowed for this stack. */ registries?: pulumi.Input[] | undefined>; /** * ID of the Git credentials to use for authentication. */ repositoryGitCredentialId?: pulumi.Input; /** * Password or personal access token used to authenticate against the Git repository. Stored in state as a sensitive value. */ repositoryPassword?: pulumi.Input; /** * **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. * Write-only repository password (supports ephemeral values; not stored in Terraform state). */ repositoryPasswordWo?: pulumi.Input; /** * Git reference (branch or tag) used by Portainer when deploying from the repository. Defaults to refs/heads/main. */ repositoryReferenceName?: pulumi.Input; /** * URL of the Git repository used to deploy the stack when method is 'repository'. Changing this value forces resource recreation. */ repositoryUrl?: pulumi.Input; /** * **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. * Write-only repository URL (supports ephemeral values; not stored in Terraform state). */ repositoryUrlWo?: pulumi.Input; /** * Username used to authenticate against the Git repository. */ repositoryUsername?: pulumi.Input; /** * **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. * Write-only repository username (supports ephemeral values). */ repositoryUsernameWo?: pulumi.Input; /** * Version flag for write-only repository credentials; increment to trigger recreation. */ repositoryWoVersion?: pulumi.Input; /** * Inline Compose or Kubernetes manifest content used to deploy the stack. Required when method is 'string'; populated from stackFilePath when method is 'file'. */ stackFileContent?: pulumi.Input; /** * Local filesystem path to a Compose or manifest file. Contents are read and uploaded to Portainer when method is 'file'. */ stackFilePath?: pulumi.Input; stackId?: pulumi.Input; /** * Enable autoUpdate webhook (GitOps). */ stackWebhook?: pulumi.Input; /** * Whether Portainer should support relative paths inside the Compose file for bind mounts referencing repository contents. Changing this value forces resource recreation. */ supportRelativePath?: pulumi.Input; /** * Identifier of the Docker Swarm cluster used when deploymentType is 'swarm'. Automatically fetched from Portainer when not provided. Changing this value forces resource recreation. */ swarmId?: pulumi.Input; timeouts?: pulumi.Input; /** * Whether to skip TLS verification when Portainer connects to the Git repository. Changing this value forces resource recreation. */ tlsskipVerify?: pulumi.Input; /** * GitOps auto-update polling interval (e.g. '5m', '1h'). When set, Portainer periodically checks the Git repository for changes and redeploys the stack. */ updateInterval?: pulumi.Input; } //# sourceMappingURL=stack.d.ts.map