We recommend using Azure Native.
Azure v6.21.0 published on Friday, Mar 7, 2025 by Pulumi
azure.compute.getSshPublicKey
Explore with Pulumi AI
Use this data source to access information about an existing SSH Public Key.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const example = azure.compute.getSshPublicKey({
    name: "existing",
    resourceGroupName: "existing",
});
export const id = example.then(example => example.id);
import pulumi
import pulumi_azure as azure
example = azure.compute.get_ssh_public_key(name="existing",
    resource_group_name="existing")
pulumi.export("id", example.id)
package main
import (
	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := compute.LookupSshPublicKey(ctx, &compute.LookupSshPublicKeyArgs{
			Name:              "existing",
			ResourceGroupName: "existing",
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("id", example.Id)
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() => 
{
    var example = Azure.Compute.GetSshPublicKey.Invoke(new()
    {
        Name = "existing",
        ResourceGroupName = "existing",
    });
    return new Dictionary<string, object?>
    {
        ["id"] = example.Apply(getSshPublicKeyResult => getSshPublicKeyResult.Id),
    };
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.compute.ComputeFunctions;
import com.pulumi.azure.compute.inputs.GetSshPublicKeyArgs;
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 = ComputeFunctions.getSshPublicKey(GetSshPublicKeyArgs.builder()
            .name("existing")
            .resourceGroupName("existing")
            .build());
        ctx.export("id", example.applyValue(getSshPublicKeyResult -> getSshPublicKeyResult.id()));
    }
}
variables:
  example:
    fn::invoke:
      function: azure:compute:getSshPublicKey
      arguments:
        name: existing
        resourceGroupName: existing
outputs:
  id: ${example.id}
Using getSshPublicKey
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 getSshPublicKey(args: GetSshPublicKeyArgs, opts?: InvokeOptions): Promise<GetSshPublicKeyResult>
function getSshPublicKeyOutput(args: GetSshPublicKeyOutputArgs, opts?: InvokeOptions): Output<GetSshPublicKeyResult>def get_ssh_public_key(name: Optional[str] = None,
                       resource_group_name: Optional[str] = None,
                       tags: Optional[Mapping[str, str]] = None,
                       opts: Optional[InvokeOptions] = None) -> GetSshPublicKeyResult
def get_ssh_public_key_output(name: Optional[pulumi.Input[str]] = None,
                       resource_group_name: Optional[pulumi.Input[str]] = None,
                       tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
                       opts: Optional[InvokeOptions] = None) -> Output[GetSshPublicKeyResult]func LookupSshPublicKey(ctx *Context, args *LookupSshPublicKeyArgs, opts ...InvokeOption) (*LookupSshPublicKeyResult, error)
func LookupSshPublicKeyOutput(ctx *Context, args *LookupSshPublicKeyOutputArgs, opts ...InvokeOption) LookupSshPublicKeyResultOutput> Note: This function is named LookupSshPublicKey in the Go SDK.
public static class GetSshPublicKey 
{
    public static Task<GetSshPublicKeyResult> InvokeAsync(GetSshPublicKeyArgs args, InvokeOptions? opts = null)
    public static Output<GetSshPublicKeyResult> Invoke(GetSshPublicKeyInvokeArgs args, InvokeOptions? opts = null)
}public static CompletableFuture<GetSshPublicKeyResult> getSshPublicKey(GetSshPublicKeyArgs args, InvokeOptions options)
public static Output<GetSshPublicKeyResult> getSshPublicKey(GetSshPublicKeyArgs args, InvokeOptions options)
fn::invoke:
  function: azure:compute/getSshPublicKey:getSshPublicKey
  arguments:
    # arguments dictionaryThe following arguments are supported:
- Name string
- The name of this SSH Public Key.
- ResourceGroup stringName 
- The name of the Resource Group where the SSH Public Key exists.
- Dictionary<string, string>
- A mapping of tags which should be assigned to the SSH Public Key.
- Name string
- The name of this SSH Public Key.
- ResourceGroup stringName 
- The name of the Resource Group where the SSH Public Key exists.
- map[string]string
- A mapping of tags which should be assigned to the SSH Public Key.
- name String
- The name of this SSH Public Key.
- resourceGroup StringName 
- The name of the Resource Group where the SSH Public Key exists.
- Map<String,String>
- A mapping of tags which should be assigned to the SSH Public Key.
- name string
- The name of this SSH Public Key.
- resourceGroup stringName 
- The name of the Resource Group where the SSH Public Key exists.
- {[key: string]: string}
- A mapping of tags which should be assigned to the SSH Public Key.
- name str
- The name of this SSH Public Key.
- resource_group_ strname 
- The name of the Resource Group where the SSH Public Key exists.
- Mapping[str, str]
- A mapping of tags which should be assigned to the SSH Public Key.
- name String
- The name of this SSH Public Key.
- resourceGroup StringName 
- The name of the Resource Group where the SSH Public Key exists.
- Map<String>
- A mapping of tags which should be assigned to the SSH Public Key.
getSshPublicKey Result
The following output properties are available:
- Id string
- The provider-assigned unique ID for this managed resource.
- Name string
- PublicKey string
- The SSH public key used to authenticate to a virtual machine through ssh.
- ResourceGroup stringName 
- Dictionary<string, string>
- Id string
- The provider-assigned unique ID for this managed resource.
- Name string
- PublicKey string
- The SSH public key used to authenticate to a virtual machine through ssh.
- ResourceGroup stringName 
- map[string]string
- id String
- The provider-assigned unique ID for this managed resource.
- name String
- publicKey String
- The SSH public key used to authenticate to a virtual machine through ssh.
- resourceGroup StringName 
- Map<String,String>
- id string
- The provider-assigned unique ID for this managed resource.
- name string
- publicKey string
- The SSH public key used to authenticate to a virtual machine through ssh.
- resourceGroup stringName 
- {[key: string]: string}
- id str
- The provider-assigned unique ID for this managed resource.
- name str
- public_key str
- The SSH public key used to authenticate to a virtual machine through ssh.
- resource_group_ strname 
- Mapping[str, str]
- id String
- The provider-assigned unique ID for this managed resource.
- name String
- publicKey String
- The SSH public key used to authenticate to a virtual machine through ssh.
- resourceGroup StringName 
- Map<String>
Package Details
- Repository
- Azure Classic pulumi/pulumi-azure
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the azurermTerraform Provider.