published on Friday, Apr 10, 2026 by pulumiverse
published on Friday, Apr 10, 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
GitHub Repository via GitHub App Connection
import * as pulumi from "@pulumi/pulumi";
import * as grafana from "@pulumiverse/grafana";
const githubApp = new grafana.apps.v0alpha1.ProvisioningConnection("github_app", {
metadata: {
uid: "my-github-app-connection",
},
spec: {
title: "My GitHub App Connection",
description: "GitHub App connection used by a folder-scoped Git Sync repository",
type: "github",
url: "https://github.com",
github: {
appId: "12345",
installationId: "67890",
},
},
secure: {
privateKey: {
create: "replace-me",
},
},
secureVersion: 1,
});
const githubAppProvisioningRepository = new grafana.apps.v0alpha1.ProvisioningRepository("github_app", {
metadata: {
uid: "my-github-app-folder-repo",
},
spec: {
title: "My GitHub App Folder Repository",
description: "Folder-scoped GitHub repository authenticated via a referenced GitHub App connection",
type: "github",
workflows: [
"write",
"branch",
],
sync: {
enabled: true,
target: "folder",
intervalSeconds: 60,
},
github: {
url: "https://github.com/example/grafana-dashboards",
branch: "main",
path: "grafanatftest",
},
connection: {
name: githubApp.metadata.apply(metadata => metadata?.uid),
},
},
}, {
dependsOn: [githubApp],
});
import pulumi
import pulumiverse_grafana as grafana
github_app = grafana.apps.v0alpha1.ProvisioningConnection("github_app",
metadata={
"uid": "my-github-app-connection",
},
spec={
"title": "My GitHub App Connection",
"description": "GitHub App connection used by a folder-scoped Git Sync repository",
"type": "github",
"url": "https://github.com",
"github": {
"app_id": "12345",
"installation_id": "67890",
},
},
secure={
"private_key": {
"create": "replace-me",
},
},
secure_version=1)
github_app_provisioning_repository = grafana.apps.v0alpha1.ProvisioningRepository("github_app",
metadata={
"uid": "my-github-app-folder-repo",
},
spec={
"title": "My GitHub App Folder Repository",
"description": "Folder-scoped GitHub repository authenticated via a referenced GitHub App connection",
"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",
},
"connection": {
"name": github_app.metadata.uid,
},
},
opts = pulumi.ResourceOptions(depends_on=[github_app]))
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 {
githubApp, err := apps.NewProvisioningConnection(ctx, "github_app", &apps.ProvisioningConnectionArgs{
Metadata: &appsv0alpha1.ProvisioningConnectionMetadataArgs{
Uid: pulumi.String("my-github-app-connection"),
},
Spec: &appsv0alpha1.ProvisioningConnectionSpecArgs{
Title: pulumi.String("My GitHub App Connection"),
Description: pulumi.String("GitHub App connection used by a folder-scoped Git Sync repository"),
Type: pulumi.String("github"),
Url: pulumi.String("https://github.com"),
Github: &appsv0alpha1.ProvisioningConnectionSpecGithubArgs{
AppId: pulumi.String("12345"),
InstallationId: pulumi.String("67890"),
},
},
Secure: &appsv0alpha1.ProvisioningConnectionSecureArgs{
PrivateKey: pulumi.StringMap{
"create": pulumi.String("replace-me"),
},
},
SecureVersion: pulumi.Int(1),
})
if err != nil {
return err
}
_, err = apps.NewProvisioningRepository(ctx, "github_app", &apps.ProvisioningRepositoryArgs{
Metadata: &appsv0alpha1.ProvisioningRepositoryMetadataArgs{
Uid: pulumi.String("my-github-app-folder-repo"),
},
Spec: &appsv0alpha1.ProvisioningRepositorySpecArgs{
Title: pulumi.String("My GitHub App Folder Repository"),
Description: pulumi.String("Folder-scoped GitHub repository authenticated via a referenced GitHub App connection"),
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"),
},
Connection: &appsv0alpha1.ProvisioningRepositorySpecConnectionArgs{
Name: githubApp.Metadata.ApplyT(func(metadata appsv0alpha1.ProvisioningConnectionMetadata) (*string, error) {
return &metadata.Uid, nil
}).(pulumi.StringPtrOutput),
},
},
}, pulumi.DependsOn([]pulumi.Resource{
githubApp,
}))
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 githubApp = new Grafana.Apps.V0Alpha1.ProvisioningConnection("github_app", new()
{
Metadata = new Grafana.Apps.V0Alpha1.Inputs.ProvisioningConnectionMetadataArgs
{
Uid = "my-github-app-connection",
},
Spec = new Grafana.Apps.V0Alpha1.Inputs.ProvisioningConnectionSpecArgs
{
Title = "My GitHub App Connection",
Description = "GitHub App connection used by a folder-scoped Git Sync repository",
Type = "github",
Url = "https://github.com",
Github = new Grafana.Apps.V0Alpha1.Inputs.ProvisioningConnectionSpecGithubArgs
{
AppId = "12345",
InstallationId = "67890",
},
},
Secure = new Grafana.Apps.V0Alpha1.Inputs.ProvisioningConnectionSecureArgs
{
PrivateKey =
{
{ "create", "replace-me" },
},
},
SecureVersion = 1,
});
var githubAppProvisioningRepository = new Grafana.Apps.V0Alpha1.ProvisioningRepository("github_app", new()
{
Metadata = new Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositoryMetadataArgs
{
Uid = "my-github-app-folder-repo",
},
Spec = new Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositorySpecArgs
{
Title = "My GitHub App Folder Repository",
Description = "Folder-scoped GitHub repository authenticated via a referenced GitHub App connection",
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",
},
Connection = new Grafana.Apps.V0Alpha1.Inputs.ProvisioningRepositorySpecConnectionArgs
{
Name = githubApp.Metadata.Apply(metadata => metadata?.Uid),
},
},
}, new CustomResourceOptions
{
DependsOn =
{
githubApp,
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.grafana.apps_v0alpha1.ProvisioningConnection;
import com.pulumi.grafana.apps_v0alpha1.ProvisioningConnectionArgs;
import com.pulumi.grafana.apps.inputs.ProvisioningConnectionMetadataArgs;
import com.pulumi.grafana.apps.inputs.ProvisioningConnectionSpecArgs;
import com.pulumi.grafana.apps.inputs.ProvisioningConnectionSpecGithubArgs;
import com.pulumi.grafana.apps.inputs.ProvisioningConnectionSecureArgs;
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.ProvisioningRepositorySpecConnectionArgs;
import com.pulumi.resources.CustomResourceOptions;
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 githubApp = new ProvisioningConnection("githubApp", ProvisioningConnectionArgs.builder()
.metadata(ProvisioningConnectionMetadataArgs.builder()
.uid("my-github-app-connection")
.build())
.spec(ProvisioningConnectionSpecArgs.builder()
.title("My GitHub App Connection")
.description("GitHub App connection used by a folder-scoped Git Sync repository")
.type("github")
.url("https://github.com")
.github(ProvisioningConnectionSpecGithubArgs.builder()
.appId("12345")
.installationId("67890")
.build())
.build())
.secure(ProvisioningConnectionSecureArgs.builder()
.privateKey(Map.of("create", "replace-me"))
.build())
.secureVersion(1)
.build());
var githubAppProvisioningRepository = new ProvisioningRepository("githubAppProvisioningRepository", ProvisioningRepositoryArgs.builder()
.metadata(ProvisioningRepositoryMetadataArgs.builder()
.uid("my-github-app-folder-repo")
.build())
.spec(ProvisioningRepositorySpecArgs.builder()
.title("My GitHub App Folder Repository")
.description("Folder-scoped GitHub repository authenticated via a referenced GitHub App connection")
.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())
.connection(ProvisioningRepositorySpecConnectionArgs.builder()
.name(githubApp.metadata().applyValue(_metadata -> _metadata.uid()))
.build())
.build())
.build(), CustomResourceOptions.builder()
.dependsOn(githubApp)
.build());
}
}
resources:
githubApp:
type: grafana:apps/v0alpha1:ProvisioningConnection
name: github_app
properties:
metadata:
uid: my-github-app-connection
spec:
title: My GitHub App Connection
description: GitHub App connection used by a folder-scoped Git Sync repository
type: github
url: https://github.com
github:
appId: '12345'
installationId: '67890'
secure:
privateKey:
create: replace-me
secureVersion: 1
githubAppProvisioningRepository:
type: grafana:apps/v0alpha1:ProvisioningRepository
name: github_app
properties:
metadata:
uid: my-github-app-folder-repo
spec:
title: My GitHub App Folder Repository
description: Folder-scoped GitHub repository authenticated via a referenced GitHub App connection
type: github
workflows:
- write
- branch
sync:
enabled: true
target: folder
intervalSeconds: 60
github:
url: https://github.com/example/grafana-dashboards
branch: main
path: grafanatftest
connection:
name: ${githubApp.metadata.uid}
options:
dependsOn:
- ${githubApp}
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. Provisioning Repository Metadata - The metadata of the resource.
- Options
Pulumiverse.
Grafana. Apps. V0Alpha1. Inputs. Provisioning Repository Options - Options for applying the resource.
- Secure
Pulumiverse.
Grafana. Apps. V0Alpha1. Inputs. Provisioning Repository Secure - 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
Pulumiverse.
Grafana. Apps. V0Alpha1. Inputs. Provisioning Repository Spec - The spec of the resource.
- Metadata
Provisioning
Repository Metadata Args - The metadata of the resource.
- Options
Provisioning
Repository Options Args - Options for applying the resource.
- Secure
Provisioning
Repository Secure Args - 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
Provisioning
Repository Spec Args - The spec of the resource.
- metadata
Provisioning
Repository Metadata - The metadata of the resource.
- options
Provisioning
Repository Options - Options for applying the resource.
- secure
Provisioning
Repository Secure - Sensitive credentials. Values are write-only and never stored in Terraform state.
- secure
Version Integer - Set this to 1 when using
secure, then increment it to trigger re-application of secure values. - spec
Provisioning
Repository Spec - The spec of the resource.
- metadata
Provisioning
Repository Metadata - The metadata of the resource.
- options
Provisioning
Repository Options - Options for applying the resource.
- secure
Provisioning
Repository Secure - Sensitive credentials. Values are write-only and never stored in Terraform state.
- secure
Version number - Set this to 1 when using
secure, then increment it to trigger re-application of secure values. - spec
Provisioning
Repository Spec - The spec of the resource.
- metadata
Provisioning
Repository Metadata Args - The metadata of the resource.
- options
Provisioning
Repository Options Args - Options for applying the resource.
- secure
Provisioning
Repository Secure Args - 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
Provisioning
Repository Spec Args - 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.
- secure
Version 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) -> ProvisioningRepositoryfunc 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.
- Metadata
Pulumiverse.
Grafana. Apps. V0Alpha1. Inputs. Provisioning Repository Metadata - The metadata of the resource.
- Options
Pulumiverse.
Grafana. Apps. V0Alpha1. Inputs. Provisioning Repository Options - Options for applying the resource.
- Secure
Pulumiverse.
Grafana. Apps. V0Alpha1. Inputs. Provisioning Repository Secure - 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
Pulumiverse.
Grafana. Apps. V0Alpha1. Inputs. Provisioning Repository Spec - The spec of the resource.
- Metadata
Provisioning
Repository Metadata Args - The metadata of the resource.
- Options
Provisioning
Repository Options Args - Options for applying the resource.
- Secure
Provisioning
Repository Secure Args - 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
Provisioning
Repository Spec Args - The spec of the resource.
- metadata
Provisioning
Repository Metadata - The metadata of the resource.
- options
Provisioning
Repository Options - Options for applying the resource.
- secure
Provisioning
Repository Secure - Sensitive credentials. Values are write-only and never stored in Terraform state.
- secure
Version Integer - Set this to 1 when using
secure, then increment it to trigger re-application of secure values. - spec
Provisioning
Repository Spec - The spec of the resource.
- metadata
Provisioning
Repository Metadata - The metadata of the resource.
- options
Provisioning
Repository Options - Options for applying the resource.
- secure
Provisioning
Repository Secure - Sensitive credentials. Values are write-only and never stored in Terraform state.
- secure
Version number - Set this to 1 when using
secure, then increment it to trigger re-application of secure values. - spec
Provisioning
Repository Spec - The spec of the resource.
- metadata
Provisioning
Repository Metadata Args - The metadata of the resource.
- options
Provisioning
Repository Options Args - Options for applying the resource.
- secure
Provisioning
Repository Secure Args - 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
Provisioning
Repository Spec Args - 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.
- secure
Version 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.
- Folder
Uid string - The UID of the folder to save the resource in.
- 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.
- Folder
Uid string - The UID of the folder to save the resource in.
- 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.
- folder
Uid String - The UID of the folder to save the resource in.
- 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.
- folder
Uid string - The UID of the folder to save the resource in.
- 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.
- 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.
- folder
Uid String - The UID of the folder to save the resource in.
- 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
- Overwrite bool
- Set to true if you want to overwrite existing resource with newer version, same resource title in folder or same resource uid.
- Overwrite bool
- Set to true if you want to overwrite existing resource with newer version, same resource title in folder or same resource uid.
- overwrite Boolean
- Set to true if you want to overwrite existing resource with newer version, same resource title in folder or same resource uid.
- overwrite boolean
- Set to true if you want to overwrite existing resource with newer version, same resource title in folder or same resource uid.
- overwrite bool
- Set to true if you want to overwrite existing resource with newer version, same resource title in folder or same resource uid.
- 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.
- Webhook
Secret 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.
- Webhook
Secret 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.
- webhook
Secret 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.
- webhook
Secret {[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.
- webhook
Secret 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. Provisioning Repository Spec Bitbucket - Bitbucket repository configuration.
- Connection
Pulumiverse.
Grafana. Apps. V0Alpha1. Inputs. Provisioning Repository Spec Connection - Connection resource reference.
- Description string
- Repository description.
- Git
Pulumiverse.
Grafana. Apps. V0Alpha1. Inputs. Provisioning Repository Spec Git - Generic git repository configuration.
- Github
Pulumiverse.
Grafana. Apps. V0Alpha1. Inputs. Provisioning Repository Spec Github - GitHub repository configuration.
- Gitlab
Pulumiverse.
Grafana. Apps. V0Alpha1. Inputs. Provisioning Repository Spec Gitlab - GitLab repository configuration.
- Local
Pulumiverse.
Grafana. Apps. V0Alpha1. Inputs. Provisioning Repository Spec Local - Local filesystem repository configuration.
- Sync
Pulumiverse.
Grafana. Apps. V0Alpha1. Inputs. Provisioning Repository Spec Sync - 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
Provisioning
Repository Spec Bitbucket - Bitbucket repository configuration.
- Connection
Provisioning
Repository Spec Connection - Connection resource reference.
- Description string
- Repository description.
- Git
Provisioning
Repository Spec Git - Generic git repository configuration.
- Github
Provisioning
Repository Spec Github - GitHub repository configuration.
- Gitlab
Provisioning
Repository Spec Gitlab - GitLab repository configuration.
- Local
Provisioning
Repository Spec Local - Local filesystem repository configuration.
- Sync
Provisioning
Repository Spec Sync - 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
Provisioning
Repository Spec Bitbucket - Bitbucket repository configuration.
- connection
Provisioning
Repository Spec Connection - Connection resource reference.
- description String
- Repository description.
- git
Provisioning
Repository Spec Git - Generic git repository configuration.
- github
Provisioning
Repository Spec Github - GitHub repository configuration.
- gitlab
Provisioning
Repository Spec Gitlab - GitLab repository configuration.
- local
Provisioning
Repository Spec Local - Local filesystem repository configuration.
- sync
Provisioning
Repository Spec Sync - 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
Provisioning
Repository Spec Bitbucket - Bitbucket repository configuration.
- connection
Provisioning
Repository Spec Connection - Connection resource reference.
- description string
- Repository description.
- git
Provisioning
Repository Spec Git - Generic git repository configuration.
- github
Provisioning
Repository Spec Github - GitHub repository configuration.
- gitlab
Provisioning
Repository Spec Gitlab - GitLab repository configuration.
- local
Provisioning
Repository Spec Local - Local filesystem repository configuration.
- sync
Provisioning
Repository Spec Sync - 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
Provisioning
Repository Spec Bitbucket - Bitbucket repository configuration.
- connection
Provisioning
Repository Spec Connection - Connection resource reference.
- description str
- Repository description.
- git
Provisioning
Repository Spec Git - Generic git repository configuration.
- github
Provisioning
Repository Spec Github - GitHub repository configuration.
- gitlab
Provisioning
Repository Spec Gitlab - GitLab repository configuration.
- local
Provisioning
Repository Spec Local - Local filesystem repository configuration.
- sync
Provisioning
Repository Spec Sync - 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 str
- Branch to sync.
- path str
- Optional subdirectory path.
- token_
user str - Username for PAT auth.
- url str
- 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 str
- Branch to sync.
- path str
- Optional subdirectory path.
- token_
user str - Username for PAT auth.
- url str
- Repository URL.
ProvisioningRepositorySpecGithub, ProvisioningRepositorySpecGithubArgs
- Branch string
- Branch to sync.
- Generate
Dashboard boolPreviews - Whether to generate dashboard previews.
- Path string
- Optional subdirectory path.
- Url string
- Repository URL.
- Branch string
- Branch to sync.
- Generate
Dashboard boolPreviews - Whether to generate dashboard previews.
- Path string
- Optional subdirectory path.
- Url string
- Repository URL.
- branch String
- Branch to sync.
- generate
Dashboard BooleanPreviews - Whether to generate dashboard previews.
- path String
- Optional subdirectory path.
- url String
- Repository URL.
- branch string
- Branch to sync.
- generate
Dashboard booleanPreviews - Whether to generate dashboard previews.
- path string
- Optional subdirectory path.
- url string
- Repository URL.
- branch str
- Branch to sync.
- generate_
dashboard_ boolpreviews - Whether to generate dashboard previews.
- path str
- Optional subdirectory path.
- url str
- Repository URL.
- branch String
- Branch to sync.
- generate
Dashboard BooleanPreviews - Whether to generate dashboard previews.
- path String
- Optional subdirectory path.
- url String
- Repository URL.
ProvisioningRepositorySpecGitlab, ProvisioningRepositorySpecGitlabArgs
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.
- Interval
Seconds int - Sync interval in seconds.
- Enabled bool
- Whether sync is enabled.
- Target string
- 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.
- interval
Seconds Integer - Sync interval in seconds.
- enabled boolean
- Whether sync is enabled.
- target string
- Sync target: instance or folder.
- interval
Seconds 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.
- interval
Seconds Number - Sync interval in seconds.
Package Details
- Repository
- grafana pulumiverse/pulumi-grafana
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
grafanaTerraform Provider.
published on Friday, Apr 10, 2026 by pulumiverse
