Cache Args
data class CacheArgs(val cacheName: Output<String>? = null, val cacheSizeGB: Output<Int>? = null, val directoryServicesSettings: Output<CacheDirectorySettingsArgs>? = null, val encryptionSettings: Output<CacheEncryptionSettingsArgs>? = null, val identity: Output<CacheIdentityArgs>? = null, val location: Output<String>? = null, val networkSettings: Output<CacheNetworkSettingsArgs>? = null, val resourceGroupName: Output<String>? = null, val securitySettings: Output<CacheSecuritySettingsArgs>? = null, val sku: Output<CacheSkuArgs>? = null, val subnet: Output<String>? = null, val tags: Output<Map<String, String>>? = null, val upgradeSettings: Output<CacheUpgradeSettingsArgs>? = null, val zones: Output<List<String>>? = null) : ConvertibleToJava<CacheArgs>
A cache instance. Follows Azure Resource Manager standards: https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/resource-api-reference.md Azure REST API version: 2023-05-01. Prior API version in Azure Native 1.x: 2021-03-01. Other available API versions: 2020-10-01, 2021-03-01, 2023-03-01-preview.
Example Usage
Caches_CreateOrUpdate_ldap_only
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var cache = new AzureNative.StorageCache.Cache("cache", new()
{
CacheName = "sc1",
CacheSizeGB = 3072,
DirectoryServicesSettings = new AzureNative.StorageCache.Inputs.CacheDirectorySettingsArgs
{
UsernameDownload = new AzureNative.StorageCache.Inputs.CacheUsernameDownloadSettingsArgs
{
Credentials = new AzureNative.StorageCache.Inputs.CacheUsernameDownloadSettingsCredentialsArgs
{
BindDn = "cn=ldapadmin,dc=contosoad,dc=contoso,dc=local",
BindPassword = "<bindPassword>",
},
ExtendedGroups = true,
LdapBaseDN = "dc=contosoad,dc=contoso,dc=local",
LdapServer = "192.0.2.12",
UsernameSource = "LDAP",
},
},
EncryptionSettings = new AzureNative.StorageCache.Inputs.CacheEncryptionSettingsArgs
{
KeyEncryptionKey = new AzureNative.StorageCache.Inputs.KeyVaultKeyReferenceArgs
{
KeyUrl = "https://keyvault-cmk.vault.azure.net/keys/key2048/test",
SourceVault = new AzureNative.StorageCache.Inputs.KeyVaultKeyReferenceSourceVaultArgs
{
Id = "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.KeyVault/vaults/keyvault-cmk",
},
},
},
Location = "westus",
ResourceGroupName = "scgroup",
SecuritySettings = new AzureNative.StorageCache.Inputs.CacheSecuritySettingsArgs
{
AccessPolicies = new[]
{
new AzureNative.StorageCache.Inputs.NfsAccessPolicyArgs
{
AccessRules = new[]
{
new AzureNative.StorageCache.Inputs.NfsAccessRuleArgs
{
Access = "rw",
RootSquash = false,
Scope = "default",
SubmountAccess = true,
Suid = false,
},
},
Name = "default",
},
},
},
Sku = new AzureNative.StorageCache.Inputs.CacheSkuArgs
{
Name = "Standard_2G",
},
Subnet = "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Network/virtualNetworks/scvnet/subnets/sub1",
Tags =
{
{ "Dept", "Contoso" },
},
UpgradeSettings = new AzureNative.StorageCache.Inputs.CacheUpgradeSettingsArgs
{
ScheduledTime = "2022-04-26T18:25:43.511Z",
UpgradeScheduleEnabled = true,
},
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-azure-native-sdk/storagecache/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := storagecache.NewCache(ctx, "cache", &storagecache.CacheArgs{
CacheName: pulumi.String("sc1"),
CacheSizeGB: pulumi.Int(3072),
DirectoryServicesSettings: storagecache.CacheDirectorySettingsResponse{
UsernameDownload: interface{}{
Credentials: &storagecache.CacheUsernameDownloadSettingsCredentialsArgs{
BindDn: pulumi.String("cn=ldapadmin,dc=contosoad,dc=contoso,dc=local"),
BindPassword: pulumi.String("<bindPassword>"),
},
ExtendedGroups: pulumi.Bool(true),
LdapBaseDN: pulumi.String("dc=contosoad,dc=contoso,dc=local"),
LdapServer: pulumi.String("192.0.2.12"),
UsernameSource: pulumi.String("LDAP"),
},
},
EncryptionSettings: storagecache.CacheEncryptionSettingsResponse{
KeyEncryptionKey: interface{}{
KeyUrl: pulumi.String("https://keyvault-cmk.vault.azure.net/keys/key2048/test"),
SourceVault: &storagecache.KeyVaultKeyReferenceSourceVaultArgs{
Id: pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.KeyVault/vaults/keyvault-cmk"),
},
},
},
Location: pulumi.String("westus"),
ResourceGroupName: pulumi.String("scgroup"),
SecuritySettings: storagecache.CacheSecuritySettingsResponse{
AccessPolicies: storagecache.NfsAccessPolicyArray{
interface{}{
AccessRules: storagecache.NfsAccessRuleArray{
&storagecache.NfsAccessRuleArgs{
Access: pulumi.String("rw"),
RootSquash: pulumi.Bool(false),
Scope: pulumi.String("default"),
SubmountAccess: pulumi.Bool(true),
Suid: pulumi.Bool(false),
},
},
Name: pulumi.String("default"),
},
},
},
Sku: &storagecache.CacheSkuArgs{
Name: pulumi.String("Standard_2G"),
},
Subnet: pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Network/virtualNetworks/scvnet/subnets/sub1"),
Tags: pulumi.StringMap{
"Dept": pulumi.String("Contoso"),
},
UpgradeSettings: &storagecache.CacheUpgradeSettingsArgs{
ScheduledTime: pulumi.String("2022-04-26T18:25:43.511Z"),
UpgradeScheduleEnabled: pulumi.Bool(true),
},
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.storagecache.Cache;
import com.pulumi.azurenative.storagecache.CacheArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var cache = new Cache("cache", CacheArgs.builder()
.cacheName("sc1")
.cacheSizeGB(3072)
.directoryServicesSettings(Map.of("usernameDownload", Map.ofEntries(
Map.entry("credentials", Map.ofEntries(
Map.entry("bindDn", "cn=ldapadmin,dc=contosoad,dc=contoso,dc=local"),
Map.entry("bindPassword", "<bindPassword>")
)),
Map.entry("extendedGroups", true),
Map.entry("ldapBaseDN", "dc=contosoad,dc=contoso,dc=local"),
Map.entry("ldapServer", "192.0.2.12"),
Map.entry("usernameSource", "LDAP")
)))
.encryptionSettings(Map.of("keyEncryptionKey", Map.ofEntries(
Map.entry("keyUrl", "https://keyvault-cmk.vault.azure.net/keys/key2048/test"),
Map.entry("sourceVault", Map.of("id", "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.KeyVault/vaults/keyvault-cmk"))
)))
.location("westus")
.resourceGroupName("scgroup")
.securitySettings(Map.of("accessPolicies", Map.ofEntries(
Map.entry("accessRules", Map.ofEntries(
Map.entry("access", "rw"),
Map.entry("rootSquash", false),
Map.entry("scope", "default"),
Map.entry("submountAccess", true),
Map.entry("suid", false)
)),
Map.entry("name", "default")
)))
.sku(Map.of("name", "Standard_2G"))
.subnet("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Network/virtualNetworks/scvnet/subnets/sub1")
.tags(Map.of("Dept", "Contoso"))
.upgradeSettings(Map.ofEntries(
Map.entry("scheduledTime", "2022-04-26T18:25:43.511Z"),
Map.entry("upgradeScheduleEnabled", true)
))
.build());
}
}
Content copied to clipboard
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:storagecache:Cache sc1 /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}
Content copied to clipboard
Constructors
Link copied to clipboard
fun CacheArgs(cacheName: Output<String>? = null, cacheSizeGB: Output<Int>? = null, directoryServicesSettings: Output<CacheDirectorySettingsArgs>? = null, encryptionSettings: Output<CacheEncryptionSettingsArgs>? = null, identity: Output<CacheIdentityArgs>? = null, location: Output<String>? = null, networkSettings: Output<CacheNetworkSettingsArgs>? = null, resourceGroupName: Output<String>? = null, securitySettings: Output<CacheSecuritySettingsArgs>? = null, sku: Output<CacheSkuArgs>? = null, subnet: Output<String>? = null, tags: Output<Map<String, String>>? = null, upgradeSettings: Output<CacheUpgradeSettingsArgs>? = null, zones: Output<List<String>>? = null)