1. Packages
  2. Ionoscloud Provider
  3. API Docs
  4. getResource
ionoscloud 6.7.6 published on Monday, Apr 14, 2025 by ionos-cloud

ionoscloud.getResource

Explore with Pulumi AI

The Resource data source can be used to search for and return any existing IonosCloud resource and optionally their group associations. You can provide a string for the resource type (datacenter,image,snapshot,ipblock) and/or resource id parameters which will be queries against available resources. If a single match is found, it will be returned. If your search results in multiple matches, an error will be returned. When this happens, please refine your search string so that it is specific enough to return only one result.

Example Usage

By ID

import * as pulumi from "@pulumi/pulumi";
import * as ionoscloud from "@pulumi/ionoscloud";

const example = ionoscloud.getResource({
    resourceId: "resource_id",
});
Copy
import pulumi
import pulumi_ionoscloud as ionoscloud

example = ionoscloud.get_resource(resource_id="resource_id")
Copy
package main

import (
	"github.com/pulumi/pulumi-terraform-provider/sdks/go/ionoscloud/v6/ionoscloud"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ionoscloud.GetResource(ctx, &ionoscloud.GetResourceArgs{
			ResourceId: pulumi.StringRef("resource_id"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Ionoscloud = Pulumi.Ionoscloud;

return await Deployment.RunAsync(() => 
{
    var example = Ionoscloud.GetResource.Invoke(new()
    {
        ResourceId = "resource_id",
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.ionoscloud.IonoscloudFunctions;
import com.pulumi.ionoscloud.inputs.GetResourceArgs;
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 example = IonoscloudFunctions.getResource(GetResourceArgs.builder()
            .resourceId("resource_id")
            .build());

    }
}
Copy
variables:
  example:
    fn::invoke:
      function: ionoscloud:getResource
      arguments:
        resourceId: resource_id
Copy

By Type

import * as pulumi from "@pulumi/pulumi";
import * as ionoscloud from "@pulumi/ionoscloud";

const example = ionoscloud.getResource({
    resourceType: "datacenter",
});
Copy
import pulumi
import pulumi_ionoscloud as ionoscloud

example = ionoscloud.get_resource(resource_type="datacenter")
Copy
package main

import (
	"github.com/pulumi/pulumi-terraform-provider/sdks/go/ionoscloud/v6/ionoscloud"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ionoscloud.GetResource(ctx, &ionoscloud.GetResourceArgs{
			ResourceType: pulumi.StringRef("datacenter"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Ionoscloud = Pulumi.Ionoscloud;

return await Deployment.RunAsync(() => 
{
    var example = Ionoscloud.GetResource.Invoke(new()
    {
        ResourceType = "datacenter",
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.ionoscloud.IonoscloudFunctions;
import com.pulumi.ionoscloud.inputs.GetResourceArgs;
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 example = IonoscloudFunctions.getResource(GetResourceArgs.builder()
            .resourceType("datacenter")
            .build());

    }
}
Copy
variables:
  example:
    fn::invoke:
      function: ionoscloud:getResource
      arguments:
        resourceType: datacenter
Copy

By ID & Type

import * as pulumi from "@pulumi/pulumi";
import * as ionoscloud from "@pulumi/ionoscloud";

const example = ionoscloud.getResource({
    resourceId: "resource_id",
    resourceType: "datacenter",
});
Copy
import pulumi
import pulumi_ionoscloud as ionoscloud

example = ionoscloud.get_resource(resource_id="resource_id",
    resource_type="datacenter")
Copy
package main

import (
	"github.com/pulumi/pulumi-terraform-provider/sdks/go/ionoscloud/v6/ionoscloud"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ionoscloud.GetResource(ctx, &ionoscloud.GetResourceArgs{
			ResourceId:   pulumi.StringRef("resource_id"),
			ResourceType: pulumi.StringRef("datacenter"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Ionoscloud = Pulumi.Ionoscloud;

return await Deployment.RunAsync(() => 
{
    var example = Ionoscloud.GetResource.Invoke(new()
    {
        ResourceId = "resource_id",
        ResourceType = "datacenter",
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.ionoscloud.IonoscloudFunctions;
import com.pulumi.ionoscloud.inputs.GetResourceArgs;
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 example = IonoscloudFunctions.getResource(GetResourceArgs.builder()
            .resourceId("resource_id")
            .resourceType("datacenter")
            .build());

    }
}
Copy
variables:
  example:
    fn::invoke:
      function: ionoscloud:getResource
      arguments:
        resourceId: resource_id
        resourceType: datacenter
Copy

Using getResource

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 getResource(args: GetResourceArgs, opts?: InvokeOptions): Promise<GetResourceResult>
function getResourceOutput(args: GetResourceOutputArgs, opts?: InvokeOptions): Output<GetResourceResult>
Copy
def get_resource(id: Optional[str] = None,
                 resource_id: Optional[str] = None,
                 resource_type: Optional[str] = None,
                 timeouts: Optional[GetResourceTimeouts] = None,
                 opts: Optional[InvokeOptions] = None) -> GetResourceResult
def get_resource_output(id: Optional[pulumi.Input[str]] = None,
                 resource_id: Optional[pulumi.Input[str]] = None,
                 resource_type: Optional[pulumi.Input[str]] = None,
                 timeouts: Optional[pulumi.Input[GetResourceTimeoutsArgs]] = None,
                 opts: Optional[InvokeOptions] = None) -> Output[GetResourceResult]
Copy
func GetResource(ctx *Context, args *GetResourceArgs, opts ...InvokeOption) (*GetResourceResult, error)
func GetResourceOutput(ctx *Context, args *GetResourceOutputArgs, opts ...InvokeOption) GetResourceResultOutput
Copy

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

public static class GetResource 
{
    public static Task<GetResourceResult> InvokeAsync(GetResourceArgs args, InvokeOptions? opts = null)
    public static Output<GetResourceResult> Invoke(GetResourceInvokeArgs args, InvokeOptions? opts = null)
}
Copy
public static CompletableFuture<GetResourceResult> getResource(GetResourceArgs args, InvokeOptions options)
public static Output<GetResourceResult> getResource(GetResourceArgs args, InvokeOptions options)
Copy
fn::invoke:
  function: ionoscloud:index/getResource:getResource
  arguments:
    # arguments dictionary
Copy

The following arguments are supported:

Id string
UUID of the Resource
ResourceId string
The ID of the specific resource to retrieve information about.
ResourceType string
The specific type of resources to retrieve information about.
Timeouts GetResourceTimeouts
Id string
UUID of the Resource
ResourceId string
The ID of the specific resource to retrieve information about.
ResourceType string
The specific type of resources to retrieve information about.
Timeouts GetResourceTimeouts
id String
UUID of the Resource
resourceId String
The ID of the specific resource to retrieve information about.
resourceType String
The specific type of resources to retrieve information about.
timeouts GetResourceTimeouts
id string
UUID of the Resource
resourceId string
The ID of the specific resource to retrieve information about.
resourceType string
The specific type of resources to retrieve information about.
timeouts GetResourceTimeouts
id str
UUID of the Resource
resource_id str
The ID of the specific resource to retrieve information about.
resource_type str
The specific type of resources to retrieve information about.
timeouts GetResourceTimeouts
id String
UUID of the Resource
resourceId String
The ID of the specific resource to retrieve information about.
resourceType String
The specific type of resources to retrieve information about.
timeouts Property Map

getResource Result

The following output properties are available:

Id string
UUID of the Resource
ResourceId string
ResourceType string
Timeouts GetResourceTimeouts
Id string
UUID of the Resource
ResourceId string
ResourceType string
Timeouts GetResourceTimeouts
id String
UUID of the Resource
resourceId String
resourceType String
timeouts GetResourceTimeouts
id string
UUID of the Resource
resourceId string
resourceType string
timeouts GetResourceTimeouts
id String
UUID of the Resource
resourceId String
resourceType String
timeouts Property Map

Supporting Types

GetResourceTimeouts

Create string
Default string
Delete string
Update string
Create string
Default string
Delete string
Update string
create String
default_ String
delete String
update String
create string
default string
delete string
update string
create String
default String
delete String
update String

Package Details

Repository
ionoscloud ionos-cloud/terraform-provider-ionoscloud
License
Notes
This Pulumi package is based on the ionoscloud Terraform Provider.