get Projects
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
A collection of arguments for invoking getProjects.
Return
A collection of values returned by getProjects.
Parameters
Filter the results. The filter
block is documented below.
Sort the results. The sort
block is documented below.
See also
Return
A collection of values returned by getProjects.
Parameters
Builder for com.pulumi.digitalocean.kotlin.inputs.GetProjectsPlainArgs.