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

cyral.Repository

Explore with Pulumi AI

cyral logo
cyral 4.16.3 published on Monday, Apr 14, 2025 by cyralinc

    # cyral.Repository (Resource)

    Manages repositories.

    Import ID syntax is {repository_id}.

    Example Usage

    More complex examples using cyral.Repository resource are available in the Guides section:

    • Create an AWS EC2 sidecar to protect PostgreSQL and MySQL databases
    • Setup SSO access to MongoDB cluster using Okta IdP
    import * as pulumi from "@pulumi/pulumi";
    import * as cyral from "@pulumi/cyral";
    
    //## Minimal Repository
    const minimalRepo = new cyral.Repository("minimalRepo", {
        mongodbSettings: {
            serverType: "standalone",
        },
        repoNodes: [{
            host: "mongodb.cyral.com",
            name: "node-1",
            port: 27017,
        }],
        type: "mongodb",
    });
    //## Repository with Connection Draining and Labels
    const repoWithConnDraining = new cyral.Repository("repoWithConnDraining", {
        connectionDraining: {
            auto: true,
            waitTime: 30,
        },
        labels: [
            "single-node",
            "us-east-1",
        ],
        mongodbSettings: {
            serverType: "standalone",
        },
        repoNodes: [{
            host: "mongodb.cyral.com",
            name: "node-1",
            port: 27017,
        }],
        type: "mongodb",
    });
    //## Multi-Node MongoDB Repository with Replicaset
    const multiNodeMongoRepo = new cyral.Repository("multiNodeMongoRepo", {
        labels: [
            "multi-node",
            "us-east-2",
        ],
        mongodbSettings: {
            replicaSetName: "some-replica-set",
            serverType: "replicaset",
        },
        repoNodes: [
            {
                host: "mongodb-node1.cyral.com",
                name: "node-1",
                port: 27017,
            },
            {
                host: "mongodb-node2.cyral.com",
                name: "node-2",
                port: 27017,
            },
            {
                dynamic: true,
                name: "node-3",
            },
        ],
        type: "mongodb",
    });
    
    import pulumi
    import pulumi_cyral as cyral
    
    ### Minimal Repository
    minimal_repo = cyral.Repository("minimalRepo",
        mongodb_settings={
            "server_type": "standalone",
        },
        repo_nodes=[{
            "host": "mongodb.cyral.com",
            "name": "node-1",
            "port": 27017,
        }],
        type="mongodb")
    ### Repository with Connection Draining and Labels
    repo_with_conn_draining = cyral.Repository("repoWithConnDraining",
        connection_draining={
            "auto": True,
            "wait_time": 30,
        },
        labels=[
            "single-node",
            "us-east-1",
        ],
        mongodb_settings={
            "server_type": "standalone",
        },
        repo_nodes=[{
            "host": "mongodb.cyral.com",
            "name": "node-1",
            "port": 27017,
        }],
        type="mongodb")
    ### Multi-Node MongoDB Repository with Replicaset
    multi_node_mongo_repo = cyral.Repository("multiNodeMongoRepo",
        labels=[
            "multi-node",
            "us-east-2",
        ],
        mongodb_settings={
            "replica_set_name": "some-replica-set",
            "server_type": "replicaset",
        },
        repo_nodes=[
            {
                "host": "mongodb-node1.cyral.com",
                "name": "node-1",
                "port": 27017,
            },
            {
                "host": "mongodb-node2.cyral.com",
                "name": "node-2",
                "port": 27017,
            },
            {
                "dynamic": True,
                "name": "node-3",
            },
        ],
        type="mongodb")
    
    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 {
    		// ## Minimal Repository
    		_, err := cyral.NewRepository(ctx, "minimalRepo", &cyral.RepositoryArgs{
    			MongodbSettings: &cyral.RepositoryMongodbSettingsArgs{
    				ServerType: pulumi.String("standalone"),
    			},
    			RepoNodes: cyral.RepositoryRepoNodeArray{
    				&cyral.RepositoryRepoNodeArgs{
    					Host: pulumi.String("mongodb.cyral.com"),
    					Name: pulumi.String("node-1"),
    					Port: pulumi.Float64(27017),
    				},
    			},
    			Type: pulumi.String("mongodb"),
    		})
    		if err != nil {
    			return err
    		}
    		// ## Repository with Connection Draining and Labels
    		_, err = cyral.NewRepository(ctx, "repoWithConnDraining", &cyral.RepositoryArgs{
    			ConnectionDraining: &cyral.RepositoryConnectionDrainingArgs{
    				Auto:     pulumi.Bool(true),
    				WaitTime: pulumi.Float64(30),
    			},
    			Labels: pulumi.StringArray{
    				pulumi.String("single-node"),
    				pulumi.String("us-east-1"),
    			},
    			MongodbSettings: &cyral.RepositoryMongodbSettingsArgs{
    				ServerType: pulumi.String("standalone"),
    			},
    			RepoNodes: cyral.RepositoryRepoNodeArray{
    				&cyral.RepositoryRepoNodeArgs{
    					Host: pulumi.String("mongodb.cyral.com"),
    					Name: pulumi.String("node-1"),
    					Port: pulumi.Float64(27017),
    				},
    			},
    			Type: pulumi.String("mongodb"),
    		})
    		if err != nil {
    			return err
    		}
    		// ## Multi-Node MongoDB Repository with Replicaset
    		_, err = cyral.NewRepository(ctx, "multiNodeMongoRepo", &cyral.RepositoryArgs{
    			Labels: pulumi.StringArray{
    				pulumi.String("multi-node"),
    				pulumi.String("us-east-2"),
    			},
    			MongodbSettings: &cyral.RepositoryMongodbSettingsArgs{
    				ReplicaSetName: pulumi.String("some-replica-set"),
    				ServerType:     pulumi.String("replicaset"),
    			},
    			RepoNodes: cyral.RepositoryRepoNodeArray{
    				&cyral.RepositoryRepoNodeArgs{
    					Host: pulumi.String("mongodb-node1.cyral.com"),
    					Name: pulumi.String("node-1"),
    					Port: pulumi.Float64(27017),
    				},
    				&cyral.RepositoryRepoNodeArgs{
    					Host: pulumi.String("mongodb-node2.cyral.com"),
    					Name: pulumi.String("node-2"),
    					Port: pulumi.Float64(27017),
    				},
    				&cyral.RepositoryRepoNodeArgs{
    					Dynamic: pulumi.Bool(true),
    					Name:    pulumi.String("node-3"),
    				},
    			},
    			Type: pulumi.String("mongodb"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Cyral = Pulumi.Cyral;
    
    return await Deployment.RunAsync(() => 
    {
        //## Minimal Repository
        var minimalRepo = new Cyral.Repository("minimalRepo", new()
        {
            MongodbSettings = new Cyral.Inputs.RepositoryMongodbSettingsArgs
            {
                ServerType = "standalone",
            },
            RepoNodes = new[]
            {
                new Cyral.Inputs.RepositoryRepoNodeArgs
                {
                    Host = "mongodb.cyral.com",
                    Name = "node-1",
                    Port = 27017,
                },
            },
            Type = "mongodb",
        });
    
        //## Repository with Connection Draining and Labels
        var repoWithConnDraining = new Cyral.Repository("repoWithConnDraining", new()
        {
            ConnectionDraining = new Cyral.Inputs.RepositoryConnectionDrainingArgs
            {
                Auto = true,
                WaitTime = 30,
            },
            Labels = new[]
            {
                "single-node",
                "us-east-1",
            },
            MongodbSettings = new Cyral.Inputs.RepositoryMongodbSettingsArgs
            {
                ServerType = "standalone",
            },
            RepoNodes = new[]
            {
                new Cyral.Inputs.RepositoryRepoNodeArgs
                {
                    Host = "mongodb.cyral.com",
                    Name = "node-1",
                    Port = 27017,
                },
            },
            Type = "mongodb",
        });
    
        //## Multi-Node MongoDB Repository with Replicaset
        var multiNodeMongoRepo = new Cyral.Repository("multiNodeMongoRepo", new()
        {
            Labels = new[]
            {
                "multi-node",
                "us-east-2",
            },
            MongodbSettings = new Cyral.Inputs.RepositoryMongodbSettingsArgs
            {
                ReplicaSetName = "some-replica-set",
                ServerType = "replicaset",
            },
            RepoNodes = new[]
            {
                new Cyral.Inputs.RepositoryRepoNodeArgs
                {
                    Host = "mongodb-node1.cyral.com",
                    Name = "node-1",
                    Port = 27017,
                },
                new Cyral.Inputs.RepositoryRepoNodeArgs
                {
                    Host = "mongodb-node2.cyral.com",
                    Name = "node-2",
                    Port = 27017,
                },
                new Cyral.Inputs.RepositoryRepoNodeArgs
                {
                    Dynamic = true,
                    Name = "node-3",
                },
            },
            Type = "mongodb",
        });
    
    });
    
    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.RepositoryMongodbSettingsArgs;
    import com.pulumi.cyral.inputs.RepositoryRepoNodeArgs;
    import com.pulumi.cyral.inputs.RepositoryConnectionDrainingArgs;
    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) {
            //## Minimal Repository
            var minimalRepo = new Repository("minimalRepo", RepositoryArgs.builder()
                .mongodbSettings(RepositoryMongodbSettingsArgs.builder()
                    .serverType("standalone")
                    .build())
                .repoNodes(RepositoryRepoNodeArgs.builder()
                    .host("mongodb.cyral.com")
                    .name("node-1")
                    .port(27017)
                    .build())
                .type("mongodb")
                .build());
    
            //## Repository with Connection Draining and Labels
            var repoWithConnDraining = new Repository("repoWithConnDraining", RepositoryArgs.builder()
                .connectionDraining(RepositoryConnectionDrainingArgs.builder()
                    .auto(true)
                    .waitTime(30)
                    .build())
                .labels(            
                    "single-node",
                    "us-east-1")
                .mongodbSettings(RepositoryMongodbSettingsArgs.builder()
                    .serverType("standalone")
                    .build())
                .repoNodes(RepositoryRepoNodeArgs.builder()
                    .host("mongodb.cyral.com")
                    .name("node-1")
                    .port(27017)
                    .build())
                .type("mongodb")
                .build());
    
            //## Multi-Node MongoDB Repository with Replicaset
            var multiNodeMongoRepo = new Repository("multiNodeMongoRepo", RepositoryArgs.builder()
                .labels(            
                    "multi-node",
                    "us-east-2")
                .mongodbSettings(RepositoryMongodbSettingsArgs.builder()
                    .replicaSetName("some-replica-set")
                    .serverType("replicaset")
                    .build())
                .repoNodes(            
                    RepositoryRepoNodeArgs.builder()
                        .host("mongodb-node1.cyral.com")
                        .name("node-1")
                        .port(27017)
                        .build(),
                    RepositoryRepoNodeArgs.builder()
                        .host("mongodb-node2.cyral.com")
                        .name("node-2")
                        .port(27017)
                        .build(),
                    RepositoryRepoNodeArgs.builder()
                        .dynamic(true)
                        .name("node-3")
                        .build())
                .type("mongodb")
                .build());
    
        }
    }
    
    resources:
      ## Minimal Repository
      minimalRepo:
        type: cyral:Repository
        properties:
          mongodbSettings:
            serverType: standalone
          repoNodes:
            - host: mongodb.cyral.com
              name: node-1
              port: 27017
          type: mongodb
      ## Repository with Connection Draining and Labels
      repoWithConnDraining:
        type: cyral:Repository
        properties:
          connectionDraining:
            auto: true
            waitTime: 30
          labels:
            - single-node
            - us-east-1
          mongodbSettings:
            serverType: standalone
          repoNodes:
            - host: mongodb.cyral.com
              name: node-1
              port: 27017
          type: mongodb
      ## Multi-Node MongoDB Repository with Replicaset
      multiNodeMongoRepo:
        type: cyral:Repository
        properties:
          labels:
            - multi-node
            - us-east-2
          mongodbSettings:
            replicaSetName: some-replica-set
            serverType: replicaset
          repoNodes:
            - host: mongodb-node1.cyral.com
              name: node-1
              port: 27017
            - host: mongodb-node2.cyral.com
              name: node-2
              port: 27017
            - dynamic: true
              name: node-3
          type: mongodb
    

    Create Repository Resource

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

    Constructor syntax

    new Repository(name: string, args: RepositoryArgs, opts?: CustomResourceOptions);
    @overload
    def Repository(resource_name: str,
                   args: RepositoryArgs,
                   opts: Optional[ResourceOptions] = None)
    
    @overload
    def Repository(resource_name: str,
                   opts: Optional[ResourceOptions] = None,
                   repo_nodes: Optional[Sequence[RepositoryRepoNodeArgs]] = None,
                   type: Optional[str] = None,
                   connection_draining: Optional[RepositoryConnectionDrainingArgs] = None,
                   labels: Optional[Sequence[str]] = None,
                   mongodb_settings: Optional[RepositoryMongodbSettingsArgs] = None,
                   name: Optional[str] = None,
                   redshift_settings: Optional[RepositoryRedshiftSettingsArgs] = None)
    func NewRepository(ctx *Context, name string, args RepositoryArgs, opts ...ResourceOption) (*Repository, error)
    public Repository(string name, RepositoryArgs args, CustomResourceOptions? opts = null)
    public Repository(String name, RepositoryArgs args)
    public Repository(String name, RepositoryArgs args, CustomResourceOptions options)
    
    type: cyral:Repository
    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 RepositoryArgs
    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 RepositoryArgs
    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 RepositoryArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args RepositoryArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args RepositoryArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var repositoryResource = new Cyral.Repository("repositoryResource", new()
    {
        RepoNodes = new[]
        {
            new Cyral.Inputs.RepositoryRepoNodeArgs
            {
                Dynamic = false,
                Host = "string",
                Name = "string",
                Port = 0,
            },
        },
        Type = "string",
        ConnectionDraining = new Cyral.Inputs.RepositoryConnectionDrainingArgs
        {
            Auto = false,
            WaitTime = 0,
        },
        Labels = new[]
        {
            "string",
        },
        MongodbSettings = new Cyral.Inputs.RepositoryMongodbSettingsArgs
        {
            ServerType = "string",
            Flavor = "string",
            ReplicaSetName = "string",
            SrvRecordName = "string",
        },
        Name = "string",
        RedshiftSettings = new Cyral.Inputs.RepositoryRedshiftSettingsArgs
        {
            AwsRegion = "string",
            ClusterIdentifier = "string",
            WorkgroupName = "string",
        },
    });
    
    example, err := cyral.NewRepository(ctx, "repositoryResource", &cyral.RepositoryArgs{
    	RepoNodes: cyral.RepositoryRepoNodeArray{
    		&cyral.RepositoryRepoNodeArgs{
    			Dynamic: pulumi.Bool(false),
    			Host:    pulumi.String("string"),
    			Name:    pulumi.String("string"),
    			Port:    pulumi.Float64(0),
    		},
    	},
    	Type: pulumi.String("string"),
    	ConnectionDraining: &cyral.RepositoryConnectionDrainingArgs{
    		Auto:     pulumi.Bool(false),
    		WaitTime: pulumi.Float64(0),
    	},
    	Labels: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	MongodbSettings: &cyral.RepositoryMongodbSettingsArgs{
    		ServerType:     pulumi.String("string"),
    		Flavor:         pulumi.String("string"),
    		ReplicaSetName: pulumi.String("string"),
    		SrvRecordName:  pulumi.String("string"),
    	},
    	Name: pulumi.String("string"),
    	RedshiftSettings: &cyral.RepositoryRedshiftSettingsArgs{
    		AwsRegion:         pulumi.String("string"),
    		ClusterIdentifier: pulumi.String("string"),
    		WorkgroupName:     pulumi.String("string"),
    	},
    })
    
    var repositoryResource = new Repository("repositoryResource", RepositoryArgs.builder()
        .repoNodes(RepositoryRepoNodeArgs.builder()
            .dynamic(false)
            .host("string")
            .name("string")
            .port(0)
            .build())
        .type("string")
        .connectionDraining(RepositoryConnectionDrainingArgs.builder()
            .auto(false)
            .waitTime(0)
            .build())
        .labels("string")
        .mongodbSettings(RepositoryMongodbSettingsArgs.builder()
            .serverType("string")
            .flavor("string")
            .replicaSetName("string")
            .srvRecordName("string")
            .build())
        .name("string")
        .redshiftSettings(RepositoryRedshiftSettingsArgs.builder()
            .awsRegion("string")
            .clusterIdentifier("string")
            .workgroupName("string")
            .build())
        .build());
    
    repository_resource = cyral.Repository("repositoryResource",
        repo_nodes=[{
            "dynamic": False,
            "host": "string",
            "name": "string",
            "port": 0,
        }],
        type="string",
        connection_draining={
            "auto": False,
            "wait_time": 0,
        },
        labels=["string"],
        mongodb_settings={
            "server_type": "string",
            "flavor": "string",
            "replica_set_name": "string",
            "srv_record_name": "string",
        },
        name="string",
        redshift_settings={
            "aws_region": "string",
            "cluster_identifier": "string",
            "workgroup_name": "string",
        })
    
    const repositoryResource = new cyral.Repository("repositoryResource", {
        repoNodes: [{
            dynamic: false,
            host: "string",
            name: "string",
            port: 0,
        }],
        type: "string",
        connectionDraining: {
            auto: false,
            waitTime: 0,
        },
        labels: ["string"],
        mongodbSettings: {
            serverType: "string",
            flavor: "string",
            replicaSetName: "string",
            srvRecordName: "string",
        },
        name: "string",
        redshiftSettings: {
            awsRegion: "string",
            clusterIdentifier: "string",
            workgroupName: "string",
        },
    });
    
    type: cyral:Repository
    properties:
        connectionDraining:
            auto: false
            waitTime: 0
        labels:
            - string
        mongodbSettings:
            flavor: string
            replicaSetName: string
            serverType: string
            srvRecordName: string
        name: string
        redshiftSettings:
            awsRegion: string
            clusterIdentifier: string
            workgroupName: string
        repoNodes:
            - dynamic: false
              host: string
              name: string
              port: 0
        type: string
    

    Repository 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 Repository resource accepts the following input properties:

    RepoNodes List<RepositoryRepoNode>
    List of nodes for this repository.
    Type string
    Repository type. List of supported types: - denodo - dremio - dynamodb - dynamodbstreams - galera - mariadb

    • mongodb - mysql - oracle - postgresql - redshift - s3 - snowflake - sqlserver
    ConnectionDraining RepositoryConnectionDraining
    Parameters related to connection draining.
    Labels List<string>
    Labels enable you to categorize your repository.
    MongodbSettings RepositoryMongodbSettings
    Parameters related to MongoDB repositories.
    Name string
    Repository name that will be used internally in the control plane (ex: your_repo_name).
    RedshiftSettings RepositoryRedshiftSettings
    Parameters related to Redshift repositories.
    RepoNodes []RepositoryRepoNodeArgs
    List of nodes for this repository.
    Type string
    Repository type. List of supported types: - denodo - dremio - dynamodb - dynamodbstreams - galera - mariadb

    • mongodb - mysql - oracle - postgresql - redshift - s3 - snowflake - sqlserver
    ConnectionDraining RepositoryConnectionDrainingArgs
    Parameters related to connection draining.
    Labels []string
    Labels enable you to categorize your repository.
    MongodbSettings RepositoryMongodbSettingsArgs
    Parameters related to MongoDB repositories.
    Name string
    Repository name that will be used internally in the control plane (ex: your_repo_name).
    RedshiftSettings RepositoryRedshiftSettingsArgs
    Parameters related to Redshift repositories.
    repoNodes List<RepositoryRepoNode>
    List of nodes for this repository.
    type String
    Repository type. List of supported types: - denodo - dremio - dynamodb - dynamodbstreams - galera - mariadb

    • mongodb - mysql - oracle - postgresql - redshift - s3 - snowflake - sqlserver
    connectionDraining RepositoryConnectionDraining
    Parameters related to connection draining.
    labels List<String>
    Labels enable you to categorize your repository.
    mongodbSettings RepositoryMongodbSettings
    Parameters related to MongoDB repositories.
    name String
    Repository name that will be used internally in the control plane (ex: your_repo_name).
    redshiftSettings RepositoryRedshiftSettings
    Parameters related to Redshift repositories.
    repoNodes RepositoryRepoNode[]
    List of nodes for this repository.
    type string
    Repository type. List of supported types: - denodo - dremio - dynamodb - dynamodbstreams - galera - mariadb

    • mongodb - mysql - oracle - postgresql - redshift - s3 - snowflake - sqlserver
    connectionDraining RepositoryConnectionDraining
    Parameters related to connection draining.
    labels string[]
    Labels enable you to categorize your repository.
    mongodbSettings RepositoryMongodbSettings
    Parameters related to MongoDB repositories.
    name string
    Repository name that will be used internally in the control plane (ex: your_repo_name).
    redshiftSettings RepositoryRedshiftSettings
    Parameters related to Redshift repositories.
    repo_nodes Sequence[RepositoryRepoNodeArgs]
    List of nodes for this repository.
    type str
    Repository type. List of supported types: - denodo - dremio - dynamodb - dynamodbstreams - galera - mariadb

    • mongodb - mysql - oracle - postgresql - redshift - s3 - snowflake - sqlserver
    connection_draining RepositoryConnectionDrainingArgs
    Parameters related to connection draining.
    labels Sequence[str]
    Labels enable you to categorize your repository.
    mongodb_settings RepositoryMongodbSettingsArgs
    Parameters related to MongoDB repositories.
    name str
    Repository name that will be used internally in the control plane (ex: your_repo_name).
    redshift_settings RepositoryRedshiftSettingsArgs
    Parameters related to Redshift repositories.
    repoNodes List<Property Map>
    List of nodes for this repository.
    type String
    Repository type. List of supported types: - denodo - dremio - dynamodb - dynamodbstreams - galera - mariadb

    • mongodb - mysql - oracle - postgresql - redshift - s3 - snowflake - sqlserver
    connectionDraining Property Map
    Parameters related to connection draining.
    labels List<String>
    Labels enable you to categorize your repository.
    mongodbSettings Property Map
    Parameters related to MongoDB repositories.
    name String
    Repository name that will be used internally in the control plane (ex: your_repo_name).
    redshiftSettings Property Map
    Parameters related to Redshift repositories.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Repository 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 Repository Resource

    Get an existing Repository 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?: RepositoryState, opts?: CustomResourceOptions): Repository
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            connection_draining: Optional[RepositoryConnectionDrainingArgs] = None,
            labels: Optional[Sequence[str]] = None,
            mongodb_settings: Optional[RepositoryMongodbSettingsArgs] = None,
            name: Optional[str] = None,
            redshift_settings: Optional[RepositoryRedshiftSettingsArgs] = None,
            repo_nodes: Optional[Sequence[RepositoryRepoNodeArgs]] = None,
            type: Optional[str] = None) -> Repository
    func GetRepository(ctx *Context, name string, id IDInput, state *RepositoryState, opts ...ResourceOption) (*Repository, error)
    public static Repository Get(string name, Input<string> id, RepositoryState? state, CustomResourceOptions? opts = null)
    public static Repository get(String name, Output<String> id, RepositoryState state, CustomResourceOptions options)
    resources:  _:    type: cyral:Repository    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:
    ConnectionDraining RepositoryConnectionDraining
    Parameters related to connection draining.
    Labels List<string>
    Labels enable you to categorize your repository.
    MongodbSettings RepositoryMongodbSettings
    Parameters related to MongoDB repositories.
    Name string
    Repository name that will be used internally in the control plane (ex: your_repo_name).
    RedshiftSettings RepositoryRedshiftSettings
    Parameters related to Redshift repositories.
    RepoNodes List<RepositoryRepoNode>
    List of nodes for this repository.
    Type string
    Repository type. List of supported types: - denodo - dremio - dynamodb - dynamodbstreams - galera - mariadb

    • mongodb - mysql - oracle - postgresql - redshift - s3 - snowflake - sqlserver
    ConnectionDraining RepositoryConnectionDrainingArgs
    Parameters related to connection draining.
    Labels []string
    Labels enable you to categorize your repository.
    MongodbSettings RepositoryMongodbSettingsArgs
    Parameters related to MongoDB repositories.
    Name string
    Repository name that will be used internally in the control plane (ex: your_repo_name).
    RedshiftSettings RepositoryRedshiftSettingsArgs
    Parameters related to Redshift repositories.
    RepoNodes []RepositoryRepoNodeArgs
    List of nodes for this repository.
    Type string
    Repository type. List of supported types: - denodo - dremio - dynamodb - dynamodbstreams - galera - mariadb

    • mongodb - mysql - oracle - postgresql - redshift - s3 - snowflake - sqlserver
    connectionDraining RepositoryConnectionDraining
    Parameters related to connection draining.
    labels List<String>
    Labels enable you to categorize your repository.
    mongodbSettings RepositoryMongodbSettings
    Parameters related to MongoDB repositories.
    name String
    Repository name that will be used internally in the control plane (ex: your_repo_name).
    redshiftSettings RepositoryRedshiftSettings
    Parameters related to Redshift repositories.
    repoNodes List<RepositoryRepoNode>
    List of nodes for this repository.
    type String
    Repository type. List of supported types: - denodo - dremio - dynamodb - dynamodbstreams - galera - mariadb

    • mongodb - mysql - oracle - postgresql - redshift - s3 - snowflake - sqlserver
    connectionDraining RepositoryConnectionDraining
    Parameters related to connection draining.
    labels string[]
    Labels enable you to categorize your repository.
    mongodbSettings RepositoryMongodbSettings
    Parameters related to MongoDB repositories.
    name string
    Repository name that will be used internally in the control plane (ex: your_repo_name).
    redshiftSettings RepositoryRedshiftSettings
    Parameters related to Redshift repositories.
    repoNodes RepositoryRepoNode[]
    List of nodes for this repository.
    type string
    Repository type. List of supported types: - denodo - dremio - dynamodb - dynamodbstreams - galera - mariadb

    • mongodb - mysql - oracle - postgresql - redshift - s3 - snowflake - sqlserver
    connection_draining RepositoryConnectionDrainingArgs
    Parameters related to connection draining.
    labels Sequence[str]
    Labels enable you to categorize your repository.
    mongodb_settings RepositoryMongodbSettingsArgs
    Parameters related to MongoDB repositories.
    name str
    Repository name that will be used internally in the control plane (ex: your_repo_name).
    redshift_settings RepositoryRedshiftSettingsArgs
    Parameters related to Redshift repositories.
    repo_nodes Sequence[RepositoryRepoNodeArgs]
    List of nodes for this repository.
    type str
    Repository type. List of supported types: - denodo - dremio - dynamodb - dynamodbstreams - galera - mariadb

    • mongodb - mysql - oracle - postgresql - redshift - s3 - snowflake - sqlserver
    connectionDraining Property Map
    Parameters related to connection draining.
    labels List<String>
    Labels enable you to categorize your repository.
    mongodbSettings Property Map
    Parameters related to MongoDB repositories.
    name String
    Repository name that will be used internally in the control plane (ex: your_repo_name).
    redshiftSettings Property Map
    Parameters related to Redshift repositories.
    repoNodes List<Property Map>
    List of nodes for this repository.
    type String
    Repository type. List of supported types: - denodo - dremio - dynamodb - dynamodbstreams - galera - mariadb

    • mongodb - mysql - oracle - postgresql - redshift - s3 - snowflake - sqlserver

    Supporting Types

    RepositoryConnectionDraining, RepositoryConnectionDrainingArgs

    Auto bool
    Whether connections should be drained automatically after a listener dies.
    WaitTime double
    Seconds to wait to let connections drain before starting to kill all the connections, if auto is set to true.
    Auto bool
    Whether connections should be drained automatically after a listener dies.
    WaitTime float64
    Seconds to wait to let connections drain before starting to kill all the connections, if auto is set to true.
    auto Boolean
    Whether connections should be drained automatically after a listener dies.
    waitTime Double
    Seconds to wait to let connections drain before starting to kill all the connections, if auto is set to true.
    auto boolean
    Whether connections should be drained automatically after a listener dies.
    waitTime number
    Seconds to wait to let connections drain before starting to kill all the connections, if auto is set to true.
    auto bool
    Whether connections should be drained automatically after a listener dies.
    wait_time float
    Seconds to wait to let connections drain before starting to kill all the connections, if auto is set to true.
    auto Boolean
    Whether connections should be drained automatically after a listener dies.
    waitTime Number
    Seconds to wait to let connections drain before starting to kill all the connections, if auto is set to true.

    RepositoryMongodbSettings, RepositoryMongodbSettingsArgs

    ServerType string

    Type of the MongoDB server. Allowed values:

    • replicaset
    • standalone
    • sharded

    The following conditions apply:

    • If sharded and srv_record_name not provided, then all repo_node blocks must be static (see dynamic).
    • If sharded and srv_record_name provided, then all repo_node blocks must be dynamic (see dynamic).
    • If standalone, then only one repo_node block can be declared and it must be static (see dynamic). The srv_record_name is not supported in this configuration.
    • If replicaset and srv_record_name not provided, then repo_node blocks may mix dynamic and static nodes (see dynamic).
    • If replicaset and srv_record_name provided, then repo_node blocks must be dynamic (see dynamic).
    Flavor string

    The flavor of the MongoDB deployment. Allowed values:

    • mongodb
    • documentdb

    The following conditions apply:

    • The documentdb flavor cannot be combined with the MongoDB Server type sharded.
    ReplicaSetName string
    Name of the replica set, if applicable.
    SrvRecordName string
    Name of a DNS SRV record which contains cluster topology details. If specified, then all repo_node blocks must be declared dynamic (see dynamic). Only supported for server_type="sharded" or `server_type="replicaset".
    ServerType string

    Type of the MongoDB server. Allowed values:

    • replicaset
    • standalone
    • sharded

    The following conditions apply:

    • If sharded and srv_record_name not provided, then all repo_node blocks must be static (see dynamic).
    • If sharded and srv_record_name provided, then all repo_node blocks must be dynamic (see dynamic).
    • If standalone, then only one repo_node block can be declared and it must be static (see dynamic). The srv_record_name is not supported in this configuration.
    • If replicaset and srv_record_name not provided, then repo_node blocks may mix dynamic and static nodes (see dynamic).
    • If replicaset and srv_record_name provided, then repo_node blocks must be dynamic (see dynamic).
    Flavor string

    The flavor of the MongoDB deployment. Allowed values:

    • mongodb
    • documentdb

    The following conditions apply:

    • The documentdb flavor cannot be combined with the MongoDB Server type sharded.
    ReplicaSetName string
    Name of the replica set, if applicable.
    SrvRecordName string
    Name of a DNS SRV record which contains cluster topology details. If specified, then all repo_node blocks must be declared dynamic (see dynamic). Only supported for server_type="sharded" or `server_type="replicaset".
    serverType String

    Type of the MongoDB server. Allowed values:

    • replicaset
    • standalone
    • sharded

    The following conditions apply:

    • If sharded and srv_record_name not provided, then all repo_node blocks must be static (see dynamic).
    • If sharded and srv_record_name provided, then all repo_node blocks must be dynamic (see dynamic).
    • If standalone, then only one repo_node block can be declared and it must be static (see dynamic). The srv_record_name is not supported in this configuration.
    • If replicaset and srv_record_name not provided, then repo_node blocks may mix dynamic and static nodes (see dynamic).
    • If replicaset and srv_record_name provided, then repo_node blocks must be dynamic (see dynamic).
    flavor String

    The flavor of the MongoDB deployment. Allowed values:

    • mongodb
    • documentdb

    The following conditions apply:

    • The documentdb flavor cannot be combined with the MongoDB Server type sharded.
    replicaSetName String
    Name of the replica set, if applicable.
    srvRecordName String
    Name of a DNS SRV record which contains cluster topology details. If specified, then all repo_node blocks must be declared dynamic (see dynamic). Only supported for server_type="sharded" or `server_type="replicaset".
    serverType string

    Type of the MongoDB server. Allowed values:

    • replicaset
    • standalone
    • sharded

    The following conditions apply:

    • If sharded and srv_record_name not provided, then all repo_node blocks must be static (see dynamic).
    • If sharded and srv_record_name provided, then all repo_node blocks must be dynamic (see dynamic).
    • If standalone, then only one repo_node block can be declared and it must be static (see dynamic). The srv_record_name is not supported in this configuration.
    • If replicaset and srv_record_name not provided, then repo_node blocks may mix dynamic and static nodes (see dynamic).
    • If replicaset and srv_record_name provided, then repo_node blocks must be dynamic (see dynamic).
    flavor string

    The flavor of the MongoDB deployment. Allowed values:

    • mongodb
    • documentdb

    The following conditions apply:

    • The documentdb flavor cannot be combined with the MongoDB Server type sharded.
    replicaSetName string
    Name of the replica set, if applicable.
    srvRecordName string
    Name of a DNS SRV record which contains cluster topology details. If specified, then all repo_node blocks must be declared dynamic (see dynamic). Only supported for server_type="sharded" or `server_type="replicaset".
    server_type str

    Type of the MongoDB server. Allowed values:

    • replicaset
    • standalone
    • sharded

    The following conditions apply:

    • If sharded and srv_record_name not provided, then all repo_node blocks must be static (see dynamic).
    • If sharded and srv_record_name provided, then all repo_node blocks must be dynamic (see dynamic).
    • If standalone, then only one repo_node block can be declared and it must be static (see dynamic). The srv_record_name is not supported in this configuration.
    • If replicaset and srv_record_name not provided, then repo_node blocks may mix dynamic and static nodes (see dynamic).
    • If replicaset and srv_record_name provided, then repo_node blocks must be dynamic (see dynamic).
    flavor str

    The flavor of the MongoDB deployment. Allowed values:

    • mongodb
    • documentdb

    The following conditions apply:

    • The documentdb flavor cannot be combined with the MongoDB Server type sharded.
    replica_set_name str
    Name of the replica set, if applicable.
    srv_record_name str
    Name of a DNS SRV record which contains cluster topology details. If specified, then all repo_node blocks must be declared dynamic (see dynamic). Only supported for server_type="sharded" or `server_type="replicaset".
    serverType String

    Type of the MongoDB server. Allowed values:

    • replicaset
    • standalone
    • sharded

    The following conditions apply:

    • If sharded and srv_record_name not provided, then all repo_node blocks must be static (see dynamic).
    • If sharded and srv_record_name provided, then all repo_node blocks must be dynamic (see dynamic).
    • If standalone, then only one repo_node block can be declared and it must be static (see dynamic). The srv_record_name is not supported in this configuration.
    • If replicaset and srv_record_name not provided, then repo_node blocks may mix dynamic and static nodes (see dynamic).
    • If replicaset and srv_record_name provided, then repo_node blocks must be dynamic (see dynamic).
    flavor String

    The flavor of the MongoDB deployment. Allowed values:

    • mongodb
    • documentdb

    The following conditions apply:

    • The documentdb flavor cannot be combined with the MongoDB Server type sharded.
    replicaSetName String
    Name of the replica set, if applicable.
    srvRecordName String
    Name of a DNS SRV record which contains cluster topology details. If specified, then all repo_node blocks must be declared dynamic (see dynamic). Only supported for server_type="sharded" or `server_type="replicaset".

    RepositoryRedshiftSettings, RepositoryRedshiftSettingsArgs

    AwsRegion string
    Code of the AWS region where the Redshift instance is deployed.
    ClusterIdentifier string
    Name of the provisioned cluster.
    WorkgroupName string
    Workgroup name for serverless cluster.
    AwsRegion string
    Code of the AWS region where the Redshift instance is deployed.
    ClusterIdentifier string
    Name of the provisioned cluster.
    WorkgroupName string
    Workgroup name for serverless cluster.
    awsRegion String
    Code of the AWS region where the Redshift instance is deployed.
    clusterIdentifier String
    Name of the provisioned cluster.
    workgroupName String
    Workgroup name for serverless cluster.
    awsRegion string
    Code of the AWS region where the Redshift instance is deployed.
    clusterIdentifier string
    Name of the provisioned cluster.
    workgroupName string
    Workgroup name for serverless cluster.
    aws_region str
    Code of the AWS region where the Redshift instance is deployed.
    cluster_identifier str
    Name of the provisioned cluster.
    workgroup_name str
    Workgroup name for serverless cluster.
    awsRegion String
    Code of the AWS region where the Redshift instance is deployed.
    clusterIdentifier String
    Name of the provisioned cluster.
    workgroupName String
    Workgroup name for serverless cluster.

    RepositoryRepoNode, RepositoryRepoNodeArgs

    Dynamic bool
    Only supported for MongoDB in cluster configurations. Indicates if the node is dynamically discovered, meaning that the sidecar will query the cluster to get the topology information and discover the addresses of the dynamic nodes. If set to true, host and port must be empty. A node with value of this field as false considered static. The following conditions apply:

    • The total number of declared repo_node blocks must match the actual number of nodes in the cluster.
    • If there are static nodes in the configuration, they must be declared before all dynamic nodes.
    • See the MongoDB-specific configuration in the mongodb_settings.
    Host string
    Repo node host (ex: somerepo.cyral.com). Can be empty if node is dynamic.
    Name string
    Name of the repo node.
    Port double
    Repository access port (ex: 3306). Can be empty if node is dynamic.
    Dynamic bool
    Only supported for MongoDB in cluster configurations. Indicates if the node is dynamically discovered, meaning that the sidecar will query the cluster to get the topology information and discover the addresses of the dynamic nodes. If set to true, host and port must be empty. A node with value of this field as false considered static. The following conditions apply:

    • The total number of declared repo_node blocks must match the actual number of nodes in the cluster.
    • If there are static nodes in the configuration, they must be declared before all dynamic nodes.
    • See the MongoDB-specific configuration in the mongodb_settings.
    Host string
    Repo node host (ex: somerepo.cyral.com). Can be empty if node is dynamic.
    Name string
    Name of the repo node.
    Port float64
    Repository access port (ex: 3306). Can be empty if node is dynamic.
    dynamic Boolean
    Only supported for MongoDB in cluster configurations. Indicates if the node is dynamically discovered, meaning that the sidecar will query the cluster to get the topology information and discover the addresses of the dynamic nodes. If set to true, host and port must be empty. A node with value of this field as false considered static. The following conditions apply:

    • The total number of declared repo_node blocks must match the actual number of nodes in the cluster.
    • If there are static nodes in the configuration, they must be declared before all dynamic nodes.
    • See the MongoDB-specific configuration in the mongodb_settings.
    host String
    Repo node host (ex: somerepo.cyral.com). Can be empty if node is dynamic.
    name String
    Name of the repo node.
    port Double
    Repository access port (ex: 3306). Can be empty if node is dynamic.
    dynamic boolean
    Only supported for MongoDB in cluster configurations. Indicates if the node is dynamically discovered, meaning that the sidecar will query the cluster to get the topology information and discover the addresses of the dynamic nodes. If set to true, host and port must be empty. A node with value of this field as false considered static. The following conditions apply:

    • The total number of declared repo_node blocks must match the actual number of nodes in the cluster.
    • If there are static nodes in the configuration, they must be declared before all dynamic nodes.
    • See the MongoDB-specific configuration in the mongodb_settings.
    host string
    Repo node host (ex: somerepo.cyral.com). Can be empty if node is dynamic.
    name string
    Name of the repo node.
    port number
    Repository access port (ex: 3306). Can be empty if node is dynamic.
    dynamic bool
    Only supported for MongoDB in cluster configurations. Indicates if the node is dynamically discovered, meaning that the sidecar will query the cluster to get the topology information and discover the addresses of the dynamic nodes. If set to true, host and port must be empty. A node with value of this field as false considered static. The following conditions apply:

    • The total number of declared repo_node blocks must match the actual number of nodes in the cluster.
    • If there are static nodes in the configuration, they must be declared before all dynamic nodes.
    • See the MongoDB-specific configuration in the mongodb_settings.
    host str
    Repo node host (ex: somerepo.cyral.com). Can be empty if node is dynamic.
    name str
    Name of the repo node.
    port float
    Repository access port (ex: 3306). Can be empty if node is dynamic.
    dynamic Boolean
    Only supported for MongoDB in cluster configurations. Indicates if the node is dynamically discovered, meaning that the sidecar will query the cluster to get the topology information and discover the addresses of the dynamic nodes. If set to true, host and port must be empty. A node with value of this field as false considered static. The following conditions apply:

    • The total number of declared repo_node blocks must match the actual number of nodes in the cluster.
    • If there are static nodes in the configuration, they must be declared before all dynamic nodes.
    • See the MongoDB-specific configuration in the mongodb_settings.
    host String
    Repo node host (ex: somerepo.cyral.com). Can be empty if node is dynamic.
    name String
    Name of the repo node.
    port Number
    Repository access port (ex: 3306). Can be empty if node is dynamic.

    Package Details

    Repository
    cyral cyralinc/terraform-provider-cyral
    License
    Notes
    This Pulumi package is based on the cyral Terraform Provider.
    cyral logo
    cyral 4.16.3 published on Monday, Apr 14, 2025 by cyralinc