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

cyral.getSidecarBoundPorts

Explore with Pulumi AI

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

    # cyral.getSidecarBoundPorts (Data Source)

    Retrieves all the ports of a given sidecar that are currently bound to repositories.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as cyral from "@pulumi/cyral";
    
    const sidecar = new cyral.Sidecar("sidecar", {deploymentMethod: "docker"});
    const repo_1 = new cyral.Repository("repo-1", {
        type: "mongodb",
        repoNodes: [{
            host: "mongodb.cyral.com",
            port: 27017,
        }],
    });
    const listener_1 = new cyral.SidecarListener("listener-1", {
        sidecarId: sidecar.id,
        repoTypes: ["mongodb"],
        networkAddress: {
            host: "mongodb.cyral.com",
            port: 27017,
        },
    });
    const binding_1 = new cyral.RepositoryBinding("binding-1", {
        sidecarId: sidecar.id,
        repositoryId: repo_1.id,
        enabled: true,
        listenerBindings: [{
            listenerId: listener_1.listenerId,
            nodeIndex: 0,
        }],
    });
    const repo_2 = new cyral.Repository("repo-2", {
        type: "mongodb",
        repoNodes: [{
            host: "mongodb.cyral.com",
            port: 27018,
        }],
    });
    const listener_2 = new cyral.SidecarListener("listener-2", {
        sidecarId: sidecar.id,
        repoTypes: ["mongodb"],
        networkAddress: {
            host: "mongodb.cyral.com",
            port: 27017,
        },
    });
    const binding_2 = new cyral.RepositoryBinding("binding-2", {
        sidecarId: sidecar.id,
        repositoryId: repo_2.id,
        enabled: true,
        listenerBindings: [{
            listenerId: listener_2.listenerId,
            nodeIndex: 0,
        }],
    });
    const _this = cyral.getSidecarBoundPortsOutput({
        sidecarId: sidecar.id,
    });
    export const sidecarBoundPorts = _this.apply(_this => _this.boundPorts);
    
    import pulumi
    import pulumi_cyral as cyral
    
    sidecar = cyral.Sidecar("sidecar", deployment_method="docker")
    repo_1 = cyral.Repository("repo-1",
        type="mongodb",
        repo_nodes=[{
            "host": "mongodb.cyral.com",
            "port": 27017,
        }])
    listener_1 = cyral.SidecarListener("listener-1",
        sidecar_id=sidecar.id,
        repo_types=["mongodb"],
        network_address={
            "host": "mongodb.cyral.com",
            "port": 27017,
        })
    binding_1 = cyral.RepositoryBinding("binding-1",
        sidecar_id=sidecar.id,
        repository_id=repo_1.id,
        enabled=True,
        listener_bindings=[{
            "listener_id": listener_1.listener_id,
            "node_index": 0,
        }])
    repo_2 = cyral.Repository("repo-2",
        type="mongodb",
        repo_nodes=[{
            "host": "mongodb.cyral.com",
            "port": 27018,
        }])
    listener_2 = cyral.SidecarListener("listener-2",
        sidecar_id=sidecar.id,
        repo_types=["mongodb"],
        network_address={
            "host": "mongodb.cyral.com",
            "port": 27017,
        })
    binding_2 = cyral.RepositoryBinding("binding-2",
        sidecar_id=sidecar.id,
        repository_id=repo_2.id,
        enabled=True,
        listener_bindings=[{
            "listener_id": listener_2.listener_id,
            "node_index": 0,
        }])
    this = cyral.get_sidecar_bound_ports_output(sidecar_id=sidecar.id)
    pulumi.export("sidecarBoundPorts", this.bound_ports)
    
    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 {
    sidecar, err := cyral.NewSidecar(ctx, "sidecar", &cyral.SidecarArgs{
    DeploymentMethod: pulumi.String("docker"),
    })
    if err != nil {
    return err
    }
    repo_1, err := cyral.NewRepository(ctx, "repo-1", &cyral.RepositoryArgs{
    Type: pulumi.String("mongodb"),
    RepoNodes: cyral.RepositoryRepoNodeArray{
    &cyral.RepositoryRepoNodeArgs{
    Host: pulumi.String("mongodb.cyral.com"),
    Port: pulumi.Float64(27017),
    },
    },
    })
    if err != nil {
    return err
    }
    listener_1, err := cyral.NewSidecarListener(ctx, "listener-1", &cyral.SidecarListenerArgs{
    SidecarId: sidecar.ID(),
    RepoTypes: pulumi.StringArray{
    pulumi.String("mongodb"),
    },
    NetworkAddress: &cyral.SidecarListenerNetworkAddressArgs{
    Host: pulumi.String("mongodb.cyral.com"),
    Port: pulumi.Float64(27017),
    },
    })
    if err != nil {
    return err
    }
    _, err = cyral.NewRepositoryBinding(ctx, "binding-1", &cyral.RepositoryBindingArgs{
    SidecarId: sidecar.ID(),
    RepositoryId: repo_1.ID(),
    Enabled: pulumi.Bool(true),
    ListenerBindings: cyral.RepositoryBindingListenerBindingArray{
    &cyral.RepositoryBindingListenerBindingArgs{
    ListenerId: listener_1.ListenerId,
    NodeIndex: pulumi.Float64(0),
    },
    },
    })
    if err != nil {
    return err
    }
    repo_2, err := cyral.NewRepository(ctx, "repo-2", &cyral.RepositoryArgs{
    Type: pulumi.String("mongodb"),
    RepoNodes: cyral.RepositoryRepoNodeArray{
    &cyral.RepositoryRepoNodeArgs{
    Host: pulumi.String("mongodb.cyral.com"),
    Port: pulumi.Float64(27018),
    },
    },
    })
    if err != nil {
    return err
    }
    listener_2, err := cyral.NewSidecarListener(ctx, "listener-2", &cyral.SidecarListenerArgs{
    SidecarId: sidecar.ID(),
    RepoTypes: pulumi.StringArray{
    pulumi.String("mongodb"),
    },
    NetworkAddress: &cyral.SidecarListenerNetworkAddressArgs{
    Host: pulumi.String("mongodb.cyral.com"),
    Port: pulumi.Float64(27017),
    },
    })
    if err != nil {
    return err
    }
    _, err = cyral.NewRepositoryBinding(ctx, "binding-2", &cyral.RepositoryBindingArgs{
    SidecarId: sidecar.ID(),
    RepositoryId: repo_2.ID(),
    Enabled: pulumi.Bool(true),
    ListenerBindings: cyral.RepositoryBindingListenerBindingArray{
    &cyral.RepositoryBindingListenerBindingArgs{
    ListenerId: listener_2.ListenerId,
    NodeIndex: pulumi.Float64(0),
    },
    },
    })
    if err != nil {
    return err
    }
    this := cyral.GetSidecarBoundPortsOutput(ctx, cyral.GetSidecarBoundPortsOutputArgs{
    SidecarId: sidecar.ID(),
    }, nil);
    ctx.Export("sidecarBoundPorts", this.ApplyT(func(this cyral.GetSidecarBoundPortsResult) (interface{}, error) {
    return this.BoundPorts, nil
    }).(pulumi.Interface{}Output))
    return nil
    })
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Cyral = Pulumi.Cyral;
    
    return await Deployment.RunAsync(() => 
    {
        var sidecar = new Cyral.Sidecar("sidecar", new()
        {
            DeploymentMethod = "docker",
        });
    
        var repo_1 = new Cyral.Repository("repo-1", new()
        {
            Type = "mongodb",
            RepoNodes = new[]
            {
                new Cyral.Inputs.RepositoryRepoNodeArgs
                {
                    Host = "mongodb.cyral.com",
                    Port = 27017,
                },
            },
        });
    
        var listener_1 = new Cyral.SidecarListener("listener-1", new()
        {
            SidecarId = sidecar.Id,
            RepoTypes = new[]
            {
                "mongodb",
            },
            NetworkAddress = new Cyral.Inputs.SidecarListenerNetworkAddressArgs
            {
                Host = "mongodb.cyral.com",
                Port = 27017,
            },
        });
    
        var binding_1 = new Cyral.RepositoryBinding("binding-1", new()
        {
            SidecarId = sidecar.Id,
            RepositoryId = repo_1.Id,
            Enabled = true,
            ListenerBindings = new[]
            {
                new Cyral.Inputs.RepositoryBindingListenerBindingArgs
                {
                    ListenerId = listener_1.ListenerId,
                    NodeIndex = 0,
                },
            },
        });
    
        var repo_2 = new Cyral.Repository("repo-2", new()
        {
            Type = "mongodb",
            RepoNodes = new[]
            {
                new Cyral.Inputs.RepositoryRepoNodeArgs
                {
                    Host = "mongodb.cyral.com",
                    Port = 27018,
                },
            },
        });
    
        var listener_2 = new Cyral.SidecarListener("listener-2", new()
        {
            SidecarId = sidecar.Id,
            RepoTypes = new[]
            {
                "mongodb",
            },
            NetworkAddress = new Cyral.Inputs.SidecarListenerNetworkAddressArgs
            {
                Host = "mongodb.cyral.com",
                Port = 27017,
            },
        });
    
        var binding_2 = new Cyral.RepositoryBinding("binding-2", new()
        {
            SidecarId = sidecar.Id,
            RepositoryId = repo_2.Id,
            Enabled = true,
            ListenerBindings = new[]
            {
                new Cyral.Inputs.RepositoryBindingListenerBindingArgs
                {
                    ListenerId = listener_2.ListenerId,
                    NodeIndex = 0,
                },
            },
        });
    
        var @this = Cyral.GetSidecarBoundPorts.Invoke(new()
        {
            SidecarId = sidecar.Id,
        });
    
        return new Dictionary<string, object?>
        {
            ["sidecarBoundPorts"] = @this.Apply(@this => @this.Apply(getSidecarBoundPortsResult => getSidecarBoundPortsResult.BoundPorts)),
        };
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.cyral.Sidecar;
    import com.pulumi.cyral.SidecarArgs;
    import com.pulumi.cyral.Repository;
    import com.pulumi.cyral.RepositoryArgs;
    import com.pulumi.cyral.inputs.RepositoryRepoNodeArgs;
    import com.pulumi.cyral.SidecarListener;
    import com.pulumi.cyral.SidecarListenerArgs;
    import com.pulumi.cyral.inputs.SidecarListenerNetworkAddressArgs;
    import com.pulumi.cyral.RepositoryBinding;
    import com.pulumi.cyral.RepositoryBindingArgs;
    import com.pulumi.cyral.inputs.RepositoryBindingListenerBindingArgs;
    import com.pulumi.cyral.CyralFunctions;
    import com.pulumi.cyral.inputs.GetSidecarBoundPortsArgs;
    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 sidecar = new Sidecar("sidecar", SidecarArgs.builder()
                .deploymentMethod("docker")
                .build());
    
            var repo_1 = new Repository("repo-1", RepositoryArgs.builder()
                .type("mongodb")
                .repoNodes(RepositoryRepoNodeArgs.builder()
                    .host("mongodb.cyral.com")
                    .port(27017)
                    .build())
                .build());
    
            var listener_1 = new SidecarListener("listener-1", SidecarListenerArgs.builder()
                .sidecarId(sidecar.id())
                .repoTypes("mongodb")
                .networkAddress(SidecarListenerNetworkAddressArgs.builder()
                    .host("mongodb.cyral.com")
                    .port(27017)
                    .build())
                .build());
    
            var binding_1 = new RepositoryBinding("binding-1", RepositoryBindingArgs.builder()
                .sidecarId(sidecar.id())
                .repositoryId(repo_1.id())
                .enabled(true)
                .listenerBindings(RepositoryBindingListenerBindingArgs.builder()
                    .listenerId(listener_1.listenerId())
                    .nodeIndex(0)
                    .build())
                .build());
    
            var repo_2 = new Repository("repo-2", RepositoryArgs.builder()
                .type("mongodb")
                .repoNodes(RepositoryRepoNodeArgs.builder()
                    .host("mongodb.cyral.com")
                    .port(27018)
                    .build())
                .build());
    
            var listener_2 = new SidecarListener("listener-2", SidecarListenerArgs.builder()
                .sidecarId(sidecar.id())
                .repoTypes("mongodb")
                .networkAddress(SidecarListenerNetworkAddressArgs.builder()
                    .host("mongodb.cyral.com")
                    .port(27017)
                    .build())
                .build());
    
            var binding_2 = new RepositoryBinding("binding-2", RepositoryBindingArgs.builder()
                .sidecarId(sidecar.id())
                .repositoryId(repo_2.id())
                .enabled(true)
                .listenerBindings(RepositoryBindingListenerBindingArgs.builder()
                    .listenerId(listener_2.listenerId())
                    .nodeIndex(0)
                    .build())
                .build());
    
            final var this = CyralFunctions.getSidecarBoundPorts(GetSidecarBoundPortsArgs.builder()
                .sidecarId(sidecar.id())
                .build());
    
            ctx.export("sidecarBoundPorts", this_.applyValue(this_ -> this_.boundPorts()));
        }
    }
    
    resources:
      sidecar:
        type: cyral:Sidecar
        properties:
          deploymentMethod: docker
      repo-1:
        type: cyral:Repository
        properties:
          type: mongodb
          repoNodes:
            - host: mongodb.cyral.com
              port: 27017
      listener-1:
        type: cyral:SidecarListener
        properties:
          sidecarId: ${sidecar.id}
          repoTypes:
            - mongodb
          networkAddress:
            host: mongodb.cyral.com
            port: 27017
      binding-1:
        type: cyral:RepositoryBinding
        properties:
          sidecarId: ${sidecar.id}
          repositoryId: ${["repo-1"].id}
          enabled: true
          listenerBindings:
            - listenerId: ${["listener-1"].listenerId}
              nodeIndex: 0
      repo-2:
        type: cyral:Repository
        properties:
          type: mongodb
          repoNodes:
            - host: mongodb.cyral.com
              port: 27018
      listener-2:
        type: cyral:SidecarListener
        properties:
          sidecarId: ${sidecar.id}
          repoTypes:
            - mongodb
          networkAddress:
            host: mongodb.cyral.com
            port: 27017
      binding-2:
        type: cyral:RepositoryBinding
        properties:
          sidecarId: ${sidecar.id}
          repositoryId: ${["repo-2"].id}
          enabled: true
          listenerBindings:
            - listenerId: ${["listener-2"].listenerId}
              nodeIndex: 0
    variables:
      this:
        fn::invoke:
          function: cyral:getSidecarBoundPorts
          arguments:
            sidecarId: ${sidecar.id}
    outputs:
      sidecarBoundPorts: ${this.boundPorts}
    

    Using getSidecarBoundPorts

    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 getSidecarBoundPorts(args: GetSidecarBoundPortsArgs, opts?: InvokeOptions): Promise<GetSidecarBoundPortsResult>
    function getSidecarBoundPortsOutput(args: GetSidecarBoundPortsOutputArgs, opts?: InvokeOptions): Output<GetSidecarBoundPortsResult>
    def get_sidecar_bound_ports(sidecar_id: Optional[str] = None,
                                opts: Optional[InvokeOptions] = None) -> GetSidecarBoundPortsResult
    def get_sidecar_bound_ports_output(sidecar_id: Optional[pulumi.Input[str]] = None,
                                opts: Optional[InvokeOptions] = None) -> Output[GetSidecarBoundPortsResult]
    func GetSidecarBoundPorts(ctx *Context, args *GetSidecarBoundPortsArgs, opts ...InvokeOption) (*GetSidecarBoundPortsResult, error)
    func GetSidecarBoundPortsOutput(ctx *Context, args *GetSidecarBoundPortsOutputArgs, opts ...InvokeOption) GetSidecarBoundPortsResultOutput

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

    public static class GetSidecarBoundPorts 
    {
        public static Task<GetSidecarBoundPortsResult> InvokeAsync(GetSidecarBoundPortsArgs args, InvokeOptions? opts = null)
        public static Output<GetSidecarBoundPortsResult> Invoke(GetSidecarBoundPortsInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetSidecarBoundPortsResult> getSidecarBoundPorts(GetSidecarBoundPortsArgs args, InvokeOptions options)
    public static Output<GetSidecarBoundPortsResult> getSidecarBoundPorts(GetSidecarBoundPortsArgs args, InvokeOptions options)
    
    fn::invoke:
      function: cyral:index/getSidecarBoundPorts:getSidecarBoundPorts
      arguments:
        # arguments dictionary

    The following arguments are supported:

    SidecarId string
    The ID of the sidecar.
    SidecarId string
    The ID of the sidecar.
    sidecarId String
    The ID of the sidecar.
    sidecarId string
    The ID of the sidecar.
    sidecar_id str
    The ID of the sidecar.
    sidecarId String
    The ID of the sidecar.

    getSidecarBoundPorts Result

    The following output properties are available:

    BoundPorts List<double>
    All the sidecar ports that are currently bound to repositories.
    Id string
    SidecarId string
    The ID of the sidecar.
    BoundPorts []float64
    All the sidecar ports that are currently bound to repositories.
    Id string
    SidecarId string
    The ID of the sidecar.
    boundPorts List<Double>
    All the sidecar ports that are currently bound to repositories.
    id String
    sidecarId String
    The ID of the sidecar.
    boundPorts number[]
    All the sidecar ports that are currently bound to repositories.
    id string
    sidecarId string
    The ID of the sidecar.
    bound_ports Sequence[float]
    All the sidecar ports that are currently bound to repositories.
    id str
    sidecar_id str
    The ID of the sidecar.
    boundPorts List<Number>
    All the sidecar ports that are currently bound to repositories.
    id String
    sidecarId String
    The ID of the sidecar.

    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