getProjects

Retrieve information about all DigitalOcean projects associated with an account, with the ability to filter and sort the results. If no filters are specified, all projects will be returned. Note: You can use the digitalocean.Project data source to obtain metadata about a single project if you already know the id to retrieve or the unique name of the project.

Example Usage

Use the filter block with a key string and values list to filter projects. For example to find all staging environment projects:

import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const staging = digitalocean.getProjects({
filters: [{
key: "environment",
values: ["Staging"],
}],
});
import pulumi
import pulumi_digitalocean as digitalocean
staging = digitalocean.get_projects(filters=[{
"key": "environment",
"values": ["Staging"],
}])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using DigitalOcean = Pulumi.DigitalOcean;
return await Deployment.RunAsync(() =>
{
var staging = DigitalOcean.GetProjects.Invoke(new()
{
Filters = new[]
{
new DigitalOcean.Inputs.GetProjectsFilterInputArgs
{
Key = "environment",
Values = new[]
{
"Staging",
},
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := digitalocean.GetProjects(ctx, &digitalocean.GetProjectsArgs{
Filters: []digitalocean.GetProjectsFilter{
{
Key: "environment",
Values: []string{
"Staging",
},
},
},
}, nil)
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.digitalocean.DigitaloceanFunctions;
import com.pulumi.digitalocean.inputs.GetProjectsArgs;
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) {
final var staging = DigitaloceanFunctions.getProjects(GetProjectsArgs.builder()
.filters(GetProjectsFilterArgs.builder()
.key("environment")
.values("Staging")
.build())
.build());
}
}
variables:
staging:
fn::invoke:
function: digitalocean:getProjects
arguments:
filters:
- key: environment
values:
- Staging

You can filter on multiple fields and sort the results as well:

import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const non_default_production = digitalocean.getProjects({
filters: [
{
key: "environment",
values: ["Production"],
},
{
key: "is_default",
values: ["false"],
},
],
sorts: [{
key: "name",
direction: "asc",
}],
});
import pulumi
import pulumi_digitalocean as digitalocean
non_default_production = digitalocean.get_projects(filters=[
{
"key": "environment",
"values": ["Production"],
},
{
"key": "is_default",
"values": ["false"],
},
],
sorts=[{
"key": "name",
"direction": "asc",
}])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using DigitalOcean = Pulumi.DigitalOcean;
return await Deployment.RunAsync(() =>
{
var non_default_production = DigitalOcean.GetProjects.Invoke(new()
{
Filters = new[]
{
new DigitalOcean.Inputs.GetProjectsFilterInputArgs
{
Key = "environment",
Values = new[]
{
"Production",
},
},
new DigitalOcean.Inputs.GetProjectsFilterInputArgs
{
Key = "is_default",
Values = new[]
{
"false",
},
},
},
Sorts = new[]
{
new DigitalOcean.Inputs.GetProjectsSortInputArgs
{
Key = "name",
Direction = "asc",
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := digitalocean.GetProjects(ctx, &digitalocean.GetProjectsArgs{
Filters: []digitalocean.GetProjectsFilter{
{
Key: "environment",
Values: []string{
"Production",
},
},
{
Key: "is_default",
Values: []string{
"false",
},
},
},
Sorts: []digitalocean.GetProjectsSort{
{
Key: "name",
Direction: pulumi.StringRef("asc"),
},
},
}, nil)
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.digitalocean.DigitaloceanFunctions;
import com.pulumi.digitalocean.inputs.GetProjectsArgs;
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) {
final var non-default-production = DigitaloceanFunctions.getProjects(GetProjectsArgs.builder()
.filters(
GetProjectsFilterArgs.builder()
.key("environment")
.values("Production")
.build(),
GetProjectsFilterArgs.builder()
.key("is_default")
.values("false")
.build())
.sorts(GetProjectsSortArgs.builder()
.key("name")
.direction("asc")
.build())
.build());
}
}
variables:
non-default-production:
fn::invoke:
function: digitalocean:getProjects
arguments:
filters:
- key: environment
values:
- Production
- key: is_default
values:
- 'false'
sorts:
- key: name
direction: asc

Return

A collection of values returned by getProjects.

Parameters

argument

A collection of arguments for invoking getProjects.


suspend fun getProjects(filters: List<GetProjectsFilter>? = null, sorts: List<GetProjectsSort>? = null): GetProjectsResult

Return

A collection of values returned by getProjects.

Parameters

filters

Filter the results. The filter block is documented below.

sorts

Sort the results. The sort block is documented below.

See also


suspend fun getProjects(argument: suspend GetProjectsPlainArgsBuilder.() -> Unit): GetProjectsResult

Return

A collection of values returned by getProjects.

Parameters

argument

Builder for com.pulumi.digitalocean.kotlin.inputs.GetProjectsPlainArgs.

See also