diff --git a/examples/go.mod b/examples/go.mod index 3bde8912bb..10f747ad30 100644 --- a/examples/go.mod +++ b/examples/go.mod @@ -144,7 +144,7 @@ require ( github.com/pmezard/go-difflib v1.0.0 // indirect github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect github.com/pulumi/esc v0.6.1-0.20231111193429-44b746a5b3b5 // indirect - github.com/pulumi/pulumi/sdk/v3 v3.96.2 // indirect + github.com/pulumi/pulumi/sdk/v3 v3.97.0 // indirect github.com/rivo/uniseg v0.4.4 // indirect github.com/rogpeppe/go-internal v1.11.0 // indirect github.com/ryanuber/go-glob v1.0.0 // indirect @@ -193,3 +193,7 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect lukechampine.com/frand v1.4.2 // indirect ) + +replace github.com/pulumi/pulumi/pkg/v3 => github.com/pulumi/pulumi/pkg/v3 v3.78.2-0.20231218165640-f8e29f63f531 + +replace github.com/pulumi/pulumi/sdk/v3 => github.com/pulumi/pulumi/sdk/v3 v3.97.1-0.20231218165640-f8e29f63f531 diff --git a/examples/go.sum b/examples/go.sum index 3287a36a17..24f9b30c09 100644 --- a/examples/go.sum +++ b/examples/go.sum @@ -1447,10 +1447,10 @@ github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435 github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE= github.com/pulumi/esc v0.6.1-0.20231111193429-44b746a5b3b5 h1:1DJMji9F7XPea46bSuhy4/85n8J4/Mfz8PWLZtjKKiI= github.com/pulumi/esc v0.6.1-0.20231111193429-44b746a5b3b5/go.mod h1:Y6W21yUukvxS2NnS5ae1beMSPhMvj0xNAYcDqDHVj/g= -github.com/pulumi/pulumi/pkg/v3 v3.96.2 h1:d+zDsh4K1j90q/upDRkhgxHkspP20Xxd3g6OaMbw574= -github.com/pulumi/pulumi/pkg/v3 v3.96.2/go.mod h1:lR+q06XrnEqRzJXZ6IeHb4nu+U5fswFcc51Q0MRBTio= -github.com/pulumi/pulumi/sdk/v3 v3.96.2 h1:q5ZKdf+e9JR+a6Eiueg0Ohy6jCQGk9pO2V7xI/qGP3I= -github.com/pulumi/pulumi/sdk/v3 v3.96.2/go.mod h1:yvD23IIRiqIXuo4kaZNe5zK/uT0nhO99wr6BVEqoi7A= +github.com/pulumi/pulumi/pkg/v3 v3.78.2-0.20231218165640-f8e29f63f531 h1:+zeNLFuEDhj0pXsn3i1dqXMJ/0WfCPd+o335lWK43F8= +github.com/pulumi/pulumi/pkg/v3 v3.78.2-0.20231218165640-f8e29f63f531/go.mod h1:GmiL5PyX6XW45zwUyoinz7vp1dMdKjDHJORUdoP+RVI= +github.com/pulumi/pulumi/sdk/v3 v3.97.1-0.20231218165640-f8e29f63f531 h1:BuN9naBwYieEOSvW+NqDTCEUwDbOeozXnbVPPNh8zW4= +github.com/pulumi/pulumi/sdk/v3 v3.97.1-0.20231218165640-f8e29f63f531/go.mod h1:yvD23IIRiqIXuo4kaZNe5zK/uT0nhO99wr6BVEqoi7A= github.com/rakyll/embedmd v0.0.0-20171029212350-c8060a0752a2/go.mod h1:7jOTMgqac46PZcF54q6l2hkLEG8op93fZu61KmxWDV4= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= diff --git a/provider/cmd/pulumi-resource-azure/schema.json b/provider/cmd/pulumi-resource-azure/schema.json index 9dfc726bac..ca41eaf60d 100644 --- a/provider/cmd/pulumi-resource-azure/schema.json +++ b/provider/cmd/pulumi-resource-azure/schema.json @@ -101924,7 +101924,7 @@ } }, "azure:apimanagement/certificate:Certificate": { - "description": "Manages an Certificate within an API Management Service.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### With Base64 Certificate)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as fs from \"fs\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleService = new azure.apimanagement.Service(\"exampleService\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n publisherName: \"My Company\",\n publisherEmail: \"company@exmaple.com\",\n skuName: \"Developer_1\",\n});\nconst exampleCertificate = new azure.apimanagement.Certificate(\"exampleCertificate\", {\n apiManagementName: exampleService.name,\n resourceGroupName: exampleResourceGroup.name,\n data: Buffer.from(fs.readFileSync(\"example.pfx\"), 'binary').toString('base64'),\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"exampleService\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n publisher_name=\"My Company\",\n publisher_email=\"company@exmaple.com\",\n sku_name=\"Developer_1\")\nexample_certificate = azure.apimanagement.Certificate(\"exampleCertificate\",\n api_management_name=example_service.name,\n resource_group_name=example_resource_group.name,\n data=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"example.pfx\"))\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\n\tprivate static string ReadFileBase64(string path) {\n\t\treturn Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n\t}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleService = new Azure.ApiManagement.Service(\"exampleService\", new()\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n PublisherName = \"My Company\",\n PublisherEmail = \"company@exmaple.com\",\n SkuName = \"Developer_1\",\n });\n\n var exampleCertificate = new Azure.ApiManagement.Certificate(\"exampleCertificate\", new()\n {\n ApiManagementName = exampleService.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Data = ReadFileBase64(\"example.pfx\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) pulumi.StringPtrInput {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn pulumi.String(base64.StdEncoding.EncodeToString(fileData[:]))\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"exampleService\", \u0026apimanagement.ServiceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tPublisherName: pulumi.String(\"My Company\"),\n\t\t\tPublisherEmail: pulumi.String(\"company@exmaple.com\"),\n\t\t\tSkuName: pulumi.String(\"Developer_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewCertificate(ctx, \"exampleCertificate\", \u0026apimanagement.CertificateArgs{\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tData: filebase64OrPanic(\"example.pfx\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.Certificate;\nimport com.pulumi.azure.apimanagement.CertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var exampleService = new Service(\"exampleService\", ServiceArgs.builder() \n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .publisherName(\"My Company\")\n .publisherEmail(\"company@exmaple.com\")\n .skuName(\"Developer_1\")\n .build());\n\n var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder() \n .apiManagementName(exampleService.name())\n .resourceGroupName(exampleResourceGroup.name())\n .data(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"example.pfx\"))))\n .build());\n\n }\n}\n```\n\n{{% /example %}}\n{{% example %}}\n### With Key Vault Certificate)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as fs from \"fs\";\n\nconst current = azure.core.getClientConfig({});\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleService = new azure.apimanagement.Service(\"exampleService\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n publisherName: \"My Company\",\n publisherEmail: \"company@terraform.io\",\n skuName: \"Developer_1\",\n identity: {\n type: \"SystemAssigned\",\n },\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"exampleKeyVault\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n tenantId: current.then(current =\u003e current.tenantId),\n skuName: \"standard\",\n});\nconst exampleAccessPolicy = new azure.keyvault.AccessPolicy(\"exampleAccessPolicy\", {\n keyVaultId: exampleKeyVault.id,\n tenantId: exampleService.identity.apply(identity =\u003e identity?.tenantId),\n objectId: exampleService.identity.apply(identity =\u003e identity?.principalId),\n secretPermissions: [\"Get\"],\n certificatePermissions: [\"Get\"],\n});\nconst exampleCertificate = new azure.keyvault.Certificate(\"exampleCertificate\", {\n keyVaultId: exampleKeyVault.id,\n certificate: {\n contents: Buffer.from(fs.readFileSync(\"example_cert.pfx\"), 'binary').toString('base64'),\n password: \"terraform\",\n },\n certificatePolicy: {\n issuerParameters: {\n name: \"Self\",\n },\n keyProperties: {\n exportable: true,\n keySize: 2048,\n keyType: \"RSA\",\n reuseKey: false,\n },\n secretProperties: {\n contentType: \"application/x-pkcs12\",\n },\n },\n});\nconst exampleApimanagement_certificateCertificate = new azure.apimanagement.Certificate(\"exampleApimanagement/certificateCertificate\", {\n apiManagementName: exampleService.name,\n resourceGroupName: exampleResourceGroup.name,\n keyVaultSecretId: exampleCertificate.secretId,\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"exampleService\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n publisher_name=\"My Company\",\n publisher_email=\"company@terraform.io\",\n sku_name=\"Developer_1\",\n identity=azure.apimanagement.ServiceIdentityArgs(\n type=\"SystemAssigned\",\n ))\nexample_key_vault = azure.keyvault.KeyVault(\"exampleKeyVault\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n tenant_id=current.tenant_id,\n sku_name=\"standard\")\nexample_access_policy = azure.keyvault.AccessPolicy(\"exampleAccessPolicy\",\n key_vault_id=example_key_vault.id,\n tenant_id=example_service.identity.tenant_id,\n object_id=example_service.identity.principal_id,\n secret_permissions=[\"Get\"],\n certificate_permissions=[\"Get\"])\nexample_certificate = azure.keyvault.Certificate(\"exampleCertificate\",\n key_vault_id=example_key_vault.id,\n certificate=azure.keyvault.CertificateCertificateArgs(\n contents=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"example_cert.pfx\"),\n password=\"terraform\",\n ),\n certificate_policy=azure.keyvault.CertificateCertificatePolicyArgs(\n issuer_parameters=azure.keyvault.CertificateCertificatePolicyIssuerParametersArgs(\n name=\"Self\",\n ),\n key_properties=azure.keyvault.CertificateCertificatePolicyKeyPropertiesArgs(\n exportable=True,\n key_size=2048,\n key_type=\"RSA\",\n reuse_key=False,\n ),\n secret_properties=azure.keyvault.CertificateCertificatePolicySecretPropertiesArgs(\n content_type=\"application/x-pkcs12\",\n ),\n ))\nexample_apimanagement_certificate_certificate = azure.apimanagement.Certificate(\"exampleApimanagement/certificateCertificate\",\n api_management_name=example_service.name,\n resource_group_name=example_resource_group.name,\n key_vault_secret_id=example_certificate.secret_id)\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\n\tprivate static string ReadFileBase64(string path) {\n\t\treturn Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n\t}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Azure.Core.GetClientConfig.Invoke();\n\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleService = new Azure.ApiManagement.Service(\"exampleService\", new()\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n PublisherName = \"My Company\",\n PublisherEmail = \"company@terraform.io\",\n SkuName = \"Developer_1\",\n Identity = new Azure.ApiManagement.Inputs.ServiceIdentityArgs\n {\n Type = \"SystemAssigned\",\n },\n });\n\n var exampleKeyVault = new Azure.KeyVault.KeyVault(\"exampleKeyVault\", new()\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n SkuName = \"standard\",\n });\n\n var exampleAccessPolicy = new Azure.KeyVault.AccessPolicy(\"exampleAccessPolicy\", new()\n {\n KeyVaultId = exampleKeyVault.Id,\n TenantId = exampleService.Identity.Apply(identity =\u003e identity?.TenantId),\n ObjectId = exampleService.Identity.Apply(identity =\u003e identity?.PrincipalId),\n SecretPermissions = new[]\n {\n \"Get\",\n },\n CertificatePermissions = new[]\n {\n \"Get\",\n },\n });\n\n var exampleCertificate = new Azure.KeyVault.Certificate(\"exampleCertificate\", new()\n {\n KeyVaultId = exampleKeyVault.Id,\n KeyVaultCertificate = new Azure.KeyVault.Inputs.CertificateCertificateArgs\n {\n Contents = ReadFileBase64(\"example_cert.pfx\"),\n Password = \"terraform\",\n },\n CertificatePolicy = new Azure.KeyVault.Inputs.CertificateCertificatePolicyArgs\n {\n IssuerParameters = new Azure.KeyVault.Inputs.CertificateCertificatePolicyIssuerParametersArgs\n {\n Name = \"Self\",\n },\n KeyProperties = new Azure.KeyVault.Inputs.CertificateCertificatePolicyKeyPropertiesArgs\n {\n Exportable = true,\n KeySize = 2048,\n KeyType = \"RSA\",\n ReuseKey = false,\n },\n SecretProperties = new Azure.KeyVault.Inputs.CertificateCertificatePolicySecretPropertiesArgs\n {\n ContentType = \"application/x-pkcs12\",\n },\n },\n });\n\n var exampleApimanagement_certificateCertificate = new Azure.ApiManagement.Certificate(\"exampleApimanagement/certificateCertificate\", new()\n {\n ApiManagementName = exampleService.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n KeyVaultSecretId = exampleCertificate.SecretId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) pulumi.StringPtrInput {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn pulumi.String(base64.StdEncoding.EncodeToString(fileData[:]))\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"exampleService\", \u0026apimanagement.ServiceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tPublisherName: pulumi.String(\"My Company\"),\n\t\t\tPublisherEmail: pulumi.String(\"company@terraform.io\"),\n\t\t\tSkuName: pulumi.String(\"Developer_1\"),\n\t\t\tIdentity: \u0026apimanagement.ServiceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"exampleKeyVault\", \u0026keyvault.KeyVaultArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tTenantId: *pulumi.String(current.TenantId),\n\t\t\tSkuName: pulumi.String(\"standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = keyvault.NewAccessPolicy(ctx, \"exampleAccessPolicy\", \u0026keyvault.AccessPolicyArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tTenantId: exampleService.Identity.ApplyT(func(identity apimanagement.ServiceIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.TenantId, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\tObjectId: exampleService.Identity.ApplyT(func(identity apimanagement.ServiceIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t},\n\t\t\tCertificatePermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCertificate, err := keyvault.NewCertificate(ctx, \"exampleCertificate\", \u0026keyvault.CertificateArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tCertificate: \u0026keyvault.CertificateCertificateArgs{\n\t\t\t\tContents: filebase64OrPanic(\"example_cert.pfx\"),\n\t\t\t\tPassword: pulumi.String(\"terraform\"),\n\t\t\t},\n\t\t\tCertificatePolicy: \u0026keyvault.CertificateCertificatePolicyArgs{\n\t\t\t\tIssuerParameters: \u0026keyvault.CertificateCertificatePolicyIssuerParametersArgs{\n\t\t\t\t\tName: pulumi.String(\"Self\"),\n\t\t\t\t},\n\t\t\t\tKeyProperties: \u0026keyvault.CertificateCertificatePolicyKeyPropertiesArgs{\n\t\t\t\t\tExportable: pulumi.Bool(true),\n\t\t\t\t\tKeySize: pulumi.Int(2048),\n\t\t\t\t\tKeyType: pulumi.String(\"RSA\"),\n\t\t\t\t\tReuseKey: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t\tSecretProperties: \u0026keyvault.CertificateCertificatePolicySecretPropertiesArgs{\n\t\t\t\t\tContentType: pulumi.String(\"application/x-pkcs12\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewCertificate(ctx, \"exampleApimanagement/certificateCertificate\", \u0026apimanagement.CertificateArgs{\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tKeyVaultSecretId: exampleCertificate.SecretId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.inputs.ServiceIdentityArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.AccessPolicy;\nimport com.pulumi.azure.keyvault.AccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Certificate;\nimport com.pulumi.azure.keyvault.CertificateArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificateArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyIssuerParametersArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyKeyPropertiesArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicySecretPropertiesArgs;\nimport com.pulumi.azure.apimanagement.Certificate;\nimport com.pulumi.azure.apimanagement.CertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = CoreFunctions.getClientConfig();\n\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var exampleService = new Service(\"exampleService\", ServiceArgs.builder() \n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .publisherName(\"My Company\")\n .publisherEmail(\"company@terraform.io\")\n .skuName(\"Developer_1\")\n .identity(ServiceIdentityArgs.builder()\n .type(\"SystemAssigned\")\n .build())\n .build());\n\n var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder() \n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .skuName(\"standard\")\n .build());\n\n var exampleAccessPolicy = new AccessPolicy(\"exampleAccessPolicy\", AccessPolicyArgs.builder() \n .keyVaultId(exampleKeyVault.id())\n .tenantId(exampleService.identity().applyValue(identity -\u003e identity.tenantId()))\n .objectId(exampleService.identity().applyValue(identity -\u003e identity.principalId()))\n .secretPermissions(\"Get\")\n .certificatePermissions(\"Get\")\n .build());\n\n var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder() \n .keyVaultId(exampleKeyVault.id())\n .certificate(CertificateCertificateArgs.builder()\n .contents(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"example_cert.pfx\"))))\n .password(\"terraform\")\n .build())\n .certificatePolicy(CertificateCertificatePolicyArgs.builder()\n .issuerParameters(CertificateCertificatePolicyIssuerParametersArgs.builder()\n .name(\"Self\")\n .build())\n .keyProperties(CertificateCertificatePolicyKeyPropertiesArgs.builder()\n .exportable(true)\n .keySize(2048)\n .keyType(\"RSA\")\n .reuseKey(false)\n .build())\n .secretProperties(CertificateCertificatePolicySecretPropertiesArgs.builder()\n .contentType(\"application/x-pkcs12\")\n .build())\n .build())\n .build());\n\n var exampleApimanagement_certificateCertificate = new Certificate(\"exampleApimanagement/certificateCertificate\", CertificateArgs.builder() \n .apiManagementName(exampleService.name())\n .resourceGroupName(exampleResourceGroup.name())\n .keyVaultSecretId(exampleCertificate.secretId())\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAPI Management Certificates can be imported using the `resource id`, e.g.\n\n```sh\n $ pulumi import azure:apimanagement/certificate:Certificate example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ApiManagement/service/instance1/certificates/certificate1\n```\n\n ", + "description": "Manages an Certificate within an API Management Service.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### With Base64 Certificate)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as fs from \"fs\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleService = new azure.apimanagement.Service(\"exampleService\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n publisherName: \"My Company\",\n publisherEmail: \"company@exmaple.com\",\n skuName: \"Developer_1\",\n});\nconst exampleCertificate = new azure.apimanagement.Certificate(\"exampleCertificate\", {\n apiManagementName: exampleService.name,\n resourceGroupName: exampleResourceGroup.name,\n data: Buffer.from(fs.readFileSync(\"example.pfx\", 'binary')).toString('base64'),\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"exampleService\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n publisher_name=\"My Company\",\n publisher_email=\"company@exmaple.com\",\n sku_name=\"Developer_1\")\nexample_certificate = azure.apimanagement.Certificate(\"exampleCertificate\",\n api_management_name=example_service.name,\n resource_group_name=example_resource_group.name,\n data=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"example.pfx\"))\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\n\t\nstring ReadFileBase64(string path) \n{\n return Convert.ToBase64String(Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleService = new Azure.ApiManagement.Service(\"exampleService\", new()\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n PublisherName = \"My Company\",\n PublisherEmail = \"company@exmaple.com\",\n SkuName = \"Developer_1\",\n });\n\n var exampleCertificate = new Azure.ApiManagement.Certificate(\"exampleCertificate\", new()\n {\n ApiManagementName = exampleService.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Data = ReadFileBase64(\"example.pfx\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) string {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn base64.StdEncoding.EncodeToString(fileData[:])\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"exampleService\", \u0026apimanagement.ServiceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tPublisherName: pulumi.String(\"My Company\"),\n\t\t\tPublisherEmail: pulumi.String(\"company@exmaple.com\"),\n\t\t\tSkuName: pulumi.String(\"Developer_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewCertificate(ctx, \"exampleCertificate\", \u0026apimanagement.CertificateArgs{\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tData: filebase64OrPanic(\"example.pfx\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.Certificate;\nimport com.pulumi.azure.apimanagement.CertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var exampleService = new Service(\"exampleService\", ServiceArgs.builder() \n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .publisherName(\"My Company\")\n .publisherEmail(\"company@exmaple.com\")\n .skuName(\"Developer_1\")\n .build());\n\n var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder() \n .apiManagementName(exampleService.name())\n .resourceGroupName(exampleResourceGroup.name())\n .data(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"example.pfx\"))))\n .build());\n\n }\n}\n```\n\n{{% /example %}}\n{{% example %}}\n### With Key Vault Certificate)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as fs from \"fs\";\n\nconst current = azure.core.getClientConfig({});\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleService = new azure.apimanagement.Service(\"exampleService\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n publisherName: \"My Company\",\n publisherEmail: \"company@terraform.io\",\n skuName: \"Developer_1\",\n identity: {\n type: \"SystemAssigned\",\n },\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"exampleKeyVault\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n tenantId: current.then(current =\u003e current.tenantId),\n skuName: \"standard\",\n});\nconst exampleAccessPolicy = new azure.keyvault.AccessPolicy(\"exampleAccessPolicy\", {\n keyVaultId: exampleKeyVault.id,\n tenantId: exampleService.identity.apply(identity =\u003e identity?.tenantId),\n objectId: exampleService.identity.apply(identity =\u003e identity?.principalId),\n secretPermissions: [\"Get\"],\n certificatePermissions: [\"Get\"],\n});\nconst exampleCertificate = new azure.keyvault.Certificate(\"exampleCertificate\", {\n keyVaultId: exampleKeyVault.id,\n certificate: {\n contents: Buffer.from(fs.readFileSync(\"example_cert.pfx\", 'binary')).toString('base64'),\n password: \"terraform\",\n },\n certificatePolicy: {\n issuerParameters: {\n name: \"Self\",\n },\n keyProperties: {\n exportable: true,\n keySize: 2048,\n keyType: \"RSA\",\n reuseKey: false,\n },\n secretProperties: {\n contentType: \"application/x-pkcs12\",\n },\n },\n});\nconst exampleApimanagement_certificateCertificate = new azure.apimanagement.Certificate(\"exampleApimanagement/certificateCertificate\", {\n apiManagementName: exampleService.name,\n resourceGroupName: exampleResourceGroup.name,\n keyVaultSecretId: exampleCertificate.secretId,\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"exampleService\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n publisher_name=\"My Company\",\n publisher_email=\"company@terraform.io\",\n sku_name=\"Developer_1\",\n identity=azure.apimanagement.ServiceIdentityArgs(\n type=\"SystemAssigned\",\n ))\nexample_key_vault = azure.keyvault.KeyVault(\"exampleKeyVault\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n tenant_id=current.tenant_id,\n sku_name=\"standard\")\nexample_access_policy = azure.keyvault.AccessPolicy(\"exampleAccessPolicy\",\n key_vault_id=example_key_vault.id,\n tenant_id=example_service.identity.tenant_id,\n object_id=example_service.identity.principal_id,\n secret_permissions=[\"Get\"],\n certificate_permissions=[\"Get\"])\nexample_certificate = azure.keyvault.Certificate(\"exampleCertificate\",\n key_vault_id=example_key_vault.id,\n certificate=azure.keyvault.CertificateCertificateArgs(\n contents=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"example_cert.pfx\"),\n password=\"terraform\",\n ),\n certificate_policy=azure.keyvault.CertificateCertificatePolicyArgs(\n issuer_parameters=azure.keyvault.CertificateCertificatePolicyIssuerParametersArgs(\n name=\"Self\",\n ),\n key_properties=azure.keyvault.CertificateCertificatePolicyKeyPropertiesArgs(\n exportable=True,\n key_size=2048,\n key_type=\"RSA\",\n reuse_key=False,\n ),\n secret_properties=azure.keyvault.CertificateCertificatePolicySecretPropertiesArgs(\n content_type=\"application/x-pkcs12\",\n ),\n ))\nexample_apimanagement_certificate_certificate = azure.apimanagement.Certificate(\"exampleApimanagement/certificateCertificate\",\n api_management_name=example_service.name,\n resource_group_name=example_resource_group.name,\n key_vault_secret_id=example_certificate.secret_id)\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\n\t\nstring ReadFileBase64(string path) \n{\n return Convert.ToBase64String(Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Azure.Core.GetClientConfig.Invoke();\n\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleService = new Azure.ApiManagement.Service(\"exampleService\", new()\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n PublisherName = \"My Company\",\n PublisherEmail = \"company@terraform.io\",\n SkuName = \"Developer_1\",\n Identity = new Azure.ApiManagement.Inputs.ServiceIdentityArgs\n {\n Type = \"SystemAssigned\",\n },\n });\n\n var exampleKeyVault = new Azure.KeyVault.KeyVault(\"exampleKeyVault\", new()\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n SkuName = \"standard\",\n });\n\n var exampleAccessPolicy = new Azure.KeyVault.AccessPolicy(\"exampleAccessPolicy\", new()\n {\n KeyVaultId = exampleKeyVault.Id,\n TenantId = exampleService.Identity.Apply(identity =\u003e identity?.TenantId),\n ObjectId = exampleService.Identity.Apply(identity =\u003e identity?.PrincipalId),\n SecretPermissions = new[]\n {\n \"Get\",\n },\n CertificatePermissions = new[]\n {\n \"Get\",\n },\n });\n\n var exampleCertificate = new Azure.KeyVault.Certificate(\"exampleCertificate\", new()\n {\n KeyVaultId = exampleKeyVault.Id,\n KeyVaultCertificate = new Azure.KeyVault.Inputs.CertificateCertificateArgs\n {\n Contents = ReadFileBase64(\"example_cert.pfx\"),\n Password = \"terraform\",\n },\n CertificatePolicy = new Azure.KeyVault.Inputs.CertificateCertificatePolicyArgs\n {\n IssuerParameters = new Azure.KeyVault.Inputs.CertificateCertificatePolicyIssuerParametersArgs\n {\n Name = \"Self\",\n },\n KeyProperties = new Azure.KeyVault.Inputs.CertificateCertificatePolicyKeyPropertiesArgs\n {\n Exportable = true,\n KeySize = 2048,\n KeyType = \"RSA\",\n ReuseKey = false,\n },\n SecretProperties = new Azure.KeyVault.Inputs.CertificateCertificatePolicySecretPropertiesArgs\n {\n ContentType = \"application/x-pkcs12\",\n },\n },\n });\n\n var exampleApimanagement_certificateCertificate = new Azure.ApiManagement.Certificate(\"exampleApimanagement/certificateCertificate\", new()\n {\n ApiManagementName = exampleService.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n KeyVaultSecretId = exampleCertificate.SecretId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) string {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn base64.StdEncoding.EncodeToString(fileData[:])\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"exampleService\", \u0026apimanagement.ServiceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tPublisherName: pulumi.String(\"My Company\"),\n\t\t\tPublisherEmail: pulumi.String(\"company@terraform.io\"),\n\t\t\tSkuName: pulumi.String(\"Developer_1\"),\n\t\t\tIdentity: \u0026apimanagement.ServiceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"exampleKeyVault\", \u0026keyvault.KeyVaultArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tTenantId: *pulumi.String(current.TenantId),\n\t\t\tSkuName: pulumi.String(\"standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = keyvault.NewAccessPolicy(ctx, \"exampleAccessPolicy\", \u0026keyvault.AccessPolicyArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tTenantId: exampleService.Identity.ApplyT(func(identity apimanagement.ServiceIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.TenantId, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\tObjectId: exampleService.Identity.ApplyT(func(identity apimanagement.ServiceIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t},\n\t\t\tCertificatePermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCertificate, err := keyvault.NewCertificate(ctx, \"exampleCertificate\", \u0026keyvault.CertificateArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tCertificate: \u0026keyvault.CertificateCertificateArgs{\n\t\t\t\tContents: filebase64OrPanic(\"example_cert.pfx\"),\n\t\t\t\tPassword: pulumi.String(\"terraform\"),\n\t\t\t},\n\t\t\tCertificatePolicy: \u0026keyvault.CertificateCertificatePolicyArgs{\n\t\t\t\tIssuerParameters: \u0026keyvault.CertificateCertificatePolicyIssuerParametersArgs{\n\t\t\t\t\tName: pulumi.String(\"Self\"),\n\t\t\t\t},\n\t\t\t\tKeyProperties: \u0026keyvault.CertificateCertificatePolicyKeyPropertiesArgs{\n\t\t\t\t\tExportable: pulumi.Bool(true),\n\t\t\t\t\tKeySize: pulumi.Int(2048),\n\t\t\t\t\tKeyType: pulumi.String(\"RSA\"),\n\t\t\t\t\tReuseKey: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t\tSecretProperties: \u0026keyvault.CertificateCertificatePolicySecretPropertiesArgs{\n\t\t\t\t\tContentType: pulumi.String(\"application/x-pkcs12\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewCertificate(ctx, \"exampleApimanagement/certificateCertificate\", \u0026apimanagement.CertificateArgs{\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tKeyVaultSecretId: exampleCertificate.SecretId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.inputs.ServiceIdentityArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.AccessPolicy;\nimport com.pulumi.azure.keyvault.AccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Certificate;\nimport com.pulumi.azure.keyvault.CertificateArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificateArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyIssuerParametersArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyKeyPropertiesArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicySecretPropertiesArgs;\nimport com.pulumi.azure.apimanagement.Certificate;\nimport com.pulumi.azure.apimanagement.CertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = CoreFunctions.getClientConfig();\n\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var exampleService = new Service(\"exampleService\", ServiceArgs.builder() \n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .publisherName(\"My Company\")\n .publisherEmail(\"company@terraform.io\")\n .skuName(\"Developer_1\")\n .identity(ServiceIdentityArgs.builder()\n .type(\"SystemAssigned\")\n .build())\n .build());\n\n var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder() \n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .skuName(\"standard\")\n .build());\n\n var exampleAccessPolicy = new AccessPolicy(\"exampleAccessPolicy\", AccessPolicyArgs.builder() \n .keyVaultId(exampleKeyVault.id())\n .tenantId(exampleService.identity().applyValue(identity -\u003e identity.tenantId()))\n .objectId(exampleService.identity().applyValue(identity -\u003e identity.principalId()))\n .secretPermissions(\"Get\")\n .certificatePermissions(\"Get\")\n .build());\n\n var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder() \n .keyVaultId(exampleKeyVault.id())\n .certificate(CertificateCertificateArgs.builder()\n .contents(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"example_cert.pfx\"))))\n .password(\"terraform\")\n .build())\n .certificatePolicy(CertificateCertificatePolicyArgs.builder()\n .issuerParameters(CertificateCertificatePolicyIssuerParametersArgs.builder()\n .name(\"Self\")\n .build())\n .keyProperties(CertificateCertificatePolicyKeyPropertiesArgs.builder()\n .exportable(true)\n .keySize(2048)\n .keyType(\"RSA\")\n .reuseKey(false)\n .build())\n .secretProperties(CertificateCertificatePolicySecretPropertiesArgs.builder()\n .contentType(\"application/x-pkcs12\")\n .build())\n .build())\n .build());\n\n var exampleApimanagement_certificateCertificate = new Certificate(\"exampleApimanagement/certificateCertificate\", CertificateArgs.builder() \n .apiManagementName(exampleService.name())\n .resourceGroupName(exampleResourceGroup.name())\n .keyVaultSecretId(exampleCertificate.secretId())\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAPI Management Certificates can be imported using the `resource id`, e.g.\n\n```sh\n $ pulumi import azure:apimanagement/certificate:Certificate example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ApiManagement/service/instance1/certificates/certificate1\n```\n\n ", "properties": { "apiManagementName": { "type": "string", @@ -102649,7 +102649,7 @@ } }, "azure:apimanagement/gatewayCertificateAuthority:GatewayCertificateAuthority": { - "description": "Manages an API Management Gateway Certificate Authority.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as fs from \"fs\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleService = new azure.apimanagement.Service(\"exampleService\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n publisherName: \"pub1\",\n publisherEmail: \"pub1@email.com\",\n skuName: \"Consumption_0\",\n});\nconst exampleGateway = new azure.apimanagement.Gateway(\"exampleGateway\", {\n apiManagementId: exampleService.id,\n description: \"Example API Management gateway\",\n locationData: {\n name: \"example name\",\n city: \"example city\",\n district: \"example district\",\n region: \"example region\",\n },\n});\nconst exampleCertificate = new azure.apimanagement.Certificate(\"exampleCertificate\", {\n apiManagementName: exampleService.name,\n resourceGroupName: exampleResourceGroup.name,\n data: Buffer.from(fs.readFileSync(\"example.pfx\"), 'binary').toString('base64'),\n});\nconst exampleGatewayCertificateAuthority = new azure.apimanagement.GatewayCertificateAuthority(\"exampleGatewayCertificateAuthority\", {\n apiManagementId: exampleService.id,\n certificateName: exampleCertificate.name,\n gatewayName: exampleGateway.name,\n isTrusted: true,\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"exampleService\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n publisher_name=\"pub1\",\n publisher_email=\"pub1@email.com\",\n sku_name=\"Consumption_0\")\nexample_gateway = azure.apimanagement.Gateway(\"exampleGateway\",\n api_management_id=example_service.id,\n description=\"Example API Management gateway\",\n location_data=azure.apimanagement.GatewayLocationDataArgs(\n name=\"example name\",\n city=\"example city\",\n district=\"example district\",\n region=\"example region\",\n ))\nexample_certificate = azure.apimanagement.Certificate(\"exampleCertificate\",\n api_management_name=example_service.name,\n resource_group_name=example_resource_group.name,\n data=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"example.pfx\"))\nexample_gateway_certificate_authority = azure.apimanagement.GatewayCertificateAuthority(\"exampleGatewayCertificateAuthority\",\n api_management_id=example_service.id,\n certificate_name=example_certificate.name,\n gateway_name=example_gateway.name,\n is_trusted=True)\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\n\tprivate static string ReadFileBase64(string path) {\n\t\treturn Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n\t}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleService = new Azure.ApiManagement.Service(\"exampleService\", new()\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n PublisherName = \"pub1\",\n PublisherEmail = \"pub1@email.com\",\n SkuName = \"Consumption_0\",\n });\n\n var exampleGateway = new Azure.ApiManagement.Gateway(\"exampleGateway\", new()\n {\n ApiManagementId = exampleService.Id,\n Description = \"Example API Management gateway\",\n LocationData = new Azure.ApiManagement.Inputs.GatewayLocationDataArgs\n {\n Name = \"example name\",\n City = \"example city\",\n District = \"example district\",\n Region = \"example region\",\n },\n });\n\n var exampleCertificate = new Azure.ApiManagement.Certificate(\"exampleCertificate\", new()\n {\n ApiManagementName = exampleService.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Data = ReadFileBase64(\"example.pfx\"),\n });\n\n var exampleGatewayCertificateAuthority = new Azure.ApiManagement.GatewayCertificateAuthority(\"exampleGatewayCertificateAuthority\", new()\n {\n ApiManagementId = exampleService.Id,\n CertificateName = exampleCertificate.Name,\n GatewayName = exampleGateway.Name,\n IsTrusted = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) pulumi.StringPtrInput {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn pulumi.String(base64.StdEncoding.EncodeToString(fileData[:]))\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"exampleService\", \u0026apimanagement.ServiceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tPublisherName: pulumi.String(\"pub1\"),\n\t\t\tPublisherEmail: pulumi.String(\"pub1@email.com\"),\n\t\t\tSkuName: pulumi.String(\"Consumption_0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGateway, err := apimanagement.NewGateway(ctx, \"exampleGateway\", \u0026apimanagement.GatewayArgs{\n\t\t\tApiManagementId: exampleService.ID(),\n\t\t\tDescription: pulumi.String(\"Example API Management gateway\"),\n\t\t\tLocationData: \u0026apimanagement.GatewayLocationDataArgs{\n\t\t\t\tName: pulumi.String(\"example name\"),\n\t\t\t\tCity: pulumi.String(\"example city\"),\n\t\t\t\tDistrict: pulumi.String(\"example district\"),\n\t\t\t\tRegion: pulumi.String(\"example region\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCertificate, err := apimanagement.NewCertificate(ctx, \"exampleCertificate\", \u0026apimanagement.CertificateArgs{\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tData: filebase64OrPanic(\"example.pfx\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewGatewayCertificateAuthority(ctx, \"exampleGatewayCertificateAuthority\", \u0026apimanagement.GatewayCertificateAuthorityArgs{\n\t\t\tApiManagementId: exampleService.ID(),\n\t\t\tCertificateName: exampleCertificate.Name,\n\t\t\tGatewayName: exampleGateway.Name,\n\t\t\tIsTrusted: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.Gateway;\nimport com.pulumi.azure.apimanagement.GatewayArgs;\nimport com.pulumi.azure.apimanagement.inputs.GatewayLocationDataArgs;\nimport com.pulumi.azure.apimanagement.Certificate;\nimport com.pulumi.azure.apimanagement.CertificateArgs;\nimport com.pulumi.azure.apimanagement.GatewayCertificateAuthority;\nimport com.pulumi.azure.apimanagement.GatewayCertificateAuthorityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var exampleService = new Service(\"exampleService\", ServiceArgs.builder() \n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .publisherName(\"pub1\")\n .publisherEmail(\"pub1@email.com\")\n .skuName(\"Consumption_0\")\n .build());\n\n var exampleGateway = new Gateway(\"exampleGateway\", GatewayArgs.builder() \n .apiManagementId(exampleService.id())\n .description(\"Example API Management gateway\")\n .locationData(GatewayLocationDataArgs.builder()\n .name(\"example name\")\n .city(\"example city\")\n .district(\"example district\")\n .region(\"example region\")\n .build())\n .build());\n\n var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder() \n .apiManagementName(exampleService.name())\n .resourceGroupName(exampleResourceGroup.name())\n .data(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"example.pfx\"))))\n .build());\n\n var exampleGatewayCertificateAuthority = new GatewayCertificateAuthority(\"exampleGatewayCertificateAuthority\", GatewayCertificateAuthorityArgs.builder() \n .apiManagementId(exampleService.id())\n .certificateName(exampleCertificate.name())\n .gatewayName(exampleGateway.name())\n .isTrusted(true)\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAPI Management Gateway Certificate Authority can be imported using the `resource id`, e.g.\n\n```sh\n $ pulumi import azure:apimanagement/gatewayCertificateAuthority:GatewayCertificateAuthority example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ApiManagement/service/service1/gateways/gateway1/certificateAuthorities/cert1\n```\n\n ", + "description": "Manages an API Management Gateway Certificate Authority.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as fs from \"fs\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleService = new azure.apimanagement.Service(\"exampleService\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n publisherName: \"pub1\",\n publisherEmail: \"pub1@email.com\",\n skuName: \"Consumption_0\",\n});\nconst exampleGateway = new azure.apimanagement.Gateway(\"exampleGateway\", {\n apiManagementId: exampleService.id,\n description: \"Example API Management gateway\",\n locationData: {\n name: \"example name\",\n city: \"example city\",\n district: \"example district\",\n region: \"example region\",\n },\n});\nconst exampleCertificate = new azure.apimanagement.Certificate(\"exampleCertificate\", {\n apiManagementName: exampleService.name,\n resourceGroupName: exampleResourceGroup.name,\n data: Buffer.from(fs.readFileSync(\"example.pfx\", 'binary')).toString('base64'),\n});\nconst exampleGatewayCertificateAuthority = new azure.apimanagement.GatewayCertificateAuthority(\"exampleGatewayCertificateAuthority\", {\n apiManagementId: exampleService.id,\n certificateName: exampleCertificate.name,\n gatewayName: exampleGateway.name,\n isTrusted: true,\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"exampleService\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n publisher_name=\"pub1\",\n publisher_email=\"pub1@email.com\",\n sku_name=\"Consumption_0\")\nexample_gateway = azure.apimanagement.Gateway(\"exampleGateway\",\n api_management_id=example_service.id,\n description=\"Example API Management gateway\",\n location_data=azure.apimanagement.GatewayLocationDataArgs(\n name=\"example name\",\n city=\"example city\",\n district=\"example district\",\n region=\"example region\",\n ))\nexample_certificate = azure.apimanagement.Certificate(\"exampleCertificate\",\n api_management_name=example_service.name,\n resource_group_name=example_resource_group.name,\n data=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"example.pfx\"))\nexample_gateway_certificate_authority = azure.apimanagement.GatewayCertificateAuthority(\"exampleGatewayCertificateAuthority\",\n api_management_id=example_service.id,\n certificate_name=example_certificate.name,\n gateway_name=example_gateway.name,\n is_trusted=True)\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\n\t\nstring ReadFileBase64(string path) \n{\n return Convert.ToBase64String(Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleService = new Azure.ApiManagement.Service(\"exampleService\", new()\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n PublisherName = \"pub1\",\n PublisherEmail = \"pub1@email.com\",\n SkuName = \"Consumption_0\",\n });\n\n var exampleGateway = new Azure.ApiManagement.Gateway(\"exampleGateway\", new()\n {\n ApiManagementId = exampleService.Id,\n Description = \"Example API Management gateway\",\n LocationData = new Azure.ApiManagement.Inputs.GatewayLocationDataArgs\n {\n Name = \"example name\",\n City = \"example city\",\n District = \"example district\",\n Region = \"example region\",\n },\n });\n\n var exampleCertificate = new Azure.ApiManagement.Certificate(\"exampleCertificate\", new()\n {\n ApiManagementName = exampleService.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Data = ReadFileBase64(\"example.pfx\"),\n });\n\n var exampleGatewayCertificateAuthority = new Azure.ApiManagement.GatewayCertificateAuthority(\"exampleGatewayCertificateAuthority\", new()\n {\n ApiManagementId = exampleService.Id,\n CertificateName = exampleCertificate.Name,\n GatewayName = exampleGateway.Name,\n IsTrusted = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) string {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn base64.StdEncoding.EncodeToString(fileData[:])\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"exampleService\", \u0026apimanagement.ServiceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tPublisherName: pulumi.String(\"pub1\"),\n\t\t\tPublisherEmail: pulumi.String(\"pub1@email.com\"),\n\t\t\tSkuName: pulumi.String(\"Consumption_0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGateway, err := apimanagement.NewGateway(ctx, \"exampleGateway\", \u0026apimanagement.GatewayArgs{\n\t\t\tApiManagementId: exampleService.ID(),\n\t\t\tDescription: pulumi.String(\"Example API Management gateway\"),\n\t\t\tLocationData: \u0026apimanagement.GatewayLocationDataArgs{\n\t\t\t\tName: pulumi.String(\"example name\"),\n\t\t\t\tCity: pulumi.String(\"example city\"),\n\t\t\t\tDistrict: pulumi.String(\"example district\"),\n\t\t\t\tRegion: pulumi.String(\"example region\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCertificate, err := apimanagement.NewCertificate(ctx, \"exampleCertificate\", \u0026apimanagement.CertificateArgs{\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tData: filebase64OrPanic(\"example.pfx\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewGatewayCertificateAuthority(ctx, \"exampleGatewayCertificateAuthority\", \u0026apimanagement.GatewayCertificateAuthorityArgs{\n\t\t\tApiManagementId: exampleService.ID(),\n\t\t\tCertificateName: exampleCertificate.Name,\n\t\t\tGatewayName: exampleGateway.Name,\n\t\t\tIsTrusted: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.Gateway;\nimport com.pulumi.azure.apimanagement.GatewayArgs;\nimport com.pulumi.azure.apimanagement.inputs.GatewayLocationDataArgs;\nimport com.pulumi.azure.apimanagement.Certificate;\nimport com.pulumi.azure.apimanagement.CertificateArgs;\nimport com.pulumi.azure.apimanagement.GatewayCertificateAuthority;\nimport com.pulumi.azure.apimanagement.GatewayCertificateAuthorityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var exampleService = new Service(\"exampleService\", ServiceArgs.builder() \n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .publisherName(\"pub1\")\n .publisherEmail(\"pub1@email.com\")\n .skuName(\"Consumption_0\")\n .build());\n\n var exampleGateway = new Gateway(\"exampleGateway\", GatewayArgs.builder() \n .apiManagementId(exampleService.id())\n .description(\"Example API Management gateway\")\n .locationData(GatewayLocationDataArgs.builder()\n .name(\"example name\")\n .city(\"example city\")\n .district(\"example district\")\n .region(\"example region\")\n .build())\n .build());\n\n var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder() \n .apiManagementName(exampleService.name())\n .resourceGroupName(exampleResourceGroup.name())\n .data(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"example.pfx\"))))\n .build());\n\n var exampleGatewayCertificateAuthority = new GatewayCertificateAuthority(\"exampleGatewayCertificateAuthority\", GatewayCertificateAuthorityArgs.builder() \n .apiManagementId(exampleService.id())\n .certificateName(exampleCertificate.name())\n .gatewayName(exampleGateway.name())\n .isTrusted(true)\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAPI Management Gateway Certificate Authority can be imported using the `resource id`, e.g.\n\n```sh\n $ pulumi import azure:apimanagement/gatewayCertificateAuthority:GatewayCertificateAuthority example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ApiManagement/service/service1/gateways/gateway1/certificateAuthorities/cert1\n```\n\n ", "properties": { "apiManagementId": { "type": "string", @@ -102726,7 +102726,7 @@ } }, "azure:apimanagement/gatewayHostNameConfiguration:GatewayHostNameConfiguration": { - "description": "Manages an API Management Gateway Host Name Configuration.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as fs from \"fs\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleService = new azure.apimanagement.Service(\"exampleService\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n publisherName: \"pub1\",\n publisherEmail: \"pub1@email.com\",\n skuName: \"Consumption_0\",\n});\nconst exampleGateway = new azure.apimanagement.Gateway(\"exampleGateway\", {\n apiManagementId: exampleService.id,\n description: \"Example API Management gateway\",\n locationData: {\n name: \"example name\",\n city: \"example city\",\n district: \"example district\",\n region: \"example region\",\n },\n});\nconst exampleCertificate = new azure.apimanagement.Certificate(\"exampleCertificate\", {\n apiManagementName: exampleService.name,\n resourceGroupName: exampleResourceGroup.name,\n data: Buffer.from(fs.readFileSync(\"example.pfx\"), 'binary').toString('base64'),\n});\nconst exampleGatewayHostNameConfiguration = new azure.apimanagement.GatewayHostNameConfiguration(\"exampleGatewayHostNameConfiguration\", {\n apiManagementId: exampleService.id,\n gatewayName: exampleGateway.name,\n certificateId: exampleCertificate.id,\n hostName: \"example-host-name\",\n requestClientCertificateEnabled: true,\n http2Enabled: true,\n tls10Enabled: true,\n tls11Enabled: false,\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"exampleService\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n publisher_name=\"pub1\",\n publisher_email=\"pub1@email.com\",\n sku_name=\"Consumption_0\")\nexample_gateway = azure.apimanagement.Gateway(\"exampleGateway\",\n api_management_id=example_service.id,\n description=\"Example API Management gateway\",\n location_data=azure.apimanagement.GatewayLocationDataArgs(\n name=\"example name\",\n city=\"example city\",\n district=\"example district\",\n region=\"example region\",\n ))\nexample_certificate = azure.apimanagement.Certificate(\"exampleCertificate\",\n api_management_name=example_service.name,\n resource_group_name=example_resource_group.name,\n data=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"example.pfx\"))\nexample_gateway_host_name_configuration = azure.apimanagement.GatewayHostNameConfiguration(\"exampleGatewayHostNameConfiguration\",\n api_management_id=example_service.id,\n gateway_name=example_gateway.name,\n certificate_id=example_certificate.id,\n host_name=\"example-host-name\",\n request_client_certificate_enabled=True,\n http2_enabled=True,\n tls10_enabled=True,\n tls11_enabled=False)\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\n\tprivate static string ReadFileBase64(string path) {\n\t\treturn Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n\t}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleService = new Azure.ApiManagement.Service(\"exampleService\", new()\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n PublisherName = \"pub1\",\n PublisherEmail = \"pub1@email.com\",\n SkuName = \"Consumption_0\",\n });\n\n var exampleGateway = new Azure.ApiManagement.Gateway(\"exampleGateway\", new()\n {\n ApiManagementId = exampleService.Id,\n Description = \"Example API Management gateway\",\n LocationData = new Azure.ApiManagement.Inputs.GatewayLocationDataArgs\n {\n Name = \"example name\",\n City = \"example city\",\n District = \"example district\",\n Region = \"example region\",\n },\n });\n\n var exampleCertificate = new Azure.ApiManagement.Certificate(\"exampleCertificate\", new()\n {\n ApiManagementName = exampleService.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Data = ReadFileBase64(\"example.pfx\"),\n });\n\n var exampleGatewayHostNameConfiguration = new Azure.ApiManagement.GatewayHostNameConfiguration(\"exampleGatewayHostNameConfiguration\", new()\n {\n ApiManagementId = exampleService.Id,\n GatewayName = exampleGateway.Name,\n CertificateId = exampleCertificate.Id,\n HostName = \"example-host-name\",\n RequestClientCertificateEnabled = true,\n Http2Enabled = true,\n Tls10Enabled = true,\n Tls11Enabled = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) pulumi.StringPtrInput {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn pulumi.String(base64.StdEncoding.EncodeToString(fileData[:]))\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"exampleService\", \u0026apimanagement.ServiceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tPublisherName: pulumi.String(\"pub1\"),\n\t\t\tPublisherEmail: pulumi.String(\"pub1@email.com\"),\n\t\t\tSkuName: pulumi.String(\"Consumption_0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGateway, err := apimanagement.NewGateway(ctx, \"exampleGateway\", \u0026apimanagement.GatewayArgs{\n\t\t\tApiManagementId: exampleService.ID(),\n\t\t\tDescription: pulumi.String(\"Example API Management gateway\"),\n\t\t\tLocationData: \u0026apimanagement.GatewayLocationDataArgs{\n\t\t\t\tName: pulumi.String(\"example name\"),\n\t\t\t\tCity: pulumi.String(\"example city\"),\n\t\t\t\tDistrict: pulumi.String(\"example district\"),\n\t\t\t\tRegion: pulumi.String(\"example region\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCertificate, err := apimanagement.NewCertificate(ctx, \"exampleCertificate\", \u0026apimanagement.CertificateArgs{\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tData: filebase64OrPanic(\"example.pfx\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewGatewayHostNameConfiguration(ctx, \"exampleGatewayHostNameConfiguration\", \u0026apimanagement.GatewayHostNameConfigurationArgs{\n\t\t\tApiManagementId: exampleService.ID(),\n\t\t\tGatewayName: exampleGateway.Name,\n\t\t\tCertificateId: exampleCertificate.ID(),\n\t\t\tHostName: pulumi.String(\"example-host-name\"),\n\t\t\tRequestClientCertificateEnabled: pulumi.Bool(true),\n\t\t\tHttp2Enabled: pulumi.Bool(true),\n\t\t\tTls10Enabled: pulumi.Bool(true),\n\t\t\tTls11Enabled: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.Gateway;\nimport com.pulumi.azure.apimanagement.GatewayArgs;\nimport com.pulumi.azure.apimanagement.inputs.GatewayLocationDataArgs;\nimport com.pulumi.azure.apimanagement.Certificate;\nimport com.pulumi.azure.apimanagement.CertificateArgs;\nimport com.pulumi.azure.apimanagement.GatewayHostNameConfiguration;\nimport com.pulumi.azure.apimanagement.GatewayHostNameConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var exampleService = new Service(\"exampleService\", ServiceArgs.builder() \n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .publisherName(\"pub1\")\n .publisherEmail(\"pub1@email.com\")\n .skuName(\"Consumption_0\")\n .build());\n\n var exampleGateway = new Gateway(\"exampleGateway\", GatewayArgs.builder() \n .apiManagementId(exampleService.id())\n .description(\"Example API Management gateway\")\n .locationData(GatewayLocationDataArgs.builder()\n .name(\"example name\")\n .city(\"example city\")\n .district(\"example district\")\n .region(\"example region\")\n .build())\n .build());\n\n var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder() \n .apiManagementName(exampleService.name())\n .resourceGroupName(exampleResourceGroup.name())\n .data(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"example.pfx\"))))\n .build());\n\n var exampleGatewayHostNameConfiguration = new GatewayHostNameConfiguration(\"exampleGatewayHostNameConfiguration\", GatewayHostNameConfigurationArgs.builder() \n .apiManagementId(exampleService.id())\n .gatewayName(exampleGateway.name())\n .certificateId(exampleCertificate.id())\n .hostName(\"example-host-name\")\n .requestClientCertificateEnabled(true)\n .http2Enabled(true)\n .tls10Enabled(true)\n .tls11Enabled(false)\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAPI Management Gateway Host Name Configuration can be imported using the `resource id`, e.g.\n\n```sh\n $ pulumi import azure:apimanagement/gatewayHostNameConfiguration:GatewayHostNameConfiguration example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ApiManagement/service/service1/gateways/gateway1/hostnameConfigurations/hc1\n```\n\n ", + "description": "Manages an API Management Gateway Host Name Configuration.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as fs from \"fs\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleService = new azure.apimanagement.Service(\"exampleService\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n publisherName: \"pub1\",\n publisherEmail: \"pub1@email.com\",\n skuName: \"Consumption_0\",\n});\nconst exampleGateway = new azure.apimanagement.Gateway(\"exampleGateway\", {\n apiManagementId: exampleService.id,\n description: \"Example API Management gateway\",\n locationData: {\n name: \"example name\",\n city: \"example city\",\n district: \"example district\",\n region: \"example region\",\n },\n});\nconst exampleCertificate = new azure.apimanagement.Certificate(\"exampleCertificate\", {\n apiManagementName: exampleService.name,\n resourceGroupName: exampleResourceGroup.name,\n data: Buffer.from(fs.readFileSync(\"example.pfx\", 'binary')).toString('base64'),\n});\nconst exampleGatewayHostNameConfiguration = new azure.apimanagement.GatewayHostNameConfiguration(\"exampleGatewayHostNameConfiguration\", {\n apiManagementId: exampleService.id,\n gatewayName: exampleGateway.name,\n certificateId: exampleCertificate.id,\n hostName: \"example-host-name\",\n requestClientCertificateEnabled: true,\n http2Enabled: true,\n tls10Enabled: true,\n tls11Enabled: false,\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"exampleService\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n publisher_name=\"pub1\",\n publisher_email=\"pub1@email.com\",\n sku_name=\"Consumption_0\")\nexample_gateway = azure.apimanagement.Gateway(\"exampleGateway\",\n api_management_id=example_service.id,\n description=\"Example API Management gateway\",\n location_data=azure.apimanagement.GatewayLocationDataArgs(\n name=\"example name\",\n city=\"example city\",\n district=\"example district\",\n region=\"example region\",\n ))\nexample_certificate = azure.apimanagement.Certificate(\"exampleCertificate\",\n api_management_name=example_service.name,\n resource_group_name=example_resource_group.name,\n data=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"example.pfx\"))\nexample_gateway_host_name_configuration = azure.apimanagement.GatewayHostNameConfiguration(\"exampleGatewayHostNameConfiguration\",\n api_management_id=example_service.id,\n gateway_name=example_gateway.name,\n certificate_id=example_certificate.id,\n host_name=\"example-host-name\",\n request_client_certificate_enabled=True,\n http2_enabled=True,\n tls10_enabled=True,\n tls11_enabled=False)\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\n\t\nstring ReadFileBase64(string path) \n{\n return Convert.ToBase64String(Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleService = new Azure.ApiManagement.Service(\"exampleService\", new()\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n PublisherName = \"pub1\",\n PublisherEmail = \"pub1@email.com\",\n SkuName = \"Consumption_0\",\n });\n\n var exampleGateway = new Azure.ApiManagement.Gateway(\"exampleGateway\", new()\n {\n ApiManagementId = exampleService.Id,\n Description = \"Example API Management gateway\",\n LocationData = new Azure.ApiManagement.Inputs.GatewayLocationDataArgs\n {\n Name = \"example name\",\n City = \"example city\",\n District = \"example district\",\n Region = \"example region\",\n },\n });\n\n var exampleCertificate = new Azure.ApiManagement.Certificate(\"exampleCertificate\", new()\n {\n ApiManagementName = exampleService.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Data = ReadFileBase64(\"example.pfx\"),\n });\n\n var exampleGatewayHostNameConfiguration = new Azure.ApiManagement.GatewayHostNameConfiguration(\"exampleGatewayHostNameConfiguration\", new()\n {\n ApiManagementId = exampleService.Id,\n GatewayName = exampleGateway.Name,\n CertificateId = exampleCertificate.Id,\n HostName = \"example-host-name\",\n RequestClientCertificateEnabled = true,\n Http2Enabled = true,\n Tls10Enabled = true,\n Tls11Enabled = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) string {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn base64.StdEncoding.EncodeToString(fileData[:])\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"exampleService\", \u0026apimanagement.ServiceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tPublisherName: pulumi.String(\"pub1\"),\n\t\t\tPublisherEmail: pulumi.String(\"pub1@email.com\"),\n\t\t\tSkuName: pulumi.String(\"Consumption_0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGateway, err := apimanagement.NewGateway(ctx, \"exampleGateway\", \u0026apimanagement.GatewayArgs{\n\t\t\tApiManagementId: exampleService.ID(),\n\t\t\tDescription: pulumi.String(\"Example API Management gateway\"),\n\t\t\tLocationData: \u0026apimanagement.GatewayLocationDataArgs{\n\t\t\t\tName: pulumi.String(\"example name\"),\n\t\t\t\tCity: pulumi.String(\"example city\"),\n\t\t\t\tDistrict: pulumi.String(\"example district\"),\n\t\t\t\tRegion: pulumi.String(\"example region\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCertificate, err := apimanagement.NewCertificate(ctx, \"exampleCertificate\", \u0026apimanagement.CertificateArgs{\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tData: filebase64OrPanic(\"example.pfx\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewGatewayHostNameConfiguration(ctx, \"exampleGatewayHostNameConfiguration\", \u0026apimanagement.GatewayHostNameConfigurationArgs{\n\t\t\tApiManagementId: exampleService.ID(),\n\t\t\tGatewayName: exampleGateway.Name,\n\t\t\tCertificateId: exampleCertificate.ID(),\n\t\t\tHostName: pulumi.String(\"example-host-name\"),\n\t\t\tRequestClientCertificateEnabled: pulumi.Bool(true),\n\t\t\tHttp2Enabled: pulumi.Bool(true),\n\t\t\tTls10Enabled: pulumi.Bool(true),\n\t\t\tTls11Enabled: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.Gateway;\nimport com.pulumi.azure.apimanagement.GatewayArgs;\nimport com.pulumi.azure.apimanagement.inputs.GatewayLocationDataArgs;\nimport com.pulumi.azure.apimanagement.Certificate;\nimport com.pulumi.azure.apimanagement.CertificateArgs;\nimport com.pulumi.azure.apimanagement.GatewayHostNameConfiguration;\nimport com.pulumi.azure.apimanagement.GatewayHostNameConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var exampleService = new Service(\"exampleService\", ServiceArgs.builder() \n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .publisherName(\"pub1\")\n .publisherEmail(\"pub1@email.com\")\n .skuName(\"Consumption_0\")\n .build());\n\n var exampleGateway = new Gateway(\"exampleGateway\", GatewayArgs.builder() \n .apiManagementId(exampleService.id())\n .description(\"Example API Management gateway\")\n .locationData(GatewayLocationDataArgs.builder()\n .name(\"example name\")\n .city(\"example city\")\n .district(\"example district\")\n .region(\"example region\")\n .build())\n .build());\n\n var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder() \n .apiManagementName(exampleService.name())\n .resourceGroupName(exampleResourceGroup.name())\n .data(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"example.pfx\"))))\n .build());\n\n var exampleGatewayHostNameConfiguration = new GatewayHostNameConfiguration(\"exampleGatewayHostNameConfiguration\", GatewayHostNameConfigurationArgs.builder() \n .apiManagementId(exampleService.id())\n .gatewayName(exampleGateway.name())\n .certificateId(exampleCertificate.id())\n .hostName(\"example-host-name\")\n .requestClientCertificateEnabled(true)\n .http2Enabled(true)\n .tls10Enabled(true)\n .tls11Enabled(false)\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAPI Management Gateway Host Name Configuration can be imported using the `resource id`, e.g.\n\n```sh\n $ pulumi import azure:apimanagement/gatewayHostNameConfiguration:GatewayHostNameConfiguration example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ApiManagement/service/service1/gateways/gateway1/hostnameConfigurations/hc1\n```\n\n ", "properties": { "apiManagementId": { "type": "string", @@ -111688,7 +111688,7 @@ } }, "azure:appservice/certificate:Certificate": { - "description": "Manages an App Service certificate.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nThis example provisions an App Service Certificate from a Local File.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as fs from \"fs\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleCertificate = new azure.appservice.Certificate(\"exampleCertificate\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n pfxBlob: Buffer.from(fs.readFileSync(\"certificate.pfx\"), 'binary').toString('base64'),\n password: \"password123!\",\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_certificate = azure.appservice.Certificate(\"exampleCertificate\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n pfx_blob=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"certificate.pfx\"),\n password=\"password123!\")\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\n\tprivate static string ReadFileBase64(string path) {\n\t\treturn Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n\t}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleCertificate = new Azure.AppService.Certificate(\"exampleCertificate\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n PfxBlob = ReadFileBase64(\"certificate.pfx\"),\n Password = \"password123!\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) pulumi.StringPtrInput {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn pulumi.String(base64.StdEncoding.EncodeToString(fileData[:]))\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewCertificate(ctx, \"exampleCertificate\", \u0026appservice.CertificateArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tPfxBlob: filebase64OrPanic(\"certificate.pfx\"),\n\t\t\tPassword: pulumi.String(\"password123!\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appservice.Certificate;\nimport com.pulumi.azure.appservice.CertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .location(exampleResourceGroup.location())\n .pfxBlob(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"certificate.pfx\"))))\n .password(\"password123!\")\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nApp Service Certificates can be imported using the `resource id`, e.g.\n\n```sh\n $ pulumi import azure:appservice/certificate:Certificate example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Web/certificates/certificate1\n```\n\n ", + "description": "Manages an App Service certificate.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nThis example provisions an App Service Certificate from a Local File.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as fs from \"fs\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleCertificate = new azure.appservice.Certificate(\"exampleCertificate\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n pfxBlob: Buffer.from(fs.readFileSync(\"certificate.pfx\", 'binary')).toString('base64'),\n password: \"password123!\",\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_certificate = azure.appservice.Certificate(\"exampleCertificate\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n pfx_blob=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"certificate.pfx\"),\n password=\"password123!\")\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\n\t\nstring ReadFileBase64(string path) \n{\n return Convert.ToBase64String(Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleCertificate = new Azure.AppService.Certificate(\"exampleCertificate\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n PfxBlob = ReadFileBase64(\"certificate.pfx\"),\n Password = \"password123!\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) string {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn base64.StdEncoding.EncodeToString(fileData[:])\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewCertificate(ctx, \"exampleCertificate\", \u0026appservice.CertificateArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tPfxBlob: filebase64OrPanic(\"certificate.pfx\"),\n\t\t\tPassword: pulumi.String(\"password123!\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appservice.Certificate;\nimport com.pulumi.azure.appservice.CertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .location(exampleResourceGroup.location())\n .pfxBlob(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"certificate.pfx\"))))\n .password(\"password123!\")\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nApp Service Certificates can be imported using the `resource id`, e.g.\n\n```sh\n $ pulumi import azure:appservice/certificate:Certificate example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Web/certificates/certificate1\n```\n\n ", "properties": { "appServicePlanId": { "type": "string", @@ -116623,7 +116623,7 @@ } }, "azure:appservice/publicCertificate:PublicCertificate": { - "description": "Manages an App Service Public Certificate.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as fs from \"fs\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst examplePlan = new azure.appservice.Plan(\"examplePlan\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: {\n tier: \"Standard\",\n size: \"S1\",\n },\n});\nconst exampleAppService = new azure.appservice.AppService(\"exampleAppService\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n appServicePlanId: examplePlan.id,\n});\nconst examplePublicCertificate = new azure.appservice.PublicCertificate(\"examplePublicCertificate\", {\n resourceGroupName: exampleResourceGroup.name,\n appServiceName: exampleAppService.name,\n certificateName: \"example-public-certificate\",\n certificateLocation: \"Unknown\",\n blob: Buffer.from(fs.readFileSync(\"app_service_public_certificate.cer\"), 'binary').toString('base64'),\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_plan = azure.appservice.Plan(\"examplePlan\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=azure.appservice.PlanSkuArgs(\n tier=\"Standard\",\n size=\"S1\",\n ))\nexample_app_service = azure.appservice.AppService(\"exampleAppService\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n app_service_plan_id=example_plan.id)\nexample_public_certificate = azure.appservice.PublicCertificate(\"examplePublicCertificate\",\n resource_group_name=example_resource_group.name,\n app_service_name=example_app_service.name,\n certificate_name=\"example-public-certificate\",\n certificate_location=\"Unknown\",\n blob=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"app_service_public_certificate.cer\"))\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\n\tprivate static string ReadFileBase64(string path) {\n\t\treturn Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n\t}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var examplePlan = new Azure.AppService.Plan(\"examplePlan\", new()\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = new Azure.AppService.Inputs.PlanSkuArgs\n {\n Tier = \"Standard\",\n Size = \"S1\",\n },\n });\n\n var exampleAppService = new Azure.AppService.AppService(\"exampleAppService\", new()\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AppServicePlanId = examplePlan.Id,\n });\n\n var examplePublicCertificate = new Azure.AppService.PublicCertificate(\"examplePublicCertificate\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n AppServiceName = exampleAppService.Name,\n CertificateName = \"example-public-certificate\",\n CertificateLocation = \"Unknown\",\n Blob = ReadFileBase64(\"app_service_public_certificate.cer\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) pulumi.StringPtrInput {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn pulumi.String(base64.StdEncoding.EncodeToString(fileData[:]))\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePlan, err := appservice.NewPlan(ctx, \"examplePlan\", \u0026appservice.PlanArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSku: \u0026appservice.PlanSkuArgs{\n\t\t\t\tTier: pulumi.String(\"Standard\"),\n\t\t\t\tSize: pulumi.String(\"S1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAppService, err := appservice.NewAppService(ctx, \"exampleAppService\", \u0026appservice.AppServiceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tAppServicePlanId: examplePlan.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewPublicCertificate(ctx, \"examplePublicCertificate\", \u0026appservice.PublicCertificateArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tAppServiceName: exampleAppService.Name,\n\t\t\tCertificateName: pulumi.String(\"example-public-certificate\"),\n\t\t\tCertificateLocation: pulumi.String(\"Unknown\"),\n\t\t\tBlob: filebase64OrPanic(\"app_service_public_certificate.cer\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appservice.Plan;\nimport com.pulumi.azure.appservice.PlanArgs;\nimport com.pulumi.azure.appservice.inputs.PlanSkuArgs;\nimport com.pulumi.azure.appservice.AppService;\nimport com.pulumi.azure.appservice.AppServiceArgs;\nimport com.pulumi.azure.appservice.PublicCertificate;\nimport com.pulumi.azure.appservice.PublicCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var examplePlan = new Plan(\"examplePlan\", PlanArgs.builder() \n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .sku(PlanSkuArgs.builder()\n .tier(\"Standard\")\n .size(\"S1\")\n .build())\n .build());\n\n var exampleAppService = new AppService(\"exampleAppService\", AppServiceArgs.builder() \n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .appServicePlanId(examplePlan.id())\n .build());\n\n var examplePublicCertificate = new PublicCertificate(\"examplePublicCertificate\", PublicCertificateArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .appServiceName(exampleAppService.name())\n .certificateName(\"example-public-certificate\")\n .certificateLocation(\"Unknown\")\n .blob(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"app_service_public_certificate.cer\"))))\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nApp Service Public Certificates can be imported using the `resource id`, e.g.\n\n```sh\n $ pulumi import azure:appservice/publicCertificate:PublicCertificate example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Web/sites/site1/publicCertificates/publicCertificate1\n```\n\n ", + "description": "Manages an App Service Public Certificate.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as fs from \"fs\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst examplePlan = new azure.appservice.Plan(\"examplePlan\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: {\n tier: \"Standard\",\n size: \"S1\",\n },\n});\nconst exampleAppService = new azure.appservice.AppService(\"exampleAppService\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n appServicePlanId: examplePlan.id,\n});\nconst examplePublicCertificate = new azure.appservice.PublicCertificate(\"examplePublicCertificate\", {\n resourceGroupName: exampleResourceGroup.name,\n appServiceName: exampleAppService.name,\n certificateName: \"example-public-certificate\",\n certificateLocation: \"Unknown\",\n blob: Buffer.from(fs.readFileSync(\"app_service_public_certificate.cer\", 'binary')).toString('base64'),\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_plan = azure.appservice.Plan(\"examplePlan\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=azure.appservice.PlanSkuArgs(\n tier=\"Standard\",\n size=\"S1\",\n ))\nexample_app_service = azure.appservice.AppService(\"exampleAppService\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n app_service_plan_id=example_plan.id)\nexample_public_certificate = azure.appservice.PublicCertificate(\"examplePublicCertificate\",\n resource_group_name=example_resource_group.name,\n app_service_name=example_app_service.name,\n certificate_name=\"example-public-certificate\",\n certificate_location=\"Unknown\",\n blob=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"app_service_public_certificate.cer\"))\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\n\t\nstring ReadFileBase64(string path) \n{\n return Convert.ToBase64String(Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var examplePlan = new Azure.AppService.Plan(\"examplePlan\", new()\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = new Azure.AppService.Inputs.PlanSkuArgs\n {\n Tier = \"Standard\",\n Size = \"S1\",\n },\n });\n\n var exampleAppService = new Azure.AppService.AppService(\"exampleAppService\", new()\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AppServicePlanId = examplePlan.Id,\n });\n\n var examplePublicCertificate = new Azure.AppService.PublicCertificate(\"examplePublicCertificate\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n AppServiceName = exampleAppService.Name,\n CertificateName = \"example-public-certificate\",\n CertificateLocation = \"Unknown\",\n Blob = ReadFileBase64(\"app_service_public_certificate.cer\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) string {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn base64.StdEncoding.EncodeToString(fileData[:])\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePlan, err := appservice.NewPlan(ctx, \"examplePlan\", \u0026appservice.PlanArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSku: \u0026appservice.PlanSkuArgs{\n\t\t\t\tTier: pulumi.String(\"Standard\"),\n\t\t\t\tSize: pulumi.String(\"S1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAppService, err := appservice.NewAppService(ctx, \"exampleAppService\", \u0026appservice.AppServiceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tAppServicePlanId: examplePlan.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewPublicCertificate(ctx, \"examplePublicCertificate\", \u0026appservice.PublicCertificateArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tAppServiceName: exampleAppService.Name,\n\t\t\tCertificateName: pulumi.String(\"example-public-certificate\"),\n\t\t\tCertificateLocation: pulumi.String(\"Unknown\"),\n\t\t\tBlob: filebase64OrPanic(\"app_service_public_certificate.cer\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appservice.Plan;\nimport com.pulumi.azure.appservice.PlanArgs;\nimport com.pulumi.azure.appservice.inputs.PlanSkuArgs;\nimport com.pulumi.azure.appservice.AppService;\nimport com.pulumi.azure.appservice.AppServiceArgs;\nimport com.pulumi.azure.appservice.PublicCertificate;\nimport com.pulumi.azure.appservice.PublicCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var examplePlan = new Plan(\"examplePlan\", PlanArgs.builder() \n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .sku(PlanSkuArgs.builder()\n .tier(\"Standard\")\n .size(\"S1\")\n .build())\n .build());\n\n var exampleAppService = new AppService(\"exampleAppService\", AppServiceArgs.builder() \n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .appServicePlanId(examplePlan.id())\n .build());\n\n var examplePublicCertificate = new PublicCertificate(\"examplePublicCertificate\", PublicCertificateArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .appServiceName(exampleAppService.name())\n .certificateName(\"example-public-certificate\")\n .certificateLocation(\"Unknown\")\n .blob(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"app_service_public_certificate.cer\"))))\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nApp Service Public Certificates can be imported using the `resource id`, e.g.\n\n```sh\n $ pulumi import azure:appservice/publicCertificate:PublicCertificate example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Web/sites/site1/publicCertificates/publicCertificate1\n```\n\n ", "properties": { "appServiceName": { "type": "string", @@ -120751,7 +120751,7 @@ } }, "azure:arckubernetes/clusterExtension:ClusterExtension": { - "description": "Manages an Arc Kubernetes Cluster Extension.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as fs from \"fs\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleCluster = new azure.arckubernetes.Cluster(\"exampleCluster\", {\n resourceGroupName: exampleResourceGroup.name,\n location: \"West Europe\",\n agentPublicKeyCertificate: Buffer.from(fs.readFileSync(\"testdata/public.cer\"), 'binary').toString('base64'),\n identity: {\n type: \"SystemAssigned\",\n },\n tags: {\n ENV: \"Test\",\n },\n});\nconst exampleClusterExtension = new azure.arckubernetes.ClusterExtension(\"exampleClusterExtension\", {\n clusterId: exampleCluster.id,\n extensionType: \"microsoft.flux\",\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_cluster = azure.arckubernetes.Cluster(\"exampleCluster\",\n resource_group_name=example_resource_group.name,\n location=\"West Europe\",\n agent_public_key_certificate=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"testdata/public.cer\"),\n identity=azure.arckubernetes.ClusterIdentityArgs(\n type=\"SystemAssigned\",\n ),\n tags={\n \"ENV\": \"Test\",\n })\nexample_cluster_extension = azure.arckubernetes.ClusterExtension(\"exampleClusterExtension\",\n cluster_id=example_cluster.id,\n extension_type=\"microsoft.flux\")\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\n\tprivate static string ReadFileBase64(string path) {\n\t\treturn Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n\t}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleCluster = new Azure.ArcKubernetes.Cluster(\"exampleCluster\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = \"West Europe\",\n AgentPublicKeyCertificate = ReadFileBase64(\"testdata/public.cer\"),\n Identity = new Azure.ArcKubernetes.Inputs.ClusterIdentityArgs\n {\n Type = \"SystemAssigned\",\n },\n Tags = \n {\n { \"ENV\", \"Test\" },\n },\n });\n\n var exampleClusterExtension = new Azure.ArcKubernetes.ClusterExtension(\"exampleClusterExtension\", new()\n {\n ClusterId = exampleCluster.Id,\n ExtensionType = \"microsoft.flux\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/arckubernetes\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) pulumi.StringPtrInput {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn pulumi.String(base64.StdEncoding.EncodeToString(fileData[:]))\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCluster, err := arckubernetes.NewCluster(ctx, \"exampleCluster\", \u0026arckubernetes.ClusterArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t\tAgentPublicKeyCertificate: filebase64OrPanic(\"testdata/public.cer\"),\n\t\t\tIdentity: \u0026arckubernetes.ClusterIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"ENV\": pulumi.String(\"Test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = arckubernetes.NewClusterExtension(ctx, \"exampleClusterExtension\", \u0026arckubernetes.ClusterExtensionArgs{\n\t\t\tClusterId: exampleCluster.ID(),\n\t\t\tExtensionType: pulumi.String(\"microsoft.flux\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.arckubernetes.Cluster;\nimport com.pulumi.azure.arckubernetes.ClusterArgs;\nimport com.pulumi.azure.arckubernetes.inputs.ClusterIdentityArgs;\nimport com.pulumi.azure.arckubernetes.ClusterExtension;\nimport com.pulumi.azure.arckubernetes.ClusterExtensionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .location(\"West Europe\")\n .agentPublicKeyCertificate(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"testdata/public.cer\"))))\n .identity(ClusterIdentityArgs.builder()\n .type(\"SystemAssigned\")\n .build())\n .tags(Map.of(\"ENV\", \"Test\"))\n .build());\n\n var exampleClusterExtension = new ClusterExtension(\"exampleClusterExtension\", ClusterExtensionArgs.builder() \n .clusterId(exampleCluster.id())\n .extensionType(\"microsoft.flux\")\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nArc Kubernetes Cluster Extension can be imported using the `resource id` for different `cluster_resource_name`, e.g.\n\n```sh\n $ pulumi import azure:arckubernetes/clusterExtension:ClusterExtension example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Kubernetes/connectedClusters/cluster1/providers/Microsoft.KubernetesConfiguration/extensions/extension1\n```\n\n ", + "description": "Manages an Arc Kubernetes Cluster Extension.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as fs from \"fs\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleCluster = new azure.arckubernetes.Cluster(\"exampleCluster\", {\n resourceGroupName: exampleResourceGroup.name,\n location: \"West Europe\",\n agentPublicKeyCertificate: Buffer.from(fs.readFileSync(\"testdata/public.cer\", 'binary')).toString('base64'),\n identity: {\n type: \"SystemAssigned\",\n },\n tags: {\n ENV: \"Test\",\n },\n});\nconst exampleClusterExtension = new azure.arckubernetes.ClusterExtension(\"exampleClusterExtension\", {\n clusterId: exampleCluster.id,\n extensionType: \"microsoft.flux\",\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_cluster = azure.arckubernetes.Cluster(\"exampleCluster\",\n resource_group_name=example_resource_group.name,\n location=\"West Europe\",\n agent_public_key_certificate=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"testdata/public.cer\"),\n identity=azure.arckubernetes.ClusterIdentityArgs(\n type=\"SystemAssigned\",\n ),\n tags={\n \"ENV\": \"Test\",\n })\nexample_cluster_extension = azure.arckubernetes.ClusterExtension(\"exampleClusterExtension\",\n cluster_id=example_cluster.id,\n extension_type=\"microsoft.flux\")\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\n\t\nstring ReadFileBase64(string path) \n{\n return Convert.ToBase64String(Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleCluster = new Azure.ArcKubernetes.Cluster(\"exampleCluster\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = \"West Europe\",\n AgentPublicKeyCertificate = ReadFileBase64(\"testdata/public.cer\"),\n Identity = new Azure.ArcKubernetes.Inputs.ClusterIdentityArgs\n {\n Type = \"SystemAssigned\",\n },\n Tags = \n {\n { \"ENV\", \"Test\" },\n },\n });\n\n var exampleClusterExtension = new Azure.ArcKubernetes.ClusterExtension(\"exampleClusterExtension\", new()\n {\n ClusterId = exampleCluster.Id,\n ExtensionType = \"microsoft.flux\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/arckubernetes\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) string {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn base64.StdEncoding.EncodeToString(fileData[:])\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCluster, err := arckubernetes.NewCluster(ctx, \"exampleCluster\", \u0026arckubernetes.ClusterArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t\tAgentPublicKeyCertificate: filebase64OrPanic(\"testdata/public.cer\"),\n\t\t\tIdentity: \u0026arckubernetes.ClusterIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"ENV\": pulumi.String(\"Test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = arckubernetes.NewClusterExtension(ctx, \"exampleClusterExtension\", \u0026arckubernetes.ClusterExtensionArgs{\n\t\t\tClusterId: exampleCluster.ID(),\n\t\t\tExtensionType: pulumi.String(\"microsoft.flux\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.arckubernetes.Cluster;\nimport com.pulumi.azure.arckubernetes.ClusterArgs;\nimport com.pulumi.azure.arckubernetes.inputs.ClusterIdentityArgs;\nimport com.pulumi.azure.arckubernetes.ClusterExtension;\nimport com.pulumi.azure.arckubernetes.ClusterExtensionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .location(\"West Europe\")\n .agentPublicKeyCertificate(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"testdata/public.cer\"))))\n .identity(ClusterIdentityArgs.builder()\n .type(\"SystemAssigned\")\n .build())\n .tags(Map.of(\"ENV\", \"Test\"))\n .build());\n\n var exampleClusterExtension = new ClusterExtension(\"exampleClusterExtension\", ClusterExtensionArgs.builder() \n .clusterId(exampleCluster.id())\n .extensionType(\"microsoft.flux\")\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nArc Kubernetes Cluster Extension can be imported using the `resource id` for different `cluster_resource_name`, e.g.\n\n```sh\n $ pulumi import azure:arckubernetes/clusterExtension:ClusterExtension example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Kubernetes/connectedClusters/cluster1/providers/Microsoft.KubernetesConfiguration/extensions/extension1\n```\n\n ", "properties": { "clusterId": { "type": "string", @@ -120941,7 +120941,7 @@ } }, "azure:arckubernetes/fluxConfiguration:FluxConfiguration": { - "description": "Manages an Arc Kubernetes Flux Configuration.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as fs from \"fs\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleCluster = new azure.arckubernetes.Cluster(\"exampleCluster\", {\n resourceGroupName: exampleResourceGroup.name,\n location: \"West Europe\",\n agentPublicKeyCertificate: Buffer.from(fs.readFileSync(\"testdata/public.cer\"), 'binary').toString('base64'),\n identity: {\n type: \"SystemAssigned\",\n },\n tags: {\n ENV: \"Test\",\n },\n});\nconst exampleClusterExtension = new azure.arckubernetes.ClusterExtension(\"exampleClusterExtension\", {\n clusterId: azurerm_arc_kubernetes_cluster.test.id,\n extensionType: \"microsoft.flux\",\n});\nconst exampleFluxConfiguration = new azure.arckubernetes.FluxConfiguration(\"exampleFluxConfiguration\", {\n clusterId: azurerm_arc_kubernetes_cluster.test.id,\n namespace: \"flux\",\n gitRepository: {\n url: \"https://github.com/Azure/arc-k8s-demo\",\n referenceType: \"branch\",\n referenceValue: \"main\",\n },\n kustomizations: [{\n name: \"kustomization-1\",\n }],\n}, {\n dependsOn: [exampleClusterExtension],\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_cluster = azure.arckubernetes.Cluster(\"exampleCluster\",\n resource_group_name=example_resource_group.name,\n location=\"West Europe\",\n agent_public_key_certificate=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"testdata/public.cer\"),\n identity=azure.arckubernetes.ClusterIdentityArgs(\n type=\"SystemAssigned\",\n ),\n tags={\n \"ENV\": \"Test\",\n })\nexample_cluster_extension = azure.arckubernetes.ClusterExtension(\"exampleClusterExtension\",\n cluster_id=azurerm_arc_kubernetes_cluster[\"test\"][\"id\"],\n extension_type=\"microsoft.flux\")\nexample_flux_configuration = azure.arckubernetes.FluxConfiguration(\"exampleFluxConfiguration\",\n cluster_id=azurerm_arc_kubernetes_cluster[\"test\"][\"id\"],\n namespace=\"flux\",\n git_repository=azure.arckubernetes.FluxConfigurationGitRepositoryArgs(\n url=\"https://github.com/Azure/arc-k8s-demo\",\n reference_type=\"branch\",\n reference_value=\"main\",\n ),\n kustomizations=[azure.arckubernetes.FluxConfigurationKustomizationArgs(\n name=\"kustomization-1\",\n )],\n opts=pulumi.ResourceOptions(depends_on=[example_cluster_extension]))\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\n\tprivate static string ReadFileBase64(string path) {\n\t\treturn Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n\t}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleCluster = new Azure.ArcKubernetes.Cluster(\"exampleCluster\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = \"West Europe\",\n AgentPublicKeyCertificate = ReadFileBase64(\"testdata/public.cer\"),\n Identity = new Azure.ArcKubernetes.Inputs.ClusterIdentityArgs\n {\n Type = \"SystemAssigned\",\n },\n Tags = \n {\n { \"ENV\", \"Test\" },\n },\n });\n\n var exampleClusterExtension = new Azure.ArcKubernetes.ClusterExtension(\"exampleClusterExtension\", new()\n {\n ClusterId = azurerm_arc_kubernetes_cluster.Test.Id,\n ExtensionType = \"microsoft.flux\",\n });\n\n var exampleFluxConfiguration = new Azure.ArcKubernetes.FluxConfiguration(\"exampleFluxConfiguration\", new()\n {\n ClusterId = azurerm_arc_kubernetes_cluster.Test.Id,\n Namespace = \"flux\",\n GitRepository = new Azure.ArcKubernetes.Inputs.FluxConfigurationGitRepositoryArgs\n {\n Url = \"https://github.com/Azure/arc-k8s-demo\",\n ReferenceType = \"branch\",\n ReferenceValue = \"main\",\n },\n Kustomizations = new[]\n {\n new Azure.ArcKubernetes.Inputs.FluxConfigurationKustomizationArgs\n {\n Name = \"kustomization-1\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n exampleClusterExtension,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/arckubernetes\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) pulumi.StringPtrInput {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn pulumi.String(base64.StdEncoding.EncodeToString(fileData[:]))\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = arckubernetes.NewCluster(ctx, \"exampleCluster\", \u0026arckubernetes.ClusterArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t\tAgentPublicKeyCertificate: filebase64OrPanic(\"testdata/public.cer\"),\n\t\t\tIdentity: \u0026arckubernetes.ClusterIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"ENV\": pulumi.String(\"Test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleClusterExtension, err := arckubernetes.NewClusterExtension(ctx, \"exampleClusterExtension\", \u0026arckubernetes.ClusterExtensionArgs{\n\t\t\tClusterId: pulumi.Any(azurerm_arc_kubernetes_cluster.Test.Id),\n\t\t\tExtensionType: pulumi.String(\"microsoft.flux\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = arckubernetes.NewFluxConfiguration(ctx, \"exampleFluxConfiguration\", \u0026arckubernetes.FluxConfigurationArgs{\n\t\t\tClusterId: pulumi.Any(azurerm_arc_kubernetes_cluster.Test.Id),\n\t\t\tNamespace: pulumi.String(\"flux\"),\n\t\t\tGitRepository: \u0026arckubernetes.FluxConfigurationGitRepositoryArgs{\n\t\t\t\tUrl: pulumi.String(\"https://github.com/Azure/arc-k8s-demo\"),\n\t\t\t\tReferenceType: pulumi.String(\"branch\"),\n\t\t\t\tReferenceValue: pulumi.String(\"main\"),\n\t\t\t},\n\t\t\tKustomizations: arckubernetes.FluxConfigurationKustomizationArray{\n\t\t\t\t\u0026arckubernetes.FluxConfigurationKustomizationArgs{\n\t\t\t\t\tName: pulumi.String(\"kustomization-1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleClusterExtension,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.arckubernetes.Cluster;\nimport com.pulumi.azure.arckubernetes.ClusterArgs;\nimport com.pulumi.azure.arckubernetes.inputs.ClusterIdentityArgs;\nimport com.pulumi.azure.arckubernetes.ClusterExtension;\nimport com.pulumi.azure.arckubernetes.ClusterExtensionArgs;\nimport com.pulumi.azure.arckubernetes.FluxConfiguration;\nimport com.pulumi.azure.arckubernetes.FluxConfigurationArgs;\nimport com.pulumi.azure.arckubernetes.inputs.FluxConfigurationGitRepositoryArgs;\nimport com.pulumi.azure.arckubernetes.inputs.FluxConfigurationKustomizationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .location(\"West Europe\")\n .agentPublicKeyCertificate(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"testdata/public.cer\"))))\n .identity(ClusterIdentityArgs.builder()\n .type(\"SystemAssigned\")\n .build())\n .tags(Map.of(\"ENV\", \"Test\"))\n .build());\n\n var exampleClusterExtension = new ClusterExtension(\"exampleClusterExtension\", ClusterExtensionArgs.builder() \n .clusterId(azurerm_arc_kubernetes_cluster.test().id())\n .extensionType(\"microsoft.flux\")\n .build());\n\n var exampleFluxConfiguration = new FluxConfiguration(\"exampleFluxConfiguration\", FluxConfigurationArgs.builder() \n .clusterId(azurerm_arc_kubernetes_cluster.test().id())\n .namespace(\"flux\")\n .gitRepository(FluxConfigurationGitRepositoryArgs.builder()\n .url(\"https://github.com/Azure/arc-k8s-demo\")\n .referenceType(\"branch\")\n .referenceValue(\"main\")\n .build())\n .kustomizations(FluxConfigurationKustomizationArgs.builder()\n .name(\"kustomization-1\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleClusterExtension)\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nArc Kubernetes Flux Configuration can be imported using the `resource id` for different `cluster_resource_name`, e.g.\n\n```sh\n $ pulumi import azure:arckubernetes/fluxConfiguration:FluxConfiguration example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Kubernetes/connectedClusters/cluster1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/fluxConfiguration1\n```\n\n ", + "description": "Manages an Arc Kubernetes Flux Configuration.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as fs from \"fs\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleCluster = new azure.arckubernetes.Cluster(\"exampleCluster\", {\n resourceGroupName: exampleResourceGroup.name,\n location: \"West Europe\",\n agentPublicKeyCertificate: Buffer.from(fs.readFileSync(\"testdata/public.cer\", 'binary')).toString('base64'),\n identity: {\n type: \"SystemAssigned\",\n },\n tags: {\n ENV: \"Test\",\n },\n});\nconst exampleClusterExtension = new azure.arckubernetes.ClusterExtension(\"exampleClusterExtension\", {\n clusterId: azurerm_arc_kubernetes_cluster.test.id,\n extensionType: \"microsoft.flux\",\n});\nconst exampleFluxConfiguration = new azure.arckubernetes.FluxConfiguration(\"exampleFluxConfiguration\", {\n clusterId: azurerm_arc_kubernetes_cluster.test.id,\n namespace: \"flux\",\n gitRepository: {\n url: \"https://github.com/Azure/arc-k8s-demo\",\n referenceType: \"branch\",\n referenceValue: \"main\",\n },\n kustomizations: [{\n name: \"kustomization-1\",\n }],\n}, {\n dependsOn: [exampleClusterExtension],\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_cluster = azure.arckubernetes.Cluster(\"exampleCluster\",\n resource_group_name=example_resource_group.name,\n location=\"West Europe\",\n agent_public_key_certificate=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"testdata/public.cer\"),\n identity=azure.arckubernetes.ClusterIdentityArgs(\n type=\"SystemAssigned\",\n ),\n tags={\n \"ENV\": \"Test\",\n })\nexample_cluster_extension = azure.arckubernetes.ClusterExtension(\"exampleClusterExtension\",\n cluster_id=azurerm_arc_kubernetes_cluster[\"test\"][\"id\"],\n extension_type=\"microsoft.flux\")\nexample_flux_configuration = azure.arckubernetes.FluxConfiguration(\"exampleFluxConfiguration\",\n cluster_id=azurerm_arc_kubernetes_cluster[\"test\"][\"id\"],\n namespace=\"flux\",\n git_repository=azure.arckubernetes.FluxConfigurationGitRepositoryArgs(\n url=\"https://github.com/Azure/arc-k8s-demo\",\n reference_type=\"branch\",\n reference_value=\"main\",\n ),\n kustomizations=[azure.arckubernetes.FluxConfigurationKustomizationArgs(\n name=\"kustomization-1\",\n )],\n opts=pulumi.ResourceOptions(depends_on=[example_cluster_extension]))\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\n\t\nstring ReadFileBase64(string path) \n{\n return Convert.ToBase64String(Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleCluster = new Azure.ArcKubernetes.Cluster(\"exampleCluster\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = \"West Europe\",\n AgentPublicKeyCertificate = ReadFileBase64(\"testdata/public.cer\"),\n Identity = new Azure.ArcKubernetes.Inputs.ClusterIdentityArgs\n {\n Type = \"SystemAssigned\",\n },\n Tags = \n {\n { \"ENV\", \"Test\" },\n },\n });\n\n var exampleClusterExtension = new Azure.ArcKubernetes.ClusterExtension(\"exampleClusterExtension\", new()\n {\n ClusterId = azurerm_arc_kubernetes_cluster.Test.Id,\n ExtensionType = \"microsoft.flux\",\n });\n\n var exampleFluxConfiguration = new Azure.ArcKubernetes.FluxConfiguration(\"exampleFluxConfiguration\", new()\n {\n ClusterId = azurerm_arc_kubernetes_cluster.Test.Id,\n Namespace = \"flux\",\n GitRepository = new Azure.ArcKubernetes.Inputs.FluxConfigurationGitRepositoryArgs\n {\n Url = \"https://github.com/Azure/arc-k8s-demo\",\n ReferenceType = \"branch\",\n ReferenceValue = \"main\",\n },\n Kustomizations = new[]\n {\n new Azure.ArcKubernetes.Inputs.FluxConfigurationKustomizationArgs\n {\n Name = \"kustomization-1\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n exampleClusterExtension,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/arckubernetes\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) string {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn base64.StdEncoding.EncodeToString(fileData[:])\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = arckubernetes.NewCluster(ctx, \"exampleCluster\", \u0026arckubernetes.ClusterArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t\tAgentPublicKeyCertificate: filebase64OrPanic(\"testdata/public.cer\"),\n\t\t\tIdentity: \u0026arckubernetes.ClusterIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"ENV\": pulumi.String(\"Test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleClusterExtension, err := arckubernetes.NewClusterExtension(ctx, \"exampleClusterExtension\", \u0026arckubernetes.ClusterExtensionArgs{\n\t\t\tClusterId: pulumi.Any(azurerm_arc_kubernetes_cluster.Test.Id),\n\t\t\tExtensionType: pulumi.String(\"microsoft.flux\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = arckubernetes.NewFluxConfiguration(ctx, \"exampleFluxConfiguration\", \u0026arckubernetes.FluxConfigurationArgs{\n\t\t\tClusterId: pulumi.Any(azurerm_arc_kubernetes_cluster.Test.Id),\n\t\t\tNamespace: pulumi.String(\"flux\"),\n\t\t\tGitRepository: \u0026arckubernetes.FluxConfigurationGitRepositoryArgs{\n\t\t\t\tUrl: pulumi.String(\"https://github.com/Azure/arc-k8s-demo\"),\n\t\t\t\tReferenceType: pulumi.String(\"branch\"),\n\t\t\t\tReferenceValue: pulumi.String(\"main\"),\n\t\t\t},\n\t\t\tKustomizations: arckubernetes.FluxConfigurationKustomizationArray{\n\t\t\t\t\u0026arckubernetes.FluxConfigurationKustomizationArgs{\n\t\t\t\t\tName: pulumi.String(\"kustomization-1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleClusterExtension,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.arckubernetes.Cluster;\nimport com.pulumi.azure.arckubernetes.ClusterArgs;\nimport com.pulumi.azure.arckubernetes.inputs.ClusterIdentityArgs;\nimport com.pulumi.azure.arckubernetes.ClusterExtension;\nimport com.pulumi.azure.arckubernetes.ClusterExtensionArgs;\nimport com.pulumi.azure.arckubernetes.FluxConfiguration;\nimport com.pulumi.azure.arckubernetes.FluxConfigurationArgs;\nimport com.pulumi.azure.arckubernetes.inputs.FluxConfigurationGitRepositoryArgs;\nimport com.pulumi.azure.arckubernetes.inputs.FluxConfigurationKustomizationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .location(\"West Europe\")\n .agentPublicKeyCertificate(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"testdata/public.cer\"))))\n .identity(ClusterIdentityArgs.builder()\n .type(\"SystemAssigned\")\n .build())\n .tags(Map.of(\"ENV\", \"Test\"))\n .build());\n\n var exampleClusterExtension = new ClusterExtension(\"exampleClusterExtension\", ClusterExtensionArgs.builder() \n .clusterId(azurerm_arc_kubernetes_cluster.test().id())\n .extensionType(\"microsoft.flux\")\n .build());\n\n var exampleFluxConfiguration = new FluxConfiguration(\"exampleFluxConfiguration\", FluxConfigurationArgs.builder() \n .clusterId(azurerm_arc_kubernetes_cluster.test().id())\n .namespace(\"flux\")\n .gitRepository(FluxConfigurationGitRepositoryArgs.builder()\n .url(\"https://github.com/Azure/arc-k8s-demo\")\n .referenceType(\"branch\")\n .referenceValue(\"main\")\n .build())\n .kustomizations(FluxConfigurationKustomizationArgs.builder()\n .name(\"kustomization-1\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleClusterExtension)\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nArc Kubernetes Flux Configuration can be imported using the `resource id` for different `cluster_resource_name`, e.g.\n\n```sh\n $ pulumi import azure:arckubernetes/fluxConfiguration:FluxConfiguration example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Kubernetes/connectedClusters/cluster1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/fluxConfiguration1\n```\n\n ", "properties": { "blobStorage": { "$ref": "#/types/azure:arckubernetes/FluxConfigurationBlobStorage:FluxConfigurationBlobStorage", @@ -122489,7 +122489,7 @@ } }, "azure:automation/certificate:Certificate": { - "description": "Manages an Automation Certificate.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as fs from \"fs\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.automation.Account(\"exampleAccount\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n skuName: \"Basic\",\n});\nconst exampleCertificate = new azure.automation.Certificate(\"exampleCertificate\", {\n resourceGroupName: exampleResourceGroup.name,\n automationAccountName: exampleAccount.name,\n description: \"This is an example certificate\",\n base64: Buffer.from(fs.readFileSync(\"certificate.pfx\"), 'binary').toString('base64'),\n exportable: true,\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_account = azure.automation.Account(\"exampleAccount\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku_name=\"Basic\")\nexample_certificate = azure.automation.Certificate(\"exampleCertificate\",\n resource_group_name=example_resource_group.name,\n automation_account_name=example_account.name,\n description=\"This is an example certificate\",\n base64=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"certificate.pfx\"),\n exportable=True)\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\n\tprivate static string ReadFileBase64(string path) {\n\t\treturn Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n\t}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleAccount = new Azure.Automation.Account(\"exampleAccount\", new()\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n SkuName = \"Basic\",\n });\n\n var exampleCertificate = new Azure.Automation.Certificate(\"exampleCertificate\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n AutomationAccountName = exampleAccount.Name,\n Description = \"This is an example certificate\",\n Base64 = ReadFileBase64(\"certificate.pfx\"),\n Exportable = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/automation\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) pulumi.StringPtrInput {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn pulumi.String(base64.StdEncoding.EncodeToString(fileData[:]))\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := automation.NewAccount(ctx, \"exampleAccount\", \u0026automation.AccountArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSkuName: pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = automation.NewCertificate(ctx, \"exampleCertificate\", \u0026automation.CertificateArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tAutomationAccountName: exampleAccount.Name,\n\t\t\tDescription: pulumi.String(\"This is an example certificate\"),\n\t\t\tBase64: filebase64OrPanic(\"certificate.pfx\"),\n\t\t\tExportable: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.automation.Account;\nimport com.pulumi.azure.automation.AccountArgs;\nimport com.pulumi.azure.automation.Certificate;\nimport com.pulumi.azure.automation.CertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder() \n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .skuName(\"Basic\")\n .build());\n\n var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .automationAccountName(exampleAccount.name())\n .description(\"This is an example certificate\")\n .base64(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"certificate.pfx\"))))\n .exportable(true)\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAutomation Certificates can be imported using the `resource id`, e.g.\n\n```sh\n $ pulumi import azure:automation/certificate:Certificate certificate1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Automation/automationAccounts/account1/certificates/certificate1\n```\n\n ", + "description": "Manages an Automation Certificate.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as fs from \"fs\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.automation.Account(\"exampleAccount\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n skuName: \"Basic\",\n});\nconst exampleCertificate = new azure.automation.Certificate(\"exampleCertificate\", {\n resourceGroupName: exampleResourceGroup.name,\n automationAccountName: exampleAccount.name,\n description: \"This is an example certificate\",\n base64: Buffer.from(fs.readFileSync(\"certificate.pfx\", 'binary')).toString('base64'),\n exportable: true,\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_account = azure.automation.Account(\"exampleAccount\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku_name=\"Basic\")\nexample_certificate = azure.automation.Certificate(\"exampleCertificate\",\n resource_group_name=example_resource_group.name,\n automation_account_name=example_account.name,\n description=\"This is an example certificate\",\n base64=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"certificate.pfx\"),\n exportable=True)\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\n\t\nstring ReadFileBase64(string path) \n{\n return Convert.ToBase64String(Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleAccount = new Azure.Automation.Account(\"exampleAccount\", new()\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n SkuName = \"Basic\",\n });\n\n var exampleCertificate = new Azure.Automation.Certificate(\"exampleCertificate\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n AutomationAccountName = exampleAccount.Name,\n Description = \"This is an example certificate\",\n Base64 = ReadFileBase64(\"certificate.pfx\"),\n Exportable = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/automation\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) string {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn base64.StdEncoding.EncodeToString(fileData[:])\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := automation.NewAccount(ctx, \"exampleAccount\", \u0026automation.AccountArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSkuName: pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = automation.NewCertificate(ctx, \"exampleCertificate\", \u0026automation.CertificateArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tAutomationAccountName: exampleAccount.Name,\n\t\t\tDescription: pulumi.String(\"This is an example certificate\"),\n\t\t\tBase64: filebase64OrPanic(\"certificate.pfx\"),\n\t\t\tExportable: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.automation.Account;\nimport com.pulumi.azure.automation.AccountArgs;\nimport com.pulumi.azure.automation.Certificate;\nimport com.pulumi.azure.automation.CertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder() \n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .skuName(\"Basic\")\n .build());\n\n var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .automationAccountName(exampleAccount.name())\n .description(\"This is an example certificate\")\n .base64(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"certificate.pfx\"))))\n .exportable(true)\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAutomation Certificates can be imported using the `resource id`, e.g.\n\n```sh\n $ pulumi import azure:automation/certificate:Certificate certificate1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Automation/automationAccounts/account1/certificates/certificate1\n```\n\n ", "properties": { "automationAccountName": { "type": "string", @@ -122721,7 +122721,7 @@ } }, "azure:automation/connectionCertificate:ConnectionCertificate": { - "description": "Manages an Automation Connection with type `Azure`.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as fs from \"fs\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleClientConfig = azure.core.getClientConfig({});\nconst exampleAccount = new azure.automation.Account(\"exampleAccount\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n skuName: \"Basic\",\n});\nconst exampleCertificate = new azure.automation.Certificate(\"exampleCertificate\", {\n resourceGroupName: exampleResourceGroup.name,\n automationAccountName: exampleAccount.name,\n base64: Buffer.from(fs.readFileSync(\"certificate.pfx\"), 'binary').toString('base64'),\n});\nconst exampleConnectionCertificate = new azure.automation.ConnectionCertificate(\"exampleConnectionCertificate\", {\n resourceGroupName: exampleResourceGroup.name,\n automationAccountName: exampleAccount.name,\n automationCertificateName: exampleCertificate.name,\n subscriptionId: exampleClientConfig.then(exampleClientConfig =\u003e exampleClientConfig.subscriptionId),\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_client_config = azure.core.get_client_config()\nexample_account = azure.automation.Account(\"exampleAccount\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku_name=\"Basic\")\nexample_certificate = azure.automation.Certificate(\"exampleCertificate\",\n resource_group_name=example_resource_group.name,\n automation_account_name=example_account.name,\n base64=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"certificate.pfx\"))\nexample_connection_certificate = azure.automation.ConnectionCertificate(\"exampleConnectionCertificate\",\n resource_group_name=example_resource_group.name,\n automation_account_name=example_account.name,\n automation_certificate_name=example_certificate.name,\n subscription_id=example_client_config.subscription_id)\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\n\tprivate static string ReadFileBase64(string path) {\n\t\treturn Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n\t}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleClientConfig = Azure.Core.GetClientConfig.Invoke();\n\n var exampleAccount = new Azure.Automation.Account(\"exampleAccount\", new()\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n SkuName = \"Basic\",\n });\n\n var exampleCertificate = new Azure.Automation.Certificate(\"exampleCertificate\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n AutomationAccountName = exampleAccount.Name,\n Base64 = ReadFileBase64(\"certificate.pfx\"),\n });\n\n var exampleConnectionCertificate = new Azure.Automation.ConnectionCertificate(\"exampleConnectionCertificate\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n AutomationAccountName = exampleAccount.Name,\n AutomationCertificateName = exampleCertificate.Name,\n SubscriptionId = exampleClientConfig.Apply(getClientConfigResult =\u003e getClientConfigResult.SubscriptionId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/automation\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) pulumi.StringPtrInput {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn pulumi.String(base64.StdEncoding.EncodeToString(fileData[:]))\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleClientConfig, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := automation.NewAccount(ctx, \"exampleAccount\", \u0026automation.AccountArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSkuName: pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCertificate, err := automation.NewCertificate(ctx, \"exampleCertificate\", \u0026automation.CertificateArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tAutomationAccountName: exampleAccount.Name,\n\t\t\tBase64: filebase64OrPanic(\"certificate.pfx\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = automation.NewConnectionCertificate(ctx, \"exampleConnectionCertificate\", \u0026automation.ConnectionCertificateArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tAutomationAccountName: exampleAccount.Name,\n\t\t\tAutomationCertificateName: exampleCertificate.Name,\n\t\t\tSubscriptionId: *pulumi.String(exampleClientConfig.SubscriptionId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.automation.Account;\nimport com.pulumi.azure.automation.AccountArgs;\nimport com.pulumi.azure.automation.Certificate;\nimport com.pulumi.azure.automation.CertificateArgs;\nimport com.pulumi.azure.automation.ConnectionCertificate;\nimport com.pulumi.azure.automation.ConnectionCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n final var exampleClientConfig = CoreFunctions.getClientConfig();\n\n var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder() \n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .skuName(\"Basic\")\n .build());\n\n var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .automationAccountName(exampleAccount.name())\n .base64(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"certificate.pfx\"))))\n .build());\n\n var exampleConnectionCertificate = new ConnectionCertificate(\"exampleConnectionCertificate\", ConnectionCertificateArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .automationAccountName(exampleAccount.name())\n .automationCertificateName(exampleCertificate.name())\n .subscriptionId(exampleClientConfig.applyValue(getClientConfigResult -\u003e getClientConfigResult.subscriptionId()))\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAutomation Connection can be imported using the `resource id`, e.g.\n\n```sh\n $ pulumi import azure:automation/connectionCertificate:ConnectionCertificate example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Automation/automationAccounts/account1/connections/conn1\n```\n\n ", + "description": "Manages an Automation Connection with type `Azure`.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as fs from \"fs\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleClientConfig = azure.core.getClientConfig({});\nconst exampleAccount = new azure.automation.Account(\"exampleAccount\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n skuName: \"Basic\",\n});\nconst exampleCertificate = new azure.automation.Certificate(\"exampleCertificate\", {\n resourceGroupName: exampleResourceGroup.name,\n automationAccountName: exampleAccount.name,\n base64: Buffer.from(fs.readFileSync(\"certificate.pfx\", 'binary')).toString('base64'),\n});\nconst exampleConnectionCertificate = new azure.automation.ConnectionCertificate(\"exampleConnectionCertificate\", {\n resourceGroupName: exampleResourceGroup.name,\n automationAccountName: exampleAccount.name,\n automationCertificateName: exampleCertificate.name,\n subscriptionId: exampleClientConfig.then(exampleClientConfig =\u003e exampleClientConfig.subscriptionId),\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_client_config = azure.core.get_client_config()\nexample_account = azure.automation.Account(\"exampleAccount\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku_name=\"Basic\")\nexample_certificate = azure.automation.Certificate(\"exampleCertificate\",\n resource_group_name=example_resource_group.name,\n automation_account_name=example_account.name,\n base64=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"certificate.pfx\"))\nexample_connection_certificate = azure.automation.ConnectionCertificate(\"exampleConnectionCertificate\",\n resource_group_name=example_resource_group.name,\n automation_account_name=example_account.name,\n automation_certificate_name=example_certificate.name,\n subscription_id=example_client_config.subscription_id)\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\n\t\nstring ReadFileBase64(string path) \n{\n return Convert.ToBase64String(Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleClientConfig = Azure.Core.GetClientConfig.Invoke();\n\n var exampleAccount = new Azure.Automation.Account(\"exampleAccount\", new()\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n SkuName = \"Basic\",\n });\n\n var exampleCertificate = new Azure.Automation.Certificate(\"exampleCertificate\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n AutomationAccountName = exampleAccount.Name,\n Base64 = ReadFileBase64(\"certificate.pfx\"),\n });\n\n var exampleConnectionCertificate = new Azure.Automation.ConnectionCertificate(\"exampleConnectionCertificate\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n AutomationAccountName = exampleAccount.Name,\n AutomationCertificateName = exampleCertificate.Name,\n SubscriptionId = exampleClientConfig.Apply(getClientConfigResult =\u003e getClientConfigResult.SubscriptionId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/automation\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) string {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn base64.StdEncoding.EncodeToString(fileData[:])\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleClientConfig, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := automation.NewAccount(ctx, \"exampleAccount\", \u0026automation.AccountArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSkuName: pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCertificate, err := automation.NewCertificate(ctx, \"exampleCertificate\", \u0026automation.CertificateArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tAutomationAccountName: exampleAccount.Name,\n\t\t\tBase64: filebase64OrPanic(\"certificate.pfx\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = automation.NewConnectionCertificate(ctx, \"exampleConnectionCertificate\", \u0026automation.ConnectionCertificateArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tAutomationAccountName: exampleAccount.Name,\n\t\t\tAutomationCertificateName: exampleCertificate.Name,\n\t\t\tSubscriptionId: *pulumi.String(exampleClientConfig.SubscriptionId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.automation.Account;\nimport com.pulumi.azure.automation.AccountArgs;\nimport com.pulumi.azure.automation.Certificate;\nimport com.pulumi.azure.automation.CertificateArgs;\nimport com.pulumi.azure.automation.ConnectionCertificate;\nimport com.pulumi.azure.automation.ConnectionCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n final var exampleClientConfig = CoreFunctions.getClientConfig();\n\n var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder() \n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .skuName(\"Basic\")\n .build());\n\n var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .automationAccountName(exampleAccount.name())\n .base64(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"certificate.pfx\"))))\n .build());\n\n var exampleConnectionCertificate = new ConnectionCertificate(\"exampleConnectionCertificate\", ConnectionCertificateArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .automationAccountName(exampleAccount.name())\n .automationCertificateName(exampleCertificate.name())\n .subscriptionId(exampleClientConfig.applyValue(getClientConfigResult -\u003e getClientConfigResult.subscriptionId()))\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAutomation Connection can be imported using the `resource id`, e.g.\n\n```sh\n $ pulumi import azure:automation/connectionCertificate:ConnectionCertificate example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Automation/automationAccounts/account1/connections/conn1\n```\n\n ", "properties": { "automationAccountName": { "type": "string", @@ -127225,7 +127225,7 @@ } }, "azure:batch/certificate:Certificate": { - "description": "Manages a certificate in an Azure Batch account.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as fs from \"fs\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst exampleBatch_accountAccount = new azure.batch.Account(\"exampleBatch/accountAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n poolAllocationMode: \"BatchService\",\n storageAccountId: exampleAccount.id,\n storageAccountAuthenticationMode: \"StorageKeys\",\n tags: {\n env: \"test\",\n },\n});\nconst exampleCertificate = new azure.batch.Certificate(\"exampleCertificate\", {\n resourceGroupName: exampleResourceGroup.name,\n accountName: exampleBatch / accountAccount.name,\n certificate: Buffer.from(fs.readFileSync(\"certificate.pfx\"), 'binary').toString('base64'),\n format: \"Pfx\",\n password: \"password\",\n thumbprint: \"42C107874FD0E4A9583292A2F1098E8FE4B2EDDA\",\n thumbprintAlgorithm: \"SHA1\",\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_account = azure.storage.Account(\"exampleAccount\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n account_tier=\"Standard\",\n account_replication_type=\"LRS\")\nexample_batch_account_account = azure.batch.Account(\"exampleBatch/accountAccount\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n pool_allocation_mode=\"BatchService\",\n storage_account_id=example_account.id,\n storage_account_authentication_mode=\"StorageKeys\",\n tags={\n \"env\": \"test\",\n })\nexample_certificate = azure.batch.Certificate(\"exampleCertificate\",\n resource_group_name=example_resource_group.name,\n account_name=example_batch / account_account[\"name\"],\n certificate=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"certificate.pfx\"),\n format=\"Pfx\",\n password=\"password\",\n thumbprint=\"42C107874FD0E4A9583292A2F1098E8FE4B2EDDA\",\n thumbprint_algorithm=\"SHA1\")\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\n\tprivate static string ReadFileBase64(string path) {\n\t\treturn Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n\t}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n\n var exampleBatch_accountAccount = new Azure.Batch.Account(\"exampleBatch/accountAccount\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n PoolAllocationMode = \"BatchService\",\n StorageAccountId = exampleAccount.Id,\n StorageAccountAuthenticationMode = \"StorageKeys\",\n Tags = \n {\n { \"env\", \"test\" },\n },\n });\n\n var exampleCertificate = new Azure.Batch.Certificate(\"exampleCertificate\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n AccountName = exampleBatch / accountAccount.Name,\n BatchCertificate = ReadFileBase64(\"certificate.pfx\"),\n Format = \"Pfx\",\n Password = \"password\",\n Thumbprint = \"42C107874FD0E4A9583292A2F1098E8FE4B2EDDA\",\n ThumbprintAlgorithm = \"SHA1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/batch\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) pulumi.StringPtrInput {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn pulumi.String(base64.StdEncoding.EncodeToString(fileData[:]))\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"exampleAccount\", \u0026storage.AccountArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tAccountTier: pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = batch.NewAccount(ctx, \"exampleBatch/accountAccount\", \u0026batch.AccountArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tPoolAllocationMode: pulumi.String(\"BatchService\"),\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t\tStorageAccountAuthenticationMode: pulumi.String(\"StorageKeys\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"env\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = batch.NewCertificate(ctx, \"exampleCertificate\", \u0026batch.CertificateArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tAccountName: exampleBatch / accountAccount.Name,\n\t\t\tCertificate: filebase64OrPanic(\"certificate.pfx\"),\n\t\t\tFormat: pulumi.String(\"Pfx\"),\n\t\t\tPassword: pulumi.String(\"password\"),\n\t\t\tThumbprint: pulumi.String(\"42C107874FD0E4A9583292A2F1098E8FE4B2EDDA\"),\n\t\t\tThumbprintAlgorithm: pulumi.String(\"SHA1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.batch.Account;\nimport com.pulumi.azure.batch.AccountArgs;\nimport com.pulumi.azure.batch.Certificate;\nimport com.pulumi.azure.batch.CertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .location(exampleResourceGroup.location())\n .accountTier(\"Standard\")\n .accountReplicationType(\"LRS\")\n .build());\n\n var exampleBatch_accountAccount = new Account(\"exampleBatch/accountAccount\", AccountArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .location(exampleResourceGroup.location())\n .poolAllocationMode(\"BatchService\")\n .storageAccountId(exampleAccount.id())\n .storageAccountAuthenticationMode(\"StorageKeys\")\n .tags(Map.of(\"env\", \"test\"))\n .build());\n\n var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .accountName(exampleBatch / accountAccount.name())\n .certificate(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"certificate.pfx\"))))\n .format(\"Pfx\")\n .password(\"password\")\n .thumbprint(\"42C107874FD0E4A9583292A2F1098E8FE4B2EDDA\")\n .thumbprintAlgorithm(\"SHA1\")\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nBatch Certificates can be imported using the `resource id`, e.g.\n\n```sh\n $ pulumi import azure:batch/certificate:Certificate example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-rg/providers/Microsoft.Batch/batchAccounts/batch1/certificates/certificate1\n```\n\n ", + "description": "Manages a certificate in an Azure Batch account.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as fs from \"fs\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst exampleBatch_accountAccount = new azure.batch.Account(\"exampleBatch/accountAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n poolAllocationMode: \"BatchService\",\n storageAccountId: exampleAccount.id,\n storageAccountAuthenticationMode: \"StorageKeys\",\n tags: {\n env: \"test\",\n },\n});\nconst exampleCertificate = new azure.batch.Certificate(\"exampleCertificate\", {\n resourceGroupName: exampleResourceGroup.name,\n accountName: exampleBatch / accountAccount.name,\n certificate: Buffer.from(fs.readFileSync(\"certificate.pfx\", 'binary')).toString('base64'),\n format: \"Pfx\",\n password: \"password\",\n thumbprint: \"42C107874FD0E4A9583292A2F1098E8FE4B2EDDA\",\n thumbprintAlgorithm: \"SHA1\",\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_account = azure.storage.Account(\"exampleAccount\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n account_tier=\"Standard\",\n account_replication_type=\"LRS\")\nexample_batch_account_account = azure.batch.Account(\"exampleBatch/accountAccount\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n pool_allocation_mode=\"BatchService\",\n storage_account_id=example_account.id,\n storage_account_authentication_mode=\"StorageKeys\",\n tags={\n \"env\": \"test\",\n })\nexample_certificate = azure.batch.Certificate(\"exampleCertificate\",\n resource_group_name=example_resource_group.name,\n account_name=example_batch / account_account[\"name\"],\n certificate=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"certificate.pfx\"),\n format=\"Pfx\",\n password=\"password\",\n thumbprint=\"42C107874FD0E4A9583292A2F1098E8FE4B2EDDA\",\n thumbprint_algorithm=\"SHA1\")\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\n\t\nstring ReadFileBase64(string path) \n{\n return Convert.ToBase64String(Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n\n var exampleBatch_accountAccount = new Azure.Batch.Account(\"exampleBatch/accountAccount\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n PoolAllocationMode = \"BatchService\",\n StorageAccountId = exampleAccount.Id,\n StorageAccountAuthenticationMode = \"StorageKeys\",\n Tags = \n {\n { \"env\", \"test\" },\n },\n });\n\n var exampleCertificate = new Azure.Batch.Certificate(\"exampleCertificate\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n AccountName = exampleBatch / accountAccount.Name,\n BatchCertificate = ReadFileBase64(\"certificate.pfx\"),\n Format = \"Pfx\",\n Password = \"password\",\n Thumbprint = \"42C107874FD0E4A9583292A2F1098E8FE4B2EDDA\",\n ThumbprintAlgorithm = \"SHA1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/batch\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) string {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn base64.StdEncoding.EncodeToString(fileData[:])\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"exampleAccount\", \u0026storage.AccountArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tAccountTier: pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = batch.NewAccount(ctx, \"exampleBatch/accountAccount\", \u0026batch.AccountArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tPoolAllocationMode: pulumi.String(\"BatchService\"),\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t\tStorageAccountAuthenticationMode: pulumi.String(\"StorageKeys\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"env\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = batch.NewCertificate(ctx, \"exampleCertificate\", \u0026batch.CertificateArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tAccountName: exampleBatch / accountAccount.Name,\n\t\t\tCertificate: filebase64OrPanic(\"certificate.pfx\"),\n\t\t\tFormat: pulumi.String(\"Pfx\"),\n\t\t\tPassword: pulumi.String(\"password\"),\n\t\t\tThumbprint: pulumi.String(\"42C107874FD0E4A9583292A2F1098E8FE4B2EDDA\"),\n\t\t\tThumbprintAlgorithm: pulumi.String(\"SHA1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.batch.Account;\nimport com.pulumi.azure.batch.AccountArgs;\nimport com.pulumi.azure.batch.Certificate;\nimport com.pulumi.azure.batch.CertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .location(exampleResourceGroup.location())\n .accountTier(\"Standard\")\n .accountReplicationType(\"LRS\")\n .build());\n\n var exampleBatch_accountAccount = new Account(\"exampleBatch/accountAccount\", AccountArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .location(exampleResourceGroup.location())\n .poolAllocationMode(\"BatchService\")\n .storageAccountId(exampleAccount.id())\n .storageAccountAuthenticationMode(\"StorageKeys\")\n .tags(Map.of(\"env\", \"test\"))\n .build());\n\n var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .accountName(exampleBatch / accountAccount.name())\n .certificate(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"certificate.pfx\"))))\n .format(\"Pfx\")\n .password(\"password\")\n .thumbprint(\"42C107874FD0E4A9583292A2F1098E8FE4B2EDDA\")\n .thumbprintAlgorithm(\"SHA1\")\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nBatch Certificates can be imported using the `resource id`, e.g.\n\n```sh\n $ pulumi import azure:batch/certificate:Certificate example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-rg/providers/Microsoft.Batch/batchAccounts/batch1/certificates/certificate1\n```\n\n ", "properties": { "accountName": { "type": "string", @@ -127494,7 +127494,7 @@ } }, "azure:batch/pool:Pool": { - "description": "Manages an Azure Batch pool.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as fs from \"fs\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst exampleBatch_accountAccount = new azure.batch.Account(\"exampleBatch/accountAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n poolAllocationMode: \"BatchService\",\n storageAccountId: exampleAccount.id,\n storageAccountAuthenticationMode: \"StorageKeys\",\n tags: {\n env: \"test\",\n },\n});\nconst exampleCertificate = new azure.batch.Certificate(\"exampleCertificate\", {\n resourceGroupName: exampleResourceGroup.name,\n accountName: exampleBatch / accountAccount.name,\n certificate: Buffer.from(fs.readFileSync(\"certificate.cer\"), 'binary').toString('base64'),\n format: \"Cer\",\n thumbprint: \"312d31a79fa0cef49c00f769afc2b73e9f4edf34\",\n thumbprintAlgorithm: \"SHA1\",\n});\nconst examplePool = new azure.batch.Pool(\"examplePool\", {\n resourceGroupName: exampleResourceGroup.name,\n accountName: exampleBatch / accountAccount.name,\n displayName: \"Test Acc Pool Auto\",\n vmSize: \"Standard_A1\",\n nodeAgentSkuId: \"batch.node.ubuntu 20.04\",\n autoScale: {\n evaluationInterval: \"PT15M\",\n formula: ` startingNumberOfVMs = 1;\n maxNumberofVMs = 25;\n pendingTaskSamplePercent = $PendingTasks.GetSamplePercent(180 * TimeInterval_Second);\n pendingTaskSamples = pendingTaskSamplePercent \u003c 70 ? startingNumberOfVMs : avg($PendingTasks.GetSample(180 * TimeInterval_Second));\n $TargetDedicatedNodes=min(maxNumberofVMs, pendingTaskSamples);\n`,\n },\n storageImageReference: {\n publisher: \"microsoft-azure-batch\",\n offer: \"ubuntu-server-container\",\n sku: \"20-04-lts\",\n version: \"latest\",\n },\n containerConfiguration: {\n type: \"DockerCompatible\",\n containerRegistries: [{\n registryServer: \"docker.io\",\n userName: \"login\",\n password: \"apassword\",\n }],\n },\n startTask: {\n commandLine: \"echo 'Hello World from $env'\",\n taskRetryMaximum: 1,\n waitForSuccess: true,\n commonEnvironmentProperties: {\n env: \"TEST\",\n },\n userIdentity: {\n autoUser: {\n elevationLevel: \"NonAdmin\",\n scope: \"Task\",\n },\n },\n },\n certificates: [{\n id: exampleCertificate.id,\n storeLocation: \"CurrentUser\",\n visibilities: [\"StartTask\"],\n }],\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_account = azure.storage.Account(\"exampleAccount\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n account_tier=\"Standard\",\n account_replication_type=\"LRS\")\nexample_batch_account_account = azure.batch.Account(\"exampleBatch/accountAccount\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n pool_allocation_mode=\"BatchService\",\n storage_account_id=example_account.id,\n storage_account_authentication_mode=\"StorageKeys\",\n tags={\n \"env\": \"test\",\n })\nexample_certificate = azure.batch.Certificate(\"exampleCertificate\",\n resource_group_name=example_resource_group.name,\n account_name=example_batch / account_account[\"name\"],\n certificate=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"certificate.cer\"),\n format=\"Cer\",\n thumbprint=\"312d31a79fa0cef49c00f769afc2b73e9f4edf34\",\n thumbprint_algorithm=\"SHA1\")\nexample_pool = azure.batch.Pool(\"examplePool\",\n resource_group_name=example_resource_group.name,\n account_name=example_batch / account_account[\"name\"],\n display_name=\"Test Acc Pool Auto\",\n vm_size=\"Standard_A1\",\n node_agent_sku_id=\"batch.node.ubuntu 20.04\",\n auto_scale=azure.batch.PoolAutoScaleArgs(\n evaluation_interval=\"PT15M\",\n formula=\"\"\" startingNumberOfVMs = 1;\n maxNumberofVMs = 25;\n pendingTaskSamplePercent = $PendingTasks.GetSamplePercent(180 * TimeInterval_Second);\n pendingTaskSamples = pendingTaskSamplePercent \u003c 70 ? startingNumberOfVMs : avg($PendingTasks.GetSample(180 * TimeInterval_Second));\n $TargetDedicatedNodes=min(maxNumberofVMs, pendingTaskSamples);\n\"\"\",\n ),\n storage_image_reference=azure.batch.PoolStorageImageReferenceArgs(\n publisher=\"microsoft-azure-batch\",\n offer=\"ubuntu-server-container\",\n sku=\"20-04-lts\",\n version=\"latest\",\n ),\n container_configuration=azure.batch.PoolContainerConfigurationArgs(\n type=\"DockerCompatible\",\n container_registries=[azure.batch.PoolContainerConfigurationContainerRegistryArgs(\n registry_server=\"docker.io\",\n user_name=\"login\",\n password=\"apassword\",\n )],\n ),\n start_task=azure.batch.PoolStartTaskArgs(\n command_line=\"echo 'Hello World from $env'\",\n task_retry_maximum=1,\n wait_for_success=True,\n common_environment_properties={\n \"env\": \"TEST\",\n },\n user_identity=azure.batch.PoolStartTaskUserIdentityArgs(\n auto_user=azure.batch.PoolStartTaskUserIdentityAutoUserArgs(\n elevation_level=\"NonAdmin\",\n scope=\"Task\",\n ),\n ),\n ),\n certificates=[azure.batch.PoolCertificateArgs(\n id=example_certificate.id,\n store_location=\"CurrentUser\",\n visibilities=[\"StartTask\"],\n )])\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\n\tprivate static string ReadFileBase64(string path) {\n\t\treturn Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n\t}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n\n var exampleBatch_accountAccount = new Azure.Batch.Account(\"exampleBatch/accountAccount\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n PoolAllocationMode = \"BatchService\",\n StorageAccountId = exampleAccount.Id,\n StorageAccountAuthenticationMode = \"StorageKeys\",\n Tags = \n {\n { \"env\", \"test\" },\n },\n });\n\n var exampleCertificate = new Azure.Batch.Certificate(\"exampleCertificate\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n AccountName = exampleBatch / accountAccount.Name,\n BatchCertificate = ReadFileBase64(\"certificate.cer\"),\n Format = \"Cer\",\n Thumbprint = \"312d31a79fa0cef49c00f769afc2b73e9f4edf34\",\n ThumbprintAlgorithm = \"SHA1\",\n });\n\n var examplePool = new Azure.Batch.Pool(\"examplePool\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n AccountName = exampleBatch / accountAccount.Name,\n DisplayName = \"Test Acc Pool Auto\",\n VmSize = \"Standard_A1\",\n NodeAgentSkuId = \"batch.node.ubuntu 20.04\",\n AutoScale = new Azure.Batch.Inputs.PoolAutoScaleArgs\n {\n EvaluationInterval = \"PT15M\",\n Formula = @\" startingNumberOfVMs = 1;\n maxNumberofVMs = 25;\n pendingTaskSamplePercent = $PendingTasks.GetSamplePercent(180 * TimeInterval_Second);\n pendingTaskSamples = pendingTaskSamplePercent \u003c 70 ? startingNumberOfVMs : avg($PendingTasks.GetSample(180 * TimeInterval_Second));\n $TargetDedicatedNodes=min(maxNumberofVMs, pendingTaskSamples);\n\",\n },\n StorageImageReference = new Azure.Batch.Inputs.PoolStorageImageReferenceArgs\n {\n Publisher = \"microsoft-azure-batch\",\n Offer = \"ubuntu-server-container\",\n Sku = \"20-04-lts\",\n Version = \"latest\",\n },\n ContainerConfiguration = new Azure.Batch.Inputs.PoolContainerConfigurationArgs\n {\n Type = \"DockerCompatible\",\n ContainerRegistries = new[]\n {\n new Azure.Batch.Inputs.PoolContainerConfigurationContainerRegistryArgs\n {\n RegistryServer = \"docker.io\",\n UserName = \"login\",\n Password = \"apassword\",\n },\n },\n },\n StartTask = new Azure.Batch.Inputs.PoolStartTaskArgs\n {\n CommandLine = \"echo 'Hello World from $env'\",\n TaskRetryMaximum = 1,\n WaitForSuccess = true,\n CommonEnvironmentProperties = \n {\n { \"env\", \"TEST\" },\n },\n UserIdentity = new Azure.Batch.Inputs.PoolStartTaskUserIdentityArgs\n {\n AutoUser = new Azure.Batch.Inputs.PoolStartTaskUserIdentityAutoUserArgs\n {\n ElevationLevel = \"NonAdmin\",\n Scope = \"Task\",\n },\n },\n },\n Certificates = new[]\n {\n new Azure.Batch.Inputs.PoolCertificateArgs\n {\n Id = exampleCertificate.Id,\n StoreLocation = \"CurrentUser\",\n Visibilities = new[]\n {\n \"StartTask\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/batch\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) pulumi.StringPtrInput {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn pulumi.String(base64.StdEncoding.EncodeToString(fileData[:]))\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"exampleAccount\", \u0026storage.AccountArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tAccountTier: pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = batch.NewAccount(ctx, \"exampleBatch/accountAccount\", \u0026batch.AccountArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tPoolAllocationMode: pulumi.String(\"BatchService\"),\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t\tStorageAccountAuthenticationMode: pulumi.String(\"StorageKeys\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"env\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCertificate, err := batch.NewCertificate(ctx, \"exampleCertificate\", \u0026batch.CertificateArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tAccountName: exampleBatch / accountAccount.Name,\n\t\t\tCertificate: filebase64OrPanic(\"certificate.cer\"),\n\t\t\tFormat: pulumi.String(\"Cer\"),\n\t\t\tThumbprint: pulumi.String(\"312d31a79fa0cef49c00f769afc2b73e9f4edf34\"),\n\t\t\tThumbprintAlgorithm: pulumi.String(\"SHA1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = batch.NewPool(ctx, \"examplePool\", \u0026batch.PoolArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tAccountName: exampleBatch / accountAccount.Name,\n\t\t\tDisplayName: pulumi.String(\"Test Acc Pool Auto\"),\n\t\t\tVmSize: pulumi.String(\"Standard_A1\"),\n\t\t\tNodeAgentSkuId: pulumi.String(\"batch.node.ubuntu 20.04\"),\n\t\t\tAutoScale: \u0026batch.PoolAutoScaleArgs{\n\t\t\t\tEvaluationInterval: pulumi.String(\"PT15M\"),\n\t\t\t\tFormula: pulumi.String(` startingNumberOfVMs = 1;\n maxNumberofVMs = 25;\n pendingTaskSamplePercent = $PendingTasks.GetSamplePercent(180 * TimeInterval_Second);\n pendingTaskSamples = pendingTaskSamplePercent \u003c 70 ? startingNumberOfVMs : avg($PendingTasks.GetSample(180 * TimeInterval_Second));\n $TargetDedicatedNodes=min(maxNumberofVMs, pendingTaskSamples);\n`),\n\t\t\t},\n\t\t\tStorageImageReference: \u0026batch.PoolStorageImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"microsoft-azure-batch\"),\n\t\t\t\tOffer: pulumi.String(\"ubuntu-server-container\"),\n\t\t\t\tSku: pulumi.String(\"20-04-lts\"),\n\t\t\t\tVersion: pulumi.String(\"latest\"),\n\t\t\t},\n\t\t\tContainerConfiguration: \u0026batch.PoolContainerConfigurationArgs{\n\t\t\t\tType: pulumi.String(\"DockerCompatible\"),\n\t\t\t\tContainerRegistries: batch.PoolContainerConfigurationContainerRegistryArray{\n\t\t\t\t\t\u0026batch.PoolContainerConfigurationContainerRegistryArgs{\n\t\t\t\t\t\tRegistryServer: pulumi.String(\"docker.io\"),\n\t\t\t\t\t\tUserName: pulumi.String(\"login\"),\n\t\t\t\t\t\tPassword: pulumi.String(\"apassword\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tStartTask: \u0026batch.PoolStartTaskArgs{\n\t\t\t\tCommandLine: pulumi.String(\"echo 'Hello World from $env'\"),\n\t\t\t\tTaskRetryMaximum: pulumi.Int(1),\n\t\t\t\tWaitForSuccess: pulumi.Bool(true),\n\t\t\t\tCommonEnvironmentProperties: pulumi.StringMap{\n\t\t\t\t\t\"env\": pulumi.String(\"TEST\"),\n\t\t\t\t},\n\t\t\t\tUserIdentity: \u0026batch.PoolStartTaskUserIdentityArgs{\n\t\t\t\t\tAutoUser: \u0026batch.PoolStartTaskUserIdentityAutoUserArgs{\n\t\t\t\t\t\tElevationLevel: pulumi.String(\"NonAdmin\"),\n\t\t\t\t\t\tScope: pulumi.String(\"Task\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tCertificates: batch.PoolCertificateArray{\n\t\t\t\t\u0026batch.PoolCertificateArgs{\n\t\t\t\t\tId: exampleCertificate.ID(),\n\t\t\t\t\tStoreLocation: pulumi.String(\"CurrentUser\"),\n\t\t\t\t\tVisibilities: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"StartTask\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.batch.Account;\nimport com.pulumi.azure.batch.AccountArgs;\nimport com.pulumi.azure.batch.Certificate;\nimport com.pulumi.azure.batch.CertificateArgs;\nimport com.pulumi.azure.batch.Pool;\nimport com.pulumi.azure.batch.PoolArgs;\nimport com.pulumi.azure.batch.inputs.PoolAutoScaleArgs;\nimport com.pulumi.azure.batch.inputs.PoolStorageImageReferenceArgs;\nimport com.pulumi.azure.batch.inputs.PoolContainerConfigurationArgs;\nimport com.pulumi.azure.batch.inputs.PoolStartTaskArgs;\nimport com.pulumi.azure.batch.inputs.PoolStartTaskUserIdentityArgs;\nimport com.pulumi.azure.batch.inputs.PoolStartTaskUserIdentityAutoUserArgs;\nimport com.pulumi.azure.batch.inputs.PoolCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .location(exampleResourceGroup.location())\n .accountTier(\"Standard\")\n .accountReplicationType(\"LRS\")\n .build());\n\n var exampleBatch_accountAccount = new Account(\"exampleBatch/accountAccount\", AccountArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .location(exampleResourceGroup.location())\n .poolAllocationMode(\"BatchService\")\n .storageAccountId(exampleAccount.id())\n .storageAccountAuthenticationMode(\"StorageKeys\")\n .tags(Map.of(\"env\", \"test\"))\n .build());\n\n var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .accountName(exampleBatch / accountAccount.name())\n .certificate(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"certificate.cer\"))))\n .format(\"Cer\")\n .thumbprint(\"312d31a79fa0cef49c00f769afc2b73e9f4edf34\")\n .thumbprintAlgorithm(\"SHA1\")\n .build());\n\n var examplePool = new Pool(\"examplePool\", PoolArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .accountName(exampleBatch / accountAccount.name())\n .displayName(\"Test Acc Pool Auto\")\n .vmSize(\"Standard_A1\")\n .nodeAgentSkuId(\"batch.node.ubuntu 20.04\")\n .autoScale(PoolAutoScaleArgs.builder()\n .evaluationInterval(\"PT15M\")\n .formula(\"\"\"\n startingNumberOfVMs = 1;\n maxNumberofVMs = 25;\n pendingTaskSamplePercent = $PendingTasks.GetSamplePercent(180 * TimeInterval_Second);\n pendingTaskSamples = pendingTaskSamplePercent \u003c 70 ? startingNumberOfVMs : avg($PendingTasks.GetSample(180 * TimeInterval_Second));\n $TargetDedicatedNodes=min(maxNumberofVMs, pendingTaskSamples);\n \"\"\")\n .build())\n .storageImageReference(PoolStorageImageReferenceArgs.builder()\n .publisher(\"microsoft-azure-batch\")\n .offer(\"ubuntu-server-container\")\n .sku(\"20-04-lts\")\n .version(\"latest\")\n .build())\n .containerConfiguration(PoolContainerConfigurationArgs.builder()\n .type(\"DockerCompatible\")\n .containerRegistries(PoolContainerConfigurationContainerRegistryArgs.builder()\n .registryServer(\"docker.io\")\n .userName(\"login\")\n .password(\"apassword\")\n .build())\n .build())\n .startTask(PoolStartTaskArgs.builder()\n .commandLine(\"echo 'Hello World from $env'\")\n .taskRetryMaximum(1)\n .waitForSuccess(true)\n .commonEnvironmentProperties(Map.of(\"env\", \"TEST\"))\n .userIdentity(PoolStartTaskUserIdentityArgs.builder()\n .autoUser(PoolStartTaskUserIdentityAutoUserArgs.builder()\n .elevationLevel(\"NonAdmin\")\n .scope(\"Task\")\n .build())\n .build())\n .build())\n .certificates(PoolCertificateArgs.builder()\n .id(exampleCertificate.id())\n .storeLocation(\"CurrentUser\")\n .visibilities(\"StartTask\")\n .build())\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nBatch Pools can be imported using the `resource id`, e.g.\n\n```sh\n $ pulumi import azure:batch/pool:Pool example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup1/providers/Microsoft.Batch/batchAccounts/myBatchAccount1/pools/myBatchPool1\n```\n\n ", + "description": "Manages an Azure Batch pool.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as fs from \"fs\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst exampleBatch_accountAccount = new azure.batch.Account(\"exampleBatch/accountAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n poolAllocationMode: \"BatchService\",\n storageAccountId: exampleAccount.id,\n storageAccountAuthenticationMode: \"StorageKeys\",\n tags: {\n env: \"test\",\n },\n});\nconst exampleCertificate = new azure.batch.Certificate(\"exampleCertificate\", {\n resourceGroupName: exampleResourceGroup.name,\n accountName: exampleBatch / accountAccount.name,\n certificate: Buffer.from(fs.readFileSync(\"certificate.cer\", 'binary')).toString('base64'),\n format: \"Cer\",\n thumbprint: \"312d31a79fa0cef49c00f769afc2b73e9f4edf34\",\n thumbprintAlgorithm: \"SHA1\",\n});\nconst examplePool = new azure.batch.Pool(\"examplePool\", {\n resourceGroupName: exampleResourceGroup.name,\n accountName: exampleBatch / accountAccount.name,\n displayName: \"Test Acc Pool Auto\",\n vmSize: \"Standard_A1\",\n nodeAgentSkuId: \"batch.node.ubuntu 20.04\",\n autoScale: {\n evaluationInterval: \"PT15M\",\n formula: ` startingNumberOfVMs = 1;\n maxNumberofVMs = 25;\n pendingTaskSamplePercent = $PendingTasks.GetSamplePercent(180 * TimeInterval_Second);\n pendingTaskSamples = pendingTaskSamplePercent \u003c 70 ? startingNumberOfVMs : avg($PendingTasks.GetSample(180 * TimeInterval_Second));\n $TargetDedicatedNodes=min(maxNumberofVMs, pendingTaskSamples);\n`,\n },\n storageImageReference: {\n publisher: \"microsoft-azure-batch\",\n offer: \"ubuntu-server-container\",\n sku: \"20-04-lts\",\n version: \"latest\",\n },\n containerConfiguration: {\n type: \"DockerCompatible\",\n containerRegistries: [{\n registryServer: \"docker.io\",\n userName: \"login\",\n password: \"apassword\",\n }],\n },\n startTask: {\n commandLine: \"echo 'Hello World from $env'\",\n taskRetryMaximum: 1,\n waitForSuccess: true,\n commonEnvironmentProperties: {\n env: \"TEST\",\n },\n userIdentity: {\n autoUser: {\n elevationLevel: \"NonAdmin\",\n scope: \"Task\",\n },\n },\n },\n certificates: [{\n id: exampleCertificate.id,\n storeLocation: \"CurrentUser\",\n visibilities: [\"StartTask\"],\n }],\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_account = azure.storage.Account(\"exampleAccount\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n account_tier=\"Standard\",\n account_replication_type=\"LRS\")\nexample_batch_account_account = azure.batch.Account(\"exampleBatch/accountAccount\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n pool_allocation_mode=\"BatchService\",\n storage_account_id=example_account.id,\n storage_account_authentication_mode=\"StorageKeys\",\n tags={\n \"env\": \"test\",\n })\nexample_certificate = azure.batch.Certificate(\"exampleCertificate\",\n resource_group_name=example_resource_group.name,\n account_name=example_batch / account_account[\"name\"],\n certificate=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"certificate.cer\"),\n format=\"Cer\",\n thumbprint=\"312d31a79fa0cef49c00f769afc2b73e9f4edf34\",\n thumbprint_algorithm=\"SHA1\")\nexample_pool = azure.batch.Pool(\"examplePool\",\n resource_group_name=example_resource_group.name,\n account_name=example_batch / account_account[\"name\"],\n display_name=\"Test Acc Pool Auto\",\n vm_size=\"Standard_A1\",\n node_agent_sku_id=\"batch.node.ubuntu 20.04\",\n auto_scale=azure.batch.PoolAutoScaleArgs(\n evaluation_interval=\"PT15M\",\n formula=\"\"\" startingNumberOfVMs = 1;\n maxNumberofVMs = 25;\n pendingTaskSamplePercent = $PendingTasks.GetSamplePercent(180 * TimeInterval_Second);\n pendingTaskSamples = pendingTaskSamplePercent \u003c 70 ? startingNumberOfVMs : avg($PendingTasks.GetSample(180 * TimeInterval_Second));\n $TargetDedicatedNodes=min(maxNumberofVMs, pendingTaskSamples);\n\"\"\",\n ),\n storage_image_reference=azure.batch.PoolStorageImageReferenceArgs(\n publisher=\"microsoft-azure-batch\",\n offer=\"ubuntu-server-container\",\n sku=\"20-04-lts\",\n version=\"latest\",\n ),\n container_configuration=azure.batch.PoolContainerConfigurationArgs(\n type=\"DockerCompatible\",\n container_registries=[azure.batch.PoolContainerConfigurationContainerRegistryArgs(\n registry_server=\"docker.io\",\n user_name=\"login\",\n password=\"apassword\",\n )],\n ),\n start_task=azure.batch.PoolStartTaskArgs(\n command_line=\"echo 'Hello World from $env'\",\n task_retry_maximum=1,\n wait_for_success=True,\n common_environment_properties={\n \"env\": \"TEST\",\n },\n user_identity=azure.batch.PoolStartTaskUserIdentityArgs(\n auto_user=azure.batch.PoolStartTaskUserIdentityAutoUserArgs(\n elevation_level=\"NonAdmin\",\n scope=\"Task\",\n ),\n ),\n ),\n certificates=[azure.batch.PoolCertificateArgs(\n id=example_certificate.id,\n store_location=\"CurrentUser\",\n visibilities=[\"StartTask\"],\n )])\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\n\t\nstring ReadFileBase64(string path) \n{\n return Convert.ToBase64String(Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n\n var exampleBatch_accountAccount = new Azure.Batch.Account(\"exampleBatch/accountAccount\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n PoolAllocationMode = \"BatchService\",\n StorageAccountId = exampleAccount.Id,\n StorageAccountAuthenticationMode = \"StorageKeys\",\n Tags = \n {\n { \"env\", \"test\" },\n },\n });\n\n var exampleCertificate = new Azure.Batch.Certificate(\"exampleCertificate\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n AccountName = exampleBatch / accountAccount.Name,\n BatchCertificate = ReadFileBase64(\"certificate.cer\"),\n Format = \"Cer\",\n Thumbprint = \"312d31a79fa0cef49c00f769afc2b73e9f4edf34\",\n ThumbprintAlgorithm = \"SHA1\",\n });\n\n var examplePool = new Azure.Batch.Pool(\"examplePool\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n AccountName = exampleBatch / accountAccount.Name,\n DisplayName = \"Test Acc Pool Auto\",\n VmSize = \"Standard_A1\",\n NodeAgentSkuId = \"batch.node.ubuntu 20.04\",\n AutoScale = new Azure.Batch.Inputs.PoolAutoScaleArgs\n {\n EvaluationInterval = \"PT15M\",\n Formula = @\" startingNumberOfVMs = 1;\n maxNumberofVMs = 25;\n pendingTaskSamplePercent = $PendingTasks.GetSamplePercent(180 * TimeInterval_Second);\n pendingTaskSamples = pendingTaskSamplePercent \u003c 70 ? startingNumberOfVMs : avg($PendingTasks.GetSample(180 * TimeInterval_Second));\n $TargetDedicatedNodes=min(maxNumberofVMs, pendingTaskSamples);\n\",\n },\n StorageImageReference = new Azure.Batch.Inputs.PoolStorageImageReferenceArgs\n {\n Publisher = \"microsoft-azure-batch\",\n Offer = \"ubuntu-server-container\",\n Sku = \"20-04-lts\",\n Version = \"latest\",\n },\n ContainerConfiguration = new Azure.Batch.Inputs.PoolContainerConfigurationArgs\n {\n Type = \"DockerCompatible\",\n ContainerRegistries = new[]\n {\n new Azure.Batch.Inputs.PoolContainerConfigurationContainerRegistryArgs\n {\n RegistryServer = \"docker.io\",\n UserName = \"login\",\n Password = \"apassword\",\n },\n },\n },\n StartTask = new Azure.Batch.Inputs.PoolStartTaskArgs\n {\n CommandLine = \"echo 'Hello World from $env'\",\n TaskRetryMaximum = 1,\n WaitForSuccess = true,\n CommonEnvironmentProperties = \n {\n { \"env\", \"TEST\" },\n },\n UserIdentity = new Azure.Batch.Inputs.PoolStartTaskUserIdentityArgs\n {\n AutoUser = new Azure.Batch.Inputs.PoolStartTaskUserIdentityAutoUserArgs\n {\n ElevationLevel = \"NonAdmin\",\n Scope = \"Task\",\n },\n },\n },\n Certificates = new[]\n {\n new Azure.Batch.Inputs.PoolCertificateArgs\n {\n Id = exampleCertificate.Id,\n StoreLocation = \"CurrentUser\",\n Visibilities = new[]\n {\n \"StartTask\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/batch\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) string {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn base64.StdEncoding.EncodeToString(fileData[:])\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"exampleAccount\", \u0026storage.AccountArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tAccountTier: pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = batch.NewAccount(ctx, \"exampleBatch/accountAccount\", \u0026batch.AccountArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tPoolAllocationMode: pulumi.String(\"BatchService\"),\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t\tStorageAccountAuthenticationMode: pulumi.String(\"StorageKeys\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"env\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCertificate, err := batch.NewCertificate(ctx, \"exampleCertificate\", \u0026batch.CertificateArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tAccountName: exampleBatch / accountAccount.Name,\n\t\t\tCertificate: filebase64OrPanic(\"certificate.cer\"),\n\t\t\tFormat: pulumi.String(\"Cer\"),\n\t\t\tThumbprint: pulumi.String(\"312d31a79fa0cef49c00f769afc2b73e9f4edf34\"),\n\t\t\tThumbprintAlgorithm: pulumi.String(\"SHA1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = batch.NewPool(ctx, \"examplePool\", \u0026batch.PoolArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tAccountName: exampleBatch / accountAccount.Name,\n\t\t\tDisplayName: pulumi.String(\"Test Acc Pool Auto\"),\n\t\t\tVmSize: pulumi.String(\"Standard_A1\"),\n\t\t\tNodeAgentSkuId: pulumi.String(\"batch.node.ubuntu 20.04\"),\n\t\t\tAutoScale: \u0026batch.PoolAutoScaleArgs{\n\t\t\t\tEvaluationInterval: pulumi.String(\"PT15M\"),\n\t\t\t\tFormula: pulumi.String(` startingNumberOfVMs = 1;\n maxNumberofVMs = 25;\n pendingTaskSamplePercent = $PendingTasks.GetSamplePercent(180 * TimeInterval_Second);\n pendingTaskSamples = pendingTaskSamplePercent \u003c 70 ? startingNumberOfVMs : avg($PendingTasks.GetSample(180 * TimeInterval_Second));\n $TargetDedicatedNodes=min(maxNumberofVMs, pendingTaskSamples);\n`),\n\t\t\t},\n\t\t\tStorageImageReference: \u0026batch.PoolStorageImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"microsoft-azure-batch\"),\n\t\t\t\tOffer: pulumi.String(\"ubuntu-server-container\"),\n\t\t\t\tSku: pulumi.String(\"20-04-lts\"),\n\t\t\t\tVersion: pulumi.String(\"latest\"),\n\t\t\t},\n\t\t\tContainerConfiguration: \u0026batch.PoolContainerConfigurationArgs{\n\t\t\t\tType: pulumi.String(\"DockerCompatible\"),\n\t\t\t\tContainerRegistries: batch.PoolContainerConfigurationContainerRegistryArray{\n\t\t\t\t\t\u0026batch.PoolContainerConfigurationContainerRegistryArgs{\n\t\t\t\t\t\tRegistryServer: pulumi.String(\"docker.io\"),\n\t\t\t\t\t\tUserName: pulumi.String(\"login\"),\n\t\t\t\t\t\tPassword: pulumi.String(\"apassword\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tStartTask: \u0026batch.PoolStartTaskArgs{\n\t\t\t\tCommandLine: pulumi.String(\"echo 'Hello World from $env'\"),\n\t\t\t\tTaskRetryMaximum: pulumi.Int(1),\n\t\t\t\tWaitForSuccess: pulumi.Bool(true),\n\t\t\t\tCommonEnvironmentProperties: pulumi.StringMap{\n\t\t\t\t\t\"env\": pulumi.String(\"TEST\"),\n\t\t\t\t},\n\t\t\t\tUserIdentity: \u0026batch.PoolStartTaskUserIdentityArgs{\n\t\t\t\t\tAutoUser: \u0026batch.PoolStartTaskUserIdentityAutoUserArgs{\n\t\t\t\t\t\tElevationLevel: pulumi.String(\"NonAdmin\"),\n\t\t\t\t\t\tScope: pulumi.String(\"Task\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tCertificates: batch.PoolCertificateArray{\n\t\t\t\t\u0026batch.PoolCertificateArgs{\n\t\t\t\t\tId: exampleCertificate.ID(),\n\t\t\t\t\tStoreLocation: pulumi.String(\"CurrentUser\"),\n\t\t\t\t\tVisibilities: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"StartTask\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.batch.Account;\nimport com.pulumi.azure.batch.AccountArgs;\nimport com.pulumi.azure.batch.Certificate;\nimport com.pulumi.azure.batch.CertificateArgs;\nimport com.pulumi.azure.batch.Pool;\nimport com.pulumi.azure.batch.PoolArgs;\nimport com.pulumi.azure.batch.inputs.PoolAutoScaleArgs;\nimport com.pulumi.azure.batch.inputs.PoolStorageImageReferenceArgs;\nimport com.pulumi.azure.batch.inputs.PoolContainerConfigurationArgs;\nimport com.pulumi.azure.batch.inputs.PoolStartTaskArgs;\nimport com.pulumi.azure.batch.inputs.PoolStartTaskUserIdentityArgs;\nimport com.pulumi.azure.batch.inputs.PoolStartTaskUserIdentityAutoUserArgs;\nimport com.pulumi.azure.batch.inputs.PoolCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .location(exampleResourceGroup.location())\n .accountTier(\"Standard\")\n .accountReplicationType(\"LRS\")\n .build());\n\n var exampleBatch_accountAccount = new Account(\"exampleBatch/accountAccount\", AccountArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .location(exampleResourceGroup.location())\n .poolAllocationMode(\"BatchService\")\n .storageAccountId(exampleAccount.id())\n .storageAccountAuthenticationMode(\"StorageKeys\")\n .tags(Map.of(\"env\", \"test\"))\n .build());\n\n var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .accountName(exampleBatch / accountAccount.name())\n .certificate(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"certificate.cer\"))))\n .format(\"Cer\")\n .thumbprint(\"312d31a79fa0cef49c00f769afc2b73e9f4edf34\")\n .thumbprintAlgorithm(\"SHA1\")\n .build());\n\n var examplePool = new Pool(\"examplePool\", PoolArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .accountName(exampleBatch / accountAccount.name())\n .displayName(\"Test Acc Pool Auto\")\n .vmSize(\"Standard_A1\")\n .nodeAgentSkuId(\"batch.node.ubuntu 20.04\")\n .autoScale(PoolAutoScaleArgs.builder()\n .evaluationInterval(\"PT15M\")\n .formula(\"\"\"\n startingNumberOfVMs = 1;\n maxNumberofVMs = 25;\n pendingTaskSamplePercent = $PendingTasks.GetSamplePercent(180 * TimeInterval_Second);\n pendingTaskSamples = pendingTaskSamplePercent \u003c 70 ? startingNumberOfVMs : avg($PendingTasks.GetSample(180 * TimeInterval_Second));\n $TargetDedicatedNodes=min(maxNumberofVMs, pendingTaskSamples);\n \"\"\")\n .build())\n .storageImageReference(PoolStorageImageReferenceArgs.builder()\n .publisher(\"microsoft-azure-batch\")\n .offer(\"ubuntu-server-container\")\n .sku(\"20-04-lts\")\n .version(\"latest\")\n .build())\n .containerConfiguration(PoolContainerConfigurationArgs.builder()\n .type(\"DockerCompatible\")\n .containerRegistries(PoolContainerConfigurationContainerRegistryArgs.builder()\n .registryServer(\"docker.io\")\n .userName(\"login\")\n .password(\"apassword\")\n .build())\n .build())\n .startTask(PoolStartTaskArgs.builder()\n .commandLine(\"echo 'Hello World from $env'\")\n .taskRetryMaximum(1)\n .waitForSuccess(true)\n .commonEnvironmentProperties(Map.of(\"env\", \"TEST\"))\n .userIdentity(PoolStartTaskUserIdentityArgs.builder()\n .autoUser(PoolStartTaskUserIdentityAutoUserArgs.builder()\n .elevationLevel(\"NonAdmin\")\n .scope(\"Task\")\n .build())\n .build())\n .build())\n .certificates(PoolCertificateArgs.builder()\n .id(exampleCertificate.id())\n .storeLocation(\"CurrentUser\")\n .visibilities(\"StartTask\")\n .build())\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nBatch Pools can be imported using the `resource id`, e.g.\n\n```sh\n $ pulumi import azure:batch/pool:Pool example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup1/providers/Microsoft.Batch/batchAccounts/myBatchAccount1/pools/myBatchPool1\n```\n\n ", "properties": { "accountName": { "type": "string", @@ -132144,7 +132144,7 @@ } }, "azure:cdn/frontdoorSecret:FrontdoorSecret": { - "description": "Manages a Front Door (standard/premium) Secret.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as azuread from \"@pulumi/azuread\";\nimport * as fs from \"fs\";\n\nconst current = azure.core.getClientConfig({});\nconst frontdoor = azuread.getServicePrincipal({\n displayName: \"Microsoft.Azure.Cdn\",\n});\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"exampleKeyVault\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n tenantId: current.then(current =\u003e current.tenantId),\n skuName: \"premium\",\n softDeleteRetentionDays: 7,\n networkAcls: {\n defaultAction: \"Deny\",\n bypass: \"AzureServices\",\n ipRules: [\"10.0.0.0/24\"],\n },\n accessPolicies: [\n {\n tenantId: current.then(current =\u003e current.tenantId),\n objectId: frontdoor.then(frontdoor =\u003e frontdoor.objectId),\n secretPermissions: [\"Get\"],\n },\n {\n tenantId: current.then(current =\u003e current.tenantId),\n objectId: current.then(current =\u003e current.objectId),\n certificatePermissions: [\n \"Get\",\n \"Import\",\n \"Delete\",\n \"Purge\",\n ],\n secretPermissions: [\"Get\"],\n },\n ],\n});\nconst exampleCertificate = new azure.keyvault.Certificate(\"exampleCertificate\", {\n keyVaultId: exampleKeyVault.id,\n certificate: {\n contents: Buffer.from(fs.readFileSync(\"my-certificate.pfx\"), 'binary').toString('base64'),\n },\n});\nconst exampleFrontdoorProfile = new azure.cdn.FrontdoorProfile(\"exampleFrontdoorProfile\", {\n resourceGroupName: exampleResourceGroup.name,\n skuName: \"Standard_AzureFrontDoor\",\n});\nconst exampleFrontdoorSecret = new azure.cdn.FrontdoorSecret(\"exampleFrontdoorSecret\", {\n cdnFrontdoorProfileId: exampleFrontdoorProfile.id,\n secret: {\n customerCertificates: [{\n keyVaultCertificateId: exampleCertificate.id,\n }],\n },\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\nimport pulumi_azuread as azuread\n\ncurrent = azure.core.get_client_config()\nfrontdoor = azuread.get_service_principal(display_name=\"Microsoft.Azure.Cdn\")\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_key_vault = azure.keyvault.KeyVault(\"exampleKeyVault\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n tenant_id=current.tenant_id,\n sku_name=\"premium\",\n soft_delete_retention_days=7,\n network_acls=azure.keyvault.KeyVaultNetworkAclsArgs(\n default_action=\"Deny\",\n bypass=\"AzureServices\",\n ip_rules=[\"10.0.0.0/24\"],\n ),\n access_policies=[\n azure.keyvault.KeyVaultAccessPolicyArgs(\n tenant_id=current.tenant_id,\n object_id=frontdoor.object_id,\n secret_permissions=[\"Get\"],\n ),\n azure.keyvault.KeyVaultAccessPolicyArgs(\n tenant_id=current.tenant_id,\n object_id=current.object_id,\n certificate_permissions=[\n \"Get\",\n \"Import\",\n \"Delete\",\n \"Purge\",\n ],\n secret_permissions=[\"Get\"],\n ),\n ])\nexample_certificate = azure.keyvault.Certificate(\"exampleCertificate\",\n key_vault_id=example_key_vault.id,\n certificate=azure.keyvault.CertificateCertificateArgs(\n contents=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"my-certificate.pfx\"),\n ))\nexample_frontdoor_profile = azure.cdn.FrontdoorProfile(\"exampleFrontdoorProfile\",\n resource_group_name=example_resource_group.name,\n sku_name=\"Standard_AzureFrontDoor\")\nexample_frontdoor_secret = azure.cdn.FrontdoorSecret(\"exampleFrontdoorSecret\",\n cdn_frontdoor_profile_id=example_frontdoor_profile.id,\n secret=azure.cdn.FrontdoorSecretSecretArgs(\n customer_certificates=[azure.cdn.FrontdoorSecretSecretCustomerCertificateArgs(\n key_vault_certificate_id=example_certificate.id,\n )],\n ))\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing AzureAD = Pulumi.AzureAD;\n\n\tprivate static string ReadFileBase64(string path) {\n\t\treturn Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n\t}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Azure.Core.GetClientConfig.Invoke();\n\n var frontdoor = AzureAD.GetServicePrincipal.Invoke(new()\n {\n DisplayName = \"Microsoft.Azure.Cdn\",\n });\n\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleKeyVault = new Azure.KeyVault.KeyVault(\"exampleKeyVault\", new()\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n SkuName = \"premium\",\n SoftDeleteRetentionDays = 7,\n NetworkAcls = new Azure.KeyVault.Inputs.KeyVaultNetworkAclsArgs\n {\n DefaultAction = \"Deny\",\n Bypass = \"AzureServices\",\n IpRules = new[]\n {\n \"10.0.0.0/24\",\n },\n },\n AccessPolicies = new[]\n {\n new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n {\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n ObjectId = frontdoor.Apply(getServicePrincipalResult =\u003e getServicePrincipalResult.ObjectId),\n SecretPermissions = new[]\n {\n \"Get\",\n },\n },\n new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n {\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n CertificatePermissions = new[]\n {\n \"Get\",\n \"Import\",\n \"Delete\",\n \"Purge\",\n },\n SecretPermissions = new[]\n {\n \"Get\",\n },\n },\n },\n });\n\n var exampleCertificate = new Azure.KeyVault.Certificate(\"exampleCertificate\", new()\n {\n KeyVaultId = exampleKeyVault.Id,\n KeyVaultCertificate = new Azure.KeyVault.Inputs.CertificateCertificateArgs\n {\n Contents = ReadFileBase64(\"my-certificate.pfx\"),\n },\n });\n\n var exampleFrontdoorProfile = new Azure.Cdn.FrontdoorProfile(\"exampleFrontdoorProfile\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n SkuName = \"Standard_AzureFrontDoor\",\n });\n\n var exampleFrontdoorSecret = new Azure.Cdn.FrontdoorSecret(\"exampleFrontdoorSecret\", new()\n {\n CdnFrontdoorProfileId = exampleFrontdoorProfile.Id,\n Secret = new Azure.Cdn.Inputs.FrontdoorSecretSecretArgs\n {\n CustomerCertificates = new[]\n {\n new Azure.Cdn.Inputs.FrontdoorSecretSecretCustomerCertificateArgs\n {\n KeyVaultCertificateId = exampleCertificate.Id,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/cdn\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) pulumi.StringPtrInput {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn pulumi.String(base64.StdEncoding.EncodeToString(fileData[:]))\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfrontdoor, err := azuread.LookupServicePrincipal(ctx, \u0026azuread.LookupServicePrincipalArgs{\n\t\t\tDisplayName: pulumi.StringRef(\"Microsoft.Azure.Cdn\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"exampleKeyVault\", \u0026keyvault.KeyVaultArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tTenantId: *pulumi.String(current.TenantId),\n\t\t\tSkuName: pulumi.String(\"premium\"),\n\t\t\tSoftDeleteRetentionDays: pulumi.Int(7),\n\t\t\tNetworkAcls: \u0026keyvault.KeyVaultNetworkAclsArgs{\n\t\t\t\tDefaultAction: pulumi.String(\"Deny\"),\n\t\t\t\tBypass: pulumi.String(\"AzureServices\"),\n\t\t\t\tIpRules: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"10.0.0.0/24\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: *pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: *pulumi.String(frontdoor.ObjectId),\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: *pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: *pulumi.String(current.ObjectId),\n\t\t\t\t\tCertificatePermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"Import\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCertificate, err := keyvault.NewCertificate(ctx, \"exampleCertificate\", \u0026keyvault.CertificateArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tCertificate: \u0026keyvault.CertificateCertificateArgs{\n\t\t\t\tContents: filebase64OrPanic(\"my-certificate.pfx\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFrontdoorProfile, err := cdn.NewFrontdoorProfile(ctx, \"exampleFrontdoorProfile\", \u0026cdn.FrontdoorProfileArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSkuName: pulumi.String(\"Standard_AzureFrontDoor\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cdn.NewFrontdoorSecret(ctx, \"exampleFrontdoorSecret\", \u0026cdn.FrontdoorSecretArgs{\n\t\t\tCdnFrontdoorProfileId: exampleFrontdoorProfile.ID(),\n\t\t\tSecret: \u0026cdn.FrontdoorSecretSecretArgs{\n\t\t\t\tCustomerCertificates: cdn.FrontdoorSecretSecretCustomerCertificateArray{\n\t\t\t\t\t\u0026cdn.FrontdoorSecretSecretCustomerCertificateArgs{\n\t\t\t\t\t\tKeyVaultCertificateId: exampleCertificate.ID(),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azuread.AzureadFunctions;\nimport com.pulumi.azuread.inputs.GetServicePrincipalArgs;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultNetworkAclsArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Certificate;\nimport com.pulumi.azure.keyvault.CertificateArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificateArgs;\nimport com.pulumi.azure.cdn.FrontdoorProfile;\nimport com.pulumi.azure.cdn.FrontdoorProfileArgs;\nimport com.pulumi.azure.cdn.FrontdoorSecret;\nimport com.pulumi.azure.cdn.FrontdoorSecretArgs;\nimport com.pulumi.azure.cdn.inputs.FrontdoorSecretSecretArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = CoreFunctions.getClientConfig();\n\n final var frontdoor = AzureadFunctions.getServicePrincipal(GetServicePrincipalArgs.builder()\n .displayName(\"Microsoft.Azure.Cdn\")\n .build());\n\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder() \n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .skuName(\"premium\")\n .softDeleteRetentionDays(7)\n .networkAcls(KeyVaultNetworkAclsArgs.builder()\n .defaultAction(\"Deny\")\n .bypass(\"AzureServices\")\n .ipRules(\"10.0.0.0/24\")\n .build())\n .accessPolicies( \n KeyVaultAccessPolicyArgs.builder()\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .objectId(frontdoor.applyValue(getServicePrincipalResult -\u003e getServicePrincipalResult.objectId()))\n .secretPermissions(\"Get\")\n .build(),\n KeyVaultAccessPolicyArgs.builder()\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .objectId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.objectId()))\n .certificatePermissions( \n \"Get\",\n \"Import\",\n \"Delete\",\n \"Purge\")\n .secretPermissions(\"Get\")\n .build())\n .build());\n\n var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder() \n .keyVaultId(exampleKeyVault.id())\n .certificate(CertificateCertificateArgs.builder()\n .contents(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"my-certificate.pfx\"))))\n .build())\n .build());\n\n var exampleFrontdoorProfile = new FrontdoorProfile(\"exampleFrontdoorProfile\", FrontdoorProfileArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .skuName(\"Standard_AzureFrontDoor\")\n .build());\n\n var exampleFrontdoorSecret = new FrontdoorSecret(\"exampleFrontdoorSecret\", FrontdoorSecretArgs.builder() \n .cdnFrontdoorProfileId(exampleFrontdoorProfile.id())\n .secret(FrontdoorSecretSecretArgs.builder()\n .customerCertificates(FrontdoorSecretSecretCustomerCertificateArgs.builder()\n .keyVaultCertificateId(exampleCertificate.id())\n .build())\n .build())\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nFront Door Secrets can be imported using the `resource id`, e.g.\n\n```sh\n $ pulumi import azure:cdn/frontdoorSecret:FrontdoorSecret example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Cdn/profiles/profile1/secrets/secrets1\n```\n\n ", + "description": "Manages a Front Door (standard/premium) Secret.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as azuread from \"@pulumi/azuread\";\nimport * as fs from \"fs\";\n\nconst current = azure.core.getClientConfig({});\nconst frontdoor = azuread.getServicePrincipal({\n displayName: \"Microsoft.Azure.Cdn\",\n});\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"exampleKeyVault\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n tenantId: current.then(current =\u003e current.tenantId),\n skuName: \"premium\",\n softDeleteRetentionDays: 7,\n networkAcls: {\n defaultAction: \"Deny\",\n bypass: \"AzureServices\",\n ipRules: [\"10.0.0.0/24\"],\n },\n accessPolicies: [\n {\n tenantId: current.then(current =\u003e current.tenantId),\n objectId: frontdoor.then(frontdoor =\u003e frontdoor.objectId),\n secretPermissions: [\"Get\"],\n },\n {\n tenantId: current.then(current =\u003e current.tenantId),\n objectId: current.then(current =\u003e current.objectId),\n certificatePermissions: [\n \"Get\",\n \"Import\",\n \"Delete\",\n \"Purge\",\n ],\n secretPermissions: [\"Get\"],\n },\n ],\n});\nconst exampleCertificate = new azure.keyvault.Certificate(\"exampleCertificate\", {\n keyVaultId: exampleKeyVault.id,\n certificate: {\n contents: Buffer.from(fs.readFileSync(\"my-certificate.pfx\", 'binary')).toString('base64'),\n },\n});\nconst exampleFrontdoorProfile = new azure.cdn.FrontdoorProfile(\"exampleFrontdoorProfile\", {\n resourceGroupName: exampleResourceGroup.name,\n skuName: \"Standard_AzureFrontDoor\",\n});\nconst exampleFrontdoorSecret = new azure.cdn.FrontdoorSecret(\"exampleFrontdoorSecret\", {\n cdnFrontdoorProfileId: exampleFrontdoorProfile.id,\n secret: {\n customerCertificates: [{\n keyVaultCertificateId: exampleCertificate.id,\n }],\n },\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\nimport pulumi_azuread as azuread\n\ncurrent = azure.core.get_client_config()\nfrontdoor = azuread.get_service_principal(display_name=\"Microsoft.Azure.Cdn\")\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_key_vault = azure.keyvault.KeyVault(\"exampleKeyVault\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n tenant_id=current.tenant_id,\n sku_name=\"premium\",\n soft_delete_retention_days=7,\n network_acls=azure.keyvault.KeyVaultNetworkAclsArgs(\n default_action=\"Deny\",\n bypass=\"AzureServices\",\n ip_rules=[\"10.0.0.0/24\"],\n ),\n access_policies=[\n azure.keyvault.KeyVaultAccessPolicyArgs(\n tenant_id=current.tenant_id,\n object_id=frontdoor.object_id,\n secret_permissions=[\"Get\"],\n ),\n azure.keyvault.KeyVaultAccessPolicyArgs(\n tenant_id=current.tenant_id,\n object_id=current.object_id,\n certificate_permissions=[\n \"Get\",\n \"Import\",\n \"Delete\",\n \"Purge\",\n ],\n secret_permissions=[\"Get\"],\n ),\n ])\nexample_certificate = azure.keyvault.Certificate(\"exampleCertificate\",\n key_vault_id=example_key_vault.id,\n certificate=azure.keyvault.CertificateCertificateArgs(\n contents=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"my-certificate.pfx\"),\n ))\nexample_frontdoor_profile = azure.cdn.FrontdoorProfile(\"exampleFrontdoorProfile\",\n resource_group_name=example_resource_group.name,\n sku_name=\"Standard_AzureFrontDoor\")\nexample_frontdoor_secret = azure.cdn.FrontdoorSecret(\"exampleFrontdoorSecret\",\n cdn_frontdoor_profile_id=example_frontdoor_profile.id,\n secret=azure.cdn.FrontdoorSecretSecretArgs(\n customer_certificates=[azure.cdn.FrontdoorSecretSecretCustomerCertificateArgs(\n key_vault_certificate_id=example_certificate.id,\n )],\n ))\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing AzureAD = Pulumi.AzureAD;\n\n\t\nstring ReadFileBase64(string path) \n{\n return Convert.ToBase64String(Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Azure.Core.GetClientConfig.Invoke();\n\n var frontdoor = AzureAD.GetServicePrincipal.Invoke(new()\n {\n DisplayName = \"Microsoft.Azure.Cdn\",\n });\n\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleKeyVault = new Azure.KeyVault.KeyVault(\"exampleKeyVault\", new()\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n SkuName = \"premium\",\n SoftDeleteRetentionDays = 7,\n NetworkAcls = new Azure.KeyVault.Inputs.KeyVaultNetworkAclsArgs\n {\n DefaultAction = \"Deny\",\n Bypass = \"AzureServices\",\n IpRules = new[]\n {\n \"10.0.0.0/24\",\n },\n },\n AccessPolicies = new[]\n {\n new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n {\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n ObjectId = frontdoor.Apply(getServicePrincipalResult =\u003e getServicePrincipalResult.ObjectId),\n SecretPermissions = new[]\n {\n \"Get\",\n },\n },\n new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n {\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n CertificatePermissions = new[]\n {\n \"Get\",\n \"Import\",\n \"Delete\",\n \"Purge\",\n },\n SecretPermissions = new[]\n {\n \"Get\",\n },\n },\n },\n });\n\n var exampleCertificate = new Azure.KeyVault.Certificate(\"exampleCertificate\", new()\n {\n KeyVaultId = exampleKeyVault.Id,\n KeyVaultCertificate = new Azure.KeyVault.Inputs.CertificateCertificateArgs\n {\n Contents = ReadFileBase64(\"my-certificate.pfx\"),\n },\n });\n\n var exampleFrontdoorProfile = new Azure.Cdn.FrontdoorProfile(\"exampleFrontdoorProfile\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n SkuName = \"Standard_AzureFrontDoor\",\n });\n\n var exampleFrontdoorSecret = new Azure.Cdn.FrontdoorSecret(\"exampleFrontdoorSecret\", new()\n {\n CdnFrontdoorProfileId = exampleFrontdoorProfile.Id,\n Secret = new Azure.Cdn.Inputs.FrontdoorSecretSecretArgs\n {\n CustomerCertificates = new[]\n {\n new Azure.Cdn.Inputs.FrontdoorSecretSecretCustomerCertificateArgs\n {\n KeyVaultCertificateId = exampleCertificate.Id,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/cdn\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) string {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn base64.StdEncoding.EncodeToString(fileData[:])\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfrontdoor, err := azuread.LookupServicePrincipal(ctx, \u0026azuread.LookupServicePrincipalArgs{\n\t\t\tDisplayName: pulumi.StringRef(\"Microsoft.Azure.Cdn\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"exampleKeyVault\", \u0026keyvault.KeyVaultArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tTenantId: *pulumi.String(current.TenantId),\n\t\t\tSkuName: pulumi.String(\"premium\"),\n\t\t\tSoftDeleteRetentionDays: pulumi.Int(7),\n\t\t\tNetworkAcls: \u0026keyvault.KeyVaultNetworkAclsArgs{\n\t\t\t\tDefaultAction: pulumi.String(\"Deny\"),\n\t\t\t\tBypass: pulumi.String(\"AzureServices\"),\n\t\t\t\tIpRules: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"10.0.0.0/24\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: *pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: *pulumi.String(frontdoor.ObjectId),\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: *pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: *pulumi.String(current.ObjectId),\n\t\t\t\t\tCertificatePermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"Import\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCertificate, err := keyvault.NewCertificate(ctx, \"exampleCertificate\", \u0026keyvault.CertificateArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tCertificate: \u0026keyvault.CertificateCertificateArgs{\n\t\t\t\tContents: filebase64OrPanic(\"my-certificate.pfx\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFrontdoorProfile, err := cdn.NewFrontdoorProfile(ctx, \"exampleFrontdoorProfile\", \u0026cdn.FrontdoorProfileArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSkuName: pulumi.String(\"Standard_AzureFrontDoor\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cdn.NewFrontdoorSecret(ctx, \"exampleFrontdoorSecret\", \u0026cdn.FrontdoorSecretArgs{\n\t\t\tCdnFrontdoorProfileId: exampleFrontdoorProfile.ID(),\n\t\t\tSecret: \u0026cdn.FrontdoorSecretSecretArgs{\n\t\t\t\tCustomerCertificates: cdn.FrontdoorSecretSecretCustomerCertificateArray{\n\t\t\t\t\t\u0026cdn.FrontdoorSecretSecretCustomerCertificateArgs{\n\t\t\t\t\t\tKeyVaultCertificateId: exampleCertificate.ID(),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azuread.AzureadFunctions;\nimport com.pulumi.azuread.inputs.GetServicePrincipalArgs;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultNetworkAclsArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Certificate;\nimport com.pulumi.azure.keyvault.CertificateArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificateArgs;\nimport com.pulumi.azure.cdn.FrontdoorProfile;\nimport com.pulumi.azure.cdn.FrontdoorProfileArgs;\nimport com.pulumi.azure.cdn.FrontdoorSecret;\nimport com.pulumi.azure.cdn.FrontdoorSecretArgs;\nimport com.pulumi.azure.cdn.inputs.FrontdoorSecretSecretArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = CoreFunctions.getClientConfig();\n\n final var frontdoor = AzureadFunctions.getServicePrincipal(GetServicePrincipalArgs.builder()\n .displayName(\"Microsoft.Azure.Cdn\")\n .build());\n\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder() \n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .skuName(\"premium\")\n .softDeleteRetentionDays(7)\n .networkAcls(KeyVaultNetworkAclsArgs.builder()\n .defaultAction(\"Deny\")\n .bypass(\"AzureServices\")\n .ipRules(\"10.0.0.0/24\")\n .build())\n .accessPolicies( \n KeyVaultAccessPolicyArgs.builder()\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .objectId(frontdoor.applyValue(getServicePrincipalResult -\u003e getServicePrincipalResult.objectId()))\n .secretPermissions(\"Get\")\n .build(),\n KeyVaultAccessPolicyArgs.builder()\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .objectId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.objectId()))\n .certificatePermissions( \n \"Get\",\n \"Import\",\n \"Delete\",\n \"Purge\")\n .secretPermissions(\"Get\")\n .build())\n .build());\n\n var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder() \n .keyVaultId(exampleKeyVault.id())\n .certificate(CertificateCertificateArgs.builder()\n .contents(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"my-certificate.pfx\"))))\n .build())\n .build());\n\n var exampleFrontdoorProfile = new FrontdoorProfile(\"exampleFrontdoorProfile\", FrontdoorProfileArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .skuName(\"Standard_AzureFrontDoor\")\n .build());\n\n var exampleFrontdoorSecret = new FrontdoorSecret(\"exampleFrontdoorSecret\", FrontdoorSecretArgs.builder() \n .cdnFrontdoorProfileId(exampleFrontdoorProfile.id())\n .secret(FrontdoorSecretSecretArgs.builder()\n .customerCertificates(FrontdoorSecretSecretCustomerCertificateArgs.builder()\n .keyVaultCertificateId(exampleCertificate.id())\n .build())\n .build())\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nFront Door Secrets can be imported using the `resource id`, e.g.\n\n```sh\n $ pulumi import azure:cdn/frontdoorSecret:FrontdoorSecret example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Cdn/profiles/profile1/secrets/secrets1\n```\n\n ", "properties": { "cdnFrontdoorProfileId": { "type": "string", @@ -182780,7 +182780,7 @@ } }, "azure:iot/certificate:Certificate": { - "description": "Manages an IotHub Certificate.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as fs from \"fs\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleIoTHub = new azure.iot.IoTHub(\"exampleIoTHub\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n sku: {\n name: \"B1\",\n capacity: 1,\n },\n});\nconst exampleCertificate = new azure.iot.Certificate(\"exampleCertificate\", {\n resourceGroupName: exampleResourceGroup.name,\n iothubName: exampleIoTHub.name,\n isVerified: true,\n certificateContent: Buffer.from(fs.readFileSync(\"example.cer\"), 'binary').toString('base64'),\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_io_t_hub = azure.iot.IoTHub(\"exampleIoTHub\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n sku=azure.iot.IoTHubSkuArgs(\n name=\"B1\",\n capacity=1,\n ))\nexample_certificate = azure.iot.Certificate(\"exampleCertificate\",\n resource_group_name=example_resource_group.name,\n iothub_name=example_io_t_hub.name,\n is_verified=True,\n certificate_content=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"example.cer\"))\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\n\tprivate static string ReadFileBase64(string path) {\n\t\treturn Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n\t}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleIoTHub = new Azure.Iot.IoTHub(\"exampleIoTHub\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n Sku = new Azure.Iot.Inputs.IoTHubSkuArgs\n {\n Name = \"B1\",\n Capacity = 1,\n },\n });\n\n var exampleCertificate = new Azure.Iot.Certificate(\"exampleCertificate\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n IothubName = exampleIoTHub.Name,\n IsVerified = true,\n CertificateContent = ReadFileBase64(\"example.cer\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) pulumi.StringPtrInput {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn pulumi.String(base64.StdEncoding.EncodeToString(fileData[:]))\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIoTHub, err := iot.NewIoTHub(ctx, \"exampleIoTHub\", \u0026iot.IoTHubArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tSku: \u0026iot.IoTHubSkuArgs{\n\t\t\t\tName: pulumi.String(\"B1\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewCertificate(ctx, \"exampleCertificate\", \u0026iot.CertificateArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tIothubName: exampleIoTHub.Name,\n\t\t\tIsVerified: pulumi.Bool(true),\n\t\t\tCertificateContent: filebase64OrPanic(\"example.cer\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.iot.IoTHub;\nimport com.pulumi.azure.iot.IoTHubArgs;\nimport com.pulumi.azure.iot.inputs.IoTHubSkuArgs;\nimport com.pulumi.azure.iot.Certificate;\nimport com.pulumi.azure.iot.CertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var exampleIoTHub = new IoTHub(\"exampleIoTHub\", IoTHubArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .location(exampleResourceGroup.location())\n .sku(IoTHubSkuArgs.builder()\n .name(\"B1\")\n .capacity(\"1\")\n .build())\n .build());\n\n var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .iothubName(exampleIoTHub.name())\n .isVerified(true)\n .certificateContent(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"example.cer\"))))\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIoTHub Certificates can be imported using the `resource id`, e.g.\n\n```sh\n $ pulumi import azure:iot/certificate:Certificate example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Devices/iotHubs/example/certificates/example\n```\n\n ", + "description": "Manages an IotHub Certificate.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as fs from \"fs\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleIoTHub = new azure.iot.IoTHub(\"exampleIoTHub\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n sku: {\n name: \"B1\",\n capacity: 1,\n },\n});\nconst exampleCertificate = new azure.iot.Certificate(\"exampleCertificate\", {\n resourceGroupName: exampleResourceGroup.name,\n iothubName: exampleIoTHub.name,\n isVerified: true,\n certificateContent: Buffer.from(fs.readFileSync(\"example.cer\", 'binary')).toString('base64'),\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_io_t_hub = azure.iot.IoTHub(\"exampleIoTHub\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n sku=azure.iot.IoTHubSkuArgs(\n name=\"B1\",\n capacity=1,\n ))\nexample_certificate = azure.iot.Certificate(\"exampleCertificate\",\n resource_group_name=example_resource_group.name,\n iothub_name=example_io_t_hub.name,\n is_verified=True,\n certificate_content=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"example.cer\"))\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\n\t\nstring ReadFileBase64(string path) \n{\n return Convert.ToBase64String(Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleIoTHub = new Azure.Iot.IoTHub(\"exampleIoTHub\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n Sku = new Azure.Iot.Inputs.IoTHubSkuArgs\n {\n Name = \"B1\",\n Capacity = 1,\n },\n });\n\n var exampleCertificate = new Azure.Iot.Certificate(\"exampleCertificate\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n IothubName = exampleIoTHub.Name,\n IsVerified = true,\n CertificateContent = ReadFileBase64(\"example.cer\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) string {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn base64.StdEncoding.EncodeToString(fileData[:])\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIoTHub, err := iot.NewIoTHub(ctx, \"exampleIoTHub\", \u0026iot.IoTHubArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tSku: \u0026iot.IoTHubSkuArgs{\n\t\t\t\tName: pulumi.String(\"B1\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewCertificate(ctx, \"exampleCertificate\", \u0026iot.CertificateArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tIothubName: exampleIoTHub.Name,\n\t\t\tIsVerified: pulumi.Bool(true),\n\t\t\tCertificateContent: filebase64OrPanic(\"example.cer\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.iot.IoTHub;\nimport com.pulumi.azure.iot.IoTHubArgs;\nimport com.pulumi.azure.iot.inputs.IoTHubSkuArgs;\nimport com.pulumi.azure.iot.Certificate;\nimport com.pulumi.azure.iot.CertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var exampleIoTHub = new IoTHub(\"exampleIoTHub\", IoTHubArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .location(exampleResourceGroup.location())\n .sku(IoTHubSkuArgs.builder()\n .name(\"B1\")\n .capacity(\"1\")\n .build())\n .build());\n\n var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .iothubName(exampleIoTHub.name())\n .isVerified(true)\n .certificateContent(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"example.cer\"))))\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIoTHub Certificates can be imported using the `resource id`, e.g.\n\n```sh\n $ pulumi import azure:iot/certificate:Certificate example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Devices/iotHubs/example/certificates/example\n```\n\n ", "properties": { "certificateContent": { "type": "string", @@ -184599,7 +184599,7 @@ } }, "azure:iot/iotHubCertificate:IotHubCertificate": { - "description": "Manages an IotHub Device Provisioning Service Certificate.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as fs from \"fs\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleIotHubDps = new azure.iot.IotHubDps(\"exampleIotHubDps\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n sku: {\n name: \"S1\",\n capacity: 1,\n },\n});\nconst exampleIotHubCertificate = new azure.iot.IotHubCertificate(\"exampleIotHubCertificate\", {\n resourceGroupName: exampleResourceGroup.name,\n iotDpsName: exampleIotHubDps.name,\n certificateContent: Buffer.from(fs.readFileSync(\"example.cer\"), 'binary').toString('base64'),\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_iot_hub_dps = azure.iot.IotHubDps(\"exampleIotHubDps\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n sku=azure.iot.IotHubDpsSkuArgs(\n name=\"S1\",\n capacity=1,\n ))\nexample_iot_hub_certificate = azure.iot.IotHubCertificate(\"exampleIotHubCertificate\",\n resource_group_name=example_resource_group.name,\n iot_dps_name=example_iot_hub_dps.name,\n certificate_content=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"example.cer\"))\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\n\tprivate static string ReadFileBase64(string path) {\n\t\treturn Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n\t}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleIotHubDps = new Azure.Iot.IotHubDps(\"exampleIotHubDps\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n Sku = new Azure.Iot.Inputs.IotHubDpsSkuArgs\n {\n Name = \"S1\",\n Capacity = 1,\n },\n });\n\n var exampleIotHubCertificate = new Azure.Iot.IotHubCertificate(\"exampleIotHubCertificate\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n IotDpsName = exampleIotHubDps.Name,\n CertificateContent = ReadFileBase64(\"example.cer\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) pulumi.StringPtrInput {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn pulumi.String(base64.StdEncoding.EncodeToString(fileData[:]))\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIotHubDps, err := iot.NewIotHubDps(ctx, \"exampleIotHubDps\", \u0026iot.IotHubDpsArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tSku: \u0026iot.IotHubDpsSkuArgs{\n\t\t\t\tName: pulumi.String(\"S1\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewIotHubCertificate(ctx, \"exampleIotHubCertificate\", \u0026iot.IotHubCertificateArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tIotDpsName: exampleIotHubDps.Name,\n\t\t\tCertificateContent: filebase64OrPanic(\"example.cer\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.iot.IotHubDps;\nimport com.pulumi.azure.iot.IotHubDpsArgs;\nimport com.pulumi.azure.iot.inputs.IotHubDpsSkuArgs;\nimport com.pulumi.azure.iot.IotHubCertificate;\nimport com.pulumi.azure.iot.IotHubCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var exampleIotHubDps = new IotHubDps(\"exampleIotHubDps\", IotHubDpsArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .location(exampleResourceGroup.location())\n .sku(IotHubDpsSkuArgs.builder()\n .name(\"S1\")\n .capacity(\"1\")\n .build())\n .build());\n\n var exampleIotHubCertificate = new IotHubCertificate(\"exampleIotHubCertificate\", IotHubCertificateArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .iotDpsName(exampleIotHubDps.name())\n .certificateContent(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"example.cer\"))))\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIoTHub Device Provisioning Service Certificates can be imported using the `resource id`, e.g.\n\n```sh\n $ pulumi import azure:iot/iotHubCertificate:IotHubCertificate example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Devices/provisioningServices/example/certificates/example\n```\n\n ", + "description": "Manages an IotHub Device Provisioning Service Certificate.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as fs from \"fs\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleIotHubDps = new azure.iot.IotHubDps(\"exampleIotHubDps\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n sku: {\n name: \"S1\",\n capacity: 1,\n },\n});\nconst exampleIotHubCertificate = new azure.iot.IotHubCertificate(\"exampleIotHubCertificate\", {\n resourceGroupName: exampleResourceGroup.name,\n iotDpsName: exampleIotHubDps.name,\n certificateContent: Buffer.from(fs.readFileSync(\"example.cer\", 'binary')).toString('base64'),\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_iot_hub_dps = azure.iot.IotHubDps(\"exampleIotHubDps\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n sku=azure.iot.IotHubDpsSkuArgs(\n name=\"S1\",\n capacity=1,\n ))\nexample_iot_hub_certificate = azure.iot.IotHubCertificate(\"exampleIotHubCertificate\",\n resource_group_name=example_resource_group.name,\n iot_dps_name=example_iot_hub_dps.name,\n certificate_content=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"example.cer\"))\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\n\t\nstring ReadFileBase64(string path) \n{\n return Convert.ToBase64String(Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleIotHubDps = new Azure.Iot.IotHubDps(\"exampleIotHubDps\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n Sku = new Azure.Iot.Inputs.IotHubDpsSkuArgs\n {\n Name = \"S1\",\n Capacity = 1,\n },\n });\n\n var exampleIotHubCertificate = new Azure.Iot.IotHubCertificate(\"exampleIotHubCertificate\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n IotDpsName = exampleIotHubDps.Name,\n CertificateContent = ReadFileBase64(\"example.cer\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) string {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn base64.StdEncoding.EncodeToString(fileData[:])\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIotHubDps, err := iot.NewIotHubDps(ctx, \"exampleIotHubDps\", \u0026iot.IotHubDpsArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tSku: \u0026iot.IotHubDpsSkuArgs{\n\t\t\t\tName: pulumi.String(\"S1\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewIotHubCertificate(ctx, \"exampleIotHubCertificate\", \u0026iot.IotHubCertificateArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tIotDpsName: exampleIotHubDps.Name,\n\t\t\tCertificateContent: filebase64OrPanic(\"example.cer\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.iot.IotHubDps;\nimport com.pulumi.azure.iot.IotHubDpsArgs;\nimport com.pulumi.azure.iot.inputs.IotHubDpsSkuArgs;\nimport com.pulumi.azure.iot.IotHubCertificate;\nimport com.pulumi.azure.iot.IotHubCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var exampleIotHubDps = new IotHubDps(\"exampleIotHubDps\", IotHubDpsArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .location(exampleResourceGroup.location())\n .sku(IotHubDpsSkuArgs.builder()\n .name(\"S1\")\n .capacity(\"1\")\n .build())\n .build());\n\n var exampleIotHubCertificate = new IotHubCertificate(\"exampleIotHubCertificate\", IotHubCertificateArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .iotDpsName(exampleIotHubDps.name())\n .certificateContent(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"example.cer\"))))\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIoTHub Device Provisioning Service Certificates can be imported using the `resource id`, e.g.\n\n```sh\n $ pulumi import azure:iot/iotHubCertificate:IotHubCertificate example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Devices/provisioningServices/example/certificates/example\n```\n\n ", "properties": { "certificateContent": { "type": "string", @@ -187041,7 +187041,7 @@ } }, "azure:keyvault/certifiate:Certifiate": { - "description": "Manages a Key Vault Certificate.\n\n\u003c\u003c\u003c\u003c\u003c\u003c\u003c HEAD\n\u003e **Note:** The Azure Provider includes a Feature Toggle which will purge a Key Vault Certificate resource on destroy, rather than the default soft-delete. See `purge_soft_deleted_certificates_on_destroy` for more information. \n\n=======\n\u003e\u003e\u003e\u003e\u003e\u003e\u003e 8d78c87098 (Update-documentation)\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Importing A PFX)\n\n\u003e **Note:** this example assumed the PFX file is located in the same directory at `certificate-to-import.pfx`.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as fs from \"fs\";\n\nconst current = azure.core.getClientConfig({});\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"exampleKeyVault\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n tenantId: current.then(current =\u003e current.tenantId),\n skuName: \"premium\",\n accessPolicies: [{\n tenantId: current.then(current =\u003e current.tenantId),\n objectId: current.then(current =\u003e current.objectId),\n certificatePermissions: [\n \"Create\",\n \"Delete\",\n \"DeleteIssuers\",\n \"Get\",\n \"GetIssuers\",\n \"Import\",\n \"List\",\n \"ListIssuers\",\n \"ManageContacts\",\n \"ManageIssuers\",\n \"SetIssuers\",\n \"Update\",\n ],\n keyPermissions: [\n \"Backup\",\n \"Create\",\n \"Decrypt\",\n \"Delete\",\n \"Encrypt\",\n \"Get\",\n \"Import\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Sign\",\n \"UnwrapKey\",\n \"Update\",\n \"Verify\",\n \"WrapKey\",\n ],\n secretPermissions: [\n \"Backup\",\n \"Delete\",\n \"Get\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Set\",\n ],\n }],\n});\nconst exampleCertificate = new azure.keyvault.Certificate(\"exampleCertificate\", {\n keyVaultId: exampleKeyVault.id,\n certificate: {\n contents: Buffer.from(fs.readFileSync(\"certificate-to-import.pfx\"), 'binary').toString('base64'),\n password: \"\",\n },\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_key_vault = azure.keyvault.KeyVault(\"exampleKeyVault\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n tenant_id=current.tenant_id,\n sku_name=\"premium\",\n access_policies=[azure.keyvault.KeyVaultAccessPolicyArgs(\n tenant_id=current.tenant_id,\n object_id=current.object_id,\n certificate_permissions=[\n \"Create\",\n \"Delete\",\n \"DeleteIssuers\",\n \"Get\",\n \"GetIssuers\",\n \"Import\",\n \"List\",\n \"ListIssuers\",\n \"ManageContacts\",\n \"ManageIssuers\",\n \"SetIssuers\",\n \"Update\",\n ],\n key_permissions=[\n \"Backup\",\n \"Create\",\n \"Decrypt\",\n \"Delete\",\n \"Encrypt\",\n \"Get\",\n \"Import\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Sign\",\n \"UnwrapKey\",\n \"Update\",\n \"Verify\",\n \"WrapKey\",\n ],\n secret_permissions=[\n \"Backup\",\n \"Delete\",\n \"Get\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Set\",\n ],\n )])\nexample_certificate = azure.keyvault.Certificate(\"exampleCertificate\",\n key_vault_id=example_key_vault.id,\n certificate=azure.keyvault.CertificateCertificateArgs(\n contents=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"certificate-to-import.pfx\"),\n password=\"\",\n ))\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\n\tprivate static string ReadFileBase64(string path) {\n\t\treturn Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n\t}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Azure.Core.GetClientConfig.Invoke();\n\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleKeyVault = new Azure.KeyVault.KeyVault(\"exampleKeyVault\", new()\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n SkuName = \"premium\",\n AccessPolicies = new[]\n {\n new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n {\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n CertificatePermissions = new[]\n {\n \"Create\",\n \"Delete\",\n \"DeleteIssuers\",\n \"Get\",\n \"GetIssuers\",\n \"Import\",\n \"List\",\n \"ListIssuers\",\n \"ManageContacts\",\n \"ManageIssuers\",\n \"SetIssuers\",\n \"Update\",\n },\n KeyPermissions = new[]\n {\n \"Backup\",\n \"Create\",\n \"Decrypt\",\n \"Delete\",\n \"Encrypt\",\n \"Get\",\n \"Import\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Sign\",\n \"UnwrapKey\",\n \"Update\",\n \"Verify\",\n \"WrapKey\",\n },\n SecretPermissions = new[]\n {\n \"Backup\",\n \"Delete\",\n \"Get\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Set\",\n },\n },\n },\n });\n\n var exampleCertificate = new Azure.KeyVault.Certificate(\"exampleCertificate\", new()\n {\n KeyVaultId = exampleKeyVault.Id,\n KeyVaultCertificate = new Azure.KeyVault.Inputs.CertificateCertificateArgs\n {\n Contents = ReadFileBase64(\"certificate-to-import.pfx\"),\n Password = \"\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) pulumi.StringPtrInput {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn pulumi.String(base64.StdEncoding.EncodeToString(fileData[:]))\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"exampleKeyVault\", \u0026keyvault.KeyVaultArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tTenantId: *pulumi.String(current.TenantId),\n\t\t\tSkuName: pulumi.String(\"premium\"),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: *pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: *pulumi.String(current.ObjectId),\n\t\t\t\t\tCertificatePermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"DeleteIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"GetIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Import\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"ListIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"ManageContacts\"),\n\t\t\t\t\t\tpulumi.String(\"ManageIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"SetIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\t\t},\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Backup\"),\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Decrypt\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Encrypt\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"Import\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\t\t\tpulumi.String(\"Restore\"),\n\t\t\t\t\t\tpulumi.String(\"Sign\"),\n\t\t\t\t\t\tpulumi.String(\"UnwrapKey\"),\n\t\t\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\t\t\tpulumi.String(\"Verify\"),\n\t\t\t\t\t\tpulumi.String(\"WrapKey\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Backup\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\t\t\tpulumi.String(\"Restore\"),\n\t\t\t\t\t\tpulumi.String(\"Set\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = keyvault.NewCertificate(ctx, \"exampleCertificate\", \u0026keyvault.CertificateArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tCertificate: \u0026keyvault.CertificateCertificateArgs{\n\t\t\t\tContents: filebase64OrPanic(\"certificate-to-import.pfx\"),\n\t\t\t\tPassword: pulumi.String(\"\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Certificate;\nimport com.pulumi.azure.keyvault.CertificateArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = CoreFunctions.getClientConfig();\n\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder() \n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .skuName(\"premium\")\n .accessPolicies(KeyVaultAccessPolicyArgs.builder()\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .objectId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.objectId()))\n .certificatePermissions( \n \"Create\",\n \"Delete\",\n \"DeleteIssuers\",\n \"Get\",\n \"GetIssuers\",\n \"Import\",\n \"List\",\n \"ListIssuers\",\n \"ManageContacts\",\n \"ManageIssuers\",\n \"SetIssuers\",\n \"Update\")\n .keyPermissions( \n \"Backup\",\n \"Create\",\n \"Decrypt\",\n \"Delete\",\n \"Encrypt\",\n \"Get\",\n \"Import\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Sign\",\n \"UnwrapKey\",\n \"Update\",\n \"Verify\",\n \"WrapKey\")\n .secretPermissions( \n \"Backup\",\n \"Delete\",\n \"Get\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Set\")\n .build())\n .build());\n\n var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder() \n .keyVaultId(exampleKeyVault.id())\n .certificate(CertificateCertificateArgs.builder()\n .contents(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"certificate-to-import.pfx\"))))\n .password(\"\")\n .build())\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% example %}}\n### Generating a new certificate\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"exampleKeyVault\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n tenantId: current.then(current =\u003e current.tenantId),\n skuName: \"standard\",\n softDeleteRetentionDays: 7,\n accessPolicies: [{\n tenantId: current.then(current =\u003e current.tenantId),\n objectId: current.then(current =\u003e current.objectId),\n certificatePermissions: [\n \"Create\",\n \"Delete\",\n \"DeleteIssuers\",\n \"Get\",\n \"GetIssuers\",\n \"Import\",\n \"List\",\n \"ListIssuers\",\n \"ManageContacts\",\n \"ManageIssuers\",\n \"Purge\",\n \"SetIssuers\",\n \"Update\",\n ],\n keyPermissions: [\n \"Backup\",\n \"Create\",\n \"Decrypt\",\n \"Delete\",\n \"Encrypt\",\n \"Get\",\n \"Import\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Sign\",\n \"UnwrapKey\",\n \"Update\",\n \"Verify\",\n \"WrapKey\",\n ],\n secretPermissions: [\n \"Backup\",\n \"Delete\",\n \"Get\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Set\",\n ],\n }],\n});\nconst exampleCertificate = new azure.keyvault.Certificate(\"exampleCertificate\", {\n keyVaultId: exampleKeyVault.id,\n certificatePolicy: {\n issuerParameters: {\n name: \"Self\",\n },\n keyProperties: {\n exportable: true,\n keySize: 2048,\n keyType: \"RSA\",\n reuseKey: true,\n },\n lifetimeActions: [{\n action: {\n actionType: \"AutoRenew\",\n },\n trigger: {\n daysBeforeExpiry: 30,\n },\n }],\n secretProperties: {\n contentType: \"application/x-pkcs12\",\n },\n x509CertificateProperties: {\n extendedKeyUsages: [\"1.3.6.1.5.5.7.3.1\"],\n keyUsages: [\n \"cRLSign\",\n \"dataEncipherment\",\n \"digitalSignature\",\n \"keyAgreement\",\n \"keyCertSign\",\n \"keyEncipherment\",\n ],\n subjectAlternativeNames: {\n dnsNames: [\n \"internal.contoso.com\",\n \"domain.hello.world\",\n ],\n },\n subject: \"CN=hello-world\",\n validityInMonths: 12,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_key_vault = azure.keyvault.KeyVault(\"exampleKeyVault\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n tenant_id=current.tenant_id,\n sku_name=\"standard\",\n soft_delete_retention_days=7,\n access_policies=[azure.keyvault.KeyVaultAccessPolicyArgs(\n tenant_id=current.tenant_id,\n object_id=current.object_id,\n certificate_permissions=[\n \"Create\",\n \"Delete\",\n \"DeleteIssuers\",\n \"Get\",\n \"GetIssuers\",\n \"Import\",\n \"List\",\n \"ListIssuers\",\n \"ManageContacts\",\n \"ManageIssuers\",\n \"Purge\",\n \"SetIssuers\",\n \"Update\",\n ],\n key_permissions=[\n \"Backup\",\n \"Create\",\n \"Decrypt\",\n \"Delete\",\n \"Encrypt\",\n \"Get\",\n \"Import\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Sign\",\n \"UnwrapKey\",\n \"Update\",\n \"Verify\",\n \"WrapKey\",\n ],\n secret_permissions=[\n \"Backup\",\n \"Delete\",\n \"Get\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Set\",\n ],\n )])\nexample_certificate = azure.keyvault.Certificate(\"exampleCertificate\",\n key_vault_id=example_key_vault.id,\n certificate_policy=azure.keyvault.CertificateCertificatePolicyArgs(\n issuer_parameters=azure.keyvault.CertificateCertificatePolicyIssuerParametersArgs(\n name=\"Self\",\n ),\n key_properties=azure.keyvault.CertificateCertificatePolicyKeyPropertiesArgs(\n exportable=True,\n key_size=2048,\n key_type=\"RSA\",\n reuse_key=True,\n ),\n lifetime_actions=[azure.keyvault.CertificateCertificatePolicyLifetimeActionArgs(\n action=azure.keyvault.CertificateCertificatePolicyLifetimeActionActionArgs(\n action_type=\"AutoRenew\",\n ),\n trigger=azure.keyvault.CertificateCertificatePolicyLifetimeActionTriggerArgs(\n days_before_expiry=30,\n ),\n )],\n secret_properties=azure.keyvault.CertificateCertificatePolicySecretPropertiesArgs(\n content_type=\"application/x-pkcs12\",\n ),\n x509_certificate_properties=azure.keyvault.CertificateCertificatePolicyX509CertificatePropertiesArgs(\n extended_key_usages=[\"1.3.6.1.5.5.7.3.1\"],\n key_usages=[\n \"cRLSign\",\n \"dataEncipherment\",\n \"digitalSignature\",\n \"keyAgreement\",\n \"keyCertSign\",\n \"keyEncipherment\",\n ],\n subject_alternative_names=azure.keyvault.CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNamesArgs(\n dns_names=[\n \"internal.contoso.com\",\n \"domain.hello.world\",\n ],\n ),\n subject=\"CN=hello-world\",\n validity_in_months=12,\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Azure.Core.GetClientConfig.Invoke();\n\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleKeyVault = new Azure.KeyVault.KeyVault(\"exampleKeyVault\", new()\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n SkuName = \"standard\",\n SoftDeleteRetentionDays = 7,\n AccessPolicies = new[]\n {\n new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n {\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n CertificatePermissions = new[]\n {\n \"Create\",\n \"Delete\",\n \"DeleteIssuers\",\n \"Get\",\n \"GetIssuers\",\n \"Import\",\n \"List\",\n \"ListIssuers\",\n \"ManageContacts\",\n \"ManageIssuers\",\n \"Purge\",\n \"SetIssuers\",\n \"Update\",\n },\n KeyPermissions = new[]\n {\n \"Backup\",\n \"Create\",\n \"Decrypt\",\n \"Delete\",\n \"Encrypt\",\n \"Get\",\n \"Import\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Sign\",\n \"UnwrapKey\",\n \"Update\",\n \"Verify\",\n \"WrapKey\",\n },\n SecretPermissions = new[]\n {\n \"Backup\",\n \"Delete\",\n \"Get\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Set\",\n },\n },\n },\n });\n\n var exampleCertificate = new Azure.KeyVault.Certificate(\"exampleCertificate\", new()\n {\n KeyVaultId = exampleKeyVault.Id,\n CertificatePolicy = new Azure.KeyVault.Inputs.CertificateCertificatePolicyArgs\n {\n IssuerParameters = new Azure.KeyVault.Inputs.CertificateCertificatePolicyIssuerParametersArgs\n {\n Name = \"Self\",\n },\n KeyProperties = new Azure.KeyVault.Inputs.CertificateCertificatePolicyKeyPropertiesArgs\n {\n Exportable = true,\n KeySize = 2048,\n KeyType = \"RSA\",\n ReuseKey = true,\n },\n LifetimeActions = new[]\n {\n new Azure.KeyVault.Inputs.CertificateCertificatePolicyLifetimeActionArgs\n {\n Action = new Azure.KeyVault.Inputs.CertificateCertificatePolicyLifetimeActionActionArgs\n {\n ActionType = \"AutoRenew\",\n },\n Trigger = new Azure.KeyVault.Inputs.CertificateCertificatePolicyLifetimeActionTriggerArgs\n {\n DaysBeforeExpiry = 30,\n },\n },\n },\n SecretProperties = new Azure.KeyVault.Inputs.CertificateCertificatePolicySecretPropertiesArgs\n {\n ContentType = \"application/x-pkcs12\",\n },\n X509CertificateProperties = new Azure.KeyVault.Inputs.CertificateCertificatePolicyX509CertificatePropertiesArgs\n {\n ExtendedKeyUsages = new[]\n {\n \"1.3.6.1.5.5.7.3.1\",\n },\n KeyUsages = new[]\n {\n \"cRLSign\",\n \"dataEncipherment\",\n \"digitalSignature\",\n \"keyAgreement\",\n \"keyCertSign\",\n \"keyEncipherment\",\n },\n SubjectAlternativeNames = new Azure.KeyVault.Inputs.CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNamesArgs\n {\n DnsNames = new[]\n {\n \"internal.contoso.com\",\n \"domain.hello.world\",\n },\n },\n Subject = \"CN=hello-world\",\n ValidityInMonths = 12,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"exampleKeyVault\", \u0026keyvault.KeyVaultArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tTenantId: *pulumi.String(current.TenantId),\n\t\t\tSkuName: pulumi.String(\"standard\"),\n\t\t\tSoftDeleteRetentionDays: pulumi.Int(7),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: *pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: *pulumi.String(current.ObjectId),\n\t\t\t\t\tCertificatePermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"DeleteIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"GetIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Import\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"ListIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"ManageContacts\"),\n\t\t\t\t\t\tpulumi.String(\"ManageIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"SetIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\t\t},\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Backup\"),\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Decrypt\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Encrypt\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"Import\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\t\t\tpulumi.String(\"Restore\"),\n\t\t\t\t\t\tpulumi.String(\"Sign\"),\n\t\t\t\t\t\tpulumi.String(\"UnwrapKey\"),\n\t\t\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\t\t\tpulumi.String(\"Verify\"),\n\t\t\t\t\t\tpulumi.String(\"WrapKey\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Backup\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\t\t\tpulumi.String(\"Restore\"),\n\t\t\t\t\t\tpulumi.String(\"Set\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = keyvault.NewCertificate(ctx, \"exampleCertificate\", \u0026keyvault.CertificateArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tCertificatePolicy: \u0026keyvault.CertificateCertificatePolicyArgs{\n\t\t\t\tIssuerParameters: \u0026keyvault.CertificateCertificatePolicyIssuerParametersArgs{\n\t\t\t\t\tName: pulumi.String(\"Self\"),\n\t\t\t\t},\n\t\t\t\tKeyProperties: \u0026keyvault.CertificateCertificatePolicyKeyPropertiesArgs{\n\t\t\t\t\tExportable: pulumi.Bool(true),\n\t\t\t\t\tKeySize: pulumi.Int(2048),\n\t\t\t\t\tKeyType: pulumi.String(\"RSA\"),\n\t\t\t\t\tReuseKey: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tLifetimeActions: keyvault.CertificateCertificatePolicyLifetimeActionArray{\n\t\t\t\t\t\u0026keyvault.CertificateCertificatePolicyLifetimeActionArgs{\n\t\t\t\t\t\tAction: \u0026keyvault.CertificateCertificatePolicyLifetimeActionActionArgs{\n\t\t\t\t\t\t\tActionType: pulumi.String(\"AutoRenew\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTrigger: \u0026keyvault.CertificateCertificatePolicyLifetimeActionTriggerArgs{\n\t\t\t\t\t\t\tDaysBeforeExpiry: pulumi.Int(30),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSecretProperties: \u0026keyvault.CertificateCertificatePolicySecretPropertiesArgs{\n\t\t\t\t\tContentType: pulumi.String(\"application/x-pkcs12\"),\n\t\t\t\t},\n\t\t\t\tX509CertificateProperties: \u0026keyvault.CertificateCertificatePolicyX509CertificatePropertiesArgs{\n\t\t\t\t\tExtendedKeyUsages: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"1.3.6.1.5.5.7.3.1\"),\n\t\t\t\t\t},\n\t\t\t\t\tKeyUsages: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"cRLSign\"),\n\t\t\t\t\t\tpulumi.String(\"dataEncipherment\"),\n\t\t\t\t\t\tpulumi.String(\"digitalSignature\"),\n\t\t\t\t\t\tpulumi.String(\"keyAgreement\"),\n\t\t\t\t\t\tpulumi.String(\"keyCertSign\"),\n\t\t\t\t\t\tpulumi.String(\"keyEncipherment\"),\n\t\t\t\t\t},\n\t\t\t\t\tSubjectAlternativeNames: \u0026keyvault.CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNamesArgs{\n\t\t\t\t\t\tDnsNames: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"internal.contoso.com\"),\n\t\t\t\t\t\t\tpulumi.String(\"domain.hello.world\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tSubject: pulumi.String(\"CN=hello-world\"),\n\t\t\t\t\tValidityInMonths: pulumi.Int(12),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Certificate;\nimport com.pulumi.azure.keyvault.CertificateArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyIssuerParametersArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyKeyPropertiesArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicySecretPropertiesArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyX509CertificatePropertiesArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNamesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = CoreFunctions.getClientConfig();\n\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder() \n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .skuName(\"standard\")\n .softDeleteRetentionDays(7)\n .accessPolicies(KeyVaultAccessPolicyArgs.builder()\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .objectId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.objectId()))\n .certificatePermissions( \n \"Create\",\n \"Delete\",\n \"DeleteIssuers\",\n \"Get\",\n \"GetIssuers\",\n \"Import\",\n \"List\",\n \"ListIssuers\",\n \"ManageContacts\",\n \"ManageIssuers\",\n \"Purge\",\n \"SetIssuers\",\n \"Update\")\n .keyPermissions( \n \"Backup\",\n \"Create\",\n \"Decrypt\",\n \"Delete\",\n \"Encrypt\",\n \"Get\",\n \"Import\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Sign\",\n \"UnwrapKey\",\n \"Update\",\n \"Verify\",\n \"WrapKey\")\n .secretPermissions( \n \"Backup\",\n \"Delete\",\n \"Get\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Set\")\n .build())\n .build());\n\n var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder() \n .keyVaultId(exampleKeyVault.id())\n .certificatePolicy(CertificateCertificatePolicyArgs.builder()\n .issuerParameters(CertificateCertificatePolicyIssuerParametersArgs.builder()\n .name(\"Self\")\n .build())\n .keyProperties(CertificateCertificatePolicyKeyPropertiesArgs.builder()\n .exportable(true)\n .keySize(2048)\n .keyType(\"RSA\")\n .reuseKey(true)\n .build())\n .lifetimeActions(CertificateCertificatePolicyLifetimeActionArgs.builder()\n .action(CertificateCertificatePolicyLifetimeActionActionArgs.builder()\n .actionType(\"AutoRenew\")\n .build())\n .trigger(CertificateCertificatePolicyLifetimeActionTriggerArgs.builder()\n .daysBeforeExpiry(30)\n .build())\n .build())\n .secretProperties(CertificateCertificatePolicySecretPropertiesArgs.builder()\n .contentType(\"application/x-pkcs12\")\n .build())\n .x509CertificateProperties(CertificateCertificatePolicyX509CertificatePropertiesArgs.builder()\n .extendedKeyUsages(\"1.3.6.1.5.5.7.3.1\")\n .keyUsages( \n \"cRLSign\",\n \"dataEncipherment\",\n \"digitalSignature\",\n \"keyAgreement\",\n \"keyCertSign\",\n \"keyEncipherment\")\n .subjectAlternativeNames(CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNamesArgs.builder()\n .dnsNames( \n \"internal.contoso.com\",\n \"domain.hello.world\")\n .build())\n .subject(\"CN=hello-world\")\n .validityInMonths(12)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleResourceGroup:\n type: azure:core:ResourceGroup\n properties:\n location: West Europe\n exampleKeyVault:\n type: azure:keyvault:KeyVault\n properties:\n location: ${exampleResourceGroup.location}\n resourceGroupName: ${exampleResourceGroup.name}\n tenantId: ${current.tenantId}\n skuName: standard\n softDeleteRetentionDays: 7\n accessPolicies:\n - tenantId: ${current.tenantId}\n objectId: ${current.objectId}\n certificatePermissions:\n - Create\n - Delete\n - DeleteIssuers\n - Get\n - GetIssuers\n - Import\n - List\n - ListIssuers\n - ManageContacts\n - ManageIssuers\n - Purge\n - SetIssuers\n - Update\n keyPermissions:\n - Backup\n - Create\n - Decrypt\n - Delete\n - Encrypt\n - Get\n - Import\n - List\n - Purge\n - Recover\n - Restore\n - Sign\n - UnwrapKey\n - Update\n - Verify\n - WrapKey\n secretPermissions:\n - Backup\n - Delete\n - Get\n - List\n - Purge\n - Recover\n - Restore\n - Set\n exampleCertificate:\n type: azure:keyvault:Certificate\n properties:\n keyVaultId: ${exampleKeyVault.id}\n certificatePolicy:\n issuerParameters:\n name: Self\n keyProperties:\n exportable: true\n keySize: 2048\n keyType: RSA\n reuseKey: true\n lifetimeActions:\n - action:\n actionType: AutoRenew\n trigger:\n daysBeforeExpiry: 30\n secretProperties:\n contentType: application/x-pkcs12\n x509CertificateProperties:\n extendedKeyUsages:\n - 1.3.6.1.5.5.7.3.1\n keyUsages:\n - cRLSign\n - dataEncipherment\n - digitalSignature\n - keyAgreement\n - keyCertSign\n - keyEncipherment\n subjectAlternativeNames:\n dnsNames:\n - internal.contoso.com\n - domain.hello.world\n subject: CN=hello-world\n validityInMonths: 12\nvariables:\n current:\n fn::invoke:\n Function: azure:core:getClientConfig\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nKey Vault Certificates can be imported using the `resource id`, e.g.\n\n```sh\n $ pulumi import azure:keyvault/certifiate:Certifiate example \"https://example-keyvault.vault.azure.net/certificates/example/fdf067c93bbb4b22bff4d8b7a9a56217\"\n```\n\n ", + "description": "Manages a Key Vault Certificate.\n\n\u003c\u003c\u003c\u003c\u003c\u003c\u003c HEAD\n\u003e **Note:** The Azure Provider includes a Feature Toggle which will purge a Key Vault Certificate resource on destroy, rather than the default soft-delete. See `purge_soft_deleted_certificates_on_destroy` for more information. \n\n=======\n\u003e\u003e\u003e\u003e\u003e\u003e\u003e 8d78c87098 (Update-documentation)\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Importing A PFX)\n\n\u003e **Note:** this example assumed the PFX file is located in the same directory at `certificate-to-import.pfx`.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as fs from \"fs\";\n\nconst current = azure.core.getClientConfig({});\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"exampleKeyVault\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n tenantId: current.then(current =\u003e current.tenantId),\n skuName: \"premium\",\n accessPolicies: [{\n tenantId: current.then(current =\u003e current.tenantId),\n objectId: current.then(current =\u003e current.objectId),\n certificatePermissions: [\n \"Create\",\n \"Delete\",\n \"DeleteIssuers\",\n \"Get\",\n \"GetIssuers\",\n \"Import\",\n \"List\",\n \"ListIssuers\",\n \"ManageContacts\",\n \"ManageIssuers\",\n \"SetIssuers\",\n \"Update\",\n ],\n keyPermissions: [\n \"Backup\",\n \"Create\",\n \"Decrypt\",\n \"Delete\",\n \"Encrypt\",\n \"Get\",\n \"Import\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Sign\",\n \"UnwrapKey\",\n \"Update\",\n \"Verify\",\n \"WrapKey\",\n ],\n secretPermissions: [\n \"Backup\",\n \"Delete\",\n \"Get\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Set\",\n ],\n }],\n});\nconst exampleCertificate = new azure.keyvault.Certificate(\"exampleCertificate\", {\n keyVaultId: exampleKeyVault.id,\n certificate: {\n contents: Buffer.from(fs.readFileSync(\"certificate-to-import.pfx\", 'binary')).toString('base64'),\n password: \"\",\n },\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_key_vault = azure.keyvault.KeyVault(\"exampleKeyVault\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n tenant_id=current.tenant_id,\n sku_name=\"premium\",\n access_policies=[azure.keyvault.KeyVaultAccessPolicyArgs(\n tenant_id=current.tenant_id,\n object_id=current.object_id,\n certificate_permissions=[\n \"Create\",\n \"Delete\",\n \"DeleteIssuers\",\n \"Get\",\n \"GetIssuers\",\n \"Import\",\n \"List\",\n \"ListIssuers\",\n \"ManageContacts\",\n \"ManageIssuers\",\n \"SetIssuers\",\n \"Update\",\n ],\n key_permissions=[\n \"Backup\",\n \"Create\",\n \"Decrypt\",\n \"Delete\",\n \"Encrypt\",\n \"Get\",\n \"Import\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Sign\",\n \"UnwrapKey\",\n \"Update\",\n \"Verify\",\n \"WrapKey\",\n ],\n secret_permissions=[\n \"Backup\",\n \"Delete\",\n \"Get\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Set\",\n ],\n )])\nexample_certificate = azure.keyvault.Certificate(\"exampleCertificate\",\n key_vault_id=example_key_vault.id,\n certificate=azure.keyvault.CertificateCertificateArgs(\n contents=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"certificate-to-import.pfx\"),\n password=\"\",\n ))\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\n\t\nstring ReadFileBase64(string path) \n{\n return Convert.ToBase64String(Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Azure.Core.GetClientConfig.Invoke();\n\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleKeyVault = new Azure.KeyVault.KeyVault(\"exampleKeyVault\", new()\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n SkuName = \"premium\",\n AccessPolicies = new[]\n {\n new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n {\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n CertificatePermissions = new[]\n {\n \"Create\",\n \"Delete\",\n \"DeleteIssuers\",\n \"Get\",\n \"GetIssuers\",\n \"Import\",\n \"List\",\n \"ListIssuers\",\n \"ManageContacts\",\n \"ManageIssuers\",\n \"SetIssuers\",\n \"Update\",\n },\n KeyPermissions = new[]\n {\n \"Backup\",\n \"Create\",\n \"Decrypt\",\n \"Delete\",\n \"Encrypt\",\n \"Get\",\n \"Import\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Sign\",\n \"UnwrapKey\",\n \"Update\",\n \"Verify\",\n \"WrapKey\",\n },\n SecretPermissions = new[]\n {\n \"Backup\",\n \"Delete\",\n \"Get\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Set\",\n },\n },\n },\n });\n\n var exampleCertificate = new Azure.KeyVault.Certificate(\"exampleCertificate\", new()\n {\n KeyVaultId = exampleKeyVault.Id,\n KeyVaultCertificate = new Azure.KeyVault.Inputs.CertificateCertificateArgs\n {\n Contents = ReadFileBase64(\"certificate-to-import.pfx\"),\n Password = \"\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) string {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn base64.StdEncoding.EncodeToString(fileData[:])\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"exampleKeyVault\", \u0026keyvault.KeyVaultArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tTenantId: *pulumi.String(current.TenantId),\n\t\t\tSkuName: pulumi.String(\"premium\"),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: *pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: *pulumi.String(current.ObjectId),\n\t\t\t\t\tCertificatePermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"DeleteIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"GetIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Import\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"ListIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"ManageContacts\"),\n\t\t\t\t\t\tpulumi.String(\"ManageIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"SetIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\t\t},\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Backup\"),\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Decrypt\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Encrypt\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"Import\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\t\t\tpulumi.String(\"Restore\"),\n\t\t\t\t\t\tpulumi.String(\"Sign\"),\n\t\t\t\t\t\tpulumi.String(\"UnwrapKey\"),\n\t\t\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\t\t\tpulumi.String(\"Verify\"),\n\t\t\t\t\t\tpulumi.String(\"WrapKey\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Backup\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\t\t\tpulumi.String(\"Restore\"),\n\t\t\t\t\t\tpulumi.String(\"Set\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = keyvault.NewCertificate(ctx, \"exampleCertificate\", \u0026keyvault.CertificateArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tCertificate: \u0026keyvault.CertificateCertificateArgs{\n\t\t\t\tContents: filebase64OrPanic(\"certificate-to-import.pfx\"),\n\t\t\t\tPassword: pulumi.String(\"\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Certificate;\nimport com.pulumi.azure.keyvault.CertificateArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = CoreFunctions.getClientConfig();\n\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder() \n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .skuName(\"premium\")\n .accessPolicies(KeyVaultAccessPolicyArgs.builder()\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .objectId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.objectId()))\n .certificatePermissions( \n \"Create\",\n \"Delete\",\n \"DeleteIssuers\",\n \"Get\",\n \"GetIssuers\",\n \"Import\",\n \"List\",\n \"ListIssuers\",\n \"ManageContacts\",\n \"ManageIssuers\",\n \"SetIssuers\",\n \"Update\")\n .keyPermissions( \n \"Backup\",\n \"Create\",\n \"Decrypt\",\n \"Delete\",\n \"Encrypt\",\n \"Get\",\n \"Import\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Sign\",\n \"UnwrapKey\",\n \"Update\",\n \"Verify\",\n \"WrapKey\")\n .secretPermissions( \n \"Backup\",\n \"Delete\",\n \"Get\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Set\")\n .build())\n .build());\n\n var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder() \n .keyVaultId(exampleKeyVault.id())\n .certificate(CertificateCertificateArgs.builder()\n .contents(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"certificate-to-import.pfx\"))))\n .password(\"\")\n .build())\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% example %}}\n### Generating a new certificate\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"exampleKeyVault\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n tenantId: current.then(current =\u003e current.tenantId),\n skuName: \"standard\",\n softDeleteRetentionDays: 7,\n accessPolicies: [{\n tenantId: current.then(current =\u003e current.tenantId),\n objectId: current.then(current =\u003e current.objectId),\n certificatePermissions: [\n \"Create\",\n \"Delete\",\n \"DeleteIssuers\",\n \"Get\",\n \"GetIssuers\",\n \"Import\",\n \"List\",\n \"ListIssuers\",\n \"ManageContacts\",\n \"ManageIssuers\",\n \"Purge\",\n \"SetIssuers\",\n \"Update\",\n ],\n keyPermissions: [\n \"Backup\",\n \"Create\",\n \"Decrypt\",\n \"Delete\",\n \"Encrypt\",\n \"Get\",\n \"Import\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Sign\",\n \"UnwrapKey\",\n \"Update\",\n \"Verify\",\n \"WrapKey\",\n ],\n secretPermissions: [\n \"Backup\",\n \"Delete\",\n \"Get\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Set\",\n ],\n }],\n});\nconst exampleCertificate = new azure.keyvault.Certificate(\"exampleCertificate\", {\n keyVaultId: exampleKeyVault.id,\n certificatePolicy: {\n issuerParameters: {\n name: \"Self\",\n },\n keyProperties: {\n exportable: true,\n keySize: 2048,\n keyType: \"RSA\",\n reuseKey: true,\n },\n lifetimeActions: [{\n action: {\n actionType: \"AutoRenew\",\n },\n trigger: {\n daysBeforeExpiry: 30,\n },\n }],\n secretProperties: {\n contentType: \"application/x-pkcs12\",\n },\n x509CertificateProperties: {\n extendedKeyUsages: [\"1.3.6.1.5.5.7.3.1\"],\n keyUsages: [\n \"cRLSign\",\n \"dataEncipherment\",\n \"digitalSignature\",\n \"keyAgreement\",\n \"keyCertSign\",\n \"keyEncipherment\",\n ],\n subjectAlternativeNames: {\n dnsNames: [\n \"internal.contoso.com\",\n \"domain.hello.world\",\n ],\n },\n subject: \"CN=hello-world\",\n validityInMonths: 12,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_key_vault = azure.keyvault.KeyVault(\"exampleKeyVault\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n tenant_id=current.tenant_id,\n sku_name=\"standard\",\n soft_delete_retention_days=7,\n access_policies=[azure.keyvault.KeyVaultAccessPolicyArgs(\n tenant_id=current.tenant_id,\n object_id=current.object_id,\n certificate_permissions=[\n \"Create\",\n \"Delete\",\n \"DeleteIssuers\",\n \"Get\",\n \"GetIssuers\",\n \"Import\",\n \"List\",\n \"ListIssuers\",\n \"ManageContacts\",\n \"ManageIssuers\",\n \"Purge\",\n \"SetIssuers\",\n \"Update\",\n ],\n key_permissions=[\n \"Backup\",\n \"Create\",\n \"Decrypt\",\n \"Delete\",\n \"Encrypt\",\n \"Get\",\n \"Import\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Sign\",\n \"UnwrapKey\",\n \"Update\",\n \"Verify\",\n \"WrapKey\",\n ],\n secret_permissions=[\n \"Backup\",\n \"Delete\",\n \"Get\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Set\",\n ],\n )])\nexample_certificate = azure.keyvault.Certificate(\"exampleCertificate\",\n key_vault_id=example_key_vault.id,\n certificate_policy=azure.keyvault.CertificateCertificatePolicyArgs(\n issuer_parameters=azure.keyvault.CertificateCertificatePolicyIssuerParametersArgs(\n name=\"Self\",\n ),\n key_properties=azure.keyvault.CertificateCertificatePolicyKeyPropertiesArgs(\n exportable=True,\n key_size=2048,\n key_type=\"RSA\",\n reuse_key=True,\n ),\n lifetime_actions=[azure.keyvault.CertificateCertificatePolicyLifetimeActionArgs(\n action=azure.keyvault.CertificateCertificatePolicyLifetimeActionActionArgs(\n action_type=\"AutoRenew\",\n ),\n trigger=azure.keyvault.CertificateCertificatePolicyLifetimeActionTriggerArgs(\n days_before_expiry=30,\n ),\n )],\n secret_properties=azure.keyvault.CertificateCertificatePolicySecretPropertiesArgs(\n content_type=\"application/x-pkcs12\",\n ),\n x509_certificate_properties=azure.keyvault.CertificateCertificatePolicyX509CertificatePropertiesArgs(\n extended_key_usages=[\"1.3.6.1.5.5.7.3.1\"],\n key_usages=[\n \"cRLSign\",\n \"dataEncipherment\",\n \"digitalSignature\",\n \"keyAgreement\",\n \"keyCertSign\",\n \"keyEncipherment\",\n ],\n subject_alternative_names=azure.keyvault.CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNamesArgs(\n dns_names=[\n \"internal.contoso.com\",\n \"domain.hello.world\",\n ],\n ),\n subject=\"CN=hello-world\",\n validity_in_months=12,\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Azure.Core.GetClientConfig.Invoke();\n\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleKeyVault = new Azure.KeyVault.KeyVault(\"exampleKeyVault\", new()\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n SkuName = \"standard\",\n SoftDeleteRetentionDays = 7,\n AccessPolicies = new[]\n {\n new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n {\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n CertificatePermissions = new[]\n {\n \"Create\",\n \"Delete\",\n \"DeleteIssuers\",\n \"Get\",\n \"GetIssuers\",\n \"Import\",\n \"List\",\n \"ListIssuers\",\n \"ManageContacts\",\n \"ManageIssuers\",\n \"Purge\",\n \"SetIssuers\",\n \"Update\",\n },\n KeyPermissions = new[]\n {\n \"Backup\",\n \"Create\",\n \"Decrypt\",\n \"Delete\",\n \"Encrypt\",\n \"Get\",\n \"Import\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Sign\",\n \"UnwrapKey\",\n \"Update\",\n \"Verify\",\n \"WrapKey\",\n },\n SecretPermissions = new[]\n {\n \"Backup\",\n \"Delete\",\n \"Get\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Set\",\n },\n },\n },\n });\n\n var exampleCertificate = new Azure.KeyVault.Certificate(\"exampleCertificate\", new()\n {\n KeyVaultId = exampleKeyVault.Id,\n CertificatePolicy = new Azure.KeyVault.Inputs.CertificateCertificatePolicyArgs\n {\n IssuerParameters = new Azure.KeyVault.Inputs.CertificateCertificatePolicyIssuerParametersArgs\n {\n Name = \"Self\",\n },\n KeyProperties = new Azure.KeyVault.Inputs.CertificateCertificatePolicyKeyPropertiesArgs\n {\n Exportable = true,\n KeySize = 2048,\n KeyType = \"RSA\",\n ReuseKey = true,\n },\n LifetimeActions = new[]\n {\n new Azure.KeyVault.Inputs.CertificateCertificatePolicyLifetimeActionArgs\n {\n Action = new Azure.KeyVault.Inputs.CertificateCertificatePolicyLifetimeActionActionArgs\n {\n ActionType = \"AutoRenew\",\n },\n Trigger = new Azure.KeyVault.Inputs.CertificateCertificatePolicyLifetimeActionTriggerArgs\n {\n DaysBeforeExpiry = 30,\n },\n },\n },\n SecretProperties = new Azure.KeyVault.Inputs.CertificateCertificatePolicySecretPropertiesArgs\n {\n ContentType = \"application/x-pkcs12\",\n },\n X509CertificateProperties = new Azure.KeyVault.Inputs.CertificateCertificatePolicyX509CertificatePropertiesArgs\n {\n ExtendedKeyUsages = new[]\n {\n \"1.3.6.1.5.5.7.3.1\",\n },\n KeyUsages = new[]\n {\n \"cRLSign\",\n \"dataEncipherment\",\n \"digitalSignature\",\n \"keyAgreement\",\n \"keyCertSign\",\n \"keyEncipherment\",\n },\n SubjectAlternativeNames = new Azure.KeyVault.Inputs.CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNamesArgs\n {\n DnsNames = new[]\n {\n \"internal.contoso.com\",\n \"domain.hello.world\",\n },\n },\n Subject = \"CN=hello-world\",\n ValidityInMonths = 12,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"exampleKeyVault\", \u0026keyvault.KeyVaultArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tTenantId: *pulumi.String(current.TenantId),\n\t\t\tSkuName: pulumi.String(\"standard\"),\n\t\t\tSoftDeleteRetentionDays: pulumi.Int(7),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: *pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: *pulumi.String(current.ObjectId),\n\t\t\t\t\tCertificatePermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"DeleteIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"GetIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Import\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"ListIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"ManageContacts\"),\n\t\t\t\t\t\tpulumi.String(\"ManageIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"SetIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\t\t},\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Backup\"),\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Decrypt\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Encrypt\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"Import\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\t\t\tpulumi.String(\"Restore\"),\n\t\t\t\t\t\tpulumi.String(\"Sign\"),\n\t\t\t\t\t\tpulumi.String(\"UnwrapKey\"),\n\t\t\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\t\t\tpulumi.String(\"Verify\"),\n\t\t\t\t\t\tpulumi.String(\"WrapKey\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Backup\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\t\t\tpulumi.String(\"Restore\"),\n\t\t\t\t\t\tpulumi.String(\"Set\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = keyvault.NewCertificate(ctx, \"exampleCertificate\", \u0026keyvault.CertificateArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tCertificatePolicy: \u0026keyvault.CertificateCertificatePolicyArgs{\n\t\t\t\tIssuerParameters: \u0026keyvault.CertificateCertificatePolicyIssuerParametersArgs{\n\t\t\t\t\tName: pulumi.String(\"Self\"),\n\t\t\t\t},\n\t\t\t\tKeyProperties: \u0026keyvault.CertificateCertificatePolicyKeyPropertiesArgs{\n\t\t\t\t\tExportable: pulumi.Bool(true),\n\t\t\t\t\tKeySize: pulumi.Int(2048),\n\t\t\t\t\tKeyType: pulumi.String(\"RSA\"),\n\t\t\t\t\tReuseKey: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tLifetimeActions: keyvault.CertificateCertificatePolicyLifetimeActionArray{\n\t\t\t\t\t\u0026keyvault.CertificateCertificatePolicyLifetimeActionArgs{\n\t\t\t\t\t\tAction: \u0026keyvault.CertificateCertificatePolicyLifetimeActionActionArgs{\n\t\t\t\t\t\t\tActionType: pulumi.String(\"AutoRenew\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTrigger: \u0026keyvault.CertificateCertificatePolicyLifetimeActionTriggerArgs{\n\t\t\t\t\t\t\tDaysBeforeExpiry: pulumi.Int(30),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSecretProperties: \u0026keyvault.CertificateCertificatePolicySecretPropertiesArgs{\n\t\t\t\t\tContentType: pulumi.String(\"application/x-pkcs12\"),\n\t\t\t\t},\n\t\t\t\tX509CertificateProperties: \u0026keyvault.CertificateCertificatePolicyX509CertificatePropertiesArgs{\n\t\t\t\t\tExtendedKeyUsages: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"1.3.6.1.5.5.7.3.1\"),\n\t\t\t\t\t},\n\t\t\t\t\tKeyUsages: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"cRLSign\"),\n\t\t\t\t\t\tpulumi.String(\"dataEncipherment\"),\n\t\t\t\t\t\tpulumi.String(\"digitalSignature\"),\n\t\t\t\t\t\tpulumi.String(\"keyAgreement\"),\n\t\t\t\t\t\tpulumi.String(\"keyCertSign\"),\n\t\t\t\t\t\tpulumi.String(\"keyEncipherment\"),\n\t\t\t\t\t},\n\t\t\t\t\tSubjectAlternativeNames: \u0026keyvault.CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNamesArgs{\n\t\t\t\t\t\tDnsNames: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"internal.contoso.com\"),\n\t\t\t\t\t\t\tpulumi.String(\"domain.hello.world\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tSubject: pulumi.String(\"CN=hello-world\"),\n\t\t\t\t\tValidityInMonths: pulumi.Int(12),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Certificate;\nimport com.pulumi.azure.keyvault.CertificateArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyIssuerParametersArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyKeyPropertiesArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicySecretPropertiesArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyX509CertificatePropertiesArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNamesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = CoreFunctions.getClientConfig();\n\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder() \n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .skuName(\"standard\")\n .softDeleteRetentionDays(7)\n .accessPolicies(KeyVaultAccessPolicyArgs.builder()\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .objectId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.objectId()))\n .certificatePermissions( \n \"Create\",\n \"Delete\",\n \"DeleteIssuers\",\n \"Get\",\n \"GetIssuers\",\n \"Import\",\n \"List\",\n \"ListIssuers\",\n \"ManageContacts\",\n \"ManageIssuers\",\n \"Purge\",\n \"SetIssuers\",\n \"Update\")\n .keyPermissions( \n \"Backup\",\n \"Create\",\n \"Decrypt\",\n \"Delete\",\n \"Encrypt\",\n \"Get\",\n \"Import\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Sign\",\n \"UnwrapKey\",\n \"Update\",\n \"Verify\",\n \"WrapKey\")\n .secretPermissions( \n \"Backup\",\n \"Delete\",\n \"Get\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Set\")\n .build())\n .build());\n\n var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder() \n .keyVaultId(exampleKeyVault.id())\n .certificatePolicy(CertificateCertificatePolicyArgs.builder()\n .issuerParameters(CertificateCertificatePolicyIssuerParametersArgs.builder()\n .name(\"Self\")\n .build())\n .keyProperties(CertificateCertificatePolicyKeyPropertiesArgs.builder()\n .exportable(true)\n .keySize(2048)\n .keyType(\"RSA\")\n .reuseKey(true)\n .build())\n .lifetimeActions(CertificateCertificatePolicyLifetimeActionArgs.builder()\n .action(CertificateCertificatePolicyLifetimeActionActionArgs.builder()\n .actionType(\"AutoRenew\")\n .build())\n .trigger(CertificateCertificatePolicyLifetimeActionTriggerArgs.builder()\n .daysBeforeExpiry(30)\n .build())\n .build())\n .secretProperties(CertificateCertificatePolicySecretPropertiesArgs.builder()\n .contentType(\"application/x-pkcs12\")\n .build())\n .x509CertificateProperties(CertificateCertificatePolicyX509CertificatePropertiesArgs.builder()\n .extendedKeyUsages(\"1.3.6.1.5.5.7.3.1\")\n .keyUsages( \n \"cRLSign\",\n \"dataEncipherment\",\n \"digitalSignature\",\n \"keyAgreement\",\n \"keyCertSign\",\n \"keyEncipherment\")\n .subjectAlternativeNames(CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNamesArgs.builder()\n .dnsNames( \n \"internal.contoso.com\",\n \"domain.hello.world\")\n .build())\n .subject(\"CN=hello-world\")\n .validityInMonths(12)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleResourceGroup:\n type: azure:core:ResourceGroup\n properties:\n location: West Europe\n exampleKeyVault:\n type: azure:keyvault:KeyVault\n properties:\n location: ${exampleResourceGroup.location}\n resourceGroupName: ${exampleResourceGroup.name}\n tenantId: ${current.tenantId}\n skuName: standard\n softDeleteRetentionDays: 7\n accessPolicies:\n - tenantId: ${current.tenantId}\n objectId: ${current.objectId}\n certificatePermissions:\n - Create\n - Delete\n - DeleteIssuers\n - Get\n - GetIssuers\n - Import\n - List\n - ListIssuers\n - ManageContacts\n - ManageIssuers\n - Purge\n - SetIssuers\n - Update\n keyPermissions:\n - Backup\n - Create\n - Decrypt\n - Delete\n - Encrypt\n - Get\n - Import\n - List\n - Purge\n - Recover\n - Restore\n - Sign\n - UnwrapKey\n - Update\n - Verify\n - WrapKey\n secretPermissions:\n - Backup\n - Delete\n - Get\n - List\n - Purge\n - Recover\n - Restore\n - Set\n exampleCertificate:\n type: azure:keyvault:Certificate\n properties:\n keyVaultId: ${exampleKeyVault.id}\n certificatePolicy:\n issuerParameters:\n name: Self\n keyProperties:\n exportable: true\n keySize: 2048\n keyType: RSA\n reuseKey: true\n lifetimeActions:\n - action:\n actionType: AutoRenew\n trigger:\n daysBeforeExpiry: 30\n secretProperties:\n contentType: application/x-pkcs12\n x509CertificateProperties:\n extendedKeyUsages:\n - 1.3.6.1.5.5.7.3.1\n keyUsages:\n - cRLSign\n - dataEncipherment\n - digitalSignature\n - keyAgreement\n - keyCertSign\n - keyEncipherment\n subjectAlternativeNames:\n dnsNames:\n - internal.contoso.com\n - domain.hello.world\n subject: CN=hello-world\n validityInMonths: 12\nvariables:\n current:\n fn::invoke:\n Function: azure:core:getClientConfig\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nKey Vault Certificates can be imported using the `resource id`, e.g.\n\n```sh\n $ pulumi import azure:keyvault/certifiate:Certifiate example \"https://example-keyvault.vault.azure.net/certificates/example/fdf067c93bbb4b22bff4d8b7a9a56217\"\n```\n\n ", "properties": { "certificate": { "$ref": "#/types/azure:keyvault/CertifiateCertificate:CertifiateCertificate", @@ -187247,7 +187247,7 @@ "deprecationMessage": "azure.keyvault.Certifiate has been deprecated in favor of azure.keyvault.Certificate" }, "azure:keyvault/certificate:Certificate": { - "description": "Manages a Key Vault Certificate.\n\n\u003c\u003c\u003c\u003c\u003c\u003c\u003c HEAD\n\u003e **Note:** The Azure Provider includes a Feature Toggle which will purge a Key Vault Certificate resource on destroy, rather than the default soft-delete. See `purge_soft_deleted_certificates_on_destroy` for more information. \n\n=======\n\u003e\u003e\u003e\u003e\u003e\u003e\u003e 8d78c87098 (Update-documentation)\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Importing A PFX)\n\n\u003e **Note:** this example assumed the PFX file is located in the same directory at `certificate-to-import.pfx`.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as fs from \"fs\";\n\nconst current = azure.core.getClientConfig({});\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"exampleKeyVault\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n tenantId: current.then(current =\u003e current.tenantId),\n skuName: \"premium\",\n accessPolicies: [{\n tenantId: current.then(current =\u003e current.tenantId),\n objectId: current.then(current =\u003e current.objectId),\n certificatePermissions: [\n \"Create\",\n \"Delete\",\n \"DeleteIssuers\",\n \"Get\",\n \"GetIssuers\",\n \"Import\",\n \"List\",\n \"ListIssuers\",\n \"ManageContacts\",\n \"ManageIssuers\",\n \"SetIssuers\",\n \"Update\",\n ],\n keyPermissions: [\n \"Backup\",\n \"Create\",\n \"Decrypt\",\n \"Delete\",\n \"Encrypt\",\n \"Get\",\n \"Import\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Sign\",\n \"UnwrapKey\",\n \"Update\",\n \"Verify\",\n \"WrapKey\",\n ],\n secretPermissions: [\n \"Backup\",\n \"Delete\",\n \"Get\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Set\",\n ],\n }],\n});\nconst exampleCertificate = new azure.keyvault.Certificate(\"exampleCertificate\", {\n keyVaultId: exampleKeyVault.id,\n certificate: {\n contents: Buffer.from(fs.readFileSync(\"certificate-to-import.pfx\"), 'binary').toString('base64'),\n password: \"\",\n },\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_key_vault = azure.keyvault.KeyVault(\"exampleKeyVault\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n tenant_id=current.tenant_id,\n sku_name=\"premium\",\n access_policies=[azure.keyvault.KeyVaultAccessPolicyArgs(\n tenant_id=current.tenant_id,\n object_id=current.object_id,\n certificate_permissions=[\n \"Create\",\n \"Delete\",\n \"DeleteIssuers\",\n \"Get\",\n \"GetIssuers\",\n \"Import\",\n \"List\",\n \"ListIssuers\",\n \"ManageContacts\",\n \"ManageIssuers\",\n \"SetIssuers\",\n \"Update\",\n ],\n key_permissions=[\n \"Backup\",\n \"Create\",\n \"Decrypt\",\n \"Delete\",\n \"Encrypt\",\n \"Get\",\n \"Import\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Sign\",\n \"UnwrapKey\",\n \"Update\",\n \"Verify\",\n \"WrapKey\",\n ],\n secret_permissions=[\n \"Backup\",\n \"Delete\",\n \"Get\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Set\",\n ],\n )])\nexample_certificate = azure.keyvault.Certificate(\"exampleCertificate\",\n key_vault_id=example_key_vault.id,\n certificate=azure.keyvault.CertificateCertificateArgs(\n contents=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"certificate-to-import.pfx\"),\n password=\"\",\n ))\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\n\tprivate static string ReadFileBase64(string path) {\n\t\treturn Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n\t}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Azure.Core.GetClientConfig.Invoke();\n\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleKeyVault = new Azure.KeyVault.KeyVault(\"exampleKeyVault\", new()\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n SkuName = \"premium\",\n AccessPolicies = new[]\n {\n new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n {\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n CertificatePermissions = new[]\n {\n \"Create\",\n \"Delete\",\n \"DeleteIssuers\",\n \"Get\",\n \"GetIssuers\",\n \"Import\",\n \"List\",\n \"ListIssuers\",\n \"ManageContacts\",\n \"ManageIssuers\",\n \"SetIssuers\",\n \"Update\",\n },\n KeyPermissions = new[]\n {\n \"Backup\",\n \"Create\",\n \"Decrypt\",\n \"Delete\",\n \"Encrypt\",\n \"Get\",\n \"Import\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Sign\",\n \"UnwrapKey\",\n \"Update\",\n \"Verify\",\n \"WrapKey\",\n },\n SecretPermissions = new[]\n {\n \"Backup\",\n \"Delete\",\n \"Get\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Set\",\n },\n },\n },\n });\n\n var exampleCertificate = new Azure.KeyVault.Certificate(\"exampleCertificate\", new()\n {\n KeyVaultId = exampleKeyVault.Id,\n KeyVaultCertificate = new Azure.KeyVault.Inputs.CertificateCertificateArgs\n {\n Contents = ReadFileBase64(\"certificate-to-import.pfx\"),\n Password = \"\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) pulumi.StringPtrInput {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn pulumi.String(base64.StdEncoding.EncodeToString(fileData[:]))\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"exampleKeyVault\", \u0026keyvault.KeyVaultArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tTenantId: *pulumi.String(current.TenantId),\n\t\t\tSkuName: pulumi.String(\"premium\"),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: *pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: *pulumi.String(current.ObjectId),\n\t\t\t\t\tCertificatePermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"DeleteIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"GetIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Import\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"ListIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"ManageContacts\"),\n\t\t\t\t\t\tpulumi.String(\"ManageIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"SetIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\t\t},\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Backup\"),\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Decrypt\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Encrypt\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"Import\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\t\t\tpulumi.String(\"Restore\"),\n\t\t\t\t\t\tpulumi.String(\"Sign\"),\n\t\t\t\t\t\tpulumi.String(\"UnwrapKey\"),\n\t\t\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\t\t\tpulumi.String(\"Verify\"),\n\t\t\t\t\t\tpulumi.String(\"WrapKey\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Backup\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\t\t\tpulumi.String(\"Restore\"),\n\t\t\t\t\t\tpulumi.String(\"Set\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = keyvault.NewCertificate(ctx, \"exampleCertificate\", \u0026keyvault.CertificateArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tCertificate: \u0026keyvault.CertificateCertificateArgs{\n\t\t\t\tContents: filebase64OrPanic(\"certificate-to-import.pfx\"),\n\t\t\t\tPassword: pulumi.String(\"\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Certificate;\nimport com.pulumi.azure.keyvault.CertificateArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = CoreFunctions.getClientConfig();\n\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder() \n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .skuName(\"premium\")\n .accessPolicies(KeyVaultAccessPolicyArgs.builder()\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .objectId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.objectId()))\n .certificatePermissions( \n \"Create\",\n \"Delete\",\n \"DeleteIssuers\",\n \"Get\",\n \"GetIssuers\",\n \"Import\",\n \"List\",\n \"ListIssuers\",\n \"ManageContacts\",\n \"ManageIssuers\",\n \"SetIssuers\",\n \"Update\")\n .keyPermissions( \n \"Backup\",\n \"Create\",\n \"Decrypt\",\n \"Delete\",\n \"Encrypt\",\n \"Get\",\n \"Import\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Sign\",\n \"UnwrapKey\",\n \"Update\",\n \"Verify\",\n \"WrapKey\")\n .secretPermissions( \n \"Backup\",\n \"Delete\",\n \"Get\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Set\")\n .build())\n .build());\n\n var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder() \n .keyVaultId(exampleKeyVault.id())\n .certificate(CertificateCertificateArgs.builder()\n .contents(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"certificate-to-import.pfx\"))))\n .password(\"\")\n .build())\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% example %}}\n### Generating a new certificate\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"exampleKeyVault\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n tenantId: current.then(current =\u003e current.tenantId),\n skuName: \"standard\",\n softDeleteRetentionDays: 7,\n accessPolicies: [{\n tenantId: current.then(current =\u003e current.tenantId),\n objectId: current.then(current =\u003e current.objectId),\n certificatePermissions: [\n \"Create\",\n \"Delete\",\n \"DeleteIssuers\",\n \"Get\",\n \"GetIssuers\",\n \"Import\",\n \"List\",\n \"ListIssuers\",\n \"ManageContacts\",\n \"ManageIssuers\",\n \"Purge\",\n \"SetIssuers\",\n \"Update\",\n ],\n keyPermissions: [\n \"Backup\",\n \"Create\",\n \"Decrypt\",\n \"Delete\",\n \"Encrypt\",\n \"Get\",\n \"Import\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Sign\",\n \"UnwrapKey\",\n \"Update\",\n \"Verify\",\n \"WrapKey\",\n ],\n secretPermissions: [\n \"Backup\",\n \"Delete\",\n \"Get\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Set\",\n ],\n }],\n});\nconst exampleCertificate = new azure.keyvault.Certificate(\"exampleCertificate\", {\n keyVaultId: exampleKeyVault.id,\n certificatePolicy: {\n issuerParameters: {\n name: \"Self\",\n },\n keyProperties: {\n exportable: true,\n keySize: 2048,\n keyType: \"RSA\",\n reuseKey: true,\n },\n lifetimeActions: [{\n action: {\n actionType: \"AutoRenew\",\n },\n trigger: {\n daysBeforeExpiry: 30,\n },\n }],\n secretProperties: {\n contentType: \"application/x-pkcs12\",\n },\n x509CertificateProperties: {\n extendedKeyUsages: [\"1.3.6.1.5.5.7.3.1\"],\n keyUsages: [\n \"cRLSign\",\n \"dataEncipherment\",\n \"digitalSignature\",\n \"keyAgreement\",\n \"keyCertSign\",\n \"keyEncipherment\",\n ],\n subjectAlternativeNames: {\n dnsNames: [\n \"internal.contoso.com\",\n \"domain.hello.world\",\n ],\n },\n subject: \"CN=hello-world\",\n validityInMonths: 12,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_key_vault = azure.keyvault.KeyVault(\"exampleKeyVault\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n tenant_id=current.tenant_id,\n sku_name=\"standard\",\n soft_delete_retention_days=7,\n access_policies=[azure.keyvault.KeyVaultAccessPolicyArgs(\n tenant_id=current.tenant_id,\n object_id=current.object_id,\n certificate_permissions=[\n \"Create\",\n \"Delete\",\n \"DeleteIssuers\",\n \"Get\",\n \"GetIssuers\",\n \"Import\",\n \"List\",\n \"ListIssuers\",\n \"ManageContacts\",\n \"ManageIssuers\",\n \"Purge\",\n \"SetIssuers\",\n \"Update\",\n ],\n key_permissions=[\n \"Backup\",\n \"Create\",\n \"Decrypt\",\n \"Delete\",\n \"Encrypt\",\n \"Get\",\n \"Import\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Sign\",\n \"UnwrapKey\",\n \"Update\",\n \"Verify\",\n \"WrapKey\",\n ],\n secret_permissions=[\n \"Backup\",\n \"Delete\",\n \"Get\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Set\",\n ],\n )])\nexample_certificate = azure.keyvault.Certificate(\"exampleCertificate\",\n key_vault_id=example_key_vault.id,\n certificate_policy=azure.keyvault.CertificateCertificatePolicyArgs(\n issuer_parameters=azure.keyvault.CertificateCertificatePolicyIssuerParametersArgs(\n name=\"Self\",\n ),\n key_properties=azure.keyvault.CertificateCertificatePolicyKeyPropertiesArgs(\n exportable=True,\n key_size=2048,\n key_type=\"RSA\",\n reuse_key=True,\n ),\n lifetime_actions=[azure.keyvault.CertificateCertificatePolicyLifetimeActionArgs(\n action=azure.keyvault.CertificateCertificatePolicyLifetimeActionActionArgs(\n action_type=\"AutoRenew\",\n ),\n trigger=azure.keyvault.CertificateCertificatePolicyLifetimeActionTriggerArgs(\n days_before_expiry=30,\n ),\n )],\n secret_properties=azure.keyvault.CertificateCertificatePolicySecretPropertiesArgs(\n content_type=\"application/x-pkcs12\",\n ),\n x509_certificate_properties=azure.keyvault.CertificateCertificatePolicyX509CertificatePropertiesArgs(\n extended_key_usages=[\"1.3.6.1.5.5.7.3.1\"],\n key_usages=[\n \"cRLSign\",\n \"dataEncipherment\",\n \"digitalSignature\",\n \"keyAgreement\",\n \"keyCertSign\",\n \"keyEncipherment\",\n ],\n subject_alternative_names=azure.keyvault.CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNamesArgs(\n dns_names=[\n \"internal.contoso.com\",\n \"domain.hello.world\",\n ],\n ),\n subject=\"CN=hello-world\",\n validity_in_months=12,\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Azure.Core.GetClientConfig.Invoke();\n\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleKeyVault = new Azure.KeyVault.KeyVault(\"exampleKeyVault\", new()\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n SkuName = \"standard\",\n SoftDeleteRetentionDays = 7,\n AccessPolicies = new[]\n {\n new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n {\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n CertificatePermissions = new[]\n {\n \"Create\",\n \"Delete\",\n \"DeleteIssuers\",\n \"Get\",\n \"GetIssuers\",\n \"Import\",\n \"List\",\n \"ListIssuers\",\n \"ManageContacts\",\n \"ManageIssuers\",\n \"Purge\",\n \"SetIssuers\",\n \"Update\",\n },\n KeyPermissions = new[]\n {\n \"Backup\",\n \"Create\",\n \"Decrypt\",\n \"Delete\",\n \"Encrypt\",\n \"Get\",\n \"Import\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Sign\",\n \"UnwrapKey\",\n \"Update\",\n \"Verify\",\n \"WrapKey\",\n },\n SecretPermissions = new[]\n {\n \"Backup\",\n \"Delete\",\n \"Get\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Set\",\n },\n },\n },\n });\n\n var exampleCertificate = new Azure.KeyVault.Certificate(\"exampleCertificate\", new()\n {\n KeyVaultId = exampleKeyVault.Id,\n CertificatePolicy = new Azure.KeyVault.Inputs.CertificateCertificatePolicyArgs\n {\n IssuerParameters = new Azure.KeyVault.Inputs.CertificateCertificatePolicyIssuerParametersArgs\n {\n Name = \"Self\",\n },\n KeyProperties = new Azure.KeyVault.Inputs.CertificateCertificatePolicyKeyPropertiesArgs\n {\n Exportable = true,\n KeySize = 2048,\n KeyType = \"RSA\",\n ReuseKey = true,\n },\n LifetimeActions = new[]\n {\n new Azure.KeyVault.Inputs.CertificateCertificatePolicyLifetimeActionArgs\n {\n Action = new Azure.KeyVault.Inputs.CertificateCertificatePolicyLifetimeActionActionArgs\n {\n ActionType = \"AutoRenew\",\n },\n Trigger = new Azure.KeyVault.Inputs.CertificateCertificatePolicyLifetimeActionTriggerArgs\n {\n DaysBeforeExpiry = 30,\n },\n },\n },\n SecretProperties = new Azure.KeyVault.Inputs.CertificateCertificatePolicySecretPropertiesArgs\n {\n ContentType = \"application/x-pkcs12\",\n },\n X509CertificateProperties = new Azure.KeyVault.Inputs.CertificateCertificatePolicyX509CertificatePropertiesArgs\n {\n ExtendedKeyUsages = new[]\n {\n \"1.3.6.1.5.5.7.3.1\",\n },\n KeyUsages = new[]\n {\n \"cRLSign\",\n \"dataEncipherment\",\n \"digitalSignature\",\n \"keyAgreement\",\n \"keyCertSign\",\n \"keyEncipherment\",\n },\n SubjectAlternativeNames = new Azure.KeyVault.Inputs.CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNamesArgs\n {\n DnsNames = new[]\n {\n \"internal.contoso.com\",\n \"domain.hello.world\",\n },\n },\n Subject = \"CN=hello-world\",\n ValidityInMonths = 12,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"exampleKeyVault\", \u0026keyvault.KeyVaultArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tTenantId: *pulumi.String(current.TenantId),\n\t\t\tSkuName: pulumi.String(\"standard\"),\n\t\t\tSoftDeleteRetentionDays: pulumi.Int(7),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: *pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: *pulumi.String(current.ObjectId),\n\t\t\t\t\tCertificatePermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"DeleteIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"GetIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Import\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"ListIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"ManageContacts\"),\n\t\t\t\t\t\tpulumi.String(\"ManageIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"SetIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\t\t},\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Backup\"),\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Decrypt\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Encrypt\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"Import\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\t\t\tpulumi.String(\"Restore\"),\n\t\t\t\t\t\tpulumi.String(\"Sign\"),\n\t\t\t\t\t\tpulumi.String(\"UnwrapKey\"),\n\t\t\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\t\t\tpulumi.String(\"Verify\"),\n\t\t\t\t\t\tpulumi.String(\"WrapKey\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Backup\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\t\t\tpulumi.String(\"Restore\"),\n\t\t\t\t\t\tpulumi.String(\"Set\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = keyvault.NewCertificate(ctx, \"exampleCertificate\", \u0026keyvault.CertificateArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tCertificatePolicy: \u0026keyvault.CertificateCertificatePolicyArgs{\n\t\t\t\tIssuerParameters: \u0026keyvault.CertificateCertificatePolicyIssuerParametersArgs{\n\t\t\t\t\tName: pulumi.String(\"Self\"),\n\t\t\t\t},\n\t\t\t\tKeyProperties: \u0026keyvault.CertificateCertificatePolicyKeyPropertiesArgs{\n\t\t\t\t\tExportable: pulumi.Bool(true),\n\t\t\t\t\tKeySize: pulumi.Int(2048),\n\t\t\t\t\tKeyType: pulumi.String(\"RSA\"),\n\t\t\t\t\tReuseKey: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tLifetimeActions: keyvault.CertificateCertificatePolicyLifetimeActionArray{\n\t\t\t\t\t\u0026keyvault.CertificateCertificatePolicyLifetimeActionArgs{\n\t\t\t\t\t\tAction: \u0026keyvault.CertificateCertificatePolicyLifetimeActionActionArgs{\n\t\t\t\t\t\t\tActionType: pulumi.String(\"AutoRenew\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTrigger: \u0026keyvault.CertificateCertificatePolicyLifetimeActionTriggerArgs{\n\t\t\t\t\t\t\tDaysBeforeExpiry: pulumi.Int(30),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSecretProperties: \u0026keyvault.CertificateCertificatePolicySecretPropertiesArgs{\n\t\t\t\t\tContentType: pulumi.String(\"application/x-pkcs12\"),\n\t\t\t\t},\n\t\t\t\tX509CertificateProperties: \u0026keyvault.CertificateCertificatePolicyX509CertificatePropertiesArgs{\n\t\t\t\t\tExtendedKeyUsages: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"1.3.6.1.5.5.7.3.1\"),\n\t\t\t\t\t},\n\t\t\t\t\tKeyUsages: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"cRLSign\"),\n\t\t\t\t\t\tpulumi.String(\"dataEncipherment\"),\n\t\t\t\t\t\tpulumi.String(\"digitalSignature\"),\n\t\t\t\t\t\tpulumi.String(\"keyAgreement\"),\n\t\t\t\t\t\tpulumi.String(\"keyCertSign\"),\n\t\t\t\t\t\tpulumi.String(\"keyEncipherment\"),\n\t\t\t\t\t},\n\t\t\t\t\tSubjectAlternativeNames: \u0026keyvault.CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNamesArgs{\n\t\t\t\t\t\tDnsNames: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"internal.contoso.com\"),\n\t\t\t\t\t\t\tpulumi.String(\"domain.hello.world\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tSubject: pulumi.String(\"CN=hello-world\"),\n\t\t\t\t\tValidityInMonths: pulumi.Int(12),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Certificate;\nimport com.pulumi.azure.keyvault.CertificateArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyIssuerParametersArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyKeyPropertiesArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicySecretPropertiesArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyX509CertificatePropertiesArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNamesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = CoreFunctions.getClientConfig();\n\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder() \n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .skuName(\"standard\")\n .softDeleteRetentionDays(7)\n .accessPolicies(KeyVaultAccessPolicyArgs.builder()\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .objectId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.objectId()))\n .certificatePermissions( \n \"Create\",\n \"Delete\",\n \"DeleteIssuers\",\n \"Get\",\n \"GetIssuers\",\n \"Import\",\n \"List\",\n \"ListIssuers\",\n \"ManageContacts\",\n \"ManageIssuers\",\n \"Purge\",\n \"SetIssuers\",\n \"Update\")\n .keyPermissions( \n \"Backup\",\n \"Create\",\n \"Decrypt\",\n \"Delete\",\n \"Encrypt\",\n \"Get\",\n \"Import\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Sign\",\n \"UnwrapKey\",\n \"Update\",\n \"Verify\",\n \"WrapKey\")\n .secretPermissions( \n \"Backup\",\n \"Delete\",\n \"Get\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Set\")\n .build())\n .build());\n\n var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder() \n .keyVaultId(exampleKeyVault.id())\n .certificatePolicy(CertificateCertificatePolicyArgs.builder()\n .issuerParameters(CertificateCertificatePolicyIssuerParametersArgs.builder()\n .name(\"Self\")\n .build())\n .keyProperties(CertificateCertificatePolicyKeyPropertiesArgs.builder()\n .exportable(true)\n .keySize(2048)\n .keyType(\"RSA\")\n .reuseKey(true)\n .build())\n .lifetimeActions(CertificateCertificatePolicyLifetimeActionArgs.builder()\n .action(CertificateCertificatePolicyLifetimeActionActionArgs.builder()\n .actionType(\"AutoRenew\")\n .build())\n .trigger(CertificateCertificatePolicyLifetimeActionTriggerArgs.builder()\n .daysBeforeExpiry(30)\n .build())\n .build())\n .secretProperties(CertificateCertificatePolicySecretPropertiesArgs.builder()\n .contentType(\"application/x-pkcs12\")\n .build())\n .x509CertificateProperties(CertificateCertificatePolicyX509CertificatePropertiesArgs.builder()\n .extendedKeyUsages(\"1.3.6.1.5.5.7.3.1\")\n .keyUsages( \n \"cRLSign\",\n \"dataEncipherment\",\n \"digitalSignature\",\n \"keyAgreement\",\n \"keyCertSign\",\n \"keyEncipherment\")\n .subjectAlternativeNames(CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNamesArgs.builder()\n .dnsNames( \n \"internal.contoso.com\",\n \"domain.hello.world\")\n .build())\n .subject(\"CN=hello-world\")\n .validityInMonths(12)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleResourceGroup:\n type: azure:core:ResourceGroup\n properties:\n location: West Europe\n exampleKeyVault:\n type: azure:keyvault:KeyVault\n properties:\n location: ${exampleResourceGroup.location}\n resourceGroupName: ${exampleResourceGroup.name}\n tenantId: ${current.tenantId}\n skuName: standard\n softDeleteRetentionDays: 7\n accessPolicies:\n - tenantId: ${current.tenantId}\n objectId: ${current.objectId}\n certificatePermissions:\n - Create\n - Delete\n - DeleteIssuers\n - Get\n - GetIssuers\n - Import\n - List\n - ListIssuers\n - ManageContacts\n - ManageIssuers\n - Purge\n - SetIssuers\n - Update\n keyPermissions:\n - Backup\n - Create\n - Decrypt\n - Delete\n - Encrypt\n - Get\n - Import\n - List\n - Purge\n - Recover\n - Restore\n - Sign\n - UnwrapKey\n - Update\n - Verify\n - WrapKey\n secretPermissions:\n - Backup\n - Delete\n - Get\n - List\n - Purge\n - Recover\n - Restore\n - Set\n exampleCertificate:\n type: azure:keyvault:Certificate\n properties:\n keyVaultId: ${exampleKeyVault.id}\n certificatePolicy:\n issuerParameters:\n name: Self\n keyProperties:\n exportable: true\n keySize: 2048\n keyType: RSA\n reuseKey: true\n lifetimeActions:\n - action:\n actionType: AutoRenew\n trigger:\n daysBeforeExpiry: 30\n secretProperties:\n contentType: application/x-pkcs12\n x509CertificateProperties:\n extendedKeyUsages:\n - 1.3.6.1.5.5.7.3.1\n keyUsages:\n - cRLSign\n - dataEncipherment\n - digitalSignature\n - keyAgreement\n - keyCertSign\n - keyEncipherment\n subjectAlternativeNames:\n dnsNames:\n - internal.contoso.com\n - domain.hello.world\n subject: CN=hello-world\n validityInMonths: 12\nvariables:\n current:\n fn::invoke:\n Function: azure:core:getClientConfig\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nKey Vault Certificates can be imported using the `resource id`, e.g.\n\n```sh\n $ pulumi import azure:keyvault/certificate:Certificate example \"https://example-keyvault.vault.azure.net/certificates/example/fdf067c93bbb4b22bff4d8b7a9a56217\"\n```\n\n ", + "description": "Manages a Key Vault Certificate.\n\n\u003c\u003c\u003c\u003c\u003c\u003c\u003c HEAD\n\u003e **Note:** The Azure Provider includes a Feature Toggle which will purge a Key Vault Certificate resource on destroy, rather than the default soft-delete. See `purge_soft_deleted_certificates_on_destroy` for more information. \n\n=======\n\u003e\u003e\u003e\u003e\u003e\u003e\u003e 8d78c87098 (Update-documentation)\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Importing A PFX)\n\n\u003e **Note:** this example assumed the PFX file is located in the same directory at `certificate-to-import.pfx`.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as fs from \"fs\";\n\nconst current = azure.core.getClientConfig({});\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"exampleKeyVault\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n tenantId: current.then(current =\u003e current.tenantId),\n skuName: \"premium\",\n accessPolicies: [{\n tenantId: current.then(current =\u003e current.tenantId),\n objectId: current.then(current =\u003e current.objectId),\n certificatePermissions: [\n \"Create\",\n \"Delete\",\n \"DeleteIssuers\",\n \"Get\",\n \"GetIssuers\",\n \"Import\",\n \"List\",\n \"ListIssuers\",\n \"ManageContacts\",\n \"ManageIssuers\",\n \"SetIssuers\",\n \"Update\",\n ],\n keyPermissions: [\n \"Backup\",\n \"Create\",\n \"Decrypt\",\n \"Delete\",\n \"Encrypt\",\n \"Get\",\n \"Import\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Sign\",\n \"UnwrapKey\",\n \"Update\",\n \"Verify\",\n \"WrapKey\",\n ],\n secretPermissions: [\n \"Backup\",\n \"Delete\",\n \"Get\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Set\",\n ],\n }],\n});\nconst exampleCertificate = new azure.keyvault.Certificate(\"exampleCertificate\", {\n keyVaultId: exampleKeyVault.id,\n certificate: {\n contents: Buffer.from(fs.readFileSync(\"certificate-to-import.pfx\", 'binary')).toString('base64'),\n password: \"\",\n },\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_key_vault = azure.keyvault.KeyVault(\"exampleKeyVault\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n tenant_id=current.tenant_id,\n sku_name=\"premium\",\n access_policies=[azure.keyvault.KeyVaultAccessPolicyArgs(\n tenant_id=current.tenant_id,\n object_id=current.object_id,\n certificate_permissions=[\n \"Create\",\n \"Delete\",\n \"DeleteIssuers\",\n \"Get\",\n \"GetIssuers\",\n \"Import\",\n \"List\",\n \"ListIssuers\",\n \"ManageContacts\",\n \"ManageIssuers\",\n \"SetIssuers\",\n \"Update\",\n ],\n key_permissions=[\n \"Backup\",\n \"Create\",\n \"Decrypt\",\n \"Delete\",\n \"Encrypt\",\n \"Get\",\n \"Import\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Sign\",\n \"UnwrapKey\",\n \"Update\",\n \"Verify\",\n \"WrapKey\",\n ],\n secret_permissions=[\n \"Backup\",\n \"Delete\",\n \"Get\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Set\",\n ],\n )])\nexample_certificate = azure.keyvault.Certificate(\"exampleCertificate\",\n key_vault_id=example_key_vault.id,\n certificate=azure.keyvault.CertificateCertificateArgs(\n contents=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"certificate-to-import.pfx\"),\n password=\"\",\n ))\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\n\t\nstring ReadFileBase64(string path) \n{\n return Convert.ToBase64String(Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Azure.Core.GetClientConfig.Invoke();\n\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleKeyVault = new Azure.KeyVault.KeyVault(\"exampleKeyVault\", new()\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n SkuName = \"premium\",\n AccessPolicies = new[]\n {\n new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n {\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n CertificatePermissions = new[]\n {\n \"Create\",\n \"Delete\",\n \"DeleteIssuers\",\n \"Get\",\n \"GetIssuers\",\n \"Import\",\n \"List\",\n \"ListIssuers\",\n \"ManageContacts\",\n \"ManageIssuers\",\n \"SetIssuers\",\n \"Update\",\n },\n KeyPermissions = new[]\n {\n \"Backup\",\n \"Create\",\n \"Decrypt\",\n \"Delete\",\n \"Encrypt\",\n \"Get\",\n \"Import\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Sign\",\n \"UnwrapKey\",\n \"Update\",\n \"Verify\",\n \"WrapKey\",\n },\n SecretPermissions = new[]\n {\n \"Backup\",\n \"Delete\",\n \"Get\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Set\",\n },\n },\n },\n });\n\n var exampleCertificate = new Azure.KeyVault.Certificate(\"exampleCertificate\", new()\n {\n KeyVaultId = exampleKeyVault.Id,\n KeyVaultCertificate = new Azure.KeyVault.Inputs.CertificateCertificateArgs\n {\n Contents = ReadFileBase64(\"certificate-to-import.pfx\"),\n Password = \"\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) string {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn base64.StdEncoding.EncodeToString(fileData[:])\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"exampleKeyVault\", \u0026keyvault.KeyVaultArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tTenantId: *pulumi.String(current.TenantId),\n\t\t\tSkuName: pulumi.String(\"premium\"),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: *pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: *pulumi.String(current.ObjectId),\n\t\t\t\t\tCertificatePermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"DeleteIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"GetIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Import\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"ListIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"ManageContacts\"),\n\t\t\t\t\t\tpulumi.String(\"ManageIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"SetIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\t\t},\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Backup\"),\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Decrypt\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Encrypt\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"Import\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\t\t\tpulumi.String(\"Restore\"),\n\t\t\t\t\t\tpulumi.String(\"Sign\"),\n\t\t\t\t\t\tpulumi.String(\"UnwrapKey\"),\n\t\t\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\t\t\tpulumi.String(\"Verify\"),\n\t\t\t\t\t\tpulumi.String(\"WrapKey\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Backup\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\t\t\tpulumi.String(\"Restore\"),\n\t\t\t\t\t\tpulumi.String(\"Set\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = keyvault.NewCertificate(ctx, \"exampleCertificate\", \u0026keyvault.CertificateArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tCertificate: \u0026keyvault.CertificateCertificateArgs{\n\t\t\t\tContents: filebase64OrPanic(\"certificate-to-import.pfx\"),\n\t\t\t\tPassword: pulumi.String(\"\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Certificate;\nimport com.pulumi.azure.keyvault.CertificateArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = CoreFunctions.getClientConfig();\n\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder() \n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .skuName(\"premium\")\n .accessPolicies(KeyVaultAccessPolicyArgs.builder()\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .objectId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.objectId()))\n .certificatePermissions( \n \"Create\",\n \"Delete\",\n \"DeleteIssuers\",\n \"Get\",\n \"GetIssuers\",\n \"Import\",\n \"List\",\n \"ListIssuers\",\n \"ManageContacts\",\n \"ManageIssuers\",\n \"SetIssuers\",\n \"Update\")\n .keyPermissions( \n \"Backup\",\n \"Create\",\n \"Decrypt\",\n \"Delete\",\n \"Encrypt\",\n \"Get\",\n \"Import\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Sign\",\n \"UnwrapKey\",\n \"Update\",\n \"Verify\",\n \"WrapKey\")\n .secretPermissions( \n \"Backup\",\n \"Delete\",\n \"Get\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Set\")\n .build())\n .build());\n\n var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder() \n .keyVaultId(exampleKeyVault.id())\n .certificate(CertificateCertificateArgs.builder()\n .contents(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"certificate-to-import.pfx\"))))\n .password(\"\")\n .build())\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% example %}}\n### Generating a new certificate\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"exampleKeyVault\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n tenantId: current.then(current =\u003e current.tenantId),\n skuName: \"standard\",\n softDeleteRetentionDays: 7,\n accessPolicies: [{\n tenantId: current.then(current =\u003e current.tenantId),\n objectId: current.then(current =\u003e current.objectId),\n certificatePermissions: [\n \"Create\",\n \"Delete\",\n \"DeleteIssuers\",\n \"Get\",\n \"GetIssuers\",\n \"Import\",\n \"List\",\n \"ListIssuers\",\n \"ManageContacts\",\n \"ManageIssuers\",\n \"Purge\",\n \"SetIssuers\",\n \"Update\",\n ],\n keyPermissions: [\n \"Backup\",\n \"Create\",\n \"Decrypt\",\n \"Delete\",\n \"Encrypt\",\n \"Get\",\n \"Import\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Sign\",\n \"UnwrapKey\",\n \"Update\",\n \"Verify\",\n \"WrapKey\",\n ],\n secretPermissions: [\n \"Backup\",\n \"Delete\",\n \"Get\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Set\",\n ],\n }],\n});\nconst exampleCertificate = new azure.keyvault.Certificate(\"exampleCertificate\", {\n keyVaultId: exampleKeyVault.id,\n certificatePolicy: {\n issuerParameters: {\n name: \"Self\",\n },\n keyProperties: {\n exportable: true,\n keySize: 2048,\n keyType: \"RSA\",\n reuseKey: true,\n },\n lifetimeActions: [{\n action: {\n actionType: \"AutoRenew\",\n },\n trigger: {\n daysBeforeExpiry: 30,\n },\n }],\n secretProperties: {\n contentType: \"application/x-pkcs12\",\n },\n x509CertificateProperties: {\n extendedKeyUsages: [\"1.3.6.1.5.5.7.3.1\"],\n keyUsages: [\n \"cRLSign\",\n \"dataEncipherment\",\n \"digitalSignature\",\n \"keyAgreement\",\n \"keyCertSign\",\n \"keyEncipherment\",\n ],\n subjectAlternativeNames: {\n dnsNames: [\n \"internal.contoso.com\",\n \"domain.hello.world\",\n ],\n },\n subject: \"CN=hello-world\",\n validityInMonths: 12,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_key_vault = azure.keyvault.KeyVault(\"exampleKeyVault\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n tenant_id=current.tenant_id,\n sku_name=\"standard\",\n soft_delete_retention_days=7,\n access_policies=[azure.keyvault.KeyVaultAccessPolicyArgs(\n tenant_id=current.tenant_id,\n object_id=current.object_id,\n certificate_permissions=[\n \"Create\",\n \"Delete\",\n \"DeleteIssuers\",\n \"Get\",\n \"GetIssuers\",\n \"Import\",\n \"List\",\n \"ListIssuers\",\n \"ManageContacts\",\n \"ManageIssuers\",\n \"Purge\",\n \"SetIssuers\",\n \"Update\",\n ],\n key_permissions=[\n \"Backup\",\n \"Create\",\n \"Decrypt\",\n \"Delete\",\n \"Encrypt\",\n \"Get\",\n \"Import\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Sign\",\n \"UnwrapKey\",\n \"Update\",\n \"Verify\",\n \"WrapKey\",\n ],\n secret_permissions=[\n \"Backup\",\n \"Delete\",\n \"Get\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Set\",\n ],\n )])\nexample_certificate = azure.keyvault.Certificate(\"exampleCertificate\",\n key_vault_id=example_key_vault.id,\n certificate_policy=azure.keyvault.CertificateCertificatePolicyArgs(\n issuer_parameters=azure.keyvault.CertificateCertificatePolicyIssuerParametersArgs(\n name=\"Self\",\n ),\n key_properties=azure.keyvault.CertificateCertificatePolicyKeyPropertiesArgs(\n exportable=True,\n key_size=2048,\n key_type=\"RSA\",\n reuse_key=True,\n ),\n lifetime_actions=[azure.keyvault.CertificateCertificatePolicyLifetimeActionArgs(\n action=azure.keyvault.CertificateCertificatePolicyLifetimeActionActionArgs(\n action_type=\"AutoRenew\",\n ),\n trigger=azure.keyvault.CertificateCertificatePolicyLifetimeActionTriggerArgs(\n days_before_expiry=30,\n ),\n )],\n secret_properties=azure.keyvault.CertificateCertificatePolicySecretPropertiesArgs(\n content_type=\"application/x-pkcs12\",\n ),\n x509_certificate_properties=azure.keyvault.CertificateCertificatePolicyX509CertificatePropertiesArgs(\n extended_key_usages=[\"1.3.6.1.5.5.7.3.1\"],\n key_usages=[\n \"cRLSign\",\n \"dataEncipherment\",\n \"digitalSignature\",\n \"keyAgreement\",\n \"keyCertSign\",\n \"keyEncipherment\",\n ],\n subject_alternative_names=azure.keyvault.CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNamesArgs(\n dns_names=[\n \"internal.contoso.com\",\n \"domain.hello.world\",\n ],\n ),\n subject=\"CN=hello-world\",\n validity_in_months=12,\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Azure.Core.GetClientConfig.Invoke();\n\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleKeyVault = new Azure.KeyVault.KeyVault(\"exampleKeyVault\", new()\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n SkuName = \"standard\",\n SoftDeleteRetentionDays = 7,\n AccessPolicies = new[]\n {\n new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n {\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n CertificatePermissions = new[]\n {\n \"Create\",\n \"Delete\",\n \"DeleteIssuers\",\n \"Get\",\n \"GetIssuers\",\n \"Import\",\n \"List\",\n \"ListIssuers\",\n \"ManageContacts\",\n \"ManageIssuers\",\n \"Purge\",\n \"SetIssuers\",\n \"Update\",\n },\n KeyPermissions = new[]\n {\n \"Backup\",\n \"Create\",\n \"Decrypt\",\n \"Delete\",\n \"Encrypt\",\n \"Get\",\n \"Import\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Sign\",\n \"UnwrapKey\",\n \"Update\",\n \"Verify\",\n \"WrapKey\",\n },\n SecretPermissions = new[]\n {\n \"Backup\",\n \"Delete\",\n \"Get\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Set\",\n },\n },\n },\n });\n\n var exampleCertificate = new Azure.KeyVault.Certificate(\"exampleCertificate\", new()\n {\n KeyVaultId = exampleKeyVault.Id,\n CertificatePolicy = new Azure.KeyVault.Inputs.CertificateCertificatePolicyArgs\n {\n IssuerParameters = new Azure.KeyVault.Inputs.CertificateCertificatePolicyIssuerParametersArgs\n {\n Name = \"Self\",\n },\n KeyProperties = new Azure.KeyVault.Inputs.CertificateCertificatePolicyKeyPropertiesArgs\n {\n Exportable = true,\n KeySize = 2048,\n KeyType = \"RSA\",\n ReuseKey = true,\n },\n LifetimeActions = new[]\n {\n new Azure.KeyVault.Inputs.CertificateCertificatePolicyLifetimeActionArgs\n {\n Action = new Azure.KeyVault.Inputs.CertificateCertificatePolicyLifetimeActionActionArgs\n {\n ActionType = \"AutoRenew\",\n },\n Trigger = new Azure.KeyVault.Inputs.CertificateCertificatePolicyLifetimeActionTriggerArgs\n {\n DaysBeforeExpiry = 30,\n },\n },\n },\n SecretProperties = new Azure.KeyVault.Inputs.CertificateCertificatePolicySecretPropertiesArgs\n {\n ContentType = \"application/x-pkcs12\",\n },\n X509CertificateProperties = new Azure.KeyVault.Inputs.CertificateCertificatePolicyX509CertificatePropertiesArgs\n {\n ExtendedKeyUsages = new[]\n {\n \"1.3.6.1.5.5.7.3.1\",\n },\n KeyUsages = new[]\n {\n \"cRLSign\",\n \"dataEncipherment\",\n \"digitalSignature\",\n \"keyAgreement\",\n \"keyCertSign\",\n \"keyEncipherment\",\n },\n SubjectAlternativeNames = new Azure.KeyVault.Inputs.CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNamesArgs\n {\n DnsNames = new[]\n {\n \"internal.contoso.com\",\n \"domain.hello.world\",\n },\n },\n Subject = \"CN=hello-world\",\n ValidityInMonths = 12,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"exampleKeyVault\", \u0026keyvault.KeyVaultArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tTenantId: *pulumi.String(current.TenantId),\n\t\t\tSkuName: pulumi.String(\"standard\"),\n\t\t\tSoftDeleteRetentionDays: pulumi.Int(7),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: *pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: *pulumi.String(current.ObjectId),\n\t\t\t\t\tCertificatePermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"DeleteIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"GetIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Import\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"ListIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"ManageContacts\"),\n\t\t\t\t\t\tpulumi.String(\"ManageIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"SetIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\t\t},\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Backup\"),\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Decrypt\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Encrypt\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"Import\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\t\t\tpulumi.String(\"Restore\"),\n\t\t\t\t\t\tpulumi.String(\"Sign\"),\n\t\t\t\t\t\tpulumi.String(\"UnwrapKey\"),\n\t\t\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\t\t\tpulumi.String(\"Verify\"),\n\t\t\t\t\t\tpulumi.String(\"WrapKey\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Backup\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\t\t\tpulumi.String(\"Restore\"),\n\t\t\t\t\t\tpulumi.String(\"Set\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = keyvault.NewCertificate(ctx, \"exampleCertificate\", \u0026keyvault.CertificateArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tCertificatePolicy: \u0026keyvault.CertificateCertificatePolicyArgs{\n\t\t\t\tIssuerParameters: \u0026keyvault.CertificateCertificatePolicyIssuerParametersArgs{\n\t\t\t\t\tName: pulumi.String(\"Self\"),\n\t\t\t\t},\n\t\t\t\tKeyProperties: \u0026keyvault.CertificateCertificatePolicyKeyPropertiesArgs{\n\t\t\t\t\tExportable: pulumi.Bool(true),\n\t\t\t\t\tKeySize: pulumi.Int(2048),\n\t\t\t\t\tKeyType: pulumi.String(\"RSA\"),\n\t\t\t\t\tReuseKey: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tLifetimeActions: keyvault.CertificateCertificatePolicyLifetimeActionArray{\n\t\t\t\t\t\u0026keyvault.CertificateCertificatePolicyLifetimeActionArgs{\n\t\t\t\t\t\tAction: \u0026keyvault.CertificateCertificatePolicyLifetimeActionActionArgs{\n\t\t\t\t\t\t\tActionType: pulumi.String(\"AutoRenew\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTrigger: \u0026keyvault.CertificateCertificatePolicyLifetimeActionTriggerArgs{\n\t\t\t\t\t\t\tDaysBeforeExpiry: pulumi.Int(30),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSecretProperties: \u0026keyvault.CertificateCertificatePolicySecretPropertiesArgs{\n\t\t\t\t\tContentType: pulumi.String(\"application/x-pkcs12\"),\n\t\t\t\t},\n\t\t\t\tX509CertificateProperties: \u0026keyvault.CertificateCertificatePolicyX509CertificatePropertiesArgs{\n\t\t\t\t\tExtendedKeyUsages: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"1.3.6.1.5.5.7.3.1\"),\n\t\t\t\t\t},\n\t\t\t\t\tKeyUsages: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"cRLSign\"),\n\t\t\t\t\t\tpulumi.String(\"dataEncipherment\"),\n\t\t\t\t\t\tpulumi.String(\"digitalSignature\"),\n\t\t\t\t\t\tpulumi.String(\"keyAgreement\"),\n\t\t\t\t\t\tpulumi.String(\"keyCertSign\"),\n\t\t\t\t\t\tpulumi.String(\"keyEncipherment\"),\n\t\t\t\t\t},\n\t\t\t\t\tSubjectAlternativeNames: \u0026keyvault.CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNamesArgs{\n\t\t\t\t\t\tDnsNames: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"internal.contoso.com\"),\n\t\t\t\t\t\t\tpulumi.String(\"domain.hello.world\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tSubject: pulumi.String(\"CN=hello-world\"),\n\t\t\t\t\tValidityInMonths: pulumi.Int(12),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Certificate;\nimport com.pulumi.azure.keyvault.CertificateArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyIssuerParametersArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyKeyPropertiesArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicySecretPropertiesArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyX509CertificatePropertiesArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNamesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = CoreFunctions.getClientConfig();\n\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder() \n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .skuName(\"standard\")\n .softDeleteRetentionDays(7)\n .accessPolicies(KeyVaultAccessPolicyArgs.builder()\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .objectId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.objectId()))\n .certificatePermissions( \n \"Create\",\n \"Delete\",\n \"DeleteIssuers\",\n \"Get\",\n \"GetIssuers\",\n \"Import\",\n \"List\",\n \"ListIssuers\",\n \"ManageContacts\",\n \"ManageIssuers\",\n \"Purge\",\n \"SetIssuers\",\n \"Update\")\n .keyPermissions( \n \"Backup\",\n \"Create\",\n \"Decrypt\",\n \"Delete\",\n \"Encrypt\",\n \"Get\",\n \"Import\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Sign\",\n \"UnwrapKey\",\n \"Update\",\n \"Verify\",\n \"WrapKey\")\n .secretPermissions( \n \"Backup\",\n \"Delete\",\n \"Get\",\n \"List\",\n \"Purge\",\n \"Recover\",\n \"Restore\",\n \"Set\")\n .build())\n .build());\n\n var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder() \n .keyVaultId(exampleKeyVault.id())\n .certificatePolicy(CertificateCertificatePolicyArgs.builder()\n .issuerParameters(CertificateCertificatePolicyIssuerParametersArgs.builder()\n .name(\"Self\")\n .build())\n .keyProperties(CertificateCertificatePolicyKeyPropertiesArgs.builder()\n .exportable(true)\n .keySize(2048)\n .keyType(\"RSA\")\n .reuseKey(true)\n .build())\n .lifetimeActions(CertificateCertificatePolicyLifetimeActionArgs.builder()\n .action(CertificateCertificatePolicyLifetimeActionActionArgs.builder()\n .actionType(\"AutoRenew\")\n .build())\n .trigger(CertificateCertificatePolicyLifetimeActionTriggerArgs.builder()\n .daysBeforeExpiry(30)\n .build())\n .build())\n .secretProperties(CertificateCertificatePolicySecretPropertiesArgs.builder()\n .contentType(\"application/x-pkcs12\")\n .build())\n .x509CertificateProperties(CertificateCertificatePolicyX509CertificatePropertiesArgs.builder()\n .extendedKeyUsages(\"1.3.6.1.5.5.7.3.1\")\n .keyUsages( \n \"cRLSign\",\n \"dataEncipherment\",\n \"digitalSignature\",\n \"keyAgreement\",\n \"keyCertSign\",\n \"keyEncipherment\")\n .subjectAlternativeNames(CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNamesArgs.builder()\n .dnsNames( \n \"internal.contoso.com\",\n \"domain.hello.world\")\n .build())\n .subject(\"CN=hello-world\")\n .validityInMonths(12)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleResourceGroup:\n type: azure:core:ResourceGroup\n properties:\n location: West Europe\n exampleKeyVault:\n type: azure:keyvault:KeyVault\n properties:\n location: ${exampleResourceGroup.location}\n resourceGroupName: ${exampleResourceGroup.name}\n tenantId: ${current.tenantId}\n skuName: standard\n softDeleteRetentionDays: 7\n accessPolicies:\n - tenantId: ${current.tenantId}\n objectId: ${current.objectId}\n certificatePermissions:\n - Create\n - Delete\n - DeleteIssuers\n - Get\n - GetIssuers\n - Import\n - List\n - ListIssuers\n - ManageContacts\n - ManageIssuers\n - Purge\n - SetIssuers\n - Update\n keyPermissions:\n - Backup\n - Create\n - Decrypt\n - Delete\n - Encrypt\n - Get\n - Import\n - List\n - Purge\n - Recover\n - Restore\n - Sign\n - UnwrapKey\n - Update\n - Verify\n - WrapKey\n secretPermissions:\n - Backup\n - Delete\n - Get\n - List\n - Purge\n - Recover\n - Restore\n - Set\n exampleCertificate:\n type: azure:keyvault:Certificate\n properties:\n keyVaultId: ${exampleKeyVault.id}\n certificatePolicy:\n issuerParameters:\n name: Self\n keyProperties:\n exportable: true\n keySize: 2048\n keyType: RSA\n reuseKey: true\n lifetimeActions:\n - action:\n actionType: AutoRenew\n trigger:\n daysBeforeExpiry: 30\n secretProperties:\n contentType: application/x-pkcs12\n x509CertificateProperties:\n extendedKeyUsages:\n - 1.3.6.1.5.5.7.3.1\n keyUsages:\n - cRLSign\n - dataEncipherment\n - digitalSignature\n - keyAgreement\n - keyCertSign\n - keyEncipherment\n subjectAlternativeNames:\n dnsNames:\n - internal.contoso.com\n - domain.hello.world\n subject: CN=hello-world\n validityInMonths: 12\nvariables:\n current:\n fn::invoke:\n Function: azure:core:getClientConfig\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nKey Vault Certificates can be imported using the `resource id`, e.g.\n\n```sh\n $ pulumi import azure:keyvault/certificate:Certificate example \"https://example-keyvault.vault.azure.net/certificates/example/fdf067c93bbb4b22bff4d8b7a9a56217\"\n```\n\n ", "properties": { "certificate": { "$ref": "#/types/azure:keyvault/CertificateCertificate:CertificateCertificate", @@ -194822,7 +194822,7 @@ } }, "azure:logicapps/integrationAccountAssembly:IntegrationAccountAssembly": { - "description": "Manages a Logic App Integration Account Assembly.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as fs from \"fs\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleIntegrationAccount = new azure.logicapps.IntegrationAccount(\"exampleIntegrationAccount\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n skuName: \"Basic\",\n});\nconst exampleIntegrationAccountAssembly = new azure.logicapps.IntegrationAccountAssembly(\"exampleIntegrationAccountAssembly\", {\n resourceGroupName: exampleResourceGroup.name,\n integrationAccountName: exampleIntegrationAccount.name,\n assemblyName: \"TestAssembly\",\n content: Buffer.from(fs.readFileSync(\"testdata/log4net.dll\"), 'binary').toString('base64'),\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_integration_account = azure.logicapps.IntegrationAccount(\"exampleIntegrationAccount\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku_name=\"Basic\")\nexample_integration_account_assembly = azure.logicapps.IntegrationAccountAssembly(\"exampleIntegrationAccountAssembly\",\n resource_group_name=example_resource_group.name,\n integration_account_name=example_integration_account.name,\n assembly_name=\"TestAssembly\",\n content=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"testdata/log4net.dll\"))\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\n\tprivate static string ReadFileBase64(string path) {\n\t\treturn Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n\t}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleIntegrationAccount = new Azure.LogicApps.IntegrationAccount(\"exampleIntegrationAccount\", new()\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n SkuName = \"Basic\",\n });\n\n var exampleIntegrationAccountAssembly = new Azure.LogicApps.IntegrationAccountAssembly(\"exampleIntegrationAccountAssembly\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n IntegrationAccountName = exampleIntegrationAccount.Name,\n AssemblyName = \"TestAssembly\",\n Content = ReadFileBase64(\"testdata/log4net.dll\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/logicapps\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) pulumi.StringPtrInput {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn pulumi.String(base64.StdEncoding.EncodeToString(fileData[:]))\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIntegrationAccount, err := logicapps.NewIntegrationAccount(ctx, \"exampleIntegrationAccount\", \u0026logicapps.IntegrationAccountArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSkuName: pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = logicapps.NewIntegrationAccountAssembly(ctx, \"exampleIntegrationAccountAssembly\", \u0026logicapps.IntegrationAccountAssemblyArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tIntegrationAccountName: exampleIntegrationAccount.Name,\n\t\t\tAssemblyName: pulumi.String(\"TestAssembly\"),\n\t\t\tContent: filebase64OrPanic(\"testdata/log4net.dll\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.logicapps.IntegrationAccount;\nimport com.pulumi.azure.logicapps.IntegrationAccountArgs;\nimport com.pulumi.azure.logicapps.IntegrationAccountAssembly;\nimport com.pulumi.azure.logicapps.IntegrationAccountAssemblyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var exampleIntegrationAccount = new IntegrationAccount(\"exampleIntegrationAccount\", IntegrationAccountArgs.builder() \n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .skuName(\"Basic\")\n .build());\n\n var exampleIntegrationAccountAssembly = new IntegrationAccountAssembly(\"exampleIntegrationAccountAssembly\", IntegrationAccountAssemblyArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .integrationAccountName(exampleIntegrationAccount.name())\n .assemblyName(\"TestAssembly\")\n .content(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"testdata/log4net.dll\"))))\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nLogic App Integration Account Assemblies can be imported using the `resource id`, e.g.\n\n```sh\n $ pulumi import azure:logicapps/integrationAccountAssembly:IntegrationAccountAssembly example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Logic/integrationAccounts/account1/assemblies/assembly1\n```\n\n ", + "description": "Manages a Logic App Integration Account Assembly.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as fs from \"fs\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleIntegrationAccount = new azure.logicapps.IntegrationAccount(\"exampleIntegrationAccount\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n skuName: \"Basic\",\n});\nconst exampleIntegrationAccountAssembly = new azure.logicapps.IntegrationAccountAssembly(\"exampleIntegrationAccountAssembly\", {\n resourceGroupName: exampleResourceGroup.name,\n integrationAccountName: exampleIntegrationAccount.name,\n assemblyName: \"TestAssembly\",\n content: Buffer.from(fs.readFileSync(\"testdata/log4net.dll\", 'binary')).toString('base64'),\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_integration_account = azure.logicapps.IntegrationAccount(\"exampleIntegrationAccount\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku_name=\"Basic\")\nexample_integration_account_assembly = azure.logicapps.IntegrationAccountAssembly(\"exampleIntegrationAccountAssembly\",\n resource_group_name=example_resource_group.name,\n integration_account_name=example_integration_account.name,\n assembly_name=\"TestAssembly\",\n content=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"testdata/log4net.dll\"))\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\n\t\nstring ReadFileBase64(string path) \n{\n return Convert.ToBase64String(Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleIntegrationAccount = new Azure.LogicApps.IntegrationAccount(\"exampleIntegrationAccount\", new()\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n SkuName = \"Basic\",\n });\n\n var exampleIntegrationAccountAssembly = new Azure.LogicApps.IntegrationAccountAssembly(\"exampleIntegrationAccountAssembly\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n IntegrationAccountName = exampleIntegrationAccount.Name,\n AssemblyName = \"TestAssembly\",\n Content = ReadFileBase64(\"testdata/log4net.dll\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/logicapps\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) string {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn base64.StdEncoding.EncodeToString(fileData[:])\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIntegrationAccount, err := logicapps.NewIntegrationAccount(ctx, \"exampleIntegrationAccount\", \u0026logicapps.IntegrationAccountArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSkuName: pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = logicapps.NewIntegrationAccountAssembly(ctx, \"exampleIntegrationAccountAssembly\", \u0026logicapps.IntegrationAccountAssemblyArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tIntegrationAccountName: exampleIntegrationAccount.Name,\n\t\t\tAssemblyName: pulumi.String(\"TestAssembly\"),\n\t\t\tContent: filebase64OrPanic(\"testdata/log4net.dll\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.logicapps.IntegrationAccount;\nimport com.pulumi.azure.logicapps.IntegrationAccountArgs;\nimport com.pulumi.azure.logicapps.IntegrationAccountAssembly;\nimport com.pulumi.azure.logicapps.IntegrationAccountAssemblyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var exampleIntegrationAccount = new IntegrationAccount(\"exampleIntegrationAccount\", IntegrationAccountArgs.builder() \n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .skuName(\"Basic\")\n .build());\n\n var exampleIntegrationAccountAssembly = new IntegrationAccountAssembly(\"exampleIntegrationAccountAssembly\", IntegrationAccountAssemblyArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .integrationAccountName(exampleIntegrationAccount.name())\n .assemblyName(\"TestAssembly\")\n .content(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"testdata/log4net.dll\"))))\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nLogic App Integration Account Assemblies can be imported using the `resource id`, e.g.\n\n```sh\n $ pulumi import azure:logicapps/integrationAccountAssembly:IntegrationAccountAssembly example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Logic/integrationAccounts/account1/assemblies/assembly1\n```\n\n ", "properties": { "assemblyName": { "type": "string", @@ -228316,7 +228316,7 @@ } }, "azure:nginx/certificate:Certificate": { - "description": "Manages a Certificate for an NGinx Deployment.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as fs from \"fs\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst examplePublicIp = new azure.network.PublicIp(\"examplePublicIp\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n allocationMethod: \"Static\",\n sku: \"Standard\",\n tags: {\n environment: \"Production\",\n },\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"10.0.0.0/16\"],\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefixes: [\"10.0.2.0/24\"],\n delegations: [{\n name: \"delegation\",\n serviceDelegation: {\n name: \"NGINX.NGINXPLUS/nginxDeployments\",\n actions: [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n },\n }],\n});\nconst exampleDeployment = new azure.nginx.Deployment(\"exampleDeployment\", {\n resourceGroupName: exampleResourceGroup.name,\n sku: \"publicpreview_Monthly_gmz7xq9ge3py\",\n location: exampleResourceGroup.location,\n managedResourceGroup: \"example\",\n diagnoseSupportEnabled: true,\n frontendPublic: {\n ipAddresses: [examplePublicIp.id],\n },\n networkInterfaces: [{\n subnetId: exampleSubnet.id,\n }],\n});\nconst current = azure.core.getClientConfig({});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"exampleKeyVault\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n tenantId: current.then(current =\u003e current.tenantId),\n skuName: \"premium\",\n accessPolicies: [{\n tenantId: current.then(current =\u003e current.tenantId),\n objectId: current.then(current =\u003e current.objectId),\n certificatePermissions: [\n \"Create\",\n \"Delete\",\n \"DeleteIssuers\",\n \"Get\",\n \"GetIssuers\",\n \"Import\",\n \"List\",\n \"ListIssuers\",\n \"ManageContacts\",\n \"ManageIssuers\",\n \"SetIssuers\",\n \"Update\",\n ],\n }],\n});\nconst exampleCertificate = new azure.keyvault.Certificate(\"exampleCertificate\", {\n keyVaultId: exampleKeyVault.id,\n certificate: {\n contents: Buffer.from(fs.readFileSync(\"certificate-to-import.pfx\"), 'binary').toString('base64'),\n password: \"\",\n },\n});\nconst exampleNginx_certificateCertificate = new azure.nginx.Certificate(\"exampleNginx/certificateCertificate\", {\n nginxDeploymentId: exampleDeployment.id,\n keyVirtualPath: \"/src/cert/soservermekey.key\",\n certificateVirtualPath: \"/src/cert/server.cert\",\n keyVaultSecretId: exampleCertificate.secretId,\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_public_ip = azure.network.PublicIp(\"examplePublicIp\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n allocation_method=\"Static\",\n sku=\"Standard\",\n tags={\n \"environment\": \"Production\",\n })\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\n address_spaces=[\"10.0.0.0/16\"],\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nexample_subnet = azure.network.Subnet(\"exampleSubnet\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefixes=[\"10.0.2.0/24\"],\n delegations=[azure.network.SubnetDelegationArgs(\n name=\"delegation\",\n service_delegation=azure.network.SubnetDelegationServiceDelegationArgs(\n name=\"NGINX.NGINXPLUS/nginxDeployments\",\n actions=[\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n ),\n )])\nexample_deployment = azure.nginx.Deployment(\"exampleDeployment\",\n resource_group_name=example_resource_group.name,\n sku=\"publicpreview_Monthly_gmz7xq9ge3py\",\n location=example_resource_group.location,\n managed_resource_group=\"example\",\n diagnose_support_enabled=True,\n frontend_public=azure.nginx.DeploymentFrontendPublicArgs(\n ip_addresses=[example_public_ip.id],\n ),\n network_interfaces=[azure.nginx.DeploymentNetworkInterfaceArgs(\n subnet_id=example_subnet.id,\n )])\ncurrent = azure.core.get_client_config()\nexample_key_vault = azure.keyvault.KeyVault(\"exampleKeyVault\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n tenant_id=current.tenant_id,\n sku_name=\"premium\",\n access_policies=[azure.keyvault.KeyVaultAccessPolicyArgs(\n tenant_id=current.tenant_id,\n object_id=current.object_id,\n certificate_permissions=[\n \"Create\",\n \"Delete\",\n \"DeleteIssuers\",\n \"Get\",\n \"GetIssuers\",\n \"Import\",\n \"List\",\n \"ListIssuers\",\n \"ManageContacts\",\n \"ManageIssuers\",\n \"SetIssuers\",\n \"Update\",\n ],\n )])\nexample_certificate = azure.keyvault.Certificate(\"exampleCertificate\",\n key_vault_id=example_key_vault.id,\n certificate=azure.keyvault.CertificateCertificateArgs(\n contents=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"certificate-to-import.pfx\"),\n password=\"\",\n ))\nexample_nginx_certificate_certificate = azure.nginx.Certificate(\"exampleNginx/certificateCertificate\",\n nginx_deployment_id=example_deployment.id,\n key_virtual_path=\"/src/cert/soservermekey.key\",\n certificate_virtual_path=\"/src/cert/server.cert\",\n key_vault_secret_id=example_certificate.secret_id)\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\n\tprivate static string ReadFileBase64(string path) {\n\t\treturn Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n\t}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var examplePublicIp = new Azure.Network.PublicIp(\"examplePublicIp\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AllocationMethod = \"Static\",\n Sku = \"Standard\",\n Tags = \n {\n { \"environment\", \"Production\" },\n },\n });\n\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new()\n {\n AddressSpaces = new[]\n {\n \"10.0.0.0/16\",\n },\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n\n var exampleSubnet = new Azure.Network.Subnet(\"exampleSubnet\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefixes = new[]\n {\n \"10.0.2.0/24\",\n },\n Delegations = new[]\n {\n new Azure.Network.Inputs.SubnetDelegationArgs\n {\n Name = \"delegation\",\n ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n {\n Name = \"NGINX.NGINXPLUS/nginxDeployments\",\n Actions = new[]\n {\n \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n },\n },\n },\n },\n });\n\n var exampleDeployment = new Azure.Nginx.Deployment(\"exampleDeployment\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"publicpreview_Monthly_gmz7xq9ge3py\",\n Location = exampleResourceGroup.Location,\n ManagedResourceGroup = \"example\",\n DiagnoseSupportEnabled = true,\n FrontendPublic = new Azure.Nginx.Inputs.DeploymentFrontendPublicArgs\n {\n IpAddresses = new[]\n {\n examplePublicIp.Id,\n },\n },\n NetworkInterfaces = new[]\n {\n new Azure.Nginx.Inputs.DeploymentNetworkInterfaceArgs\n {\n SubnetId = exampleSubnet.Id,\n },\n },\n });\n\n var current = Azure.Core.GetClientConfig.Invoke();\n\n var exampleKeyVault = new Azure.KeyVault.KeyVault(\"exampleKeyVault\", new()\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n SkuName = \"premium\",\n AccessPolicies = new[]\n {\n new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n {\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n CertificatePermissions = new[]\n {\n \"Create\",\n \"Delete\",\n \"DeleteIssuers\",\n \"Get\",\n \"GetIssuers\",\n \"Import\",\n \"List\",\n \"ListIssuers\",\n \"ManageContacts\",\n \"ManageIssuers\",\n \"SetIssuers\",\n \"Update\",\n },\n },\n },\n });\n\n var exampleCertificate = new Azure.KeyVault.Certificate(\"exampleCertificate\", new()\n {\n KeyVaultId = exampleKeyVault.Id,\n KeyVaultCertificate = new Azure.KeyVault.Inputs.CertificateCertificateArgs\n {\n Contents = ReadFileBase64(\"certificate-to-import.pfx\"),\n Password = \"\",\n },\n });\n\n var exampleNginx_certificateCertificate = new Azure.Nginx.Certificate(\"exampleNginx/certificateCertificate\", new()\n {\n NginxDeploymentId = exampleDeployment.Id,\n KeyVirtualPath = \"/src/cert/soservermekey.key\",\n CertificateVirtualPath = \"/src/cert/server.cert\",\n KeyVaultSecretId = exampleCertificate.SecretId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/nginx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) pulumi.StringPtrInput {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn pulumi.String(base64.StdEncoding.EncodeToString(fileData[:]))\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"examplePublicIp\", \u0026network.PublicIpArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tAllocationMethod: pulumi.String(\"Static\"),\n\t\t\tSku: pulumi.String(\"Standard\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"exampleSubnet\", \u0026network.SubnetArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"delegation\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"NGINX.NGINXPLUS/nginxDeployments\"),\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDeployment, err := nginx.NewDeployment(ctx, \"exampleDeployment\", \u0026nginx.DeploymentArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSku: pulumi.String(\"publicpreview_Monthly_gmz7xq9ge3py\"),\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tManagedResourceGroup: pulumi.String(\"example\"),\n\t\t\tDiagnoseSupportEnabled: pulumi.Bool(true),\n\t\t\tFrontendPublic: \u0026nginx.DeploymentFrontendPublicArgs{\n\t\t\t\tIpAddresses: pulumi.StringArray{\n\t\t\t\t\texamplePublicIp.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNetworkInterfaces: nginx.DeploymentNetworkInterfaceArray{\n\t\t\t\t\u0026nginx.DeploymentNetworkInterfaceArgs{\n\t\t\t\t\tSubnetId: exampleSubnet.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"exampleKeyVault\", \u0026keyvault.KeyVaultArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tTenantId: *pulumi.String(current.TenantId),\n\t\t\tSkuName: pulumi.String(\"premium\"),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: *pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: *pulumi.String(current.ObjectId),\n\t\t\t\t\tCertificatePermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"DeleteIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"GetIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Import\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"ListIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"ManageContacts\"),\n\t\t\t\t\t\tpulumi.String(\"ManageIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"SetIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCertificate, err := keyvault.NewCertificate(ctx, \"exampleCertificate\", \u0026keyvault.CertificateArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tCertificate: \u0026keyvault.CertificateCertificateArgs{\n\t\t\t\tContents: filebase64OrPanic(\"certificate-to-import.pfx\"),\n\t\t\t\tPassword: pulumi.String(\"\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nginx.NewCertificate(ctx, \"exampleNginx/certificateCertificate\", \u0026nginx.CertificateArgs{\n\t\t\tNginxDeploymentId: exampleDeployment.ID(),\n\t\t\tKeyVirtualPath: pulumi.String(\"/src/cert/soservermekey.key\"),\n\t\t\tCertificateVirtualPath: pulumi.String(\"/src/cert/server.cert\"),\n\t\t\tKeyVaultSecretId: exampleCertificate.SecretId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.nginx.Deployment;\nimport com.pulumi.azure.nginx.DeploymentArgs;\nimport com.pulumi.azure.nginx.inputs.DeploymentFrontendPublicArgs;\nimport com.pulumi.azure.nginx.inputs.DeploymentNetworkInterfaceArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Certificate;\nimport com.pulumi.azure.keyvault.CertificateArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificateArgs;\nimport com.pulumi.azure.nginx.Certificate;\nimport com.pulumi.azure.nginx.CertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .location(exampleResourceGroup.location())\n .allocationMethod(\"Static\")\n .sku(\"Standard\")\n .tags(Map.of(\"environment\", \"Production\"))\n .build());\n\n var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder() \n .addressSpaces(\"10.0.0.0/16\")\n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .build());\n\n var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .virtualNetworkName(exampleVirtualNetwork.name())\n .addressPrefixes(\"10.0.2.0/24\")\n .delegations(SubnetDelegationArgs.builder()\n .name(\"delegation\")\n .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n .name(\"NGINX.NGINXPLUS/nginxDeployments\")\n .actions(\"Microsoft.Network/virtualNetworks/subnets/join/action\")\n .build())\n .build())\n .build());\n\n var exampleDeployment = new Deployment(\"exampleDeployment\", DeploymentArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .sku(\"publicpreview_Monthly_gmz7xq9ge3py\")\n .location(exampleResourceGroup.location())\n .managedResourceGroup(\"example\")\n .diagnoseSupportEnabled(true)\n .frontendPublic(DeploymentFrontendPublicArgs.builder()\n .ipAddresses(examplePublicIp.id())\n .build())\n .networkInterfaces(DeploymentNetworkInterfaceArgs.builder()\n .subnetId(exampleSubnet.id())\n .build())\n .build());\n\n final var current = CoreFunctions.getClientConfig();\n\n var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder() \n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .skuName(\"premium\")\n .accessPolicies(KeyVaultAccessPolicyArgs.builder()\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .objectId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.objectId()))\n .certificatePermissions( \n \"Create\",\n \"Delete\",\n \"DeleteIssuers\",\n \"Get\",\n \"GetIssuers\",\n \"Import\",\n \"List\",\n \"ListIssuers\",\n \"ManageContacts\",\n \"ManageIssuers\",\n \"SetIssuers\",\n \"Update\")\n .build())\n .build());\n\n var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder() \n .keyVaultId(exampleKeyVault.id())\n .certificate(CertificateCertificateArgs.builder()\n .contents(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"certificate-to-import.pfx\"))))\n .password(\"\")\n .build())\n .build());\n\n var exampleNginx_certificateCertificate = new Certificate(\"exampleNginx/certificateCertificate\", CertificateArgs.builder() \n .nginxDeploymentId(exampleDeployment.id())\n .keyVirtualPath(\"/src/cert/soservermekey.key\")\n .certificateVirtualPath(\"/src/cert/server.cert\")\n .keyVaultSecretId(exampleCertificate.secretId())\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn Nginx Certificate can be imported using the `resource id`, e.g.\n\n```sh\n $ pulumi import azure:nginx/certificate:Certificate example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Nginx.NginxPlus/nginxDeployments/deploy1/certificates/cer1\n```\n\n ", + "description": "Manages a Certificate for an NGinx Deployment.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as fs from \"fs\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst examplePublicIp = new azure.network.PublicIp(\"examplePublicIp\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n allocationMethod: \"Static\",\n sku: \"Standard\",\n tags: {\n environment: \"Production\",\n },\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"10.0.0.0/16\"],\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefixes: [\"10.0.2.0/24\"],\n delegations: [{\n name: \"delegation\",\n serviceDelegation: {\n name: \"NGINX.NGINXPLUS/nginxDeployments\",\n actions: [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n },\n }],\n});\nconst exampleDeployment = new azure.nginx.Deployment(\"exampleDeployment\", {\n resourceGroupName: exampleResourceGroup.name,\n sku: \"publicpreview_Monthly_gmz7xq9ge3py\",\n location: exampleResourceGroup.location,\n managedResourceGroup: \"example\",\n diagnoseSupportEnabled: true,\n frontendPublic: {\n ipAddresses: [examplePublicIp.id],\n },\n networkInterfaces: [{\n subnetId: exampleSubnet.id,\n }],\n});\nconst current = azure.core.getClientConfig({});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"exampleKeyVault\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n tenantId: current.then(current =\u003e current.tenantId),\n skuName: \"premium\",\n accessPolicies: [{\n tenantId: current.then(current =\u003e current.tenantId),\n objectId: current.then(current =\u003e current.objectId),\n certificatePermissions: [\n \"Create\",\n \"Delete\",\n \"DeleteIssuers\",\n \"Get\",\n \"GetIssuers\",\n \"Import\",\n \"List\",\n \"ListIssuers\",\n \"ManageContacts\",\n \"ManageIssuers\",\n \"SetIssuers\",\n \"Update\",\n ],\n }],\n});\nconst exampleCertificate = new azure.keyvault.Certificate(\"exampleCertificate\", {\n keyVaultId: exampleKeyVault.id,\n certificate: {\n contents: Buffer.from(fs.readFileSync(\"certificate-to-import.pfx\", 'binary')).toString('base64'),\n password: \"\",\n },\n});\nconst exampleNginx_certificateCertificate = new azure.nginx.Certificate(\"exampleNginx/certificateCertificate\", {\n nginxDeploymentId: exampleDeployment.id,\n keyVirtualPath: \"/src/cert/soservermekey.key\",\n certificateVirtualPath: \"/src/cert/server.cert\",\n keyVaultSecretId: exampleCertificate.secretId,\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_public_ip = azure.network.PublicIp(\"examplePublicIp\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n allocation_method=\"Static\",\n sku=\"Standard\",\n tags={\n \"environment\": \"Production\",\n })\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\n address_spaces=[\"10.0.0.0/16\"],\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nexample_subnet = azure.network.Subnet(\"exampleSubnet\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefixes=[\"10.0.2.0/24\"],\n delegations=[azure.network.SubnetDelegationArgs(\n name=\"delegation\",\n service_delegation=azure.network.SubnetDelegationServiceDelegationArgs(\n name=\"NGINX.NGINXPLUS/nginxDeployments\",\n actions=[\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n ),\n )])\nexample_deployment = azure.nginx.Deployment(\"exampleDeployment\",\n resource_group_name=example_resource_group.name,\n sku=\"publicpreview_Monthly_gmz7xq9ge3py\",\n location=example_resource_group.location,\n managed_resource_group=\"example\",\n diagnose_support_enabled=True,\n frontend_public=azure.nginx.DeploymentFrontendPublicArgs(\n ip_addresses=[example_public_ip.id],\n ),\n network_interfaces=[azure.nginx.DeploymentNetworkInterfaceArgs(\n subnet_id=example_subnet.id,\n )])\ncurrent = azure.core.get_client_config()\nexample_key_vault = azure.keyvault.KeyVault(\"exampleKeyVault\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n tenant_id=current.tenant_id,\n sku_name=\"premium\",\n access_policies=[azure.keyvault.KeyVaultAccessPolicyArgs(\n tenant_id=current.tenant_id,\n object_id=current.object_id,\n certificate_permissions=[\n \"Create\",\n \"Delete\",\n \"DeleteIssuers\",\n \"Get\",\n \"GetIssuers\",\n \"Import\",\n \"List\",\n \"ListIssuers\",\n \"ManageContacts\",\n \"ManageIssuers\",\n \"SetIssuers\",\n \"Update\",\n ],\n )])\nexample_certificate = azure.keyvault.Certificate(\"exampleCertificate\",\n key_vault_id=example_key_vault.id,\n certificate=azure.keyvault.CertificateCertificateArgs(\n contents=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"certificate-to-import.pfx\"),\n password=\"\",\n ))\nexample_nginx_certificate_certificate = azure.nginx.Certificate(\"exampleNginx/certificateCertificate\",\n nginx_deployment_id=example_deployment.id,\n key_virtual_path=\"/src/cert/soservermekey.key\",\n certificate_virtual_path=\"/src/cert/server.cert\",\n key_vault_secret_id=example_certificate.secret_id)\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\n\t\nstring ReadFileBase64(string path) \n{\n return Convert.ToBase64String(Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var examplePublicIp = new Azure.Network.PublicIp(\"examplePublicIp\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AllocationMethod = \"Static\",\n Sku = \"Standard\",\n Tags = \n {\n { \"environment\", \"Production\" },\n },\n });\n\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new()\n {\n AddressSpaces = new[]\n {\n \"10.0.0.0/16\",\n },\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n\n var exampleSubnet = new Azure.Network.Subnet(\"exampleSubnet\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefixes = new[]\n {\n \"10.0.2.0/24\",\n },\n Delegations = new[]\n {\n new Azure.Network.Inputs.SubnetDelegationArgs\n {\n Name = \"delegation\",\n ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n {\n Name = \"NGINX.NGINXPLUS/nginxDeployments\",\n Actions = new[]\n {\n \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n },\n },\n },\n },\n });\n\n var exampleDeployment = new Azure.Nginx.Deployment(\"exampleDeployment\", new()\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"publicpreview_Monthly_gmz7xq9ge3py\",\n Location = exampleResourceGroup.Location,\n ManagedResourceGroup = \"example\",\n DiagnoseSupportEnabled = true,\n FrontendPublic = new Azure.Nginx.Inputs.DeploymentFrontendPublicArgs\n {\n IpAddresses = new[]\n {\n examplePublicIp.Id,\n },\n },\n NetworkInterfaces = new[]\n {\n new Azure.Nginx.Inputs.DeploymentNetworkInterfaceArgs\n {\n SubnetId = exampleSubnet.Id,\n },\n },\n });\n\n var current = Azure.Core.GetClientConfig.Invoke();\n\n var exampleKeyVault = new Azure.KeyVault.KeyVault(\"exampleKeyVault\", new()\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n SkuName = \"premium\",\n AccessPolicies = new[]\n {\n new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n {\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n CertificatePermissions = new[]\n {\n \"Create\",\n \"Delete\",\n \"DeleteIssuers\",\n \"Get\",\n \"GetIssuers\",\n \"Import\",\n \"List\",\n \"ListIssuers\",\n \"ManageContacts\",\n \"ManageIssuers\",\n \"SetIssuers\",\n \"Update\",\n },\n },\n },\n });\n\n var exampleCertificate = new Azure.KeyVault.Certificate(\"exampleCertificate\", new()\n {\n KeyVaultId = exampleKeyVault.Id,\n KeyVaultCertificate = new Azure.KeyVault.Inputs.CertificateCertificateArgs\n {\n Contents = ReadFileBase64(\"certificate-to-import.pfx\"),\n Password = \"\",\n },\n });\n\n var exampleNginx_certificateCertificate = new Azure.Nginx.Certificate(\"exampleNginx/certificateCertificate\", new()\n {\n NginxDeploymentId = exampleDeployment.Id,\n KeyVirtualPath = \"/src/cert/soservermekey.key\",\n CertificateVirtualPath = \"/src/cert/server.cert\",\n KeyVaultSecretId = exampleCertificate.SecretId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/nginx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) string {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn base64.StdEncoding.EncodeToString(fileData[:])\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"examplePublicIp\", \u0026network.PublicIpArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tAllocationMethod: pulumi.String(\"Static\"),\n\t\t\tSku: pulumi.String(\"Standard\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"exampleSubnet\", \u0026network.SubnetArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"delegation\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"NGINX.NGINXPLUS/nginxDeployments\"),\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDeployment, err := nginx.NewDeployment(ctx, \"exampleDeployment\", \u0026nginx.DeploymentArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSku: pulumi.String(\"publicpreview_Monthly_gmz7xq9ge3py\"),\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tManagedResourceGroup: pulumi.String(\"example\"),\n\t\t\tDiagnoseSupportEnabled: pulumi.Bool(true),\n\t\t\tFrontendPublic: \u0026nginx.DeploymentFrontendPublicArgs{\n\t\t\t\tIpAddresses: pulumi.StringArray{\n\t\t\t\t\texamplePublicIp.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNetworkInterfaces: nginx.DeploymentNetworkInterfaceArray{\n\t\t\t\t\u0026nginx.DeploymentNetworkInterfaceArgs{\n\t\t\t\t\tSubnetId: exampleSubnet.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"exampleKeyVault\", \u0026keyvault.KeyVaultArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tTenantId: *pulumi.String(current.TenantId),\n\t\t\tSkuName: pulumi.String(\"premium\"),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: *pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: *pulumi.String(current.ObjectId),\n\t\t\t\t\tCertificatePermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"DeleteIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"GetIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Import\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"ListIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"ManageContacts\"),\n\t\t\t\t\t\tpulumi.String(\"ManageIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"SetIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCertificate, err := keyvault.NewCertificate(ctx, \"exampleCertificate\", \u0026keyvault.CertificateArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tCertificate: \u0026keyvault.CertificateCertificateArgs{\n\t\t\t\tContents: filebase64OrPanic(\"certificate-to-import.pfx\"),\n\t\t\t\tPassword: pulumi.String(\"\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nginx.NewCertificate(ctx, \"exampleNginx/certificateCertificate\", \u0026nginx.CertificateArgs{\n\t\t\tNginxDeploymentId: exampleDeployment.ID(),\n\t\t\tKeyVirtualPath: pulumi.String(\"/src/cert/soservermekey.key\"),\n\t\t\tCertificateVirtualPath: pulumi.String(\"/src/cert/server.cert\"),\n\t\t\tKeyVaultSecretId: exampleCertificate.SecretId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.nginx.Deployment;\nimport com.pulumi.azure.nginx.DeploymentArgs;\nimport com.pulumi.azure.nginx.inputs.DeploymentFrontendPublicArgs;\nimport com.pulumi.azure.nginx.inputs.DeploymentNetworkInterfaceArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Certificate;\nimport com.pulumi.azure.keyvault.CertificateArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificateArgs;\nimport com.pulumi.azure.nginx.Certificate;\nimport com.pulumi.azure.nginx.CertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .location(exampleResourceGroup.location())\n .allocationMethod(\"Static\")\n .sku(\"Standard\")\n .tags(Map.of(\"environment\", \"Production\"))\n .build());\n\n var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder() \n .addressSpaces(\"10.0.0.0/16\")\n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .build());\n\n var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .virtualNetworkName(exampleVirtualNetwork.name())\n .addressPrefixes(\"10.0.2.0/24\")\n .delegations(SubnetDelegationArgs.builder()\n .name(\"delegation\")\n .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n .name(\"NGINX.NGINXPLUS/nginxDeployments\")\n .actions(\"Microsoft.Network/virtualNetworks/subnets/join/action\")\n .build())\n .build())\n .build());\n\n var exampleDeployment = new Deployment(\"exampleDeployment\", DeploymentArgs.builder() \n .resourceGroupName(exampleResourceGroup.name())\n .sku(\"publicpreview_Monthly_gmz7xq9ge3py\")\n .location(exampleResourceGroup.location())\n .managedResourceGroup(\"example\")\n .diagnoseSupportEnabled(true)\n .frontendPublic(DeploymentFrontendPublicArgs.builder()\n .ipAddresses(examplePublicIp.id())\n .build())\n .networkInterfaces(DeploymentNetworkInterfaceArgs.builder()\n .subnetId(exampleSubnet.id())\n .build())\n .build());\n\n final var current = CoreFunctions.getClientConfig();\n\n var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder() \n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .skuName(\"premium\")\n .accessPolicies(KeyVaultAccessPolicyArgs.builder()\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .objectId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.objectId()))\n .certificatePermissions( \n \"Create\",\n \"Delete\",\n \"DeleteIssuers\",\n \"Get\",\n \"GetIssuers\",\n \"Import\",\n \"List\",\n \"ListIssuers\",\n \"ManageContacts\",\n \"ManageIssuers\",\n \"SetIssuers\",\n \"Update\")\n .build())\n .build());\n\n var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder() \n .keyVaultId(exampleKeyVault.id())\n .certificate(CertificateCertificateArgs.builder()\n .contents(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"certificate-to-import.pfx\"))))\n .password(\"\")\n .build())\n .build());\n\n var exampleNginx_certificateCertificate = new Certificate(\"exampleNginx/certificateCertificate\", CertificateArgs.builder() \n .nginxDeploymentId(exampleDeployment.id())\n .keyVirtualPath(\"/src/cert/soservermekey.key\")\n .certificateVirtualPath(\"/src/cert/server.cert\")\n .keyVaultSecretId(exampleCertificate.secretId())\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn Nginx Certificate can be imported using the `resource id`, e.g.\n\n```sh\n $ pulumi import azure:nginx/certificate:Certificate example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Nginx.NginxPlus/nginxDeployments/deploy1/certificates/cer1\n```\n\n ", "properties": { "certificateVirtualPath": { "type": "string", @@ -247101,7 +247101,7 @@ } }, "azure:signalr/serviceCustomCertificate:ServiceCustomCertificate": { - "description": "Manages an Azure SignalR Custom Certificate.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as fs from \"fs\";\n\nconst current = azure.core.getClientConfig({});\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleService = new azure.signalr.Service(\"exampleService\", {\n location: azurerm_resource_group.test.location,\n resourceGroupName: azurerm_resource_group.test.name,\n sku: {\n name: \"Premium_P1\",\n capacity: 1,\n },\n identity: {\n type: \"SystemAssigned\",\n },\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"exampleKeyVault\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n tenantId: current.then(current =\u003e current.tenantId),\n skuName: \"premium\",\n accessPolicies: [\n {\n tenantId: current.then(current =\u003e current.tenantId),\n objectId: current.then(current =\u003e current.objectId),\n certificatePermissions: [\n \"Create\",\n \"Get\",\n \"List\",\n ],\n secretPermissions: [\n \"Get\",\n \"List\",\n ],\n },\n {\n tenantId: current.then(current =\u003e current.tenantId),\n objectId: azurerm_signalr_service.test.identity[0].principal_id,\n certificatePermissions: [\n \"Create\",\n \"Get\",\n \"List\",\n ],\n secretPermissions: [\n \"Get\",\n \"List\",\n ],\n },\n ],\n});\nconst exampleCertificate = new azure.keyvault.Certificate(\"exampleCertificate\", {\n keyVaultId: exampleKeyVault.id,\n certificate: {\n contents: Buffer.from(fs.readFileSync(\"certificate-to-import.pfx\"), 'binary').toString('base64'),\n password: \"\",\n },\n});\nconst test = new azure.signalr.ServiceCustomCertificate(\"test\", {\n signalrServiceId: exampleService.id,\n customCertificateId: exampleCertificate.id,\n}, {\n dependsOn: [azurerm_key_vault_access_policy.example],\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_service = azure.signalr.Service(\"exampleService\",\n location=azurerm_resource_group[\"test\"][\"location\"],\n resource_group_name=azurerm_resource_group[\"test\"][\"name\"],\n sku=azure.signalr.ServiceSkuArgs(\n name=\"Premium_P1\",\n capacity=1,\n ),\n identity=azure.signalr.ServiceIdentityArgs(\n type=\"SystemAssigned\",\n ))\nexample_key_vault = azure.keyvault.KeyVault(\"exampleKeyVault\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n tenant_id=current.tenant_id,\n sku_name=\"premium\",\n access_policies=[\n azure.keyvault.KeyVaultAccessPolicyArgs(\n tenant_id=current.tenant_id,\n object_id=current.object_id,\n certificate_permissions=[\n \"Create\",\n \"Get\",\n \"List\",\n ],\n secret_permissions=[\n \"Get\",\n \"List\",\n ],\n ),\n azure.keyvault.KeyVaultAccessPolicyArgs(\n tenant_id=current.tenant_id,\n object_id=azurerm_signalr_service[\"test\"][\"identity\"][0][\"principal_id\"],\n certificate_permissions=[\n \"Create\",\n \"Get\",\n \"List\",\n ],\n secret_permissions=[\n \"Get\",\n \"List\",\n ],\n ),\n ])\nexample_certificate = azure.keyvault.Certificate(\"exampleCertificate\",\n key_vault_id=example_key_vault.id,\n certificate=azure.keyvault.CertificateCertificateArgs(\n contents=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"certificate-to-import.pfx\"),\n password=\"\",\n ))\ntest = azure.signalr.ServiceCustomCertificate(\"test\",\n signalr_service_id=example_service.id,\n custom_certificate_id=example_certificate.id,\n opts=pulumi.ResourceOptions(depends_on=[azurerm_key_vault_access_policy[\"example\"]]))\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\n\tprivate static string ReadFileBase64(string path) {\n\t\treturn Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n\t}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Azure.Core.GetClientConfig.Invoke();\n\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleService = new Azure.SignalR.Service(\"exampleService\", new()\n {\n Location = azurerm_resource_group.Test.Location,\n ResourceGroupName = azurerm_resource_group.Test.Name,\n Sku = new Azure.SignalR.Inputs.ServiceSkuArgs\n {\n Name = \"Premium_P1\",\n Capacity = 1,\n },\n Identity = new Azure.SignalR.Inputs.ServiceIdentityArgs\n {\n Type = \"SystemAssigned\",\n },\n });\n\n var exampleKeyVault = new Azure.KeyVault.KeyVault(\"exampleKeyVault\", new()\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n SkuName = \"premium\",\n AccessPolicies = new[]\n {\n new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n {\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n CertificatePermissions = new[]\n {\n \"Create\",\n \"Get\",\n \"List\",\n },\n SecretPermissions = new[]\n {\n \"Get\",\n \"List\",\n },\n },\n new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n {\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n ObjectId = azurerm_signalr_service.Test.Identity[0].Principal_id,\n CertificatePermissions = new[]\n {\n \"Create\",\n \"Get\",\n \"List\",\n },\n SecretPermissions = new[]\n {\n \"Get\",\n \"List\",\n },\n },\n },\n });\n\n var exampleCertificate = new Azure.KeyVault.Certificate(\"exampleCertificate\", new()\n {\n KeyVaultId = exampleKeyVault.Id,\n KeyVaultCertificate = new Azure.KeyVault.Inputs.CertificateCertificateArgs\n {\n Contents = ReadFileBase64(\"certificate-to-import.pfx\"),\n Password = \"\",\n },\n });\n\n var test = new Azure.SignalR.ServiceCustomCertificate(\"test\", new()\n {\n SignalrServiceId = exampleService.Id,\n CustomCertificateId = exampleCertificate.Id,\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n azurerm_key_vault_access_policy.Example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/signalr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) pulumi.StringPtrInput {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn pulumi.String(base64.StdEncoding.EncodeToString(fileData[:]))\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := signalr.NewService(ctx, \"exampleService\", \u0026signalr.ServiceArgs{\n\t\t\tLocation: pulumi.Any(azurerm_resource_group.Test.Location),\n\t\t\tResourceGroupName: pulumi.Any(azurerm_resource_group.Test.Name),\n\t\t\tSku: \u0026signalr.ServiceSkuArgs{\n\t\t\t\tName: pulumi.String(\"Premium_P1\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t\tIdentity: \u0026signalr.ServiceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"exampleKeyVault\", \u0026keyvault.KeyVaultArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tTenantId: *pulumi.String(current.TenantId),\n\t\t\tSkuName: pulumi.String(\"premium\"),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: *pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: *pulumi.String(current.ObjectId),\n\t\t\t\t\tCertificatePermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: *pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: pulumi.Any(azurerm_signalr_service.Test.Identity[0].Principal_id),\n\t\t\t\t\tCertificatePermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCertificate, err := keyvault.NewCertificate(ctx, \"exampleCertificate\", \u0026keyvault.CertificateArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tCertificate: \u0026keyvault.CertificateCertificateArgs{\n\t\t\t\tContents: filebase64OrPanic(\"certificate-to-import.pfx\"),\n\t\t\t\tPassword: pulumi.String(\"\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = signalr.NewServiceCustomCertificate(ctx, \"test\", \u0026signalr.ServiceCustomCertificateArgs{\n\t\t\tSignalrServiceId: exampleService.ID(),\n\t\t\tCustomCertificateId: exampleCertificate.ID(),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tazurerm_key_vault_access_policy.Example,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.signalr.Service;\nimport com.pulumi.azure.signalr.ServiceArgs;\nimport com.pulumi.azure.signalr.inputs.ServiceSkuArgs;\nimport com.pulumi.azure.signalr.inputs.ServiceIdentityArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Certificate;\nimport com.pulumi.azure.keyvault.CertificateArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificateArgs;\nimport com.pulumi.azure.signalr.ServiceCustomCertificate;\nimport com.pulumi.azure.signalr.ServiceCustomCertificateArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = CoreFunctions.getClientConfig();\n\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var exampleService = new Service(\"exampleService\", ServiceArgs.builder() \n .location(azurerm_resource_group.test().location())\n .resourceGroupName(azurerm_resource_group.test().name())\n .sku(ServiceSkuArgs.builder()\n .name(\"Premium_P1\")\n .capacity(1)\n .build())\n .identity(ServiceIdentityArgs.builder()\n .type(\"SystemAssigned\")\n .build())\n .build());\n\n var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder() \n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .skuName(\"premium\")\n .accessPolicies( \n KeyVaultAccessPolicyArgs.builder()\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .objectId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.objectId()))\n .certificatePermissions( \n \"Create\",\n \"Get\",\n \"List\")\n .secretPermissions( \n \"Get\",\n \"List\")\n .build(),\n KeyVaultAccessPolicyArgs.builder()\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .objectId(azurerm_signalr_service.test().identity()[0].principal_id())\n .certificatePermissions( \n \"Create\",\n \"Get\",\n \"List\")\n .secretPermissions( \n \"Get\",\n \"List\")\n .build())\n .build());\n\n var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder() \n .keyVaultId(exampleKeyVault.id())\n .certificate(CertificateCertificateArgs.builder()\n .contents(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"certificate-to-import.pfx\"))))\n .password(\"\")\n .build())\n .build());\n\n var test = new ServiceCustomCertificate(\"test\", ServiceCustomCertificateArgs.builder() \n .signalrServiceId(exampleService.id())\n .customCertificateId(exampleCertificate.id())\n .build(), CustomResourceOptions.builder()\n .dependsOn(azurerm_key_vault_access_policy.example())\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nCustom Certificate for a SignalR service can be imported using the `resource id`, e.g.\n\n```sh\n $ pulumi import azure:signalr/serviceCustomCertificate:ServiceCustomCertificate example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.SignalRService/signalR/signalr1/customCertificates/cert1\n```\n\n ", + "description": "Manages an Azure SignalR Custom Certificate.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as fs from \"fs\";\n\nconst current = azure.core.getClientConfig({});\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleService = new azure.signalr.Service(\"exampleService\", {\n location: azurerm_resource_group.test.location,\n resourceGroupName: azurerm_resource_group.test.name,\n sku: {\n name: \"Premium_P1\",\n capacity: 1,\n },\n identity: {\n type: \"SystemAssigned\",\n },\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"exampleKeyVault\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n tenantId: current.then(current =\u003e current.tenantId),\n skuName: \"premium\",\n accessPolicies: [\n {\n tenantId: current.then(current =\u003e current.tenantId),\n objectId: current.then(current =\u003e current.objectId),\n certificatePermissions: [\n \"Create\",\n \"Get\",\n \"List\",\n ],\n secretPermissions: [\n \"Get\",\n \"List\",\n ],\n },\n {\n tenantId: current.then(current =\u003e current.tenantId),\n objectId: azurerm_signalr_service.test.identity[0].principal_id,\n certificatePermissions: [\n \"Create\",\n \"Get\",\n \"List\",\n ],\n secretPermissions: [\n \"Get\",\n \"List\",\n ],\n },\n ],\n});\nconst exampleCertificate = new azure.keyvault.Certificate(\"exampleCertificate\", {\n keyVaultId: exampleKeyVault.id,\n certificate: {\n contents: Buffer.from(fs.readFileSync(\"certificate-to-import.pfx\", 'binary')).toString('base64'),\n password: \"\",\n },\n});\nconst test = new azure.signalr.ServiceCustomCertificate(\"test\", {\n signalrServiceId: exampleService.id,\n customCertificateId: exampleCertificate.id,\n}, {\n dependsOn: [azurerm_key_vault_access_policy.example],\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_service = azure.signalr.Service(\"exampleService\",\n location=azurerm_resource_group[\"test\"][\"location\"],\n resource_group_name=azurerm_resource_group[\"test\"][\"name\"],\n sku=azure.signalr.ServiceSkuArgs(\n name=\"Premium_P1\",\n capacity=1,\n ),\n identity=azure.signalr.ServiceIdentityArgs(\n type=\"SystemAssigned\",\n ))\nexample_key_vault = azure.keyvault.KeyVault(\"exampleKeyVault\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n tenant_id=current.tenant_id,\n sku_name=\"premium\",\n access_policies=[\n azure.keyvault.KeyVaultAccessPolicyArgs(\n tenant_id=current.tenant_id,\n object_id=current.object_id,\n certificate_permissions=[\n \"Create\",\n \"Get\",\n \"List\",\n ],\n secret_permissions=[\n \"Get\",\n \"List\",\n ],\n ),\n azure.keyvault.KeyVaultAccessPolicyArgs(\n tenant_id=current.tenant_id,\n object_id=azurerm_signalr_service[\"test\"][\"identity\"][0][\"principal_id\"],\n certificate_permissions=[\n \"Create\",\n \"Get\",\n \"List\",\n ],\n secret_permissions=[\n \"Get\",\n \"List\",\n ],\n ),\n ])\nexample_certificate = azure.keyvault.Certificate(\"exampleCertificate\",\n key_vault_id=example_key_vault.id,\n certificate=azure.keyvault.CertificateCertificateArgs(\n contents=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"certificate-to-import.pfx\"),\n password=\"\",\n ))\ntest = azure.signalr.ServiceCustomCertificate(\"test\",\n signalr_service_id=example_service.id,\n custom_certificate_id=example_certificate.id,\n opts=pulumi.ResourceOptions(depends_on=[azurerm_key_vault_access_policy[\"example\"]]))\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\n\t\nstring ReadFileBase64(string path) \n{\n return Convert.ToBase64String(Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Azure.Core.GetClientConfig.Invoke();\n\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleService = new Azure.SignalR.Service(\"exampleService\", new()\n {\n Location = azurerm_resource_group.Test.Location,\n ResourceGroupName = azurerm_resource_group.Test.Name,\n Sku = new Azure.SignalR.Inputs.ServiceSkuArgs\n {\n Name = \"Premium_P1\",\n Capacity = 1,\n },\n Identity = new Azure.SignalR.Inputs.ServiceIdentityArgs\n {\n Type = \"SystemAssigned\",\n },\n });\n\n var exampleKeyVault = new Azure.KeyVault.KeyVault(\"exampleKeyVault\", new()\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n SkuName = \"premium\",\n AccessPolicies = new[]\n {\n new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n {\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n CertificatePermissions = new[]\n {\n \"Create\",\n \"Get\",\n \"List\",\n },\n SecretPermissions = new[]\n {\n \"Get\",\n \"List\",\n },\n },\n new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n {\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n ObjectId = azurerm_signalr_service.Test.Identity[0].Principal_id,\n CertificatePermissions = new[]\n {\n \"Create\",\n \"Get\",\n \"List\",\n },\n SecretPermissions = new[]\n {\n \"Get\",\n \"List\",\n },\n },\n },\n });\n\n var exampleCertificate = new Azure.KeyVault.Certificate(\"exampleCertificate\", new()\n {\n KeyVaultId = exampleKeyVault.Id,\n KeyVaultCertificate = new Azure.KeyVault.Inputs.CertificateCertificateArgs\n {\n Contents = ReadFileBase64(\"certificate-to-import.pfx\"),\n Password = \"\",\n },\n });\n\n var test = new Azure.SignalR.ServiceCustomCertificate(\"test\", new()\n {\n SignalrServiceId = exampleService.Id,\n CustomCertificateId = exampleCertificate.Id,\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n azurerm_key_vault_access_policy.Example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/signalr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) string {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn base64.StdEncoding.EncodeToString(fileData[:])\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := signalr.NewService(ctx, \"exampleService\", \u0026signalr.ServiceArgs{\n\t\t\tLocation: pulumi.Any(azurerm_resource_group.Test.Location),\n\t\t\tResourceGroupName: pulumi.Any(azurerm_resource_group.Test.Name),\n\t\t\tSku: \u0026signalr.ServiceSkuArgs{\n\t\t\t\tName: pulumi.String(\"Premium_P1\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t\tIdentity: \u0026signalr.ServiceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"exampleKeyVault\", \u0026keyvault.KeyVaultArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tTenantId: *pulumi.String(current.TenantId),\n\t\t\tSkuName: pulumi.String(\"premium\"),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: *pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: *pulumi.String(current.ObjectId),\n\t\t\t\t\tCertificatePermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: *pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: pulumi.Any(azurerm_signalr_service.Test.Identity[0].Principal_id),\n\t\t\t\t\tCertificatePermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCertificate, err := keyvault.NewCertificate(ctx, \"exampleCertificate\", \u0026keyvault.CertificateArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tCertificate: \u0026keyvault.CertificateCertificateArgs{\n\t\t\t\tContents: filebase64OrPanic(\"certificate-to-import.pfx\"),\n\t\t\t\tPassword: pulumi.String(\"\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = signalr.NewServiceCustomCertificate(ctx, \"test\", \u0026signalr.ServiceCustomCertificateArgs{\n\t\t\tSignalrServiceId: exampleService.ID(),\n\t\t\tCustomCertificateId: exampleCertificate.ID(),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tazurerm_key_vault_access_policy.Example,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.signalr.Service;\nimport com.pulumi.azure.signalr.ServiceArgs;\nimport com.pulumi.azure.signalr.inputs.ServiceSkuArgs;\nimport com.pulumi.azure.signalr.inputs.ServiceIdentityArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Certificate;\nimport com.pulumi.azure.keyvault.CertificateArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificateArgs;\nimport com.pulumi.azure.signalr.ServiceCustomCertificate;\nimport com.pulumi.azure.signalr.ServiceCustomCertificateArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = CoreFunctions.getClientConfig();\n\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var exampleService = new Service(\"exampleService\", ServiceArgs.builder() \n .location(azurerm_resource_group.test().location())\n .resourceGroupName(azurerm_resource_group.test().name())\n .sku(ServiceSkuArgs.builder()\n .name(\"Premium_P1\")\n .capacity(1)\n .build())\n .identity(ServiceIdentityArgs.builder()\n .type(\"SystemAssigned\")\n .build())\n .build());\n\n var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder() \n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .skuName(\"premium\")\n .accessPolicies( \n KeyVaultAccessPolicyArgs.builder()\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .objectId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.objectId()))\n .certificatePermissions( \n \"Create\",\n \"Get\",\n \"List\")\n .secretPermissions( \n \"Get\",\n \"List\")\n .build(),\n KeyVaultAccessPolicyArgs.builder()\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .objectId(azurerm_signalr_service.test().identity()[0].principal_id())\n .certificatePermissions( \n \"Create\",\n \"Get\",\n \"List\")\n .secretPermissions( \n \"Get\",\n \"List\")\n .build())\n .build());\n\n var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder() \n .keyVaultId(exampleKeyVault.id())\n .certificate(CertificateCertificateArgs.builder()\n .contents(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"certificate-to-import.pfx\"))))\n .password(\"\")\n .build())\n .build());\n\n var test = new ServiceCustomCertificate(\"test\", ServiceCustomCertificateArgs.builder() \n .signalrServiceId(exampleService.id())\n .customCertificateId(exampleCertificate.id())\n .build(), CustomResourceOptions.builder()\n .dependsOn(azurerm_key_vault_access_policy.example())\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nCustom Certificate for a SignalR service can be imported using the `resource id`, e.g.\n\n```sh\n $ pulumi import azure:signalr/serviceCustomCertificate:ServiceCustomCertificate example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.SignalRService/signalR/signalr1/customCertificates/cert1\n```\n\n ", "properties": { "certificateVersion": { "type": "string", @@ -247174,7 +247174,7 @@ } }, "azure:signalr/serviceCustomDomain:ServiceCustomDomain": { - "description": "Manages an Azure SignalR Custom Domain.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as fs from \"fs\";\n\nconst current = azure.core.getClientConfig({});\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleService = new azure.signalr.Service(\"exampleService\", {\n location: azurerm_resource_group.test.location,\n resourceGroupName: azurerm_resource_group.test.name,\n sku: {\n name: \"Premium_P1\",\n capacity: 1,\n },\n identity: {\n type: \"SystemAssigned\",\n },\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"exampleKeyVault\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n tenantId: current.then(current =\u003e current.tenantId),\n skuName: \"premium\",\n accessPolicies: [\n {\n tenantId: current.then(current =\u003e current.tenantId),\n objectId: current.then(current =\u003e current.objectId),\n certificatePermissions: [\n \"Create\",\n \"Get\",\n \"List\",\n ],\n secretPermissions: [\n \"Get\",\n \"List\",\n ],\n },\n {\n tenantId: current.then(current =\u003e current.tenantId),\n objectId: azurerm_signalr_service.test.identity[0].principal_id,\n certificatePermissions: [\n \"Create\",\n \"Get\",\n \"List\",\n ],\n secretPermissions: [\n \"Get\",\n \"List\",\n ],\n },\n ],\n});\nconst exampleCertificate = new azure.keyvault.Certificate(\"exampleCertificate\", {\n keyVaultId: exampleKeyVault.id,\n certificate: {\n contents: Buffer.from(fs.readFileSync(\"certificate-to-import.pfx\"), 'binary').toString('base64'),\n password: \"\",\n },\n});\nconst testServiceCustomCertificate = new azure.signalr.ServiceCustomCertificate(\"testServiceCustomCertificate\", {\n signalrServiceId: exampleService.id,\n customCertificateId: exampleCertificate.id,\n}, {\n dependsOn: [azurerm_key_vault_access_policy.example],\n});\nconst testServiceCustomDomain = new azure.signalr.ServiceCustomDomain(\"testServiceCustomDomain\", {\n signalrServiceId: azurerm_signalr_service.test.id,\n domainName: \"tftest.com\",\n signalrCustomCertificateId: testServiceCustomCertificate.id,\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_service = azure.signalr.Service(\"exampleService\",\n location=azurerm_resource_group[\"test\"][\"location\"],\n resource_group_name=azurerm_resource_group[\"test\"][\"name\"],\n sku=azure.signalr.ServiceSkuArgs(\n name=\"Premium_P1\",\n capacity=1,\n ),\n identity=azure.signalr.ServiceIdentityArgs(\n type=\"SystemAssigned\",\n ))\nexample_key_vault = azure.keyvault.KeyVault(\"exampleKeyVault\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n tenant_id=current.tenant_id,\n sku_name=\"premium\",\n access_policies=[\n azure.keyvault.KeyVaultAccessPolicyArgs(\n tenant_id=current.tenant_id,\n object_id=current.object_id,\n certificate_permissions=[\n \"Create\",\n \"Get\",\n \"List\",\n ],\n secret_permissions=[\n \"Get\",\n \"List\",\n ],\n ),\n azure.keyvault.KeyVaultAccessPolicyArgs(\n tenant_id=current.tenant_id,\n object_id=azurerm_signalr_service[\"test\"][\"identity\"][0][\"principal_id\"],\n certificate_permissions=[\n \"Create\",\n \"Get\",\n \"List\",\n ],\n secret_permissions=[\n \"Get\",\n \"List\",\n ],\n ),\n ])\nexample_certificate = azure.keyvault.Certificate(\"exampleCertificate\",\n key_vault_id=example_key_vault.id,\n certificate=azure.keyvault.CertificateCertificateArgs(\n contents=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"certificate-to-import.pfx\"),\n password=\"\",\n ))\ntest_service_custom_certificate = azure.signalr.ServiceCustomCertificate(\"testServiceCustomCertificate\",\n signalr_service_id=example_service.id,\n custom_certificate_id=example_certificate.id,\n opts=pulumi.ResourceOptions(depends_on=[azurerm_key_vault_access_policy[\"example\"]]))\ntest_service_custom_domain = azure.signalr.ServiceCustomDomain(\"testServiceCustomDomain\",\n signalr_service_id=azurerm_signalr_service[\"test\"][\"id\"],\n domain_name=\"tftest.com\",\n signalr_custom_certificate_id=test_service_custom_certificate.id)\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\n\tprivate static string ReadFileBase64(string path) {\n\t\treturn Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n\t}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Azure.Core.GetClientConfig.Invoke();\n\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleService = new Azure.SignalR.Service(\"exampleService\", new()\n {\n Location = azurerm_resource_group.Test.Location,\n ResourceGroupName = azurerm_resource_group.Test.Name,\n Sku = new Azure.SignalR.Inputs.ServiceSkuArgs\n {\n Name = \"Premium_P1\",\n Capacity = 1,\n },\n Identity = new Azure.SignalR.Inputs.ServiceIdentityArgs\n {\n Type = \"SystemAssigned\",\n },\n });\n\n var exampleKeyVault = new Azure.KeyVault.KeyVault(\"exampleKeyVault\", new()\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n SkuName = \"premium\",\n AccessPolicies = new[]\n {\n new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n {\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n CertificatePermissions = new[]\n {\n \"Create\",\n \"Get\",\n \"List\",\n },\n SecretPermissions = new[]\n {\n \"Get\",\n \"List\",\n },\n },\n new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n {\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n ObjectId = azurerm_signalr_service.Test.Identity[0].Principal_id,\n CertificatePermissions = new[]\n {\n \"Create\",\n \"Get\",\n \"List\",\n },\n SecretPermissions = new[]\n {\n \"Get\",\n \"List\",\n },\n },\n },\n });\n\n var exampleCertificate = new Azure.KeyVault.Certificate(\"exampleCertificate\", new()\n {\n KeyVaultId = exampleKeyVault.Id,\n KeyVaultCertificate = new Azure.KeyVault.Inputs.CertificateCertificateArgs\n {\n Contents = ReadFileBase64(\"certificate-to-import.pfx\"),\n Password = \"\",\n },\n });\n\n var testServiceCustomCertificate = new Azure.SignalR.ServiceCustomCertificate(\"testServiceCustomCertificate\", new()\n {\n SignalrServiceId = exampleService.Id,\n CustomCertificateId = exampleCertificate.Id,\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n azurerm_key_vault_access_policy.Example,\n },\n });\n\n var testServiceCustomDomain = new Azure.SignalR.ServiceCustomDomain(\"testServiceCustomDomain\", new()\n {\n SignalrServiceId = azurerm_signalr_service.Test.Id,\n DomainName = \"tftest.com\",\n SignalrCustomCertificateId = testServiceCustomCertificate.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/signalr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) pulumi.StringPtrInput {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn pulumi.String(base64.StdEncoding.EncodeToString(fileData[:]))\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := signalr.NewService(ctx, \"exampleService\", \u0026signalr.ServiceArgs{\n\t\t\tLocation: pulumi.Any(azurerm_resource_group.Test.Location),\n\t\t\tResourceGroupName: pulumi.Any(azurerm_resource_group.Test.Name),\n\t\t\tSku: \u0026signalr.ServiceSkuArgs{\n\t\t\t\tName: pulumi.String(\"Premium_P1\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t\tIdentity: \u0026signalr.ServiceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"exampleKeyVault\", \u0026keyvault.KeyVaultArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tTenantId: *pulumi.String(current.TenantId),\n\t\t\tSkuName: pulumi.String(\"premium\"),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: *pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: *pulumi.String(current.ObjectId),\n\t\t\t\t\tCertificatePermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: *pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: pulumi.Any(azurerm_signalr_service.Test.Identity[0].Principal_id),\n\t\t\t\t\tCertificatePermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCertificate, err := keyvault.NewCertificate(ctx, \"exampleCertificate\", \u0026keyvault.CertificateArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tCertificate: \u0026keyvault.CertificateCertificateArgs{\n\t\t\t\tContents: filebase64OrPanic(\"certificate-to-import.pfx\"),\n\t\t\t\tPassword: pulumi.String(\"\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestServiceCustomCertificate, err := signalr.NewServiceCustomCertificate(ctx, \"testServiceCustomCertificate\", \u0026signalr.ServiceCustomCertificateArgs{\n\t\t\tSignalrServiceId: exampleService.ID(),\n\t\t\tCustomCertificateId: exampleCertificate.ID(),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tazurerm_key_vault_access_policy.Example,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = signalr.NewServiceCustomDomain(ctx, \"testServiceCustomDomain\", \u0026signalr.ServiceCustomDomainArgs{\n\t\t\tSignalrServiceId: pulumi.Any(azurerm_signalr_service.Test.Id),\n\t\t\tDomainName: pulumi.String(\"tftest.com\"),\n\t\t\tSignalrCustomCertificateId: testServiceCustomCertificate.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.signalr.Service;\nimport com.pulumi.azure.signalr.ServiceArgs;\nimport com.pulumi.azure.signalr.inputs.ServiceSkuArgs;\nimport com.pulumi.azure.signalr.inputs.ServiceIdentityArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Certificate;\nimport com.pulumi.azure.keyvault.CertificateArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificateArgs;\nimport com.pulumi.azure.signalr.ServiceCustomCertificate;\nimport com.pulumi.azure.signalr.ServiceCustomCertificateArgs;\nimport com.pulumi.azure.signalr.ServiceCustomDomain;\nimport com.pulumi.azure.signalr.ServiceCustomDomainArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = CoreFunctions.getClientConfig();\n\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var exampleService = new Service(\"exampleService\", ServiceArgs.builder() \n .location(azurerm_resource_group.test().location())\n .resourceGroupName(azurerm_resource_group.test().name())\n .sku(ServiceSkuArgs.builder()\n .name(\"Premium_P1\")\n .capacity(1)\n .build())\n .identity(ServiceIdentityArgs.builder()\n .type(\"SystemAssigned\")\n .build())\n .build());\n\n var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder() \n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .skuName(\"premium\")\n .accessPolicies( \n KeyVaultAccessPolicyArgs.builder()\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .objectId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.objectId()))\n .certificatePermissions( \n \"Create\",\n \"Get\",\n \"List\")\n .secretPermissions( \n \"Get\",\n \"List\")\n .build(),\n KeyVaultAccessPolicyArgs.builder()\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .objectId(azurerm_signalr_service.test().identity()[0].principal_id())\n .certificatePermissions( \n \"Create\",\n \"Get\",\n \"List\")\n .secretPermissions( \n \"Get\",\n \"List\")\n .build())\n .build());\n\n var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder() \n .keyVaultId(exampleKeyVault.id())\n .certificate(CertificateCertificateArgs.builder()\n .contents(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"certificate-to-import.pfx\"))))\n .password(\"\")\n .build())\n .build());\n\n var testServiceCustomCertificate = new ServiceCustomCertificate(\"testServiceCustomCertificate\", ServiceCustomCertificateArgs.builder() \n .signalrServiceId(exampleService.id())\n .customCertificateId(exampleCertificate.id())\n .build(), CustomResourceOptions.builder()\n .dependsOn(azurerm_key_vault_access_policy.example())\n .build());\n\n var testServiceCustomDomain = new ServiceCustomDomain(\"testServiceCustomDomain\", ServiceCustomDomainArgs.builder() \n .signalrServiceId(azurerm_signalr_service.test().id())\n .domainName(\"tftest.com\")\n .signalrCustomCertificateId(testServiceCustomCertificate.id())\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nCustom Domain for a SignalR service can be imported using the `resource id`, e.g.\n\n```sh\n $ pulumi import azure:signalr/serviceCustomDomain:ServiceCustomDomain example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.SignalRService/signalR/signalr1/customDomains/customDomain1\n```\n\n ", + "description": "Manages an Azure SignalR Custom Domain.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as fs from \"fs\";\n\nconst current = azure.core.getClientConfig({});\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleService = new azure.signalr.Service(\"exampleService\", {\n location: azurerm_resource_group.test.location,\n resourceGroupName: azurerm_resource_group.test.name,\n sku: {\n name: \"Premium_P1\",\n capacity: 1,\n },\n identity: {\n type: \"SystemAssigned\",\n },\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"exampleKeyVault\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n tenantId: current.then(current =\u003e current.tenantId),\n skuName: \"premium\",\n accessPolicies: [\n {\n tenantId: current.then(current =\u003e current.tenantId),\n objectId: current.then(current =\u003e current.objectId),\n certificatePermissions: [\n \"Create\",\n \"Get\",\n \"List\",\n ],\n secretPermissions: [\n \"Get\",\n \"List\",\n ],\n },\n {\n tenantId: current.then(current =\u003e current.tenantId),\n objectId: azurerm_signalr_service.test.identity[0].principal_id,\n certificatePermissions: [\n \"Create\",\n \"Get\",\n \"List\",\n ],\n secretPermissions: [\n \"Get\",\n \"List\",\n ],\n },\n ],\n});\nconst exampleCertificate = new azure.keyvault.Certificate(\"exampleCertificate\", {\n keyVaultId: exampleKeyVault.id,\n certificate: {\n contents: Buffer.from(fs.readFileSync(\"certificate-to-import.pfx\", 'binary')).toString('base64'),\n password: \"\",\n },\n});\nconst testServiceCustomCertificate = new azure.signalr.ServiceCustomCertificate(\"testServiceCustomCertificate\", {\n signalrServiceId: exampleService.id,\n customCertificateId: exampleCertificate.id,\n}, {\n dependsOn: [azurerm_key_vault_access_policy.example],\n});\nconst testServiceCustomDomain = new azure.signalr.ServiceCustomDomain(\"testServiceCustomDomain\", {\n signalrServiceId: azurerm_signalr_service.test.id,\n domainName: \"tftest.com\",\n signalrCustomCertificateId: testServiceCustomCertificate.id,\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_service = azure.signalr.Service(\"exampleService\",\n location=azurerm_resource_group[\"test\"][\"location\"],\n resource_group_name=azurerm_resource_group[\"test\"][\"name\"],\n sku=azure.signalr.ServiceSkuArgs(\n name=\"Premium_P1\",\n capacity=1,\n ),\n identity=azure.signalr.ServiceIdentityArgs(\n type=\"SystemAssigned\",\n ))\nexample_key_vault = azure.keyvault.KeyVault(\"exampleKeyVault\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n tenant_id=current.tenant_id,\n sku_name=\"premium\",\n access_policies=[\n azure.keyvault.KeyVaultAccessPolicyArgs(\n tenant_id=current.tenant_id,\n object_id=current.object_id,\n certificate_permissions=[\n \"Create\",\n \"Get\",\n \"List\",\n ],\n secret_permissions=[\n \"Get\",\n \"List\",\n ],\n ),\n azure.keyvault.KeyVaultAccessPolicyArgs(\n tenant_id=current.tenant_id,\n object_id=azurerm_signalr_service[\"test\"][\"identity\"][0][\"principal_id\"],\n certificate_permissions=[\n \"Create\",\n \"Get\",\n \"List\",\n ],\n secret_permissions=[\n \"Get\",\n \"List\",\n ],\n ),\n ])\nexample_certificate = azure.keyvault.Certificate(\"exampleCertificate\",\n key_vault_id=example_key_vault.id,\n certificate=azure.keyvault.CertificateCertificateArgs(\n contents=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"certificate-to-import.pfx\"),\n password=\"\",\n ))\ntest_service_custom_certificate = azure.signalr.ServiceCustomCertificate(\"testServiceCustomCertificate\",\n signalr_service_id=example_service.id,\n custom_certificate_id=example_certificate.id,\n opts=pulumi.ResourceOptions(depends_on=[azurerm_key_vault_access_policy[\"example\"]]))\ntest_service_custom_domain = azure.signalr.ServiceCustomDomain(\"testServiceCustomDomain\",\n signalr_service_id=azurerm_signalr_service[\"test\"][\"id\"],\n domain_name=\"tftest.com\",\n signalr_custom_certificate_id=test_service_custom_certificate.id)\n```\n```csharp\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\n\t\nstring ReadFileBase64(string path) \n{\n return Convert.ToBase64String(Encoding.UTF8.GetBytes(File.ReadAllText(path)));\n}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Azure.Core.GetClientConfig.Invoke();\n\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new()\n {\n Location = \"West Europe\",\n });\n\n var exampleService = new Azure.SignalR.Service(\"exampleService\", new()\n {\n Location = azurerm_resource_group.Test.Location,\n ResourceGroupName = azurerm_resource_group.Test.Name,\n Sku = new Azure.SignalR.Inputs.ServiceSkuArgs\n {\n Name = \"Premium_P1\",\n Capacity = 1,\n },\n Identity = new Azure.SignalR.Inputs.ServiceIdentityArgs\n {\n Type = \"SystemAssigned\",\n },\n });\n\n var exampleKeyVault = new Azure.KeyVault.KeyVault(\"exampleKeyVault\", new()\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n SkuName = \"premium\",\n AccessPolicies = new[]\n {\n new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n {\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n CertificatePermissions = new[]\n {\n \"Create\",\n \"Get\",\n \"List\",\n },\n SecretPermissions = new[]\n {\n \"Get\",\n \"List\",\n },\n },\n new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n {\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n ObjectId = azurerm_signalr_service.Test.Identity[0].Principal_id,\n CertificatePermissions = new[]\n {\n \"Create\",\n \"Get\",\n \"List\",\n },\n SecretPermissions = new[]\n {\n \"Get\",\n \"List\",\n },\n },\n },\n });\n\n var exampleCertificate = new Azure.KeyVault.Certificate(\"exampleCertificate\", new()\n {\n KeyVaultId = exampleKeyVault.Id,\n KeyVaultCertificate = new Azure.KeyVault.Inputs.CertificateCertificateArgs\n {\n Contents = ReadFileBase64(\"certificate-to-import.pfx\"),\n Password = \"\",\n },\n });\n\n var testServiceCustomCertificate = new Azure.SignalR.ServiceCustomCertificate(\"testServiceCustomCertificate\", new()\n {\n SignalrServiceId = exampleService.Id,\n CustomCertificateId = exampleCertificate.Id,\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n azurerm_key_vault_access_policy.Example,\n },\n });\n\n var testServiceCustomDomain = new Azure.SignalR.ServiceCustomDomain(\"testServiceCustomDomain\", new()\n {\n SignalrServiceId = azurerm_signalr_service.Test.Id,\n DomainName = \"tftest.com\",\n SignalrCustomCertificateId = testServiceCustomCertificate.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/signalr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) string {\n\tif fileData, err := os.ReadFile(path); err == nil {\n\t\treturn base64.StdEncoding.EncodeToString(fileData[:])\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := signalr.NewService(ctx, \"exampleService\", \u0026signalr.ServiceArgs{\n\t\t\tLocation: pulumi.Any(azurerm_resource_group.Test.Location),\n\t\t\tResourceGroupName: pulumi.Any(azurerm_resource_group.Test.Name),\n\t\t\tSku: \u0026signalr.ServiceSkuArgs{\n\t\t\t\tName: pulumi.String(\"Premium_P1\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t\tIdentity: \u0026signalr.ServiceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"exampleKeyVault\", \u0026keyvault.KeyVaultArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tTenantId: *pulumi.String(current.TenantId),\n\t\t\tSkuName: pulumi.String(\"premium\"),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: *pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: *pulumi.String(current.ObjectId),\n\t\t\t\t\tCertificatePermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: *pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: pulumi.Any(azurerm_signalr_service.Test.Identity[0].Principal_id),\n\t\t\t\t\tCertificatePermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCertificate, err := keyvault.NewCertificate(ctx, \"exampleCertificate\", \u0026keyvault.CertificateArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tCertificate: \u0026keyvault.CertificateCertificateArgs{\n\t\t\t\tContents: filebase64OrPanic(\"certificate-to-import.pfx\"),\n\t\t\t\tPassword: pulumi.String(\"\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestServiceCustomCertificate, err := signalr.NewServiceCustomCertificate(ctx, \"testServiceCustomCertificate\", \u0026signalr.ServiceCustomCertificateArgs{\n\t\t\tSignalrServiceId: exampleService.ID(),\n\t\t\tCustomCertificateId: exampleCertificate.ID(),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tazurerm_key_vault_access_policy.Example,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = signalr.NewServiceCustomDomain(ctx, \"testServiceCustomDomain\", \u0026signalr.ServiceCustomDomainArgs{\n\t\t\tSignalrServiceId: pulumi.Any(azurerm_signalr_service.Test.Id),\n\t\t\tDomainName: pulumi.String(\"tftest.com\"),\n\t\t\tSignalrCustomCertificateId: testServiceCustomCertificate.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.signalr.Service;\nimport com.pulumi.azure.signalr.ServiceArgs;\nimport com.pulumi.azure.signalr.inputs.ServiceSkuArgs;\nimport com.pulumi.azure.signalr.inputs.ServiceIdentityArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Certificate;\nimport com.pulumi.azure.keyvault.CertificateArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificateArgs;\nimport com.pulumi.azure.signalr.ServiceCustomCertificate;\nimport com.pulumi.azure.signalr.ServiceCustomCertificateArgs;\nimport com.pulumi.azure.signalr.ServiceCustomDomain;\nimport com.pulumi.azure.signalr.ServiceCustomDomainArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = CoreFunctions.getClientConfig();\n\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .location(\"West Europe\")\n .build());\n\n var exampleService = new Service(\"exampleService\", ServiceArgs.builder() \n .location(azurerm_resource_group.test().location())\n .resourceGroupName(azurerm_resource_group.test().name())\n .sku(ServiceSkuArgs.builder()\n .name(\"Premium_P1\")\n .capacity(1)\n .build())\n .identity(ServiceIdentityArgs.builder()\n .type(\"SystemAssigned\")\n .build())\n .build());\n\n var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder() \n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .skuName(\"premium\")\n .accessPolicies( \n KeyVaultAccessPolicyArgs.builder()\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .objectId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.objectId()))\n .certificatePermissions( \n \"Create\",\n \"Get\",\n \"List\")\n .secretPermissions( \n \"Get\",\n \"List\")\n .build(),\n KeyVaultAccessPolicyArgs.builder()\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .objectId(azurerm_signalr_service.test().identity()[0].principal_id())\n .certificatePermissions( \n \"Create\",\n \"Get\",\n \"List\")\n .secretPermissions( \n \"Get\",\n \"List\")\n .build())\n .build());\n\n var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder() \n .keyVaultId(exampleKeyVault.id())\n .certificate(CertificateCertificateArgs.builder()\n .contents(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"certificate-to-import.pfx\"))))\n .password(\"\")\n .build())\n .build());\n\n var testServiceCustomCertificate = new ServiceCustomCertificate(\"testServiceCustomCertificate\", ServiceCustomCertificateArgs.builder() \n .signalrServiceId(exampleService.id())\n .customCertificateId(exampleCertificate.id())\n .build(), CustomResourceOptions.builder()\n .dependsOn(azurerm_key_vault_access_policy.example())\n .build());\n\n var testServiceCustomDomain = new ServiceCustomDomain(\"testServiceCustomDomain\", ServiceCustomDomainArgs.builder() \n .signalrServiceId(azurerm_signalr_service.test().id())\n .domainName(\"tftest.com\")\n .signalrCustomCertificateId(testServiceCustomCertificate.id())\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nCustom Domain for a SignalR service can be imported using the `resource id`, e.g.\n\n```sh\n $ pulumi import azure:signalr/serviceCustomDomain:ServiceCustomDomain example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.SignalRService/signalR/signalr1/customDomains/customDomain1\n```\n\n ", "properties": { "domainName": { "type": "string", diff --git a/provider/go.mod b/provider/go.mod index 3923316ad2..dc0d673a51 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -8,7 +8,7 @@ require ( github.com/hashicorp/terraform-plugin-sdk/v2 v2.29.0 github.com/hashicorp/terraform-provider-azurerm v1.44.1-0.20220923005104-eaa801c358ff github.com/pulumi/pulumi-terraform-bridge/v3 v3.68.0 - github.com/pulumi/pulumi/sdk/v3 v3.96.2 + github.com/pulumi/pulumi/sdk/v3 v3.97.0 github.com/stretchr/testify v1.8.4 ) @@ -253,3 +253,7 @@ require ( lukechampine.com/frand v1.4.2 // indirect software.sslmate.com/src/go-pkcs12 v0.2.1 // indirect ) + +replace github.com/pulumi/pulumi/pkg/v3 => github.com/pulumi/pulumi/pkg/v3 v3.78.2-0.20231218165640-f8e29f63f531 + +replace github.com/pulumi/pulumi/sdk/v3 => github.com/pulumi/pulumi/sdk/v3 v3.97.1-0.20231218165640-f8e29f63f531 diff --git a/provider/go.sum b/provider/go.sum index 2405f83162..c569192adf 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -2200,10 +2200,10 @@ github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.4 h1:rIzMmtcVpPX8ynaz6/nW github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.4/go.mod h1:Kt8RIZWa/N8rW3+0g6NrqCBmF3o+HuIhFaZpssEkG6w= github.com/pulumi/pulumi-yaml v1.4.3 h1:GO36c7FTl8If20Dn/w2Hi3huP7kmsO00KNaz3GJU0Ws= github.com/pulumi/pulumi-yaml v1.4.3/go.mod h1:1hwsXFnT7hm2ZeftY5fzjkngjs2eT/rv9MsPE48Leb4= -github.com/pulumi/pulumi/pkg/v3 v3.96.2 h1:d+zDsh4K1j90q/upDRkhgxHkspP20Xxd3g6OaMbw574= -github.com/pulumi/pulumi/pkg/v3 v3.96.2/go.mod h1:lR+q06XrnEqRzJXZ6IeHb4nu+U5fswFcc51Q0MRBTio= -github.com/pulumi/pulumi/sdk/v3 v3.96.2 h1:q5ZKdf+e9JR+a6Eiueg0Ohy6jCQGk9pO2V7xI/qGP3I= -github.com/pulumi/pulumi/sdk/v3 v3.96.2/go.mod h1:yvD23IIRiqIXuo4kaZNe5zK/uT0nhO99wr6BVEqoi7A= +github.com/pulumi/pulumi/pkg/v3 v3.78.2-0.20231218165640-f8e29f63f531 h1:+zeNLFuEDhj0pXsn3i1dqXMJ/0WfCPd+o335lWK43F8= +github.com/pulumi/pulumi/pkg/v3 v3.78.2-0.20231218165640-f8e29f63f531/go.mod h1:GmiL5PyX6XW45zwUyoinz7vp1dMdKjDHJORUdoP+RVI= +github.com/pulumi/pulumi/sdk/v3 v3.97.1-0.20231218165640-f8e29f63f531 h1:BuN9naBwYieEOSvW+NqDTCEUwDbOeozXnbVPPNh8zW4= +github.com/pulumi/pulumi/sdk/v3 v3.97.1-0.20231218165640-f8e29f63f531/go.mod h1:yvD23IIRiqIXuo4kaZNe5zK/uT0nhO99wr6BVEqoi7A= github.com/pulumi/schema-tools v0.1.2 h1:Fd9xvUjgck4NA+7/jSk7InqCUT4Kj940+EcnbQKpfZo= github.com/pulumi/schema-tools v0.1.2/go.mod h1:62lgj52Tzq11eqWTIaKd+EVyYAu5dEcDJxMhTjvMO/k= github.com/pulumi/terraform-diff-reader v0.0.2 h1:kTE4nEXU3/SYXESvAIem+wyHMI3abqkI3OhJ0G04LLI= diff --git a/sdk/go.mod b/sdk/go.mod index ccaa179aee..302d013cb8 100644 --- a/sdk/go.mod +++ b/sdk/go.mod @@ -92,3 +92,7 @@ require ( lukechampine.com/frand v1.4.2 // indirect pgregory.net/rapid v0.6.1 // indirect ) + +replace github.com/pulumi/pulumi/pkg/v3 => github.com/pulumi/pulumi/pkg/v3 v3.78.2-0.20231218165640-f8e29f63f531 + +replace github.com/pulumi/pulumi/sdk/v3 => github.com/pulumi/pulumi/sdk/v3 v3.97.1-0.20231218165640-f8e29f63f531 diff --git a/sdk/go.sum b/sdk/go.sum index 9c7549f06c..41de6a8cf4 100644 --- a/sdk/go.sum +++ b/sdk/go.sum @@ -151,8 +151,8 @@ github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435 github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE= github.com/pulumi/esc v0.5.6 h1:4WV3X7OEVcChIwbSG+JxhZDdmq/q7lFPaSjHRYlPwmI= github.com/pulumi/esc v0.5.6/go.mod h1:wpwNfVS5fV7Kd51j4dJ6FWYlKfxdqyppgp0gtkzqH04= -github.com/pulumi/pulumi/sdk/v3 v3.96.2 h1:q5ZKdf+e9JR+a6Eiueg0Ohy6jCQGk9pO2V7xI/qGP3I= -github.com/pulumi/pulumi/sdk/v3 v3.96.2/go.mod h1:yvD23IIRiqIXuo4kaZNe5zK/uT0nhO99wr6BVEqoi7A= +github.com/pulumi/pulumi/sdk/v3 v3.97.1-0.20231218165640-f8e29f63f531 h1:BuN9naBwYieEOSvW+NqDTCEUwDbOeozXnbVPPNh8zW4= +github.com/pulumi/pulumi/sdk/v3 v3.97.1-0.20231218165640-f8e29f63f531/go.mod h1:yvD23IIRiqIXuo4kaZNe5zK/uT0nhO99wr6BVEqoi7A= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis=