pspulumiyaml.azurenative.storagecache.psm1
using module pspulumiyaml function Invoke-AzureNativeFunctionStoragecacheGetCache { param ( [parameter(mandatory=$False,HelpMessage='Target resource group.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Name of Cache. Length of name must not be greater than 80 and chars must be from the [-0-9a-zA-Z_] char class.)')] [string] $cacheName ) process { $arguments = @{} $arguments["cacheName"] = $cacheName $arguments["resourceGroupName"] = $resourceGroupName $functionObject = Invoke-PulumiFunction -Name azure-native:storagecache:getCache -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionStoragecacheGetStorageTarget { param ( [parameter(mandatory=$False,HelpMessage='Name of Storage Target.)')] [string] $storageTargetName, [parameter(mandatory=$False,HelpMessage='Name of Cache. Length of name must not be greater than 80 and chars must be from the [-0-9a-zA-Z_] char class.)')] [string] $cacheName, [parameter(mandatory=$False,HelpMessage='Target resource group.)')] [string] $resourceGroupName ) process { $arguments = @{} $arguments["cacheName"] = $cacheName $arguments["resourceGroupName"] = $resourceGroupName $arguments["storageTargetName"] = $storageTargetName $functionObject = Invoke-PulumiFunction -Name azure-native:storagecache:getStorageTarget -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } class KeyVaultKeyReferenceSourceVault { [string] $id } function New-AzureNativeTypeStoragecacheKeyVaultKeyReferenceSourceVault { param ( [parameter(mandatory=$False,HelpMessage='Resource Id.)')] [string] $id ) process { return $([KeyVaultKeyReferenceSourceVault]$PSBoundParameters) } } class KeyVaultKeyReference { [string] $keyUrl [KeyVaultKeyReferenceSourceVault] $sourceVault } function New-AzureNativeTypeStoragecacheKeyVaultKeyReference { param ( [parameter(mandatory=$False,HelpMessage='The URL referencing a key encryption key in Key Vault.)')] [string] $keyUrl, [parameter(mandatory=$False,HelpMessage='Describes a resource Id to source Key Vault.)')] [KeyVaultKeyReferenceSourceVault] $sourceVault ) process { return $([KeyVaultKeyReference]$PSBoundParameters) } } class CacheEncryptionSettings { [KeyVaultKeyReference] $keyEncryptionKey } function New-AzureNativeTypeStoragecacheCacheEncryptionSettings { param ( [parameter(mandatory=$False,HelpMessage='Specifies the location of the key encryption key in Key Vault.)')] [KeyVaultKeyReference] $keyEncryptionKey ) process { return $([CacheEncryptionSettings]$PSBoundParameters) } } class CacheNetworkSettings { [int] $mtu [string] $dnsSearchDomain [string] $ntpServer [string[]] $dnsServers } function New-AzureNativeTypeStoragecacheCacheNetworkSettings { param ( [parameter(mandatory=$False,HelpMessage='The IPv4 maximum transmission unit configured for the subnet.)')] [int] $mtu, [parameter(mandatory=$False,HelpMessage='DNS search domain)')] [string] $dnsSearchDomain, [parameter(mandatory=$False,HelpMessage='NTP server IP Address or FQDN for the cache to use. The default is time.windows.com.)')] [string] $ntpServer, [parameter(mandatory=$False,HelpMessage='DNS servers for the cache to use. It will be set from the network configuration if no value is provided.)')] [string[]] $dnsServers ) process { return $([CacheNetworkSettings]$PSBoundParameters) } } class CacheActiveDirectorySettingsCredentials { [string] $username [string] $password } function New-AzureNativeTypeStoragecacheCacheActiveDirectorySettingsCredentials { param ( [parameter(mandatory=$False,HelpMessage='Username of the Active Directory domain administrator. This value is stored encrypted and not returned on response.)')] [string] $username, [parameter(mandatory=$False,HelpMessage='Plain text password of the Active Directory domain administrator. This value is stored encrypted and not returned on response.)')] [string] $password ) process { return $([CacheActiveDirectorySettingsCredentials]$PSBoundParameters) } } class CacheActiveDirectorySettings { [string] $primaryDnsIpAddress [string] $domainNetBiosName [string] $domainName [string] $cacheNetBiosName [string] $secondaryDnsIpAddress [CacheActiveDirectorySettingsCredentials] $credentials } function New-AzureNativeTypeStoragecacheCacheActiveDirectorySettings { param ( [parameter(mandatory=$False,HelpMessage='Primary DNS IP address used to resolve the Active Directory domain controller''s fully qualified domain name.)')] [string] $primaryDnsIpAddress, [parameter(mandatory=$False,HelpMessage='The Active Directory domain''s NetBIOS name.)')] [string] $domainNetBiosName, [parameter(mandatory=$False,HelpMessage='The fully qualified domain name of the Active Directory domain controller.)')] [string] $domainName, [parameter(mandatory=$False,HelpMessage='The NetBIOS name to assign to the HPC Cache when it joins the Active Directory domain as a server. Length must 1-15 characters from the class [-0-9a-zA-Z].)')] [string] $cacheNetBiosName, [parameter(mandatory=$False,HelpMessage='Secondary DNS IP address used to resolve the Active Directory domain controller''s fully qualified domain name.)')] [string] $secondaryDnsIpAddress, [parameter(mandatory=$False,HelpMessage='Active Directory admin credentials used to join the HPC Cache to a domain.)')] [CacheActiveDirectorySettingsCredentials] $credentials ) process { return $([CacheActiveDirectorySettings]$PSBoundParameters) } } class CacheUsernameDownloadSettingsCredentials { [string] $bindDn [string] $bindPassword } function New-AzureNativeTypeStoragecacheCacheUsernameDownloadSettingsCredentials { param ( [parameter(mandatory=$False,HelpMessage='The Bind Distinguished Name identity to be used in the secure LDAP connection. This value is stored encrypted and not returned on response.)')] [string] $bindDn, [parameter(mandatory=$False,HelpMessage='The Bind password to be used in the secure LDAP connection. This value is stored encrypted and not returned on response.)')] [string] $bindPassword ) process { return $([CacheUsernameDownloadSettingsCredentials]$PSBoundParameters) } } class CacheUsernameDownloadSettings { [ArgumentCompletions('AD', 'LDAP', 'File', 'None')] [string] $usernameSource [string] $caCertificateURI [bool] $autoDownloadCertificate [bool] $extendedGroups [bool] $requireValidCertificate [string] $groupFileURI [CacheUsernameDownloadSettingsCredentials] $credentials [string] $ldapServer [string] $ldapBaseDN [bool] $encryptLdapConnection [string] $userFileURI } function New-AzureNativeTypeStoragecacheCacheUsernameDownloadSettings { param ( [parameter(mandatory=$False,HelpMessage='This setting determines how the cache gets username and group names for clients.)')] [string] [ValidateSet('AD', 'LDAP', 'File', 'None')] $usernameSource, [parameter(mandatory=$False,HelpMessage='The URI of the CA certificate to validate the LDAP secure connection. This field must be populated when ''requireValidCertificate'' is set to true.)')] [string] $caCertificateURI, [parameter(mandatory=$False,HelpMessage='Determines if the certificate should be automatically downloaded. This applies to ''caCertificateURI'' only if ''requireValidCertificate'' is true.)')] [bool] $autoDownloadCertificate, [parameter(mandatory=$False,HelpMessage='Whether or not Extended Groups is enabled.)')] [bool] $extendedGroups, [parameter(mandatory=$False,HelpMessage='Determines if the certificates must be validated by a certificate authority. When true, caCertificateURI must be provided.)')] [bool] $requireValidCertificate, [parameter(mandatory=$False,HelpMessage='The URI of the file containing group information (in /etc/group file format). This field must be populated when ''usernameSource'' is set to ''File''.)')] [string] $groupFileURI, [parameter(mandatory=$False,HelpMessage='When present, these are the credentials for the secure LDAP connection.)')] [CacheUsernameDownloadSettingsCredentials] $credentials, [parameter(mandatory=$False,HelpMessage='The fully qualified domain name or IP address of the LDAP server to use.)')] [string] $ldapServer, [parameter(mandatory=$False,HelpMessage='The base distinguished name for the LDAP domain.)')] [string] $ldapBaseDN, [parameter(mandatory=$False,HelpMessage='Whether or not the LDAP connection should be encrypted.)')] [bool] $encryptLdapConnection, [parameter(mandatory=$False,HelpMessage='The URI of the file containing user information (in /etc/passwd file format). This field must be populated when ''usernameSource'' is set to ''File''.)')] [string] $userFileURI ) process { return $([CacheUsernameDownloadSettings]$PSBoundParameters) } } class CacheDirectorySettings { [CacheActiveDirectorySettings] $activeDirectory [CacheUsernameDownloadSettings] $usernameDownload } function New-AzureNativeTypeStoragecacheCacheDirectorySettings { param ( [parameter(mandatory=$False,HelpMessage='Specifies settings for joining the HPC Cache to an Active Directory domain.)')] [CacheActiveDirectorySettings] $activeDirectory, [parameter(mandatory=$False,HelpMessage='Specifies settings for Extended Groups. Extended Groups allows users to be members of more than 16 groups.)')] [CacheUsernameDownloadSettings] $usernameDownload ) process { return $([CacheDirectorySettings]$PSBoundParameters) } } class CacheIdentity { [ArgumentCompletions('SystemAssigned', 'None')] [object] $type } function New-AzureNativeTypeStoragecacheCacheIdentity { param ( [parameter(mandatory=$False,HelpMessage='The type of identity used for the cache)')] $type ) process { return $([CacheIdentity]$PSBoundParameters) } } class CacheSku { [string] $name } function New-AzureNativeTypeStoragecacheCacheSku { param ( [parameter(mandatory=$False,HelpMessage='SKU name for this Cache.)')] [string] $name ) process { return $([CacheSku]$PSBoundParameters) } } class NfsAccessRule { [bool] $suid [ArgumentCompletions('default', 'network', 'host')] [string] $scope [string] $anonymousUID [ArgumentCompletions('no', 'ro', 'rw')] [string] $access [bool] $submountAccess [string] $filter [string] $anonymousGID [bool] $rootSquash } function New-AzureNativeTypeStoragecacheNfsAccessRule { param ( [parameter(mandatory=$False,HelpMessage='Allow SUID semantics.)')] [bool] $suid, [parameter(mandatory=$False,HelpMessage='Scope for this rule. The scope and filter determine which clients match the rule.)')] [string] [ValidateSet('default', 'network', 'host')] $scope, [parameter(mandatory=$False,HelpMessage='UID value that replaces 0 when rootSquash is true. 65534 will be used if not provided.)')] [string] $anonymousUID, [parameter(mandatory=$False,HelpMessage='Access allowed by this rule.)')] [string] [ValidateSet('no', 'ro', 'rw')] $access, [parameter(mandatory=$False,HelpMessage='For the default policy, allow access to subdirectories under the root export. If this is set to no, clients can only mount the path ''/''. If set to yes, clients can mount a deeper path, like ''/a/b''.)')] [bool] $submountAccess, [parameter(mandatory=$False,HelpMessage='Filter applied to the scope for this rule. The filter''s format depends on its scope. ''default'' scope matches all clients and has no filter value. ''network'' scope takes a filter in CIDR format (for example, 10.99.1.0/24). ''host'' takes an IP address or fully qualified domain name as filter. If a client does not match any filter rule and there is no default rule, access is denied.)')] [string] $filter, [parameter(mandatory=$False,HelpMessage='GID value that replaces 0 when rootSquash is true. This will use the value of anonymousUID if not provided.)')] [string] $anonymousGID, [parameter(mandatory=$False,HelpMessage='Map root accesses to anonymousUID and anonymousGID.)')] [bool] $rootSquash ) process { return $([NfsAccessRule]$PSBoundParameters) } } class NfsAccessPolicy { [NfsAccessRule[]] $accessRules [string] $name } function New-AzureNativeTypeStoragecacheNfsAccessPolicy { param ( [parameter(mandatory=$False,HelpMessage='The set of rules describing client accesses allowed under this policy.)')] $accessRules, [parameter(mandatory=$False,HelpMessage='Name identifying this policy. Access Policy names are not case sensitive.)')] [string] $name ) process { return $([NfsAccessPolicy]$PSBoundParameters) } } class CacheSecuritySettings { [NfsAccessPolicy[]] $accessPolicies } function New-AzureNativeTypeStoragecacheCacheSecuritySettings { param ( [parameter(mandatory=$False,HelpMessage='NFS access policies defined for this cache.)')] $accessPolicies ) process { return $([CacheSecuritySettings]$PSBoundParameters) } } function New-AzureNativeStoragecacheCache { [Alias('azure_native_storagecache_cache')] param ( [parameter(mandatory=$False,HelpMessage='Specifies encryption settings of the cache.)')] [CacheEncryptionSettings] $encryptionSettings, [parameter(mandatory=$False,HelpMessage='ARM provisioning state, see https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/Addendum.md#provisioningstate-property)')] [string] [ValidateSet('Succeeded', 'Failed', 'Cancelled', 'Creating', 'Deleting', 'Updating')] $provisioningState, [parameter(mandatory=$False,HelpMessage='Subnet used for the Cache.)')] [string] $subnet, [parameter(mandatory=$False,HelpMessage='Specifies network settings of the cache.)')] [CacheNetworkSettings] $networkSettings, [parameter(mandatory=$False,HelpMessage='The size of this Cache, in GB.)')] [int] $cacheSizeGB, [parameter(mandatory=$False,HelpMessage='Name of Cache. Length of name must not be greater than 80 and chars must be from the [-0-9a-zA-Z_] char class.)')] [string] $cacheName, [parameter(mandatory=$False,HelpMessage='Specifies Directory Services settings of the cache.)')] [CacheDirectorySettings] $directoryServicesSettings, [parameter(mandatory=$False,HelpMessage='Region name string.)')] [string] $location, [parameter(mandatory=$False,HelpMessage='The identity of the cache, if configured.)')] [CacheIdentity] $identity, [parameter(mandatory=$False,HelpMessage='Resource tags.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='Target resource group.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='SKU for the Cache.)')] [CacheSku] $sku, [parameter(mandatory=$False,HelpMessage='Specifies security settings of the cache.)')] [CacheSecuritySettings] $securitySettings, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')] [object] $DependsOn ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:storagecache:Cache") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'encryptionSettings') { $resource.properties["encryptionSettings"] = $encryptionSettings } if($PSBoundParameters.Keys -icontains 'provisioningState') { $resource.properties["provisioningState"] = $provisioningState } if($PSBoundParameters.Keys -icontains 'subnet') { $resource.properties["subnet"] = $subnet } if($PSBoundParameters.Keys -icontains 'networkSettings') { $resource.properties["networkSettings"] = $networkSettings } if($PSBoundParameters.Keys -icontains 'cacheSizeGB') { $resource.properties["cacheSizeGB"] = $cacheSizeGB } if($PSBoundParameters.Keys -icontains 'cacheName') { $resource.properties["cacheName"] = $cacheName } if($PSBoundParameters.Keys -icontains 'directoryServicesSettings') { $resource.properties["directoryServicesSettings"] = $directoryServicesSettings } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } if($PSBoundParameters.Keys -icontains 'identity') { $resource.properties["identity"] = $identity } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'sku') { $resource.properties["sku"] = $sku } if($PSBoundParameters.Keys -icontains 'securitySettings') { $resource.properties["securitySettings"] = $securitySettings } $global:pulumiresources += $resource return $resource } } class ClfsTarget { [string] $target } function New-AzureNativeTypeStoragecacheClfsTarget { param ( [parameter(mandatory=$False,HelpMessage='Resource ID of storage container.)')] [string] $target ) process { return $([ClfsTarget]$PSBoundParameters) } } class BlobNfsTarget { [string] $usageModel [string] $target } function New-AzureNativeTypeStoragecacheBlobNfsTarget { param ( [parameter(mandatory=$False,HelpMessage='Identifies the StorageCache usage model to be used for this storage target.)')] [string] $usageModel, [parameter(mandatory=$False,HelpMessage='Resource ID of the storage container.)')] [string] $target ) process { return $([BlobNfsTarget]$PSBoundParameters) } } class UnknownTarget { [object] $attributes } function New-AzureNativeTypeStoragecacheUnknownTarget { param ( [parameter(mandatory=$False,HelpMessage='Dictionary of string->string pairs containing information about the Storage Target.)')] [hashtable] $attributes ) process { return $([UnknownTarget]$PSBoundParameters) } } class Nfs3Target { [string] $usageModel [string] $target } function New-AzureNativeTypeStoragecacheNfs3Target { param ( [parameter(mandatory=$False,HelpMessage='Identifies the StorageCache usage model to be used for this storage target.)')] [string] $usageModel, [parameter(mandatory=$False,HelpMessage='IP address or host name of an NFSv3 host (e.g., 10.0.44.44).)')] [string] $target ) process { return $([Nfs3Target]$PSBoundParameters) } } function New-AzureNativeStoragecacheStorageTarget { [Alias('azure_native_storagecache_storagetarget')] param ( [parameter(mandatory=$False,HelpMessage='List of Cache namespace junctions to target for namespace associations.)')] $junctions, [parameter(mandatory=$False,HelpMessage='Properties when targetType is clfs.)')] [ClfsTarget] $clfs, [parameter(mandatory=$False,HelpMessage='Properties when targetType is blobNfs.)')] [BlobNfsTarget] $blobNfs, [parameter(mandatory=$False,HelpMessage='Properties when targetType is unknown.)')] [UnknownTarget] $unknown, [parameter(mandatory=$False,HelpMessage='Properties when targetType is nfs3.)')] [Nfs3Target] $nfs3, [parameter(mandatory=$False,HelpMessage='Type of the Storage Target.)')] [string] [ValidateSet('nfs3', 'clfs', 'unknown', 'blobNfs')] $targetType, [parameter(mandatory=$False,HelpMessage='ARM provisioning state, see https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/Addendum.md#provisioningstate-property)')] [string] [ValidateSet('Succeeded', 'Failed', 'Cancelled', 'Creating', 'Deleting', 'Updating')] $provisioningState, [parameter(mandatory=$False,HelpMessage='Name of Storage Target.)')] [string] $storageTargetName, [parameter(mandatory=$False,HelpMessage='Name of Cache. Length of name must not be greater than 80 and chars must be from the [-0-9a-zA-Z_] char class.)')] [string] $cacheName, [parameter(mandatory=$False,HelpMessage='Target resource group.)')] [string] $resourceGroupName, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')] [object] $DependsOn ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:storagecache:StorageTarget") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["cacheName"] = $cacheName $resource.properties["resourceGroupName"] = $resourceGroupName $resource.properties["targetType"] = $targetType if($PSBoundParameters.Keys -icontains 'junctions') { $resource.properties["junctions"] = $junctions } if($PSBoundParameters.Keys -icontains 'clfs') { $resource.properties["clfs"] = $clfs } if($PSBoundParameters.Keys -icontains 'blobNfs') { $resource.properties["blobNfs"] = $blobNfs } if($PSBoundParameters.Keys -icontains 'unknown') { $resource.properties["unknown"] = $unknown } if($PSBoundParameters.Keys -icontains 'nfs3') { $resource.properties["nfs3"] = $nfs3 } if($PSBoundParameters.Keys -icontains 'provisioningState') { $resource.properties["provisioningState"] = $provisioningState } if($PSBoundParameters.Keys -icontains 'storageTargetName') { $resource.properties["storageTargetName"] = $storageTargetName } $global:pulumiresources += $resource return $resource } } |