upcloud.ManagedObjectStorage
Explore with Pulumi AI
This resource represents an UpCloud Managed Object Storage instance, which provides S3 compatible storage.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as upcloud from "@upcloud/pulumi-upcloud";
// Create router for the network
const _this = new upcloud.Router("this", {name: "object-storage-example-router"});
// Create network for the Managed Object Storage
const thisNetwork = new upcloud.Network("this", {
name: "object-storage-example-net",
zone: "fi-hel1",
ipNetwork: {
address: "172.16.2.0/24",
dhcp: true,
family: "IPv4",
},
router: _this.id,
});
const thisManagedObjectStorage = new upcloud.ManagedObjectStorage("this", {
name: "example",
region: "europe-1",
configuredStatus: "started",
networks: [{
family: "IPv4",
name: "example-private-net",
type: "private",
uuid: thisNetwork.id,
}],
labels: {
"managed-by": "terraform",
},
});
import pulumi
import pulumi_upcloud as upcloud
# Create router for the network
this = upcloud.Router("this", name="object-storage-example-router")
# Create network for the Managed Object Storage
this_network = upcloud.Network("this",
name="object-storage-example-net",
zone="fi-hel1",
ip_network={
"address": "172.16.2.0/24",
"dhcp": True,
"family": "IPv4",
},
router=this.id)
this_managed_object_storage = upcloud.ManagedObjectStorage("this",
name="example",
region="europe-1",
configured_status="started",
networks=[{
"family": "IPv4",
"name": "example-private-net",
"type": "private",
"uuid": this_network.id,
}],
labels={
"managed-by": "terraform",
})
package main
import (
"github.com/UpCloudLtd/pulumi-upcloud/sdk/go/upcloud"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
// Create router for the network
this, err := upcloud.NewRouter(ctx, "this", &upcloud.RouterArgs{
Name: pulumi.String("object-storage-example-router"),
})
if err != nil {
return err
}
// Create network for the Managed Object Storage
thisNetwork, err := upcloud.NewNetwork(ctx, "this", &upcloud.NetworkArgs{
Name: pulumi.String("object-storage-example-net"),
Zone: pulumi.String("fi-hel1"),
IpNetwork: &upcloud.NetworkIpNetworkArgs{
Address: pulumi.String("172.16.2.0/24"),
Dhcp: pulumi.Bool(true),
Family: pulumi.String("IPv4"),
},
Router: this.ID(),
})
if err != nil {
return err
}
_, err = upcloud.NewManagedObjectStorage(ctx, "this", &upcloud.ManagedObjectStorageArgs{
Name: pulumi.String("example"),
Region: pulumi.String("europe-1"),
ConfiguredStatus: pulumi.String("started"),
Networks: upcloud.ManagedObjectStorageNetworkArray{
&upcloud.ManagedObjectStorageNetworkArgs{
Family: pulumi.String("IPv4"),
Name: pulumi.String("example-private-net"),
Type: pulumi.String("private"),
Uuid: thisNetwork.ID(),
},
},
Labels: pulumi.StringMap{
"managed-by": pulumi.String("terraform"),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using UpCloud = UpCloud.Pulumi.UpCloud;
return await Deployment.RunAsync(() =>
{
// Create router for the network
var @this = new UpCloud.Router("this", new()
{
Name = "object-storage-example-router",
});
// Create network for the Managed Object Storage
var thisNetwork = new UpCloud.Network("this", new()
{
Name = "object-storage-example-net",
Zone = "fi-hel1",
IpNetwork = new UpCloud.Inputs.NetworkIpNetworkArgs
{
Address = "172.16.2.0/24",
Dhcp = true,
Family = "IPv4",
},
Router = @this.Id,
});
var thisManagedObjectStorage = new UpCloud.ManagedObjectStorage("this", new()
{
Name = "example",
Region = "europe-1",
ConfiguredStatus = "started",
Networks = new[]
{
new UpCloud.Inputs.ManagedObjectStorageNetworkArgs
{
Family = "IPv4",
Name = "example-private-net",
Type = "private",
Uuid = thisNetwork.Id,
},
},
Labels =
{
{ "managed-by", "terraform" },
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.upcloud.Router;
import com.pulumi.upcloud.RouterArgs;
import com.pulumi.upcloud.Network;
import com.pulumi.upcloud.NetworkArgs;
import com.pulumi.upcloud.inputs.NetworkIpNetworkArgs;
import com.pulumi.upcloud.ManagedObjectStorage;
import com.pulumi.upcloud.ManagedObjectStorageArgs;
import com.pulumi.upcloud.inputs.ManagedObjectStorageNetworkArgs;
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) {
// Create router for the network
var this_ = new Router("this", RouterArgs.builder()
.name("object-storage-example-router")
.build());
// Create network for the Managed Object Storage
var thisNetwork = new Network("thisNetwork", NetworkArgs.builder()
.name("object-storage-example-net")
.zone("fi-hel1")
.ipNetwork(NetworkIpNetworkArgs.builder()
.address("172.16.2.0/24")
.dhcp(true)
.family("IPv4")
.build())
.router(this_.id())
.build());
var thisManagedObjectStorage = new ManagedObjectStorage("thisManagedObjectStorage", ManagedObjectStorageArgs.builder()
.name("example")
.region("europe-1")
.configuredStatus("started")
.networks(ManagedObjectStorageNetworkArgs.builder()
.family("IPv4")
.name("example-private-net")
.type("private")
.uuid(thisNetwork.id())
.build())
.labels(Map.of("managed-by", "terraform"))
.build());
}
}
resources:
# Create router for the network
this:
type: upcloud:Router
properties:
name: object-storage-example-router
# Create network for the Managed Object Storage
thisNetwork:
type: upcloud:Network
name: this
properties:
name: object-storage-example-net
zone: fi-hel1
ipNetwork:
address: 172.16.2.0/24
dhcp: true
family: IPv4
router: ${this.id}
thisManagedObjectStorage:
type: upcloud:ManagedObjectStorage
name: this
properties:
name: example
region: europe-1
configuredStatus: started
networks:
- family: IPv4
name: example-private-net
type: private
uuid: ${thisNetwork.id}
labels:
managed-by: terraform
Create ManagedObjectStorage Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new ManagedObjectStorage(name: string, args: ManagedObjectStorageArgs, opts?: CustomResourceOptions);
@overload
def ManagedObjectStorage(resource_name: str,
args: ManagedObjectStorageArgs,
opts: Optional[ResourceOptions] = None)
@overload
def ManagedObjectStorage(resource_name: str,
opts: Optional[ResourceOptions] = None,
configured_status: Optional[str] = None,
region: Optional[str] = None,
labels: Optional[Mapping[str, str]] = None,
name: Optional[str] = None,
networks: Optional[Sequence[ManagedObjectStorageNetworkArgs]] = None)
func NewManagedObjectStorage(ctx *Context, name string, args ManagedObjectStorageArgs, opts ...ResourceOption) (*ManagedObjectStorage, error)
public ManagedObjectStorage(string name, ManagedObjectStorageArgs args, CustomResourceOptions? opts = null)
public ManagedObjectStorage(String name, ManagedObjectStorageArgs args)
public ManagedObjectStorage(String name, ManagedObjectStorageArgs args, CustomResourceOptions options)
type: upcloud:ManagedObjectStorage
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 ManagedObjectStorageArgs
- 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 ManagedObjectStorageArgs
- 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 ManagedObjectStorageArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ManagedObjectStorageArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args ManagedObjectStorageArgs
- 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 managedObjectStorageResource = new UpCloud.ManagedObjectStorage("managedObjectStorageResource", new()
{
ConfiguredStatus = "string",
Region = "string",
Labels =
{
{ "string", "string" },
},
Name = "string",
Networks = new[]
{
new UpCloud.Inputs.ManagedObjectStorageNetworkArgs
{
Family = "string",
Name = "string",
Type = "string",
Uuid = "string",
},
},
});
example, err := upcloud.NewManagedObjectStorage(ctx, "managedObjectStorageResource", &upcloud.ManagedObjectStorageArgs{
ConfiguredStatus: pulumi.String("string"),
Region: pulumi.String("string"),
Labels: pulumi.StringMap{
"string": pulumi.String("string"),
},
Name: pulumi.String("string"),
Networks: upcloud.ManagedObjectStorageNetworkArray{
&upcloud.ManagedObjectStorageNetworkArgs{
Family: pulumi.String("string"),
Name: pulumi.String("string"),
Type: pulumi.String("string"),
Uuid: pulumi.String("string"),
},
},
})
var managedObjectStorageResource = new ManagedObjectStorage("managedObjectStorageResource", ManagedObjectStorageArgs.builder()
.configuredStatus("string")
.region("string")
.labels(Map.of("string", "string"))
.name("string")
.networks(ManagedObjectStorageNetworkArgs.builder()
.family("string")
.name("string")
.type("string")
.uuid("string")
.build())
.build());
managed_object_storage_resource = upcloud.ManagedObjectStorage("managedObjectStorageResource",
configured_status="string",
region="string",
labels={
"string": "string",
},
name="string",
networks=[{
"family": "string",
"name": "string",
"type": "string",
"uuid": "string",
}])
const managedObjectStorageResource = new upcloud.ManagedObjectStorage("managedObjectStorageResource", {
configuredStatus: "string",
region: "string",
labels: {
string: "string",
},
name: "string",
networks: [{
family: "string",
name: "string",
type: "string",
uuid: "string",
}],
});
type: upcloud:ManagedObjectStorage
properties:
configuredStatus: string
labels:
string: string
name: string
networks:
- family: string
name: string
type: string
uuid: string
region: string
ManagedObjectStorage 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 ManagedObjectStorage resource accepts the following input properties:
- Configured
Status string - Service status managed by the end user.
- Region string
- Region in which the service will be hosted, see
upcloud.getManagedObjectStorageRegions
data source. - Labels Dictionary<string, string>
- User defined key-value pairs to classify the managed object storage.
- Name string
- Name of the Managed Object Storage service. Must be unique within account.
- Networks
List<Up
Cloud. Pulumi. Up Cloud. Inputs. Managed Object Storage Network> - Attached networks from where object storage can be used. Private networks must reside in object storage region. To gain access from multiple private networks that might reside in different zones, create the networks and a corresponding router for each network.
- Configured
Status string - Service status managed by the end user.
- Region string
- Region in which the service will be hosted, see
upcloud.getManagedObjectStorageRegions
data source. - Labels map[string]string
- User defined key-value pairs to classify the managed object storage.
- Name string
- Name of the Managed Object Storage service. Must be unique within account.
- Networks
[]Managed
Object Storage Network Args - Attached networks from where object storage can be used. Private networks must reside in object storage region. To gain access from multiple private networks that might reside in different zones, create the networks and a corresponding router for each network.
- configured
Status String - Service status managed by the end user.
- region String
- Region in which the service will be hosted, see
upcloud.getManagedObjectStorageRegions
data source. - labels Map<String,String>
- User defined key-value pairs to classify the managed object storage.
- name String
- Name of the Managed Object Storage service. Must be unique within account.
- networks
List<Managed
Object Storage Network> - Attached networks from where object storage can be used. Private networks must reside in object storage region. To gain access from multiple private networks that might reside in different zones, create the networks and a corresponding router for each network.
- configured
Status string - Service status managed by the end user.
- region string
- Region in which the service will be hosted, see
upcloud.getManagedObjectStorageRegions
data source. - labels {[key: string]: string}
- User defined key-value pairs to classify the managed object storage.
- name string
- Name of the Managed Object Storage service. Must be unique within account.
- networks
Managed
Object Storage Network[] - Attached networks from where object storage can be used. Private networks must reside in object storage region. To gain access from multiple private networks that might reside in different zones, create the networks and a corresponding router for each network.
- configured_
status str - Service status managed by the end user.
- region str
- Region in which the service will be hosted, see
upcloud.getManagedObjectStorageRegions
data source. - labels Mapping[str, str]
- User defined key-value pairs to classify the managed object storage.
- name str
- Name of the Managed Object Storage service. Must be unique within account.
- networks
Sequence[Managed
Object Storage Network Args] - Attached networks from where object storage can be used. Private networks must reside in object storage region. To gain access from multiple private networks that might reside in different zones, create the networks and a corresponding router for each network.
- configured
Status String - Service status managed by the end user.
- region String
- Region in which the service will be hosted, see
upcloud.getManagedObjectStorageRegions
data source. - labels Map<String>
- User defined key-value pairs to classify the managed object storage.
- name String
- Name of the Managed Object Storage service. Must be unique within account.
- networks List<Property Map>
- Attached networks from where object storage can be used. Private networks must reside in object storage region. To gain access from multiple private networks that might reside in different zones, create the networks and a corresponding router for each network.
Outputs
All input properties are implicitly available as output properties. Additionally, the ManagedObjectStorage resource produces the following output properties:
- Created
At string - Creation time.
- Endpoints
List<Up
Cloud. Pulumi. Up Cloud. Outputs. Managed Object Storage Endpoint> - Endpoints for accessing the Managed Object Storage service.
- Id string
- The provider-assigned unique ID for this managed resource.
- Operational
State string - Operational state of the Managed Object Storage service.
- Updated
At string - Creation time.
- Created
At string - Creation time.
- Endpoints
[]Managed
Object Storage Endpoint - Endpoints for accessing the Managed Object Storage service.
- Id string
- The provider-assigned unique ID for this managed resource.
- Operational
State string - Operational state of the Managed Object Storage service.
- Updated
At string - Creation time.
- created
At String - Creation time.
- endpoints
List<Managed
Object Storage Endpoint> - Endpoints for accessing the Managed Object Storage service.
- id String
- The provider-assigned unique ID for this managed resource.
- operational
State String - Operational state of the Managed Object Storage service.
- updated
At String - Creation time.
- created
At string - Creation time.
- endpoints
Managed
Object Storage Endpoint[] - Endpoints for accessing the Managed Object Storage service.
- id string
- The provider-assigned unique ID for this managed resource.
- operational
State string - Operational state of the Managed Object Storage service.
- updated
At string - Creation time.
- created_
at str - Creation time.
- endpoints
Sequence[Managed
Object Storage Endpoint] - Endpoints for accessing the Managed Object Storage service.
- id str
- The provider-assigned unique ID for this managed resource.
- operational_
state str - Operational state of the Managed Object Storage service.
- updated_
at str - Creation time.
- created
At String - Creation time.
- endpoints List<Property Map>
- Endpoints for accessing the Managed Object Storage service.
- id String
- The provider-assigned unique ID for this managed resource.
- operational
State String - Operational state of the Managed Object Storage service.
- updated
At String - Creation time.
Look up Existing ManagedObjectStorage Resource
Get an existing ManagedObjectStorage 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?: ManagedObjectStorageState, opts?: CustomResourceOptions): ManagedObjectStorage
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
configured_status: Optional[str] = None,
created_at: Optional[str] = None,
endpoints: Optional[Sequence[ManagedObjectStorageEndpointArgs]] = None,
labels: Optional[Mapping[str, str]] = None,
name: Optional[str] = None,
networks: Optional[Sequence[ManagedObjectStorageNetworkArgs]] = None,
operational_state: Optional[str] = None,
region: Optional[str] = None,
updated_at: Optional[str] = None) -> ManagedObjectStorage
func GetManagedObjectStorage(ctx *Context, name string, id IDInput, state *ManagedObjectStorageState, opts ...ResourceOption) (*ManagedObjectStorage, error)
public static ManagedObjectStorage Get(string name, Input<string> id, ManagedObjectStorageState? state, CustomResourceOptions? opts = null)
public static ManagedObjectStorage get(String name, Output<String> id, ManagedObjectStorageState state, CustomResourceOptions options)
resources: _: type: upcloud:ManagedObjectStorage 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.
- Configured
Status string - Service status managed by the end user.
- Created
At string - Creation time.
- Endpoints
List<Up
Cloud. Pulumi. Up Cloud. Inputs. Managed Object Storage Endpoint> - Endpoints for accessing the Managed Object Storage service.
- Labels Dictionary<string, string>
- User defined key-value pairs to classify the managed object storage.
- Name string
- Name of the Managed Object Storage service. Must be unique within account.
- Networks
List<Up
Cloud. Pulumi. Up Cloud. Inputs. Managed Object Storage Network> - Attached networks from where object storage can be used. Private networks must reside in object storage region. To gain access from multiple private networks that might reside in different zones, create the networks and a corresponding router for each network.
- Operational
State string - Operational state of the Managed Object Storage service.
- Region string
- Region in which the service will be hosted, see
upcloud.getManagedObjectStorageRegions
data source. - Updated
At string - Creation time.
- Configured
Status string - Service status managed by the end user.
- Created
At string - Creation time.
- Endpoints
[]Managed
Object Storage Endpoint Args - Endpoints for accessing the Managed Object Storage service.
- Labels map[string]string
- User defined key-value pairs to classify the managed object storage.
- Name string
- Name of the Managed Object Storage service. Must be unique within account.
- Networks
[]Managed
Object Storage Network Args - Attached networks from where object storage can be used. Private networks must reside in object storage region. To gain access from multiple private networks that might reside in different zones, create the networks and a corresponding router for each network.
- Operational
State string - Operational state of the Managed Object Storage service.
- Region string
- Region in which the service will be hosted, see
upcloud.getManagedObjectStorageRegions
data source. - Updated
At string - Creation time.
- configured
Status String - Service status managed by the end user.
- created
At String - Creation time.
- endpoints
List<Managed
Object Storage Endpoint> - Endpoints for accessing the Managed Object Storage service.
- labels Map<String,String>
- User defined key-value pairs to classify the managed object storage.
- name String
- Name of the Managed Object Storage service. Must be unique within account.
- networks
List<Managed
Object Storage Network> - Attached networks from where object storage can be used. Private networks must reside in object storage region. To gain access from multiple private networks that might reside in different zones, create the networks and a corresponding router for each network.
- operational
State String - Operational state of the Managed Object Storage service.
- region String
- Region in which the service will be hosted, see
upcloud.getManagedObjectStorageRegions
data source. - updated
At String - Creation time.
- configured
Status string - Service status managed by the end user.
- created
At string - Creation time.
- endpoints
Managed
Object Storage Endpoint[] - Endpoints for accessing the Managed Object Storage service.
- labels {[key: string]: string}
- User defined key-value pairs to classify the managed object storage.
- name string
- Name of the Managed Object Storage service. Must be unique within account.
- networks
Managed
Object Storage Network[] - Attached networks from where object storage can be used. Private networks must reside in object storage region. To gain access from multiple private networks that might reside in different zones, create the networks and a corresponding router for each network.
- operational
State string - Operational state of the Managed Object Storage service.
- region string
- Region in which the service will be hosted, see
upcloud.getManagedObjectStorageRegions
data source. - updated
At string - Creation time.
- configured_
status str - Service status managed by the end user.
- created_
at str - Creation time.
- endpoints
Sequence[Managed
Object Storage Endpoint Args] - Endpoints for accessing the Managed Object Storage service.
- labels Mapping[str, str]
- User defined key-value pairs to classify the managed object storage.
- name str
- Name of the Managed Object Storage service. Must be unique within account.
- networks
Sequence[Managed
Object Storage Network Args] - Attached networks from where object storage can be used. Private networks must reside in object storage region. To gain access from multiple private networks that might reside in different zones, create the networks and a corresponding router for each network.
- operational_
state str - Operational state of the Managed Object Storage service.
- region str
- Region in which the service will be hosted, see
upcloud.getManagedObjectStorageRegions
data source. - updated_
at str - Creation time.
- configured
Status String - Service status managed by the end user.
- created
At String - Creation time.
- endpoints List<Property Map>
- Endpoints for accessing the Managed Object Storage service.
- labels Map<String>
- User defined key-value pairs to classify the managed object storage.
- name String
- Name of the Managed Object Storage service. Must be unique within account.
- networks List<Property Map>
- Attached networks from where object storage can be used. Private networks must reside in object storage region. To gain access from multiple private networks that might reside in different zones, create the networks and a corresponding router for each network.
- operational
State String - Operational state of the Managed Object Storage service.
- region String
- Region in which the service will be hosted, see
upcloud.getManagedObjectStorageRegions
data source. - updated
At String - Creation time.
Supporting Types
ManagedObjectStorageEndpoint, ManagedObjectStorageEndpointArgs
- Domain
Name string - Domain name of the endpoint.
- Iam
Url string - URL for IAM.
- Sts
Url string - URL for STS.
- Type string
- Type of the endpoint (
private
/public
).
- Domain
Name string - Domain name of the endpoint.
- Iam
Url string - URL for IAM.
- Sts
Url string - URL for STS.
- Type string
- Type of the endpoint (
private
/public
).
- domain
Name String - Domain name of the endpoint.
- iam
Url String - URL for IAM.
- sts
Url String - URL for STS.
- type String
- Type of the endpoint (
private
/public
).
- domain
Name string - Domain name of the endpoint.
- iam
Url string - URL for IAM.
- sts
Url string - URL for STS.
- type string
- Type of the endpoint (
private
/public
).
- domain_
name str - Domain name of the endpoint.
- iam_
url str - URL for IAM.
- sts_
url str - URL for STS.
- type str
- Type of the endpoint (
private
/public
).
- domain
Name String - Domain name of the endpoint.
- iam
Url String - URL for IAM.
- sts
Url String - URL for STS.
- type String
- Type of the endpoint (
private
/public
).
ManagedObjectStorageNetwork, ManagedObjectStorageNetworkArgs
Package Details
- Repository
- upcloud UpCloudLtd/pulumi-upcloud
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
upcloud
Terraform Provider.