Hetzner Cloud v1.22.0 published on Wednesday, Feb 26, 2025 by Pulumi
hcloud.getSshKey
Explore with Pulumi AI
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as hcloud from "@pulumi/hcloud";
const byId = hcloud.getSshKey({
    id: 24332897,
});
const byName = hcloud.getSshKey({
    name: "my-ssh-key",
});
const byFingerprint = hcloud.getSshKey({
    fingerprint: "55:58:dc:bd:61:6e:7d:24:07:a7:7d:9b:be:99:83:a8",
});
const byLabel = hcloud.getSshKey({
    withSelector: "key=value",
});
const main = new hcloud.Server("main", {sshKeys: [
    byId.then(byId => byId.id),
    byName.then(byName => byName.id),
    byFingerprint.then(byFingerprint => byFingerprint.id),
]});
import pulumi
import pulumi_hcloud as hcloud
by_id = hcloud.get_ssh_key(id=24332897)
by_name = hcloud.get_ssh_key(name="my-ssh-key")
by_fingerprint = hcloud.get_ssh_key(fingerprint="55:58:dc:bd:61:6e:7d:24:07:a7:7d:9b:be:99:83:a8")
by_label = hcloud.get_ssh_key(with_selector="key=value")
main = hcloud.Server("main", ssh_keys=[
    by_id.id,
    by_name.id,
    by_fingerprint.id,
])
package main
import (
	"github.com/pulumi/pulumi-hcloud/sdk/go/hcloud"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		byId, err := hcloud.LookupSshKey(ctx, &hcloud.LookupSshKeyArgs{
			Id: pulumi.IntRef(24332897),
		}, nil)
		if err != nil {
			return err
		}
		byName, err := hcloud.LookupSshKey(ctx, &hcloud.LookupSshKeyArgs{
			Name: pulumi.StringRef("my-ssh-key"),
		}, nil)
		if err != nil {
			return err
		}
		byFingerprint, err := hcloud.LookupSshKey(ctx, &hcloud.LookupSshKeyArgs{
			Fingerprint: pulumi.StringRef("55:58:dc:bd:61:6e:7d:24:07:a7:7d:9b:be:99:83:a8"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = hcloud.LookupSshKey(ctx, &hcloud.LookupSshKeyArgs{
			WithSelector: pulumi.StringRef("key=value"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = hcloud.NewServer(ctx, "main", &hcloud.ServerArgs{
			SshKeys: pulumi.StringArray{
				pulumi.Int(byId.Id),
				pulumi.Int(byName.Id),
				pulumi.Int(byFingerprint.Id),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using HCloud = Pulumi.HCloud;
return await Deployment.RunAsync(() => 
{
    var byId = HCloud.GetSshKey.Invoke(new()
    {
        Id = 24332897,
    });
    var byName = HCloud.GetSshKey.Invoke(new()
    {
        Name = "my-ssh-key",
    });
    var byFingerprint = HCloud.GetSshKey.Invoke(new()
    {
        Fingerprint = "55:58:dc:bd:61:6e:7d:24:07:a7:7d:9b:be:99:83:a8",
    });
    var byLabel = HCloud.GetSshKey.Invoke(new()
    {
        WithSelector = "key=value",
    });
    var main = new HCloud.Server("main", new()
    {
        SshKeys = new[]
        {
            byId.Apply(getSshKeyResult => getSshKeyResult.Id),
            byName.Apply(getSshKeyResult => getSshKeyResult.Id),
            byFingerprint.Apply(getSshKeyResult => getSshKeyResult.Id),
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.hcloud.HcloudFunctions;
import com.pulumi.hcloud.inputs.GetSshKeyArgs;
import com.pulumi.hcloud.Server;
import com.pulumi.hcloud.ServerArgs;
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 byId = HcloudFunctions.getSshKey(GetSshKeyArgs.builder()
            .id(24332897)
            .build());
        final var byName = HcloudFunctions.getSshKey(GetSshKeyArgs.builder()
            .name("my-ssh-key")
            .build());
        final var byFingerprint = HcloudFunctions.getSshKey(GetSshKeyArgs.builder()
            .fingerprint("55:58:dc:bd:61:6e:7d:24:07:a7:7d:9b:be:99:83:a8")
            .build());
        final var byLabel = HcloudFunctions.getSshKey(GetSshKeyArgs.builder()
            .withSelector("key=value")
            .build());
        var main = new Server("main", ServerArgs.builder()
            .sshKeys(            
                byId.applyValue(getSshKeyResult -> getSshKeyResult.id()),
                byName.applyValue(getSshKeyResult -> getSshKeyResult.id()),
                byFingerprint.applyValue(getSshKeyResult -> getSshKeyResult.id()))
            .build());
    }
}
resources:
  main:
    type: hcloud:Server
    properties:
      sshKeys:
        - ${byId.id}
        - ${byName.id}
        - ${byFingerprint.id}
variables:
  byId:
    fn::invoke:
      function: hcloud:getSshKey
      arguments:
        id: 2.4332897e+07
  byName:
    fn::invoke:
      function: hcloud:getSshKey
      arguments:
        name: my-ssh-key
  byFingerprint:
    fn::invoke:
      function: hcloud:getSshKey
      arguments:
        fingerprint: 55:58:dc:bd:61:6e:7d:24:07:a7:7d:9b:be:99:83:a8
  byLabel:
    fn::invoke:
      function: hcloud:getSshKey
      arguments:
        withSelector: key=value
Using getSshKey
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 getSshKey(args: GetSshKeyArgs, opts?: InvokeOptions): Promise<GetSshKeyResult>
function getSshKeyOutput(args: GetSshKeyOutputArgs, opts?: InvokeOptions): Output<GetSshKeyResult>def get_ssh_key(fingerprint: Optional[str] = None,
                id: Optional[int] = None,
                name: Optional[str] = None,
                selector: Optional[str] = None,
                with_selector: Optional[str] = None,
                opts: Optional[InvokeOptions] = None) -> GetSshKeyResult
def get_ssh_key_output(fingerprint: Optional[pulumi.Input[str]] = None,
                id: Optional[pulumi.Input[int]] = None,
                name: Optional[pulumi.Input[str]] = None,
                selector: Optional[pulumi.Input[str]] = None,
                with_selector: Optional[pulumi.Input[str]] = None,
                opts: Optional[InvokeOptions] = None) -> Output[GetSshKeyResult]func LookupSshKey(ctx *Context, args *LookupSshKeyArgs, opts ...InvokeOption) (*LookupSshKeyResult, error)
func LookupSshKeyOutput(ctx *Context, args *LookupSshKeyOutputArgs, opts ...InvokeOption) LookupSshKeyResultOutput> Note: This function is named LookupSshKey in the Go SDK.
public static class GetSshKey 
{
    public static Task<GetSshKeyResult> InvokeAsync(GetSshKeyArgs args, InvokeOptions? opts = null)
    public static Output<GetSshKeyResult> Invoke(GetSshKeyInvokeArgs args, InvokeOptions? opts = null)
}public static CompletableFuture<GetSshKeyResult> getSshKey(GetSshKeyArgs args, InvokeOptions options)
public static Output<GetSshKeyResult> getSshKey(GetSshKeyArgs args, InvokeOptions options)
fn::invoke:
  function: hcloud:index/getSshKey:getSshKey
  arguments:
    # arguments dictionaryThe following arguments are supported:
- Fingerprint string
- Fingerprint of the SSH Key.
- Id int
- ID of the SSH Key.
- Name string
- Name of the SSH Key.
- Selector string
- Filter results using a Label Selector.
- WithSelector string
- Filter results using a Label Selector.
- Fingerprint string
- Fingerprint of the SSH Key.
- Id int
- ID of the SSH Key.
- Name string
- Name of the SSH Key.
- Selector string
- Filter results using a Label Selector.
- WithSelector string
- Filter results using a Label Selector.
- fingerprint String
- Fingerprint of the SSH Key.
- id Integer
- ID of the SSH Key.
- name String
- Name of the SSH Key.
- selector String
- Filter results using a Label Selector.
- withSelector String
- Filter results using a Label Selector.
- fingerprint string
- Fingerprint of the SSH Key.
- id number
- ID of the SSH Key.
- name string
- Name of the SSH Key.
- selector string
- Filter results using a Label Selector.
- withSelector string
- Filter results using a Label Selector.
- fingerprint str
- Fingerprint of the SSH Key.
- id int
- ID of the SSH Key.
- name str
- Name of the SSH Key.
- selector str
- Filter results using a Label Selector.
- with_selector str
- Filter results using a Label Selector.
- fingerprint String
- Fingerprint of the SSH Key.
- id Number
- ID of the SSH Key.
- name String
- Name of the SSH Key.
- selector String
- Filter results using a Label Selector.
- withSelector String
- Filter results using a Label Selector.
getSshKey Result
The following output properties are available:
- Labels Dictionary<string, string>
- User-defined labels (key-value pairs) for the resource.
- PublicKey string
- Public key of the SSH Key pair.
- Fingerprint string
- Fingerprint of the SSH Key.
- Id int
- ID of the SSH Key.
- Name string
- Name of the SSH Key.
- Selector string
- Filter results using a Label Selector.
- WithSelector string
- Filter results using a Label Selector.
- Labels map[string]string
- User-defined labels (key-value pairs) for the resource.
- PublicKey string
- Public key of the SSH Key pair.
- Fingerprint string
- Fingerprint of the SSH Key.
- Id int
- ID of the SSH Key.
- Name string
- Name of the SSH Key.
- Selector string
- Filter results using a Label Selector.
- WithSelector string
- Filter results using a Label Selector.
- labels Map<String,String>
- User-defined labels (key-value pairs) for the resource.
- publicKey String
- Public key of the SSH Key pair.
- fingerprint String
- Fingerprint of the SSH Key.
- id Integer
- ID of the SSH Key.
- name String
- Name of the SSH Key.
- selector String
- Filter results using a Label Selector.
- withSelector String
- Filter results using a Label Selector.
- labels {[key: string]: string}
- User-defined labels (key-value pairs) for the resource.
- publicKey string
- Public key of the SSH Key pair.
- fingerprint string
- Fingerprint of the SSH Key.
- id number
- ID of the SSH Key.
- name string
- Name of the SSH Key.
- selector string
- Filter results using a Label Selector.
- withSelector string
- Filter results using a Label Selector.
- labels Mapping[str, str]
- User-defined labels (key-value pairs) for the resource.
- public_key str
- Public key of the SSH Key pair.
- fingerprint str
- Fingerprint of the SSH Key.
- id int
- ID of the SSH Key.
- name str
- Name of the SSH Key.
- selector str
- Filter results using a Label Selector.
- with_selector str
- Filter results using a Label Selector.
- labels Map<String>
- User-defined labels (key-value pairs) for the resource.
- publicKey String
- Public key of the SSH Key pair.
- fingerprint String
- Fingerprint of the SSH Key.
- id Number
- ID of the SSH Key.
- name String
- Name of the SSH Key.
- selector String
- Filter results using a Label Selector.
- withSelector String
- Filter results using a Label Selector.
Package Details
- Repository
- Hetzner Cloud pulumi/pulumi-hcloud
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the hcloudTerraform Provider.