1. Packages
  2. Cyral Provider
  3. API Docs
  4. getRepository
cyral 4.16.3 published on Monday, Apr 14, 2025 by cyralinc

cyral.getRepository

Explore with Pulumi AI

# cyral.Repository (Data Source)

Retrieves a list of repositories. See repository_list.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as cyral from "@pulumi/cyral";

const mongo_repository = new cyral.Repository("mongo-repository", {
    type: "mongodb",
    repoNodes: [{
        host: "mongodb.cyral.com",
        port: 27017,
    }],
    mongodbSettings: {
        serverType: "standalone",
    },
});
const mysql_repository1 = new cyral.Repository("mysql-repository1", {
    type: "mysql",
    repoNodes: [{
        host: "mysql.com",
        port: 3306,
    }],
});
const mysql_repository2 = new cyral.Repository("mysql-repository2", {
    type: "mysql",
    repoNodes: [{
        host: "mysql2.com",
        port: 3306,
    }],
});
const specific_mysql_repo = cyral.getRepository({
    name: "tf-provider-mysql-repository1",
    type: "mysql",
});
const all_mysql_repos = cyral.getRepository({
    type: "mysql",
});
export const mysql1RepoId = specific_mysql_repo.then(specific_mysql_repo => specific_mysql_repo.repositoryLists?.[0]?.id);
export const allMysqlRepoIds = all_mysql_repos.then(all_mysql_repos => all_mysql_repos.repositoryLists);
Copy
import pulumi
import pulumi_cyral as cyral

mongo_repository = cyral.Repository("mongo-repository",
    type="mongodb",
    repo_nodes=[{
        "host": "mongodb.cyral.com",
        "port": 27017,
    }],
    mongodb_settings={
        "server_type": "standalone",
    })
mysql_repository1 = cyral.Repository("mysql-repository1",
    type="mysql",
    repo_nodes=[{
        "host": "mysql.com",
        "port": 3306,
    }])
mysql_repository2 = cyral.Repository("mysql-repository2",
    type="mysql",
    repo_nodes=[{
        "host": "mysql2.com",
        "port": 3306,
    }])
specific_mysql_repo = cyral.get_repository(name="tf-provider-mysql-repository1",
    type="mysql")
all_mysql_repos = cyral.get_repository(type="mysql")
pulumi.export("mysql1RepoId", specific_mysql_repo.repository_lists[0].id)
pulumi.export("allMysqlRepoIds", all_mysql_repos.repository_lists)
Copy
package main

import (
	"github.com/pulumi/pulumi-terraform-provider/sdks/go/cyral/v4/cyral"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cyral.NewRepository(ctx, "mongo-repository", &cyral.RepositoryArgs{
			Type: pulumi.String("mongodb"),
			RepoNodes: cyral.RepositoryRepoNodeArray{
				&cyral.RepositoryRepoNodeArgs{
					Host: pulumi.String("mongodb.cyral.com"),
					Port: pulumi.Float64(27017),
				},
			},
			MongodbSettings: &cyral.RepositoryMongodbSettingsArgs{
				ServerType: pulumi.String("standalone"),
			},
		})
		if err != nil {
			return err
		}
		_, err = cyral.NewRepository(ctx, "mysql-repository1", &cyral.RepositoryArgs{
			Type: pulumi.String("mysql"),
			RepoNodes: cyral.RepositoryRepoNodeArray{
				&cyral.RepositoryRepoNodeArgs{
					Host: pulumi.String("mysql.com"),
					Port: pulumi.Float64(3306),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = cyral.NewRepository(ctx, "mysql-repository2", &cyral.RepositoryArgs{
			Type: pulumi.String("mysql"),
			RepoNodes: cyral.RepositoryRepoNodeArray{
				&cyral.RepositoryRepoNodeArgs{
					Host: pulumi.String("mysql2.com"),
					Port: pulumi.Float64(3306),
				},
			},
		})
		if err != nil {
			return err
		}
		specific_mysql_repo, err := cyral.LookupRepository(ctx, &cyral.LookupRepositoryArgs{
			Name: pulumi.StringRef("tf-provider-mysql-repository1"),
			Type: pulumi.StringRef("mysql"),
		}, nil)
		if err != nil {
			return err
		}
		all_mysql_repos, err := cyral.LookupRepository(ctx, &cyral.LookupRepositoryArgs{
			Type: pulumi.StringRef("mysql"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("mysql1RepoId", specific_mysql_repo.RepositoryLists[0].Id)
		ctx.Export("allMysqlRepoIds", all_mysql_repos.RepositoryLists)
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Cyral = Pulumi.Cyral;

return await Deployment.RunAsync(() => 
{
    var mongo_repository = new Cyral.Repository("mongo-repository", new()
    {
        Type = "mongodb",
        RepoNodes = new[]
        {
            new Cyral.Inputs.RepositoryRepoNodeArgs
            {
                Host = "mongodb.cyral.com",
                Port = 27017,
            },
        },
        MongodbSettings = new Cyral.Inputs.RepositoryMongodbSettingsArgs
        {
            ServerType = "standalone",
        },
    });

    var mysql_repository1 = new Cyral.Repository("mysql-repository1", new()
    {
        Type = "mysql",
        RepoNodes = new[]
        {
            new Cyral.Inputs.RepositoryRepoNodeArgs
            {
                Host = "mysql.com",
                Port = 3306,
            },
        },
    });

    var mysql_repository2 = new Cyral.Repository("mysql-repository2", new()
    {
        Type = "mysql",
        RepoNodes = new[]
        {
            new Cyral.Inputs.RepositoryRepoNodeArgs
            {
                Host = "mysql2.com",
                Port = 3306,
            },
        },
    });

    var specific_mysql_repo = Cyral.GetRepository.Invoke(new()
    {
        Name = "tf-provider-mysql-repository1",
        Type = "mysql",
    });

    var all_mysql_repos = Cyral.GetRepository.Invoke(new()
    {
        Type = "mysql",
    });

    return new Dictionary<string, object?>
    {
        ["mysql1RepoId"] = specific_mysql_repo.Apply(specific_mysql_repo => specific_mysql_repo.Apply(getRepositoryResult => getRepositoryResult.RepositoryLists[0]?.Id)),
        ["allMysqlRepoIds"] = all_mysql_repos.Apply(all_mysql_repos => all_mysql_repos.Apply(getRepositoryResult => getRepositoryResult.RepositoryLists)),
    };
});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.cyral.Repository;
import com.pulumi.cyral.RepositoryArgs;
import com.pulumi.cyral.inputs.RepositoryRepoNodeArgs;
import com.pulumi.cyral.inputs.RepositoryMongodbSettingsArgs;
import com.pulumi.cyral.CyralFunctions;
import com.pulumi.cyral.inputs.GetRepositoryArgs;
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 mongo_repository = new Repository("mongo-repository", RepositoryArgs.builder()
            .type("mongodb")
            .repoNodes(RepositoryRepoNodeArgs.builder()
                .host("mongodb.cyral.com")
                .port(27017)
                .build())
            .mongodbSettings(RepositoryMongodbSettingsArgs.builder()
                .serverType("standalone")
                .build())
            .build());

        var mysql_repository1 = new Repository("mysql-repository1", RepositoryArgs.builder()
            .type("mysql")
            .repoNodes(RepositoryRepoNodeArgs.builder()
                .host("mysql.com")
                .port(3306)
                .build())
            .build());

        var mysql_repository2 = new Repository("mysql-repository2", RepositoryArgs.builder()
            .type("mysql")
            .repoNodes(RepositoryRepoNodeArgs.builder()
                .host("mysql2.com")
                .port(3306)
                .build())
            .build());

        final var specific-mysql-repo = CyralFunctions.getRepository(GetRepositoryArgs.builder()
            .name("tf-provider-mysql-repository1")
            .type("mysql")
            .build());

        final var all-mysql-repos = CyralFunctions.getRepository(GetRepositoryArgs.builder()
            .type("mysql")
            .build());

        ctx.export("mysql1RepoId", specific_mysql_repo.repositoryLists()[0].id());
        ctx.export("allMysqlRepoIds", all_mysql_repos.repositoryLists());
    }
}
Copy
resources:
  mongo-repository:
    type: cyral:Repository
    properties:
      type: mongodb
      repoNodes:
        - host: mongodb.cyral.com
          port: 27017
      mongodbSettings:
        serverType: standalone
  mysql-repository1:
    type: cyral:Repository
    properties:
      type: mysql
      repoNodes:
        - host: mysql.com
          port: 3306
  mysql-repository2:
    type: cyral:Repository
    properties:
      type: mysql
      repoNodes:
        - host: mysql2.com
          port: 3306
variables:
  specific-mysql-repo:
    fn::invoke:
      function: cyral:getRepository
      arguments:
        name: tf-provider-mysql-repository1
        type: mysql
  all-mysql-repos:
    fn::invoke:
      function: cyral:getRepository
      arguments:
        type: mysql
outputs:
  mysql1RepoId: ${["specific-mysql-repo"].repositoryLists[0].id}
  allMysqlRepoIds: ${["all-mysql-repos"].repositoryLists}
Copy

Using getRepository

Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

function getRepository(args: GetRepositoryArgs, opts?: InvokeOptions): Promise<GetRepositoryResult>
function getRepositoryOutput(args: GetRepositoryOutputArgs, opts?: InvokeOptions): Output<GetRepositoryResult>
Copy
def get_repository(id: Optional[str] = None,
                   name: Optional[str] = None,
                   type: Optional[str] = None,
                   opts: Optional[InvokeOptions] = None) -> GetRepositoryResult
def get_repository_output(id: Optional[pulumi.Input[str]] = None,
                   name: Optional[pulumi.Input[str]] = None,
                   type: Optional[pulumi.Input[str]] = None,
                   opts: Optional[InvokeOptions] = None) -> Output[GetRepositoryResult]
Copy
func LookupRepository(ctx *Context, args *LookupRepositoryArgs, opts ...InvokeOption) (*LookupRepositoryResult, error)
func LookupRepositoryOutput(ctx *Context, args *LookupRepositoryOutputArgs, opts ...InvokeOption) LookupRepositoryResultOutput
Copy

> Note: This function is named LookupRepository in the Go SDK.

public static class GetRepository 
{
    public static Task<GetRepositoryResult> InvokeAsync(GetRepositoryArgs args, InvokeOptions? opts = null)
    public static Output<GetRepositoryResult> Invoke(GetRepositoryInvokeArgs args, InvokeOptions? opts = null)
}
Copy
public static CompletableFuture<GetRepositoryResult> getRepository(GetRepositoryArgs args, InvokeOptions options)
public static Output<GetRepositoryResult> getRepository(GetRepositoryArgs args, InvokeOptions options)
Copy
fn::invoke:
  function: cyral:index/getRepository:getRepository
  arguments:
    # arguments dictionary
Copy

The following arguments are supported:

Id string
Name string
Type string
Id string
Name string
Type string
id String
name String
type String
id string
name string
type string
id str
name str
type str
id String
name String
type String

getRepository Result

The following output properties are available:

Supporting Types

GetRepositoryRepositoryList

ConnectionDrainings This property is required. List<GetRepositoryRepositoryListConnectionDraining>
Id This property is required. string
Labels This property is required. List<string>
MongodbSettings This property is required. List<GetRepositoryRepositoryListMongodbSetting>
Name This property is required. string
RepoNodes This property is required. List<GetRepositoryRepositoryListRepoNode>
Type This property is required. string
ConnectionDrainings This property is required. []GetRepositoryRepositoryListConnectionDraining
Id This property is required. string
Labels This property is required. []string
MongodbSettings This property is required. []GetRepositoryRepositoryListMongodbSetting
Name This property is required. string
RepoNodes This property is required. []GetRepositoryRepositoryListRepoNode
Type This property is required. string
connectionDrainings This property is required. List<GetRepositoryRepositoryListConnectionDraining>
id This property is required. String
labels This property is required. List<String>
mongodbSettings This property is required. List<GetRepositoryRepositoryListMongodbSetting>
name This property is required. String
repoNodes This property is required. List<GetRepositoryRepositoryListRepoNode>
type This property is required. String
connectionDrainings This property is required. GetRepositoryRepositoryListConnectionDraining[]
id This property is required. string
labels This property is required. string[]
mongodbSettings This property is required. GetRepositoryRepositoryListMongodbSetting[]
name This property is required. string
repoNodes This property is required. GetRepositoryRepositoryListRepoNode[]
type This property is required. string
connection_drainings This property is required. Sequence[GetRepositoryRepositoryListConnectionDraining]
id This property is required. str
labels This property is required. Sequence[str]
mongodb_settings This property is required. Sequence[GetRepositoryRepositoryListMongodbSetting]
name This property is required. str
repo_nodes This property is required. Sequence[GetRepositoryRepositoryListRepoNode]
type This property is required. str
connectionDrainings This property is required. List<Property Map>
id This property is required. String
labels This property is required. List<String>
mongodbSettings This property is required. List<Property Map>
name This property is required. String
repoNodes This property is required. List<Property Map>
type This property is required. String

GetRepositoryRepositoryListConnectionDraining

Auto This property is required. bool
WaitTime This property is required. double
Auto This property is required. bool
WaitTime This property is required. float64
auto This property is required. Boolean
waitTime This property is required. Double
auto This property is required. boolean
waitTime This property is required. number
auto This property is required. bool
wait_time This property is required. float
auto This property is required. Boolean
waitTime This property is required. Number

GetRepositoryRepositoryListMongodbSetting

Flavor This property is required. string
ReplicaSetName This property is required. string
ServerType This property is required. string
SrvRecordName This property is required. string
Flavor This property is required. string
ReplicaSetName This property is required. string
ServerType This property is required. string
SrvRecordName This property is required. string
flavor This property is required. String
replicaSetName This property is required. String
serverType This property is required. String
srvRecordName This property is required. String
flavor This property is required. string
replicaSetName This property is required. string
serverType This property is required. string
srvRecordName This property is required. string
flavor This property is required. str
replica_set_name This property is required. str
server_type This property is required. str
srv_record_name This property is required. str
flavor This property is required. String
replicaSetName This property is required. String
serverType This property is required. String
srvRecordName This property is required. String

GetRepositoryRepositoryListRepoNode

Dynamic This property is required. bool
Host This property is required. string
Name This property is required. string
Port This property is required. double
Dynamic This property is required. bool
Host This property is required. string
Name This property is required. string
Port This property is required. float64
dynamic This property is required. Boolean
host This property is required. String
name This property is required. String
port This property is required. Double
dynamic This property is required. boolean
host This property is required. string
name This property is required. string
port This property is required. number
dynamic This property is required. bool
host This property is required. str
name This property is required. str
port This property is required. float
dynamic This property is required. Boolean
host This property is required. String
name This property is required. String
port This property is required. Number

Package Details

Repository
cyral cyralinc/terraform-provider-cyral
License
Notes
This Pulumi package is based on the cyral Terraform Provider.