Spaces Key Args
data class SpacesKeyArgs(val grants: Output<List<SpacesKeyGrantArgs>>? = null, val name: Output<String>? = null) : ConvertibleToJava<SpacesKeyArgs>
Provides a key resource for Spaces, DigitalOcean's object storage product. The Spaces API was designed to be interoperable with Amazon's AWS S3 API. This allows users to interact with the service while using the tools they already know. Spaces mirrors S3's authentication framework and requests to Spaces require a key pair similar to Amazon's Access ID and Secret Key. As a Spaces owner, you limit others’ access to your buckets using Spaces access keys. Access keys can provide several levels of permissions to create, destroy, read, and write to specific associated buckets. However, access keys only limit access to certain commands using the S3 API or CLI, not the control panel or other DigitalOcean resources.
Example Usage
Create a New Key
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const foobar = new digitalocean.SpacesKey("foobar", {name: "foobar"});
Content copied to clipboard
import pulumi
import pulumi_digitalocean as digitalocean
foobar = digitalocean.SpacesKey("foobar", name="foobar")
Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using DigitalOcean = Pulumi.DigitalOcean;
return await Deployment.RunAsync(() =>
{
var foobar = new DigitalOcean.SpacesKey("foobar", new()
{
Name = "foobar",
});
});
Content copied to clipboard
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.NewSpacesKey(ctx, "foobar", &digitalocean.SpacesKeyArgs{
Name: pulumi.String("foobar"),
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.digitalocean.SpacesKey;
import com.pulumi.digitalocean.SpacesKeyArgs;
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 foobar = new SpacesKey("foobar", SpacesKeyArgs.builder()
.name("foobar")
.build());
}
}
Content copied to clipboard
resources:
foobar:
type: digitalocean:SpacesKey
properties:
name: foobar
Content copied to clipboard
Create a New Key with Grants
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const foobar = new digitalocean.SpacesKey("foobar", {
name: "foobar",
grants: [{
bucket: "my-bucket",
permission: "read",
}],
});
Content copied to clipboard
import pulumi
import pulumi_digitalocean as digitalocean
foobar = digitalocean.SpacesKey("foobar",
name="foobar",
grants=[{
"bucket": "my-bucket",
"permission": "read",
}])
Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using DigitalOcean = Pulumi.DigitalOcean;
return await Deployment.RunAsync(() =>
{
var foobar = new DigitalOcean.SpacesKey("foobar", new()
{
Name = "foobar",
Grants = new[]
{
new DigitalOcean.Inputs.SpacesKeyGrantArgs
{
Bucket = "my-bucket",
Permission = "read",
},
},
});
});
Content copied to clipboard
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.NewSpacesKey(ctx, "foobar", &digitalocean.SpacesKeyArgs{
Name: pulumi.String("foobar"),
Grants: digitalocean.SpacesKeyGrantArray{
&digitalocean.SpacesKeyGrantArgs{
Bucket: pulumi.String("my-bucket"),
Permission: pulumi.String("read"),
},
},
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.digitalocean.SpacesKey;
import com.pulumi.digitalocean.SpacesKeyArgs;
import com.pulumi.digitalocean.inputs.SpacesKeyGrantArgs;
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 foobar = new SpacesKey("foobar", SpacesKeyArgs.builder()
.name("foobar")
.grants(SpacesKeyGrantArgs.builder()
.bucket("my-bucket")
.permission("read")
.build())
.build());
}
}
Content copied to clipboard
resources:
foobar:
type: digitalocean:SpacesKey
properties:
name: foobar
grants:
- bucket: my-bucket
permission: read
Content copied to clipboard
Create a New Key with full access
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const foobar = new digitalocean.SpacesKey("foobar", {
name: "foobar",
grants: [{
bucket: "",
permission: "fullaccess",
}],
});
Content copied to clipboard
import pulumi
import pulumi_digitalocean as digitalocean
foobar = digitalocean.SpacesKey("foobar",
name="foobar",
grants=[{
"bucket": "",
"permission": "fullaccess",
}])
Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using DigitalOcean = Pulumi.DigitalOcean;
return await Deployment.RunAsync(() =>
{
var foobar = new DigitalOcean.SpacesKey("foobar", new()
{
Name = "foobar",
Grants = new[]
{
new DigitalOcean.Inputs.SpacesKeyGrantArgs
{
Bucket = "",
Permission = "fullaccess",
},
},
});
});
Content copied to clipboard
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.NewSpacesKey(ctx, "foobar", &digitalocean.SpacesKeyArgs{
Name: pulumi.String("foobar"),
Grants: digitalocean.SpacesKeyGrantArray{
&digitalocean.SpacesKeyGrantArgs{
Bucket: pulumi.String(""),
Permission: pulumi.String("fullaccess"),
},
},
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.digitalocean.SpacesKey;
import com.pulumi.digitalocean.SpacesKeyArgs;
import com.pulumi.digitalocean.inputs.SpacesKeyGrantArgs;
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 foobar = new SpacesKey("foobar", SpacesKeyArgs.builder()
.name("foobar")
.grants(SpacesKeyGrantArgs.builder()
.bucket("")
.permission("fullaccess")
.build())
.build());
}
}
Content copied to clipboard
resources:
foobar:
type: digitalocean:SpacesKey
properties:
name: foobar
grants:
- bucket: ""
permission: fullaccess
Content copied to clipboard