1. Packages
  2. Packages
  3. Grafana Cloud
  4. API Docs
  5. apps
  6. apps/v0alpha1
  7. ProvisioningRepository
Viewing docs for Grafana v2.28.0
published on Wednesday, Apr 29, 2026 by pulumiverse
grafana logo
Viewing docs for Grafana v2.28.0
published on Wednesday, Apr 29, 2026 by pulumiverse

    Manages Grafana Git Sync repositories for provisioning dashboards and related resources.

    Example Usage

    GitHub Repository with Token Authentication

    import * as pulumi from "@pulumi/pulumi";
    import * as grafana from "@pulumiverse/grafana";
    
    const example = new grafana.apps.v0alpha1.ProvisioningRepository("example", {
        metadata: {
            uid: "my-github-folder-repo",
        },
        spec: {
            title: "My GitHub Folder Repository",
            description: "Folder-scoped GitHub repository authenticated directly with a token",
            type: "github",
            workflows: [
                "write",
                "branch",
            ],
            sync: {
                enabled: true,
                target: "folder",
                intervalSeconds: 60,
            },
            github: {
                url: "https://github.com/example/grafana-dashboards",
                branch: "main",
                path: "grafanatftest",
            },
        },
        secure: {
            token: {
                create: "replace-me",
            },
        },
        secureVersion: 1,
    });
    
    import pulumi
    import pulumiverse_grafana as grafana
    
    example = grafana.apps.v0alpha1.ProvisioningRepository("example",
        metadata={
            "uid": "my-github-folder-repo",
        },
        spec={
            "title": "My GitHub Folder Repository",
            "description": "Folder-scoped GitHub repository authenticated directly with a token",
            "type": "github",
            "workflows": [
                "write",
                "branch",
            ],
            "sync": {
                "enabled": True,
                "target": "folder",
                "interval_seconds": 60,
            },
            "github": {
                "url": "https://github.com/example/grafana-dashboards",
                "branch": "main",
                "path": "grafanatftest",
            },
        },
        secure={
            "token": {
                "create": "replace-me",
            },
        },
        secure_version=1)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-grafana/sdk/v2/go/grafana/apps"
    	appsv0alpha1 "github.com/pulumiverse/pulumi-grafana/sdk/v2/go/grafana/apps/v0alpha1"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := apps.NewProvisioningRepository(ctx, "example", &apps.ProvisioningRepositoryArgs{
    			Metadata: &appsv0alpha1.ProvisioningRepositoryMetadataArgs{
    				Uid: pulumi.String("my-github-folder-repo"),
    			},
    			Spec: &appsv0alpha1.ProvisioningRepositorySpecArgs{
    				Title:       pulumi.String("My GitHub Folder Repository"),
    				Description: pulumi.String("Folder-scoped GitHub repository authenticated directly with a token"),
    				Type:        pulumi.String("github"),
    				Workflows: pulumi.StringArray{
    					pulumi.String("write"),
    					pulumi.String("branch"),
    				},
    				Sync: &appsv0alpha1.ProvisioningRepositorySpecSyncArgs{
    					Enabled:         pulumi.Bool(true),
    					Target:          pulumi.String("folder"),
    					IntervalSeconds: pulumi.Int(60),
    				},
    				Github: &appsv0alpha1.ProvisioningRepositorySpecGithubArgs{
    					Url:    pulumi.String("https://github.com/example/grafana-dashboards"),
    					Branch: pulumi.String("main"),
    					Path:   pulumi.String("grafanatftest"),
    				},
    			},
    			Secure: &appsv0alpha1.ProvisioningRepositorySecureArgs{
    				Token: pulumi.StringMap{
    					"create": pulumi.String("replace-me"),
    				},
    			},
    			SecureVersion: pulumi.Int(1),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Grafana = Pulumiverse.Grafana;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Grafana.Apps.V0Alpha1.ProvisioningRepository("example", new()
        {
            Metadata = new Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositoryMetadataArgs
            {
                Uid = "my-github-folder-repo",
            },
            Spec = new Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositorySpecArgs
            {
                Title = "My GitHub Folder Repository",
                Description = "Folder-scoped GitHub repository authenticated directly with a token",
                Type = "github",
                Workflows = new[]
                {
                    "write",
                    "branch",
                },
                Sync = new Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositorySpecSyncArgs
                {
                    Enabled = true,
                    Target = "folder",
                    IntervalSeconds = 60,
                },
                Github = new Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositorySpecGithubArgs
                {
                    Url = "https://github.com/example/grafana-dashboards",
                    Branch = "main",
                    Path = "grafanatftest",
                },
            },
            Secure = new Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositorySecureArgs
            {
                Token = 
                {
                    { "create", "replace-me" },
                },
            },
            SecureVersion = 1,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.grafana.apps_v0alpha1.ProvisioningRepository;
    import com.pulumi.grafana.apps_v0alpha1.ProvisioningRepositoryArgs;
    import com.pulumi.grafana.apps.inputs.ProvisioningRepositoryMetadataArgs;
    import com.pulumi.grafana.apps.inputs.ProvisioningRepositorySpecArgs;
    import com.pulumi.grafana.apps.inputs.ProvisioningRepositorySpecSyncArgs;
    import com.pulumi.grafana.apps.inputs.ProvisioningRepositorySpecGithubArgs;
    import com.pulumi.grafana.apps.inputs.ProvisioningRepositorySecureArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new ProvisioningRepository("example", ProvisioningRepositoryArgs.builder()
                .metadata(ProvisioningRepositoryMetadataArgs.builder()
                    .uid("my-github-folder-repo")
                    .build())
                .spec(ProvisioningRepositorySpecArgs.builder()
                    .title("My GitHub Folder Repository")
                    .description("Folder-scoped GitHub repository authenticated directly with a token")
                    .type("github")
                    .workflows(                
                        "write",
                        "branch")
                    .sync(ProvisioningRepositorySpecSyncArgs.builder()
                        .enabled(true)
                        .target("folder")
                        .intervalSeconds(60)
                        .build())
                    .github(ProvisioningRepositorySpecGithubArgs.builder()
                        .url("https://github.com/example/grafana-dashboards")
                        .branch("main")
                        .path("grafanatftest")
                        .build())
                    .build())
                .secure(ProvisioningRepositorySecureArgs.builder()
                    .token(Map.of("create", "replace-me"))
                    .build())
                .secureVersion(1)
                .build());
    
        }
    }
    
    resources:
      example:
        type: grafana:apps/v0alpha1:ProvisioningRepository
        properties:
          metadata:
            uid: my-github-folder-repo
          spec:
            title: My GitHub Folder Repository
            description: Folder-scoped GitHub repository authenticated directly with a token
            type: github
            workflows:
              - write
              - branch
            sync:
              enabled: true
              target: folder
              intervalSeconds: 60
            github:
              url: https://github.com/example/grafana-dashboards
              branch: main
              path: grafanatftest
          secure:
            token:
              create: replace-me
          secureVersion: 1
    

    Bitbucket Repository with Token Authentication - Enterprise/Cloud only

    import * as pulumi from "@pulumi/pulumi";
    import * as grafana from "@pulumiverse/grafana";
    
    const bitbucketToken = new grafana.apps.v0alpha1.ProvisioningRepository("bitbucket_token", {
        metadata: {
            uid: "my-bitbucket-folder-repo",
        },
        spec: {
            title: "My Bitbucket Folder Repository",
            description: "Folder-scoped Bitbucket repository authenticated directly with an Atlassian API token",
            type: "bitbucket",
            workflows: [
                "write",
                "branch",
            ],
            sync: {
                enabled: true,
                target: "folder",
                intervalSeconds: 60,
            },
            bitbucket: {
                url: "https://bitbucket.org/example/grafana-dashboards",
                branch: "main",
                path: "grafanatftest",
                tokenUser: "x-bitbucket-api-token-auth",
            },
        },
        secure: {
            token: {
                create: "replace-me",
            },
        },
        secureVersion: 1,
    });
    
    import pulumi
    import pulumiverse_grafana as grafana
    
    bitbucket_token = grafana.apps.v0alpha1.ProvisioningRepository("bitbucket_token",
        metadata={
            "uid": "my-bitbucket-folder-repo",
        },
        spec={
            "title": "My Bitbucket Folder Repository",
            "description": "Folder-scoped Bitbucket repository authenticated directly with an Atlassian API token",
            "type": "bitbucket",
            "workflows": [
                "write",
                "branch",
            ],
            "sync": {
                "enabled": True,
                "target": "folder",
                "interval_seconds": 60,
            },
            "bitbucket": {
                "url": "https://bitbucket.org/example/grafana-dashboards",
                "branch": "main",
                "path": "grafanatftest",
                "token_user": "x-bitbucket-api-token-auth",
            },
        },
        secure={
            "token": {
                "create": "replace-me",
            },
        },
        secure_version=1)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-grafana/sdk/v2/go/grafana/apps"
    	appsv0alpha1 "github.com/pulumiverse/pulumi-grafana/sdk/v2/go/grafana/apps/v0alpha1"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := apps.NewProvisioningRepository(ctx, "bitbucket_token", &apps.ProvisioningRepositoryArgs{
    			Metadata: &appsv0alpha1.ProvisioningRepositoryMetadataArgs{
    				Uid: pulumi.String("my-bitbucket-folder-repo"),
    			},
    			Spec: &appsv0alpha1.ProvisioningRepositorySpecArgs{
    				Title:       pulumi.String("My Bitbucket Folder Repository"),
    				Description: pulumi.String("Folder-scoped Bitbucket repository authenticated directly with an Atlassian API token"),
    				Type:        pulumi.String("bitbucket"),
    				Workflows: pulumi.StringArray{
    					pulumi.String("write"),
    					pulumi.String("branch"),
    				},
    				Sync: &appsv0alpha1.ProvisioningRepositorySpecSyncArgs{
    					Enabled:         pulumi.Bool(true),
    					Target:          pulumi.String("folder"),
    					IntervalSeconds: pulumi.Int(60),
    				},
    				Bitbucket: &appsv0alpha1.ProvisioningRepositorySpecBitbucketArgs{
    					Url:       pulumi.String("https://bitbucket.org/example/grafana-dashboards"),
    					Branch:    pulumi.String("main"),
    					Path:      pulumi.String("grafanatftest"),
    					TokenUser: pulumi.String("x-bitbucket-api-token-auth"),
    				},
    			},
    			Secure: &appsv0alpha1.ProvisioningRepositorySecureArgs{
    				Token: pulumi.StringMap{
    					"create": pulumi.String("replace-me"),
    				},
    			},
    			SecureVersion: pulumi.Int(1),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Grafana = Pulumiverse.Grafana;
    
    return await Deployment.RunAsync(() => 
    {
        var bitbucketToken = new Grafana.Apps.V0Alpha1.ProvisioningRepository("bitbucket_token", new()
        {
            Metadata = new Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositoryMetadataArgs
            {
                Uid = "my-bitbucket-folder-repo",
            },
            Spec = new Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositorySpecArgs
            {
                Title = "My Bitbucket Folder Repository",
                Description = "Folder-scoped Bitbucket repository authenticated directly with an Atlassian API token",
                Type = "bitbucket",
                Workflows = new[]
                {
                    "write",
                    "branch",
                },
                Sync = new Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositorySpecSyncArgs
                {
                    Enabled = true,
                    Target = "folder",
                    IntervalSeconds = 60,
                },
                Bitbucket = new Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositorySpecBitbucketArgs
                {
                    Url = "https://bitbucket.org/example/grafana-dashboards",
                    Branch = "main",
                    Path = "grafanatftest",
                    TokenUser = "x-bitbucket-api-token-auth",
                },
            },
            Secure = new Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositorySecureArgs
            {
                Token = 
                {
                    { "create", "replace-me" },
                },
            },
            SecureVersion = 1,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.grafana.apps_v0alpha1.ProvisioningRepository;
    import com.pulumi.grafana.apps_v0alpha1.ProvisioningRepositoryArgs;
    import com.pulumi.grafana.apps.inputs.ProvisioningRepositoryMetadataArgs;
    import com.pulumi.grafana.apps.inputs.ProvisioningRepositorySpecArgs;
    import com.pulumi.grafana.apps.inputs.ProvisioningRepositorySpecSyncArgs;
    import com.pulumi.grafana.apps.inputs.ProvisioningRepositorySpecBitbucketArgs;
    import com.pulumi.grafana.apps.inputs.ProvisioningRepositorySecureArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var bitbucketToken = new ProvisioningRepository("bitbucketToken", ProvisioningRepositoryArgs.builder()
                .metadata(ProvisioningRepositoryMetadataArgs.builder()
                    .uid("my-bitbucket-folder-repo")
                    .build())
                .spec(ProvisioningRepositorySpecArgs.builder()
                    .title("My Bitbucket Folder Repository")
                    .description("Folder-scoped Bitbucket repository authenticated directly with an Atlassian API token")
                    .type("bitbucket")
                    .workflows(                
                        "write",
                        "branch")
                    .sync(ProvisioningRepositorySpecSyncArgs.builder()
                        .enabled(true)
                        .target("folder")
                        .intervalSeconds(60)
                        .build())
                    .bitbucket(ProvisioningRepositorySpecBitbucketArgs.builder()
                        .url("https://bitbucket.org/example/grafana-dashboards")
                        .branch("main")
                        .path("grafanatftest")
                        .tokenUser("x-bitbucket-api-token-auth")
                        .build())
                    .build())
                .secure(ProvisioningRepositorySecureArgs.builder()
                    .token(Map.of("create", "replace-me"))
                    .build())
                .secureVersion(1)
                .build());
    
        }
    }
    
    resources:
      bitbucketToken:
        type: grafana:apps/v0alpha1:ProvisioningRepository
        name: bitbucket_token
        properties:
          metadata:
            uid: my-bitbucket-folder-repo
          spec:
            title: My Bitbucket Folder Repository
            description: Folder-scoped Bitbucket repository authenticated directly with an Atlassian API token
            type: bitbucket
            workflows:
              - write
              - branch
            sync:
              enabled: true
              target: folder
              intervalSeconds: 60
            bitbucket:
              url: https://bitbucket.org/example/grafana-dashboards
              branch: main
              path: grafanatftest
              tokenUser: x-bitbucket-api-token-auth
          secure:
            token:
              create: replace-me
          secureVersion: 1
    

    GitLab Repository with Token Authentication - Enterprise/Cloud only

    import * as pulumi from "@pulumi/pulumi";
    import * as grafana from "@pulumiverse/grafana";
    
    const gitlabToken = new grafana.apps.v0alpha1.ProvisioningRepository("gitlab_token", {
        metadata: {
            uid: "my-gitlab-folder-repo",
        },
        spec: {
            title: "My GitLab Folder Repository",
            description: "Folder-scoped GitLab repository authenticated directly with a token",
            type: "gitlab",
            workflows: [
                "write",
                "branch",
            ],
            sync: {
                enabled: true,
                target: "folder",
                intervalSeconds: 60,
            },
            gitlab: {
                url: "https://gitlab.com/example/grafana-dashboards",
                branch: "main",
                path: "grafanatftest",
            },
        },
        secure: {
            token: {
                create: "replace-me",
            },
        },
        secureVersion: 1,
    });
    
    import pulumi
    import pulumiverse_grafana as grafana
    
    gitlab_token = grafana.apps.v0alpha1.ProvisioningRepository("gitlab_token",
        metadata={
            "uid": "my-gitlab-folder-repo",
        },
        spec={
            "title": "My GitLab Folder Repository",
            "description": "Folder-scoped GitLab repository authenticated directly with a token",
            "type": "gitlab",
            "workflows": [
                "write",
                "branch",
            ],
            "sync": {
                "enabled": True,
                "target": "folder",
                "interval_seconds": 60,
            },
            "gitlab": {
                "url": "https://gitlab.com/example/grafana-dashboards",
                "branch": "main",
                "path": "grafanatftest",
            },
        },
        secure={
            "token": {
                "create": "replace-me",
            },
        },
        secure_version=1)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-grafana/sdk/v2/go/grafana/apps"
    	appsv0alpha1 "github.com/pulumiverse/pulumi-grafana/sdk/v2/go/grafana/apps/v0alpha1"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := apps.NewProvisioningRepository(ctx, "gitlab_token", &apps.ProvisioningRepositoryArgs{
    			Metadata: &appsv0alpha1.ProvisioningRepositoryMetadataArgs{
    				Uid: pulumi.String("my-gitlab-folder-repo"),
    			},
    			Spec: &appsv0alpha1.ProvisioningRepositorySpecArgs{
    				Title:       pulumi.String("My GitLab Folder Repository"),
    				Description: pulumi.String("Folder-scoped GitLab repository authenticated directly with a token"),
    				Type:        pulumi.String("gitlab"),
    				Workflows: pulumi.StringArray{
    					pulumi.String("write"),
    					pulumi.String("branch"),
    				},
    				Sync: &appsv0alpha1.ProvisioningRepositorySpecSyncArgs{
    					Enabled:         pulumi.Bool(true),
    					Target:          pulumi.String("folder"),
    					IntervalSeconds: pulumi.Int(60),
    				},
    				Gitlab: &appsv0alpha1.ProvisioningRepositorySpecGitlabArgs{
    					Url:    pulumi.String("https://gitlab.com/example/grafana-dashboards"),
    					Branch: pulumi.String("main"),
    					Path:   pulumi.String("grafanatftest"),
    				},
    			},
    			Secure: &appsv0alpha1.ProvisioningRepositorySecureArgs{
    				Token: pulumi.StringMap{
    					"create": pulumi.String("replace-me"),
    				},
    			},
    			SecureVersion: pulumi.Int(1),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Grafana = Pulumiverse.Grafana;
    
    return await Deployment.RunAsync(() => 
    {
        var gitlabToken = new Grafana.Apps.V0Alpha1.ProvisioningRepository("gitlab_token", new()
        {
            Metadata = new Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositoryMetadataArgs
            {
                Uid = "my-gitlab-folder-repo",
            },
            Spec = new Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositorySpecArgs
            {
                Title = "My GitLab Folder Repository",
                Description = "Folder-scoped GitLab repository authenticated directly with a token",
                Type = "gitlab",
                Workflows = new[]
                {
                    "write",
                    "branch",
                },
                Sync = new Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositorySpecSyncArgs
                {
                    Enabled = true,
                    Target = "folder",
                    IntervalSeconds = 60,
                },
                Gitlab = new Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositorySpecGitlabArgs
                {
                    Url = "https://gitlab.com/example/grafana-dashboards",
                    Branch = "main",
                    Path = "grafanatftest",
                },
            },
            Secure = new Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositorySecureArgs
            {
                Token = 
                {
                    { "create", "replace-me" },
                },
            },
            SecureVersion = 1,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.grafana.apps_v0alpha1.ProvisioningRepository;
    import com.pulumi.grafana.apps_v0alpha1.ProvisioningRepositoryArgs;
    import com.pulumi.grafana.apps.inputs.ProvisioningRepositoryMetadataArgs;
    import com.pulumi.grafana.apps.inputs.ProvisioningRepositorySpecArgs;
    import com.pulumi.grafana.apps.inputs.ProvisioningRepositorySpecSyncArgs;
    import com.pulumi.grafana.apps.inputs.ProvisioningRepositorySpecGitlabArgs;
    import com.pulumi.grafana.apps.inputs.ProvisioningRepositorySecureArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var gitlabToken = new ProvisioningRepository("gitlabToken", ProvisioningRepositoryArgs.builder()
                .metadata(ProvisioningRepositoryMetadataArgs.builder()
                    .uid("my-gitlab-folder-repo")
                    .build())
                .spec(ProvisioningRepositorySpecArgs.builder()
                    .title("My GitLab Folder Repository")
                    .description("Folder-scoped GitLab repository authenticated directly with a token")
                    .type("gitlab")
                    .workflows(                
                        "write",
                        "branch")
                    .sync(ProvisioningRepositorySpecSyncArgs.builder()
                        .enabled(true)
                        .target("folder")
                        .intervalSeconds(60)
                        .build())
                    .gitlab(ProvisioningRepositorySpecGitlabArgs.builder()
                        .url("https://gitlab.com/example/grafana-dashboards")
                        .branch("main")
                        .path("grafanatftest")
                        .build())
                    .build())
                .secure(ProvisioningRepositorySecureArgs.builder()
                    .token(Map.of("create", "replace-me"))
                    .build())
                .secureVersion(1)
                .build());
    
        }
    }
    
    resources:
      gitlabToken:
        type: grafana:apps/v0alpha1:ProvisioningRepository
        name: gitlab_token
        properties:
          metadata:
            uid: my-gitlab-folder-repo
          spec:
            title: My GitLab Folder Repository
            description: Folder-scoped GitLab repository authenticated directly with a token
            type: gitlab
            workflows:
              - write
              - branch
            sync:
              enabled: true
              target: folder
              intervalSeconds: 60
            gitlab:
              url: https://gitlab.com/example/grafana-dashboards
              branch: main
              path: grafanatftest
          secure:
            token:
              create: replace-me
          secureVersion: 1
    

    Generic Git Repository

    import * as pulumi from "@pulumi/pulumi";
    import * as grafana from "@pulumiverse/grafana";
    
    const pureGit = new grafana.apps.v0alpha1.ProvisioningRepository("pure_git", {
        metadata: {
            uid: "my-pure-git-folder-repo",
        },
        spec: {
            title: "My Pure Git Folder Repository",
            description: "Folder-scoped generic Git repository authenticated with a token",
            type: "git",
            workflows: ["write"],
            sync: {
                enabled: true,
                target: "folder",
                intervalSeconds: 60,
            },
            git: {
                url: "https://git.example.com/platform/dashboards.git",
                branch: "main",
                path: "grafanatftest",
                tokenUser: "git",
            },
        },
        secure: {
            token: {
                create: "replace-me",
            },
        },
        secureVersion: 1,
    });
    
    import pulumi
    import pulumiverse_grafana as grafana
    
    pure_git = grafana.apps.v0alpha1.ProvisioningRepository("pure_git",
        metadata={
            "uid": "my-pure-git-folder-repo",
        },
        spec={
            "title": "My Pure Git Folder Repository",
            "description": "Folder-scoped generic Git repository authenticated with a token",
            "type": "git",
            "workflows": ["write"],
            "sync": {
                "enabled": True,
                "target": "folder",
                "interval_seconds": 60,
            },
            "git": {
                "url": "https://git.example.com/platform/dashboards.git",
                "branch": "main",
                "path": "grafanatftest",
                "token_user": "git",
            },
        },
        secure={
            "token": {
                "create": "replace-me",
            },
        },
        secure_version=1)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-grafana/sdk/v2/go/grafana/apps"
    	appsv0alpha1 "github.com/pulumiverse/pulumi-grafana/sdk/v2/go/grafana/apps/v0alpha1"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := apps.NewProvisioningRepository(ctx, "pure_git", &apps.ProvisioningRepositoryArgs{
    			Metadata: &appsv0alpha1.ProvisioningRepositoryMetadataArgs{
    				Uid: pulumi.String("my-pure-git-folder-repo"),
    			},
    			Spec: &appsv0alpha1.ProvisioningRepositorySpecArgs{
    				Title:       pulumi.String("My Pure Git Folder Repository"),
    				Description: pulumi.String("Folder-scoped generic Git repository authenticated with a token"),
    				Type:        pulumi.String("git"),
    				Workflows: pulumi.StringArray{
    					pulumi.String("write"),
    				},
    				Sync: &appsv0alpha1.ProvisioningRepositorySpecSyncArgs{
    					Enabled:         pulumi.Bool(true),
    					Target:          pulumi.String("folder"),
    					IntervalSeconds: pulumi.Int(60),
    				},
    				Git: &appsv0alpha1.ProvisioningRepositorySpecGitArgs{
    					Url:       pulumi.String("https://git.example.com/platform/dashboards.git"),
    					Branch:    pulumi.String("main"),
    					Path:      pulumi.String("grafanatftest"),
    					TokenUser: pulumi.String("git"),
    				},
    			},
    			Secure: &appsv0alpha1.ProvisioningRepositorySecureArgs{
    				Token: pulumi.StringMap{
    					"create": pulumi.String("replace-me"),
    				},
    			},
    			SecureVersion: pulumi.Int(1),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Grafana = Pulumiverse.Grafana;
    
    return await Deployment.RunAsync(() => 
    {
        var pureGit = new Grafana.Apps.V0Alpha1.ProvisioningRepository("pure_git", new()
        {
            Metadata = new Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositoryMetadataArgs
            {
                Uid = "my-pure-git-folder-repo",
            },
            Spec = new Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositorySpecArgs
            {
                Title = "My Pure Git Folder Repository",
                Description = "Folder-scoped generic Git repository authenticated with a token",
                Type = "git",
                Workflows = new[]
                {
                    "write",
                },
                Sync = new Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositorySpecSyncArgs
                {
                    Enabled = true,
                    Target = "folder",
                    IntervalSeconds = 60,
                },
                Git = new Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositorySpecGitArgs
                {
                    Url = "https://git.example.com/platform/dashboards.git",
                    Branch = "main",
                    Path = "grafanatftest",
                    TokenUser = "git",
                },
            },
            Secure = new Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositorySecureArgs
            {
                Token = 
                {
                    { "create", "replace-me" },
                },
            },
            SecureVersion = 1,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.grafana.apps_v0alpha1.ProvisioningRepository;
    import com.pulumi.grafana.apps_v0alpha1.ProvisioningRepositoryArgs;
    import com.pulumi.grafana.apps.inputs.ProvisioningRepositoryMetadataArgs;
    import com.pulumi.grafana.apps.inputs.ProvisioningRepositorySpecArgs;
    import com.pulumi.grafana.apps.inputs.ProvisioningRepositorySpecSyncArgs;
    import com.pulumi.grafana.apps.inputs.ProvisioningRepositorySpecGitArgs;
    import com.pulumi.grafana.apps.inputs.ProvisioningRepositorySecureArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var pureGit = new ProvisioningRepository("pureGit", ProvisioningRepositoryArgs.builder()
                .metadata(ProvisioningRepositoryMetadataArgs.builder()
                    .uid("my-pure-git-folder-repo")
                    .build())
                .spec(ProvisioningRepositorySpecArgs.builder()
                    .title("My Pure Git Folder Repository")
                    .description("Folder-scoped generic Git repository authenticated with a token")
                    .type("git")
                    .workflows("write")
                    .sync(ProvisioningRepositorySpecSyncArgs.builder()
                        .enabled(true)
                        .target("folder")
                        .intervalSeconds(60)
                        .build())
                    .git(ProvisioningRepositorySpecGitArgs.builder()
                        .url("https://git.example.com/platform/dashboards.git")
                        .branch("main")
                        .path("grafanatftest")
                        .tokenUser("git")
                        .build())
                    .build())
                .secure(ProvisioningRepositorySecureArgs.builder()
                    .token(Map.of("create", "replace-me"))
                    .build())
                .secureVersion(1)
                .build());
    
        }
    }
    
    resources:
      pureGit:
        type: grafana:apps/v0alpha1:ProvisioningRepository
        name: pure_git
        properties:
          metadata:
            uid: my-pure-git-folder-repo
          spec:
            title: My Pure Git Folder Repository
            description: Folder-scoped generic Git repository authenticated with a token
            type: git
            workflows:
              - write
            sync:
              enabled: true
              target: folder
              intervalSeconds: 60
            git:
              url: https://git.example.com/platform/dashboards.git
              branch: main
              path: grafanatftest
              tokenUser: git
          secure:
            token:
              create: replace-me
          secureVersion: 1
    

    Local Filesystem Repository

    import * as pulumi from "@pulumi/pulumi";
    import * as grafana from "@pulumiverse/grafana";
    
    const localRepo = new grafana.apps.v0alpha1.ProvisioningRepository("local_repo", {
        metadata: {
            uid: "my-local-folder-repo",
        },
        spec: {
            title: "My Local Folder Repository",
            description: "Folder-scoped local filesystem repository",
            type: "local",
            workflows: ["write"],
            sync: {
                enabled: true,
                target: "folder",
                intervalSeconds: 60,
            },
            local: {
                path: "/usr/share/grafana/conf/provisioning/my-local-repo",
            },
        },
    });
    
    import pulumi
    import pulumiverse_grafana as grafana
    
    local_repo = grafana.apps.v0alpha1.ProvisioningRepository("local_repo",
        metadata={
            "uid": "my-local-folder-repo",
        },
        spec={
            "title": "My Local Folder Repository",
            "description": "Folder-scoped local filesystem repository",
            "type": "local",
            "workflows": ["write"],
            "sync": {
                "enabled": True,
                "target": "folder",
                "interval_seconds": 60,
            },
            "local": {
                "path": "/usr/share/grafana/conf/provisioning/my-local-repo",
            },
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-grafana/sdk/v2/go/grafana/apps"
    	appsv0alpha1 "github.com/pulumiverse/pulumi-grafana/sdk/v2/go/grafana/apps/v0alpha1"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := apps.NewProvisioningRepository(ctx, "local_repo", &apps.ProvisioningRepositoryArgs{
    			Metadata: &appsv0alpha1.ProvisioningRepositoryMetadataArgs{
    				Uid: pulumi.String("my-local-folder-repo"),
    			},
    			Spec: &appsv0alpha1.ProvisioningRepositorySpecArgs{
    				Title:       pulumi.String("My Local Folder Repository"),
    				Description: pulumi.String("Folder-scoped local filesystem repository"),
    				Type:        pulumi.String("local"),
    				Workflows: pulumi.StringArray{
    					pulumi.String("write"),
    				},
    				Sync: &appsv0alpha1.ProvisioningRepositorySpecSyncArgs{
    					Enabled:         pulumi.Bool(true),
    					Target:          pulumi.String("folder"),
    					IntervalSeconds: pulumi.Int(60),
    				},
    				Local: &appsv0alpha1.ProvisioningRepositorySpecLocalArgs{
    					Path: pulumi.String("/usr/share/grafana/conf/provisioning/my-local-repo"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Grafana = Pulumiverse.Grafana;
    
    return await Deployment.RunAsync(() => 
    {
        var localRepo = new Grafana.Apps.V0Alpha1.ProvisioningRepository("local_repo", new()
        {
            Metadata = new Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositoryMetadataArgs
            {
                Uid = "my-local-folder-repo",
            },
            Spec = new Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositorySpecArgs
            {
                Title = "My Local Folder Repository",
                Description = "Folder-scoped local filesystem repository",
                Type = "local",
                Workflows = new[]
                {
                    "write",
                },
                Sync = new Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositorySpecSyncArgs
                {
                    Enabled = true,
                    Target = "folder",
                    IntervalSeconds = 60,
                },
                Local = new Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositorySpecLocalArgs
                {
                    Path = "/usr/share/grafana/conf/provisioning/my-local-repo",
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.grafana.apps_v0alpha1.ProvisioningRepository;
    import com.pulumi.grafana.apps_v0alpha1.ProvisioningRepositoryArgs;
    import com.pulumi.grafana.apps.inputs.ProvisioningRepositoryMetadataArgs;
    import com.pulumi.grafana.apps.inputs.ProvisioningRepositorySpecArgs;
    import com.pulumi.grafana.apps.inputs.ProvisioningRepositorySpecSyncArgs;
    import com.pulumi.grafana.apps.inputs.ProvisioningRepositorySpecLocalArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var localRepo = new ProvisioningRepository("localRepo", ProvisioningRepositoryArgs.builder()
                .metadata(ProvisioningRepositoryMetadataArgs.builder()
                    .uid("my-local-folder-repo")
                    .build())
                .spec(ProvisioningRepositorySpecArgs.builder()
                    .title("My Local Folder Repository")
                    .description("Folder-scoped local filesystem repository")
                    .type("local")
                    .workflows("write")
                    .sync(ProvisioningRepositorySpecSyncArgs.builder()
                        .enabled(true)
                        .target("folder")
                        .intervalSeconds(60)
                        .build())
                    .local(ProvisioningRepositorySpecLocalArgs.builder()
                        .path("/usr/share/grafana/conf/provisioning/my-local-repo")
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      localRepo:
        type: grafana:apps/v0alpha1:ProvisioningRepository
        name: local_repo
        properties:
          metadata:
            uid: my-local-folder-repo
          spec:
            title: My Local Folder Repository
            description: Folder-scoped local filesystem repository
            type: local
            workflows:
              - write
            sync:
              enabled: true
              target: folder
              intervalSeconds: 60
            local:
              path: /usr/share/grafana/conf/provisioning/my-local-repo
    

    Create ProvisioningRepository Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new ProvisioningRepository(name: string, args?: ProvisioningRepositoryArgs, opts?: CustomResourceOptions);
    @overload
    def ProvisioningRepository(resource_name: str,
                               args: Optional[ProvisioningRepositoryArgs] = None,
                               opts: Optional[ResourceOptions] = None)
    
    @overload
    def ProvisioningRepository(resource_name: str,
                               opts: Optional[ResourceOptions] = None,
                               metadata: Optional[ProvisioningRepositoryMetadataArgs] = None,
                               options: Optional[ProvisioningRepositoryOptionsArgs] = None,
                               secure: Optional[ProvisioningRepositorySecureArgs] = None,
                               secure_version: Optional[int] = None,
                               spec: Optional[ProvisioningRepositorySpecArgs] = None)
    func NewProvisioningRepository(ctx *Context, name string, args *ProvisioningRepositoryArgs, opts ...ResourceOption) (*ProvisioningRepository, error)
    public ProvisioningRepository(string name, ProvisioningRepositoryArgs? args = null, CustomResourceOptions? opts = null)
    public ProvisioningRepository(String name, ProvisioningRepositoryArgs args)
    public ProvisioningRepository(String name, ProvisioningRepositoryArgs args, CustomResourceOptions options)
    
    type: grafana:apps/v0alpha1/provisioningRepository:ProvisioningRepository
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args ProvisioningRepositoryArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args ProvisioningRepositoryArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args ProvisioningRepositoryArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ProvisioningRepositoryArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ProvisioningRepositoryArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    ProvisioningRepository Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The ProvisioningRepository resource accepts the following input properties:

    Metadata Pulumiverse.Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositoryMetadata
    The metadata of the resource.
    Options Pulumiverse.Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositoryOptions
    Options for applying the resource.
    Secure Pulumiverse.Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositorySecure
    Sensitive credentials. Values are write-only and never stored in Terraform state.
    SecureVersion int
    Set this to 1 when using secure, then increment it to trigger re-application of secure values.
    Spec Pulumiverse.Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositorySpec
    The spec of the resource.
    Metadata ProvisioningRepositoryMetadataArgs
    The metadata of the resource.
    Options ProvisioningRepositoryOptionsArgs
    Options for applying the resource.
    Secure ProvisioningRepositorySecureArgs
    Sensitive credentials. Values are write-only and never stored in Terraform state.
    SecureVersion int
    Set this to 1 when using secure, then increment it to trigger re-application of secure values.
    Spec ProvisioningRepositorySpecArgs
    The spec of the resource.
    metadata ProvisioningRepositoryMetadata
    The metadata of the resource.
    options ProvisioningRepositoryOptions
    Options for applying the resource.
    secure ProvisioningRepositorySecure
    Sensitive credentials. Values are write-only and never stored in Terraform state.
    secureVersion Integer
    Set this to 1 when using secure, then increment it to trigger re-application of secure values.
    spec ProvisioningRepositorySpec
    The spec of the resource.
    metadata ProvisioningRepositoryMetadata
    The metadata of the resource.
    options ProvisioningRepositoryOptions
    Options for applying the resource.
    secure ProvisioningRepositorySecure
    Sensitive credentials. Values are write-only and never stored in Terraform state.
    secureVersion number
    Set this to 1 when using secure, then increment it to trigger re-application of secure values.
    spec ProvisioningRepositorySpec
    The spec of the resource.
    metadata ProvisioningRepositoryMetadataArgs
    The metadata of the resource.
    options ProvisioningRepositoryOptionsArgs
    Options for applying the resource.
    secure ProvisioningRepositorySecureArgs
    Sensitive credentials. Values are write-only and never stored in Terraform state.
    secure_version int
    Set this to 1 when using secure, then increment it to trigger re-application of secure values.
    spec ProvisioningRepositorySpecArgs
    The spec of the resource.
    metadata Property Map
    The metadata of the resource.
    options Property Map
    Options for applying the resource.
    secure Property Map
    Sensitive credentials. Values are write-only and never stored in Terraform state.
    secureVersion Number
    Set this to 1 when using secure, then increment it to trigger re-application of secure values.
    spec Property Map
    The spec of the resource.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the ProvisioningRepository resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing ProvisioningRepository Resource

    Get an existing ProvisioningRepository resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: ProvisioningRepositoryState, opts?: CustomResourceOptions): ProvisioningRepository
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            metadata: Optional[ProvisioningRepositoryMetadataArgs] = None,
            options: Optional[ProvisioningRepositoryOptionsArgs] = None,
            secure: Optional[ProvisioningRepositorySecureArgs] = None,
            secure_version: Optional[int] = None,
            spec: Optional[ProvisioningRepositorySpecArgs] = None) -> ProvisioningRepository
    func GetProvisioningRepository(ctx *Context, name string, id IDInput, state *ProvisioningRepositoryState, opts ...ResourceOption) (*ProvisioningRepository, error)
    public static ProvisioningRepository Get(string name, Input<string> id, ProvisioningRepositoryState? state, CustomResourceOptions? opts = null)
    public static ProvisioningRepository get(String name, Output<String> id, ProvisioningRepositoryState state, CustomResourceOptions options)
    resources:  _:    type: grafana:apps/v0alpha1/provisioningRepository:ProvisioningRepository    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Metadata Pulumiverse.Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositoryMetadata
    The metadata of the resource.
    Options Pulumiverse.Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositoryOptions
    Options for applying the resource.
    Secure Pulumiverse.Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositorySecure
    Sensitive credentials. Values are write-only and never stored in Terraform state.
    SecureVersion int
    Set this to 1 when using secure, then increment it to trigger re-application of secure values.
    Spec Pulumiverse.Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositorySpec
    The spec of the resource.
    Metadata ProvisioningRepositoryMetadataArgs
    The metadata of the resource.
    Options ProvisioningRepositoryOptionsArgs
    Options for applying the resource.
    Secure ProvisioningRepositorySecureArgs
    Sensitive credentials. Values are write-only and never stored in Terraform state.
    SecureVersion int
    Set this to 1 when using secure, then increment it to trigger re-application of secure values.
    Spec ProvisioningRepositorySpecArgs
    The spec of the resource.
    metadata ProvisioningRepositoryMetadata
    The metadata of the resource.
    options ProvisioningRepositoryOptions
    Options for applying the resource.
    secure ProvisioningRepositorySecure
    Sensitive credentials. Values are write-only and never stored in Terraform state.
    secureVersion Integer
    Set this to 1 when using secure, then increment it to trigger re-application of secure values.
    spec ProvisioningRepositorySpec
    The spec of the resource.
    metadata ProvisioningRepositoryMetadata
    The metadata of the resource.
    options ProvisioningRepositoryOptions
    Options for applying the resource.
    secure ProvisioningRepositorySecure
    Sensitive credentials. Values are write-only and never stored in Terraform state.
    secureVersion number
    Set this to 1 when using secure, then increment it to trigger re-application of secure values.
    spec ProvisioningRepositorySpec
    The spec of the resource.
    metadata ProvisioningRepositoryMetadataArgs
    The metadata of the resource.
    options ProvisioningRepositoryOptionsArgs
    Options for applying the resource.
    secure ProvisioningRepositorySecureArgs
    Sensitive credentials. Values are write-only and never stored in Terraform state.
    secure_version int
    Set this to 1 when using secure, then increment it to trigger re-application of secure values.
    spec ProvisioningRepositorySpecArgs
    The spec of the resource.
    metadata Property Map
    The metadata of the resource.
    options Property Map
    Options for applying the resource.
    secure Property Map
    Sensitive credentials. Values are write-only and never stored in Terraform state.
    secureVersion Number
    Set this to 1 when using secure, then increment it to trigger re-application of secure values.
    spec Property Map
    The spec of the resource.

    Supporting Types

    ProvisioningRepositoryMetadata, ProvisioningRepositoryMetadataArgs

    Uid string
    The unique identifier of the resource.
    Annotations Dictionary<string, string>
    Annotations of the resource.
    FolderUid string
    The UID of the folder to save the resource in. For example, it's supported for dashboards and folders. To know if it's supported for the specific resource you're using check the documentation.
    Url string
    The full URL of the resource.
    Uuid string
    The globally unique identifier of a resource, used by the API for tracking.
    Version string
    The version of the resource.
    Uid string
    The unique identifier of the resource.
    Annotations map[string]string
    Annotations of the resource.
    FolderUid string
    The UID of the folder to save the resource in. For example, it's supported for dashboards and folders. To know if it's supported for the specific resource you're using check the documentation.
    Url string
    The full URL of the resource.
    Uuid string
    The globally unique identifier of a resource, used by the API for tracking.
    Version string
    The version of the resource.
    uid String
    The unique identifier of the resource.
    annotations Map<String,String>
    Annotations of the resource.
    folderUid String
    The UID of the folder to save the resource in. For example, it's supported for dashboards and folders. To know if it's supported for the specific resource you're using check the documentation.
    url String
    The full URL of the resource.
    uuid String
    The globally unique identifier of a resource, used by the API for tracking.
    version String
    The version of the resource.
    uid string
    The unique identifier of the resource.
    annotations {[key: string]: string}
    Annotations of the resource.
    folderUid string
    The UID of the folder to save the resource in. For example, it's supported for dashboards and folders. To know if it's supported for the specific resource you're using check the documentation.
    url string
    The full URL of the resource.
    uuid string
    The globally unique identifier of a resource, used by the API for tracking.
    version string
    The version of the resource.
    uid str
    The unique identifier of the resource.
    annotations Mapping[str, str]
    Annotations of the resource.
    folder_uid str
    The UID of the folder to save the resource in. For example, it's supported for dashboards and folders. To know if it's supported for the specific resource you're using check the documentation.
    url str
    The full URL of the resource.
    uuid str
    The globally unique identifier of a resource, used by the API for tracking.
    version str
    The version of the resource.
    uid String
    The unique identifier of the resource.
    annotations Map<String>
    Annotations of the resource.
    folderUid String
    The UID of the folder to save the resource in. For example, it's supported for dashboards and folders. To know if it's supported for the specific resource you're using check the documentation.
    url String
    The full URL of the resource.
    uuid String
    The globally unique identifier of a resource, used by the API for tracking.
    version String
    The version of the resource.

    ProvisioningRepositoryOptions, ProvisioningRepositoryOptionsArgs

    ManagerIdentity string
    Override the identity stamped on this resource's manager metadata. Defaults to "grafana-terraform-provider". Use this to distinguish resources managed by different Pulumi Stacks targeting the same Grafana instance.
    Overwrite bool
    Set to true if you want to overwrite existing resource with newer version, same resource title in folder or same resource uid.
    ManagerIdentity string
    Override the identity stamped on this resource's manager metadata. Defaults to "grafana-terraform-provider". Use this to distinguish resources managed by different Pulumi Stacks targeting the same Grafana instance.
    Overwrite bool
    Set to true if you want to overwrite existing resource with newer version, same resource title in folder or same resource uid.
    managerIdentity String
    Override the identity stamped on this resource's manager metadata. Defaults to "grafana-terraform-provider". Use this to distinguish resources managed by different Pulumi Stacks targeting the same Grafana instance.
    overwrite Boolean
    Set to true if you want to overwrite existing resource with newer version, same resource title in folder or same resource uid.
    managerIdentity string
    Override the identity stamped on this resource's manager metadata. Defaults to "grafana-terraform-provider". Use this to distinguish resources managed by different Pulumi Stacks targeting the same Grafana instance.
    overwrite boolean
    Set to true if you want to overwrite existing resource with newer version, same resource title in folder or same resource uid.
    manager_identity str
    Override the identity stamped on this resource's manager metadata. Defaults to "grafana-terraform-provider". Use this to distinguish resources managed by different Pulumi Stacks targeting the same Grafana instance.
    overwrite bool
    Set to true if you want to overwrite existing resource with newer version, same resource title in folder or same resource uid.
    managerIdentity String
    Override the identity stamped on this resource's manager metadata. Defaults to "grafana-terraform-provider". Use this to distinguish resources managed by different Pulumi Stacks targeting the same Grafana instance.
    overwrite Boolean
    Set to true if you want to overwrite existing resource with newer version, same resource title in folder or same resource uid.

    ProvisioningRepositorySecure, ProvisioningRepositorySecureArgs

    Token Dictionary<string, string>
    NOTE: This field is write-only and its value will not be updated in state as part of read operations. Token for repository authentication.
    WebhookSecret Dictionary<string, string>
    NOTE: This field is write-only and its value will not be updated in state as part of read operations. Webhook secret.
    Token map[string]string
    NOTE: This field is write-only and its value will not be updated in state as part of read operations. Token for repository authentication.
    WebhookSecret map[string]string
    NOTE: This field is write-only and its value will not be updated in state as part of read operations. Webhook secret.
    token Map<String,String>
    NOTE: This field is write-only and its value will not be updated in state as part of read operations. Token for repository authentication.
    webhookSecret Map<String,String>
    NOTE: This field is write-only and its value will not be updated in state as part of read operations. Webhook secret.
    token {[key: string]: string}
    NOTE: This field is write-only and its value will not be updated in state as part of read operations. Token for repository authentication.
    webhookSecret {[key: string]: string}
    NOTE: This field is write-only and its value will not be updated in state as part of read operations. Webhook secret.
    token Mapping[str, str]
    NOTE: This field is write-only and its value will not be updated in state as part of read operations. Token for repository authentication.
    webhook_secret Mapping[str, str]
    NOTE: This field is write-only and its value will not be updated in state as part of read operations. Webhook secret.
    token Map<String>
    NOTE: This field is write-only and its value will not be updated in state as part of read operations. Token for repository authentication.
    webhookSecret Map<String>
    NOTE: This field is write-only and its value will not be updated in state as part of read operations. Webhook secret.

    ProvisioningRepositorySpec, ProvisioningRepositorySpecArgs

    Title string
    Display name shown in the UI.
    Type string
    Repository provider type: local, github, git, bitbucket, or gitlab.
    Bitbucket Pulumiverse.Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositorySpecBitbucket
    Bitbucket repository configuration.
    Connection Pulumiverse.Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositorySpecConnection
    Connection resource reference.
    Description string
    Repository description.
    Git Pulumiverse.Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositorySpecGit
    Generic git repository configuration.
    Github Pulumiverse.Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositorySpecGithub
    GitHub repository configuration.
    Gitlab Pulumiverse.Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositorySpecGitlab
    GitLab repository configuration.
    Local Pulumiverse.Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositorySpecLocal
    Local filesystem repository configuration.
    Sync Pulumiverse.Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositorySpecSync
    Sync configuration.
    Workflows List<string>
    Allowed change workflows: write, branch.
    Title string
    Display name shown in the UI.
    Type string
    Repository provider type: local, github, git, bitbucket, or gitlab.
    Bitbucket ProvisioningRepositorySpecBitbucket
    Bitbucket repository configuration.
    Connection ProvisioningRepositorySpecConnection
    Connection resource reference.
    Description string
    Repository description.
    Git ProvisioningRepositorySpecGit
    Generic git repository configuration.
    Github ProvisioningRepositorySpecGithub
    GitHub repository configuration.
    Gitlab ProvisioningRepositorySpecGitlab
    GitLab repository configuration.
    Local ProvisioningRepositorySpecLocal
    Local filesystem repository configuration.
    Sync ProvisioningRepositorySpecSync
    Sync configuration.
    Workflows []string
    Allowed change workflows: write, branch.
    title String
    Display name shown in the UI.
    type String
    Repository provider type: local, github, git, bitbucket, or gitlab.
    bitbucket ProvisioningRepositorySpecBitbucket
    Bitbucket repository configuration.
    connection ProvisioningRepositorySpecConnection
    Connection resource reference.
    description String
    Repository description.
    git ProvisioningRepositorySpecGit
    Generic git repository configuration.
    github ProvisioningRepositorySpecGithub
    GitHub repository configuration.
    gitlab ProvisioningRepositorySpecGitlab
    GitLab repository configuration.
    local ProvisioningRepositorySpecLocal
    Local filesystem repository configuration.
    sync ProvisioningRepositorySpecSync
    Sync configuration.
    workflows List<String>
    Allowed change workflows: write, branch.
    title string
    Display name shown in the UI.
    type string
    Repository provider type: local, github, git, bitbucket, or gitlab.
    bitbucket ProvisioningRepositorySpecBitbucket
    Bitbucket repository configuration.
    connection ProvisioningRepositorySpecConnection
    Connection resource reference.
    description string
    Repository description.
    git ProvisioningRepositorySpecGit
    Generic git repository configuration.
    github ProvisioningRepositorySpecGithub
    GitHub repository configuration.
    gitlab ProvisioningRepositorySpecGitlab
    GitLab repository configuration.
    local ProvisioningRepositorySpecLocal
    Local filesystem repository configuration.
    sync ProvisioningRepositorySpecSync
    Sync configuration.
    workflows string[]
    Allowed change workflows: write, branch.
    title str
    Display name shown in the UI.
    type str
    Repository provider type: local, github, git, bitbucket, or gitlab.
    bitbucket ProvisioningRepositorySpecBitbucket
    Bitbucket repository configuration.
    connection ProvisioningRepositorySpecConnection
    Connection resource reference.
    description str
    Repository description.
    git ProvisioningRepositorySpecGit
    Generic git repository configuration.
    github ProvisioningRepositorySpecGithub
    GitHub repository configuration.
    gitlab ProvisioningRepositorySpecGitlab
    GitLab repository configuration.
    local ProvisioningRepositorySpecLocal
    Local filesystem repository configuration.
    sync ProvisioningRepositorySpecSync
    Sync configuration.
    workflows Sequence[str]
    Allowed change workflows: write, branch.
    title String
    Display name shown in the UI.
    type String
    Repository provider type: local, github, git, bitbucket, or gitlab.
    bitbucket Property Map
    Bitbucket repository configuration.
    connection Property Map
    Connection resource reference.
    description String
    Repository description.
    git Property Map
    Generic git repository configuration.
    github Property Map
    GitHub repository configuration.
    gitlab Property Map
    GitLab repository configuration.
    local Property Map
    Local filesystem repository configuration.
    sync Property Map
    Sync configuration.
    workflows List<String>
    Allowed change workflows: write, branch.

    ProvisioningRepositorySpecBitbucket, ProvisioningRepositorySpecBitbucketArgs

    Branch string
    Branch to sync.
    Path string
    Optional subdirectory path.
    TokenUser string
    Username for PAT auth.
    Url string
    Repository URL.
    Branch string
    Branch to sync.
    Path string
    Optional subdirectory path.
    TokenUser string
    Username for PAT auth.
    Url string
    Repository URL.
    branch String
    Branch to sync.
    path String
    Optional subdirectory path.
    tokenUser String
    Username for PAT auth.
    url String
    Repository URL.
    branch string
    Branch to sync.
    path string
    Optional subdirectory path.
    tokenUser string
    Username for PAT auth.
    url string
    Repository URL.
    branch str
    Branch to sync.
    path str
    Optional subdirectory path.
    token_user str
    Username for PAT auth.
    url str
    Repository URL.
    branch String
    Branch to sync.
    path String
    Optional subdirectory path.
    tokenUser String
    Username for PAT auth.
    url String
    Repository URL.

    ProvisioningRepositorySpecConnection, ProvisioningRepositorySpecConnectionArgs

    Name string
    Connection resource name.
    Name string
    Connection resource name.
    name String
    Connection resource name.
    name string
    Connection resource name.
    name str
    Connection resource name.
    name String
    Connection resource name.

    ProvisioningRepositorySpecGit, ProvisioningRepositorySpecGitArgs

    Branch string
    Branch to sync.
    Path string
    Optional subdirectory path.
    TokenUser string
    Username for PAT auth.
    Url string
    Repository URL.
    Branch string
    Branch to sync.
    Path string
    Optional subdirectory path.
    TokenUser string
    Username for PAT auth.
    Url string
    Repository URL.
    branch String
    Branch to sync.
    path String
    Optional subdirectory path.
    tokenUser String
    Username for PAT auth.
    url String
    Repository URL.
    branch string
    Branch to sync.
    path string
    Optional subdirectory path.
    tokenUser string
    Username for PAT auth.
    url string
    Repository URL.
    branch str
    Branch to sync.
    path str
    Optional subdirectory path.
    token_user str
    Username for PAT auth.
    url str
    Repository URL.
    branch String
    Branch to sync.
    path String
    Optional subdirectory path.
    tokenUser String
    Username for PAT auth.
    url String
    Repository URL.

    ProvisioningRepositorySpecGithub, ProvisioningRepositorySpecGithubArgs

    Branch string
    Branch to sync.
    GenerateDashboardPreviews bool
    Whether to generate dashboard previews.
    Path string
    Optional subdirectory path.
    Url string
    Repository URL.
    Branch string
    Branch to sync.
    GenerateDashboardPreviews bool
    Whether to generate dashboard previews.
    Path string
    Optional subdirectory path.
    Url string
    Repository URL.
    branch String
    Branch to sync.
    generateDashboardPreviews Boolean
    Whether to generate dashboard previews.
    path String
    Optional subdirectory path.
    url String
    Repository URL.
    branch string
    Branch to sync.
    generateDashboardPreviews boolean
    Whether to generate dashboard previews.
    path string
    Optional subdirectory path.
    url string
    Repository URL.
    branch str
    Branch to sync.
    generate_dashboard_previews bool
    Whether to generate dashboard previews.
    path str
    Optional subdirectory path.
    url str
    Repository URL.
    branch String
    Branch to sync.
    generateDashboardPreviews Boolean
    Whether to generate dashboard previews.
    path String
    Optional subdirectory path.
    url String
    Repository URL.

    ProvisioningRepositorySpecGitlab, ProvisioningRepositorySpecGitlabArgs

    Branch string
    Branch to sync.
    Path string
    Optional subdirectory path.
    Url string
    Repository URL.
    Branch string
    Branch to sync.
    Path string
    Optional subdirectory path.
    Url string
    Repository URL.
    branch String
    Branch to sync.
    path String
    Optional subdirectory path.
    url String
    Repository URL.
    branch string
    Branch to sync.
    path string
    Optional subdirectory path.
    url string
    Repository URL.
    branch str
    Branch to sync.
    path str
    Optional subdirectory path.
    url str
    Repository URL.
    branch String
    Branch to sync.
    path String
    Optional subdirectory path.
    url String
    Repository URL.

    ProvisioningRepositorySpecLocal, ProvisioningRepositorySpecLocalArgs

    Path string
    Filesystem path.
    Path string
    Filesystem path.
    path String
    Filesystem path.
    path string
    Filesystem path.
    path str
    Filesystem path.
    path String
    Filesystem path.

    ProvisioningRepositorySpecSync, ProvisioningRepositorySpecSyncArgs

    Enabled bool
    Whether sync is enabled.
    Target string
    Sync target: instance or folder.
    IntervalSeconds int
    Sync interval in seconds.
    Enabled bool
    Whether sync is enabled.
    Target string
    Sync target: instance or folder.
    IntervalSeconds int
    Sync interval in seconds.
    enabled Boolean
    Whether sync is enabled.
    target String
    Sync target: instance or folder.
    intervalSeconds Integer
    Sync interval in seconds.
    enabled boolean
    Whether sync is enabled.
    target string
    Sync target: instance or folder.
    intervalSeconds number
    Sync interval in seconds.
    enabled bool
    Whether sync is enabled.
    target str
    Sync target: instance or folder.
    interval_seconds int
    Sync interval in seconds.
    enabled Boolean
    Whether sync is enabled.
    target String
    Sync target: instance or folder.
    intervalSeconds Number
    Sync interval in seconds.

    Package Details

    Repository
    grafana pulumiverse/pulumi-grafana
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the grafana Terraform Provider.
    grafana logo
    Viewing docs for Grafana v2.28.0
    published on Wednesday, Apr 29, 2026 by pulumiverse
      Try Pulumi Cloud free. Your team will thank you.