1. Packages
  2. Azure Native v2
  3. API Docs
  4. compute
  5. SshPublicKey
These are the docs for Azure Native v2. We recommenend using the latest version, Azure Native v3.
Azure Native v2 v2.90.0 published on Thursday, Mar 27, 2025 by Pulumi

azure-native-v2.compute.SshPublicKey

Explore with Pulumi AI

These are the docs for Azure Native v2. We recommenend using the latest version, Azure Native v3.
Azure Native v2 v2.90.0 published on Thursday, Mar 27, 2025 by Pulumi

Specifies information about the SSH public key. Azure REST API version: 2023-03-01. Prior API version in Azure Native 1.x: 2020-12-01.

Other available API versions: 2023-07-01, 2023-09-01, 2024-03-01, 2024-07-01.

Example Usage

Create a new SSH public key resource.

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;

return await Deployment.RunAsync(() => 
{
    var sshPublicKey = new AzureNative.Compute.SshPublicKey("sshPublicKey", new()
    {
        Location = "westus",
        PublicKey = "{ssh-rsa public key}",
        ResourceGroupName = "myResourceGroup",
        SshPublicKeyName = "mySshPublicKeyName",
    });

});
Copy
package main

import (
	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewSshPublicKey(ctx, "sshPublicKey", &compute.SshPublicKeyArgs{
			Location:          pulumi.String("westus"),
			PublicKey:         pulumi.String("{ssh-rsa public key}"),
			ResourceGroupName: pulumi.String("myResourceGroup"),
			SshPublicKeyName:  pulumi.String("mySshPublicKeyName"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.compute.SshPublicKey;
import com.pulumi.azurenative.compute.SshPublicKeyArgs;
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 sshPublicKey = new SshPublicKey("sshPublicKey", SshPublicKeyArgs.builder()
            .location("westus")
            .publicKey("{ssh-rsa public key}")
            .resourceGroupName("myResourceGroup")
            .sshPublicKeyName("mySshPublicKeyName")
            .build());

    }
}
Copy
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";

const sshPublicKey = new azure_native.compute.SshPublicKey("sshPublicKey", {
    location: "westus",
    publicKey: "{ssh-rsa public key}",
    resourceGroupName: "myResourceGroup",
    sshPublicKeyName: "mySshPublicKeyName",
});
Copy
import pulumi
import pulumi_azure_native as azure_native

ssh_public_key = azure_native.compute.SshPublicKey("sshPublicKey",
    location="westus",
    public_key="{ssh-rsa public key}",
    resource_group_name="myResourceGroup",
    ssh_public_key_name="mySshPublicKeyName")
Copy
resources:
  sshPublicKey:
    type: azure-native:compute:SshPublicKey
    properties:
      location: westus
      publicKey: '{ssh-rsa public key}'
      resourceGroupName: myResourceGroup
      sshPublicKeyName: mySshPublicKeyName
Copy

Create SshPublicKey Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new SshPublicKey(name: string, args: SshPublicKeyArgs, opts?: CustomResourceOptions);
@overload
def SshPublicKey(resource_name: str,
                 args: SshPublicKeyInitArgs,
                 opts: Optional[ResourceOptions] = None)

@overload
def SshPublicKey(resource_name: str,
                 opts: Optional[ResourceOptions] = None,
                 resource_group_name: Optional[str] = None,
                 location: Optional[str] = None,
                 public_key: Optional[str] = None,
                 ssh_public_key_name: Optional[str] = None,
                 tags: Optional[Mapping[str, str]] = None)
func NewSshPublicKey(ctx *Context, name string, args SshPublicKeyArgs, opts ...ResourceOption) (*SshPublicKey, error)
public SshPublicKey(string name, SshPublicKeyArgs args, CustomResourceOptions? opts = null)
public SshPublicKey(String name, SshPublicKeyArgs args)
public SshPublicKey(String name, SshPublicKeyArgs args, CustomResourceOptions options)
type: azure-native:compute:SshPublicKey
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. SshPublicKeyArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. SshPublicKeyInitArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. SshPublicKeyArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. SshPublicKeyArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. SshPublicKeyArgs
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 sshPublicKeyResource = new AzureNative.Compute.SshPublicKey("sshPublicKeyResource", new()
{
    ResourceGroupName = "string",
    Location = "string",
    PublicKey = "string",
    SshPublicKeyName = "string",
    Tags = 
    {
        { "string", "string" },
    },
});
Copy
example, err := compute.NewSshPublicKey(ctx, "sshPublicKeyResource", &compute.SshPublicKeyArgs{
	ResourceGroupName: "string",
	Location:          "string",
	PublicKey:         "string",
	SshPublicKeyName:  "string",
	Tags: map[string]interface{}{
		"string": "string",
	},
})
Copy
var sshPublicKeyResource = new SshPublicKey("sshPublicKeyResource", SshPublicKeyArgs.builder()
    .resourceGroupName("string")
    .location("string")
    .publicKey("string")
    .sshPublicKeyName("string")
    .tags(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
    .build());
Copy
ssh_public_key_resource = azure_native.compute.SshPublicKey("sshPublicKeyResource",
    resource_group_name=string,
    location=string,
    public_key=string,
    ssh_public_key_name=string,
    tags={
        string: string,
    })
Copy
const sshPublicKeyResource = new azure_native.compute.SshPublicKey("sshPublicKeyResource", {
    resourceGroupName: "string",
    location: "string",
    publicKey: "string",
    sshPublicKeyName: "string",
    tags: {
        string: "string",
    },
});
Copy
type: azure-native:compute:SshPublicKey
properties:
    location: string
    publicKey: string
    resourceGroupName: string
    sshPublicKeyName: string
    tags:
        string: string
Copy

SshPublicKey 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 SshPublicKey resource accepts the following input properties:

ResourceGroupName
This property is required.
Changes to this property will trigger replacement.
string
The name of the resource group.
Location string
Resource location
PublicKey string
SSH public key used to authenticate to a virtual machine through ssh. If this property is not initially provided when the resource is created, the publicKey property will be populated when generateKeyPair is called. If the public key is provided upon resource creation, the provided public key needs to be at least 2048-bit and in ssh-rsa format.
SshPublicKeyName Changes to this property will trigger replacement. string
The name of the SSH public key.
Tags Dictionary<string, string>
Resource tags
ResourceGroupName
This property is required.
Changes to this property will trigger replacement.
string
The name of the resource group.
Location string
Resource location
PublicKey string
SSH public key used to authenticate to a virtual machine through ssh. If this property is not initially provided when the resource is created, the publicKey property will be populated when generateKeyPair is called. If the public key is provided upon resource creation, the provided public key needs to be at least 2048-bit and in ssh-rsa format.
SshPublicKeyName Changes to this property will trigger replacement. string
The name of the SSH public key.
Tags map[string]string
Resource tags
resourceGroupName
This property is required.
Changes to this property will trigger replacement.
String
The name of the resource group.
location String
Resource location
publicKey String
SSH public key used to authenticate to a virtual machine through ssh. If this property is not initially provided when the resource is created, the publicKey property will be populated when generateKeyPair is called. If the public key is provided upon resource creation, the provided public key needs to be at least 2048-bit and in ssh-rsa format.
sshPublicKeyName Changes to this property will trigger replacement. String
The name of the SSH public key.
tags Map<String,String>
Resource tags
resourceGroupName
This property is required.
Changes to this property will trigger replacement.
string
The name of the resource group.
location string
Resource location
publicKey string
SSH public key used to authenticate to a virtual machine through ssh. If this property is not initially provided when the resource is created, the publicKey property will be populated when generateKeyPair is called. If the public key is provided upon resource creation, the provided public key needs to be at least 2048-bit and in ssh-rsa format.
sshPublicKeyName Changes to this property will trigger replacement. string
The name of the SSH public key.
tags {[key: string]: string}
Resource tags
resource_group_name
This property is required.
Changes to this property will trigger replacement.
str
The name of the resource group.
location str
Resource location
public_key str
SSH public key used to authenticate to a virtual machine through ssh. If this property is not initially provided when the resource is created, the publicKey property will be populated when generateKeyPair is called. If the public key is provided upon resource creation, the provided public key needs to be at least 2048-bit and in ssh-rsa format.
ssh_public_key_name Changes to this property will trigger replacement. str
The name of the SSH public key.
tags Mapping[str, str]
Resource tags
resourceGroupName
This property is required.
Changes to this property will trigger replacement.
String
The name of the resource group.
location String
Resource location
publicKey String
SSH public key used to authenticate to a virtual machine through ssh. If this property is not initially provided when the resource is created, the publicKey property will be populated when generateKeyPair is called. If the public key is provided upon resource creation, the provided public key needs to be at least 2048-bit and in ssh-rsa format.
sshPublicKeyName Changes to this property will trigger replacement. String
The name of the SSH public key.
tags Map<String>
Resource tags

Outputs

All input properties are implicitly available as output properties. Additionally, the SshPublicKey resource produces the following output properties:

Id string
The provider-assigned unique ID for this managed resource.
Name string
Resource name
Type string
Resource type
Id string
The provider-assigned unique ID for this managed resource.
Name string
Resource name
Type string
Resource type
id String
The provider-assigned unique ID for this managed resource.
name String
Resource name
type String
Resource type
id string
The provider-assigned unique ID for this managed resource.
name string
Resource name
type string
Resource type
id str
The provider-assigned unique ID for this managed resource.
name str
Resource name
type str
Resource type
id String
The provider-assigned unique ID for this managed resource.
name String
Resource name
type String
Resource type

Import

An existing resource can be imported using its type token, name, and identifier, e.g.

$ pulumi import azure-native:compute:SshPublicKey mySshPublicKeyName /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/sshPublicKeys/{sshPublicKeyName} 
Copy

To learn more about importing existing cloud resources, see Importing resources.

Package Details

Repository
azure-native-v2 pulumi/pulumi-azure-native
License
Apache-2.0
These are the docs for Azure Native v2. We recommenend using the latest version, Azure Native v3.
Azure Native v2 v2.90.0 published on Thursday, Mar 27, 2025 by Pulumi