1. Packages
  2. Azure Native
  3. API Docs
  4. compute
  5. SshPublicKey
This is the latest version of Azure Native. Use the Azure Native v2 docs if using the v2 version of this package.
Azure Native v3.7.1 published on Wednesday, Aug 13, 2025 by Pulumi

azure-native.compute.SshPublicKey

Explore with Pulumi AI

azure-native logo
This is the latest version of Azure Native. Use the Azure Native v2 docs if using the v2 version of this package.
Azure Native v3.7.1 published on Wednesday, Aug 13, 2025 by Pulumi

    Specifies information about the SSH public key.

    Uses Azure REST API version 2024-11-01. In version 2.x of the Azure Native provider, it used API version 2023-03-01.

    Other available API versions: 2022-08-01, 2022-11-01, 2023-03-01, 2023-07-01, 2023-09-01, 2024-03-01, 2024-07-01. These can be accessed by generating a local SDK package using the CLI command pulumi package add azure-native compute [ApiVersion]. See the version guide for details.

    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",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"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
    	})
    }
    
    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());
    
        }
    }
    
    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",
    });
    
    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")
    
    resources:
      sshPublicKey:
        type: azure-native:compute:SshPublicKey
        properties:
          location: westus
          publicKey: '{ssh-rsa public key}'
          resourceGroupName: myResourceGroup
          sshPublicKeyName: mySshPublicKeyName
    

    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 string
    The unique name of the resource.
    args SshPublicKeyArgs
    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 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 string
    The unique name of the resource.
    args SshPublicKeyArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args SshPublicKeyArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args 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" },
        },
    });
    
    example, err := compute.NewSshPublicKey(ctx, "sshPublicKeyResource", &compute.SshPublicKeyArgs{
    	ResourceGroupName: pulumi.String("string"),
    	Location:          pulumi.String("string"),
    	PublicKey:         pulumi.String("string"),
    	SshPublicKeyName:  pulumi.String("string"),
    	Tags: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    })
    
    var sshPublicKeyResource = new SshPublicKey("sshPublicKeyResource", SshPublicKeyArgs.builder()
        .resourceGroupName("string")
        .location("string")
        .publicKey("string")
        .sshPublicKeyName("string")
        .tags(Map.of("string", "string"))
        .build());
    
    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",
        })
    
    const sshPublicKeyResource = new azure_native.compute.SshPublicKey("sshPublicKeyResource", {
        resourceGroupName: "string",
        location: "string",
        publicKey: "string",
        sshPublicKeyName: "string",
        tags: {
            string: "string",
        },
    });
    
    type: azure-native:compute:SshPublicKey
    properties:
        location: string
        publicKey: string
        resourceGroupName: string
        sshPublicKeyName: string
        tags:
            string: string
    

    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 string
    The name of the resource group. The name is case insensitive.
    Location string
    The geo-location where the resource lives
    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 string
    The name of the SSH public key.
    Tags Dictionary<string, string>
    Resource tags.
    ResourceGroupName string
    The name of the resource group. The name is case insensitive.
    Location string
    The geo-location where the resource lives
    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 string
    The name of the SSH public key.
    Tags map[string]string
    Resource tags.
    resourceGroupName String
    The name of the resource group. The name is case insensitive.
    location String
    The geo-location where the resource lives
    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 String
    The name of the SSH public key.
    tags Map<String,String>
    Resource tags.
    resourceGroupName string
    The name of the resource group. The name is case insensitive.
    location string
    The geo-location where the resource lives
    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 string
    The name of the SSH public key.
    tags {[key: string]: string}
    Resource tags.
    resource_group_name str
    The name of the resource group. The name is case insensitive.
    location str
    The geo-location where the resource lives
    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 str
    The name of the SSH public key.
    tags Mapping[str, str]
    Resource tags.
    resourceGroupName String
    The name of the resource group. The name is case insensitive.
    location String
    The geo-location where the resource lives
    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 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:

    AzureApiVersion string
    The Azure API version of the resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    The name of the resource
    SystemData Pulumi.AzureNative.Compute.Outputs.SystemDataResponse
    Azure Resource Manager metadata containing createdBy and modifiedBy information.
    Type string
    The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
    AzureApiVersion string
    The Azure API version of the resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    The name of the resource
    SystemData SystemDataResponse
    Azure Resource Manager metadata containing createdBy and modifiedBy information.
    Type string
    The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
    azureApiVersion String
    The Azure API version of the resource.
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    The name of the resource
    systemData SystemDataResponse
    Azure Resource Manager metadata containing createdBy and modifiedBy information.
    type String
    The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
    azureApiVersion string
    The Azure API version of the resource.
    id string
    The provider-assigned unique ID for this managed resource.
    name string
    The name of the resource
    systemData SystemDataResponse
    Azure Resource Manager metadata containing createdBy and modifiedBy information.
    type string
    The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
    azure_api_version str
    The Azure API version of the resource.
    id str
    The provider-assigned unique ID for this managed resource.
    name str
    The name of the resource
    system_data SystemDataResponse
    Azure Resource Manager metadata containing createdBy and modifiedBy information.
    type str
    The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
    azureApiVersion String
    The Azure API version of the resource.
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    The name of the resource
    systemData Property Map
    Azure Resource Manager metadata containing createdBy and modifiedBy information.
    type String
    The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"

    Supporting Types

    SystemDataResponse, SystemDataResponseArgs

    CreatedAt string
    The timestamp of resource creation (UTC).
    CreatedBy string
    The identity that created the resource.
    CreatedByType string
    The type of identity that created the resource.
    LastModifiedAt string
    The timestamp of resource last modification (UTC)
    LastModifiedBy string
    The identity that last modified the resource.
    LastModifiedByType string
    The type of identity that last modified the resource.
    CreatedAt string
    The timestamp of resource creation (UTC).
    CreatedBy string
    The identity that created the resource.
    CreatedByType string
    The type of identity that created the resource.
    LastModifiedAt string
    The timestamp of resource last modification (UTC)
    LastModifiedBy string
    The identity that last modified the resource.
    LastModifiedByType string
    The type of identity that last modified the resource.
    createdAt String
    The timestamp of resource creation (UTC).
    createdBy String
    The identity that created the resource.
    createdByType String
    The type of identity that created the resource.
    lastModifiedAt String
    The timestamp of resource last modification (UTC)
    lastModifiedBy String
    The identity that last modified the resource.
    lastModifiedByType String
    The type of identity that last modified the resource.
    createdAt string
    The timestamp of resource creation (UTC).
    createdBy string
    The identity that created the resource.
    createdByType string
    The type of identity that created the resource.
    lastModifiedAt string
    The timestamp of resource last modification (UTC)
    lastModifiedBy string
    The identity that last modified the resource.
    lastModifiedByType string
    The type of identity that last modified the resource.
    created_at str
    The timestamp of resource creation (UTC).
    created_by str
    The identity that created the resource.
    created_by_type str
    The type of identity that created the resource.
    last_modified_at str
    The timestamp of resource last modification (UTC)
    last_modified_by str
    The identity that last modified the resource.
    last_modified_by_type str
    The type of identity that last modified the resource.
    createdAt String
    The timestamp of resource creation (UTC).
    createdBy String
    The identity that created the resource.
    createdByType String
    The type of identity that created the resource.
    lastModifiedAt String
    The timestamp of resource last modification (UTC)
    lastModifiedBy String
    The identity that last modified the resource.
    lastModifiedByType String
    The type of identity that last modified the resource.

    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} 
    

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

    Package Details

    Repository
    Azure Native pulumi/pulumi-azure-native
    License
    Apache-2.0
    azure-native logo
    This is the latest version of Azure Native. Use the Azure Native v2 docs if using the v2 version of this package.
    Azure Native v3.7.1 published on Wednesday, Aug 13, 2025 by Pulumi