pspulumiyaml.azurenative.databox.psm1
using module @{ ModuleName = "PSPulumiYaml"; ModuleVersion = "0.0.3"; GUID = "909344e0-a08f-45f6-8177-80e36bb2ba58" } function Invoke-AzureNativeFunctionDataboxGetJob { param ( [parameter(mandatory=$False,HelpMessage='$expand is supported on details parameter for job, which provides details on the job stages.)')] [string] $expand, [parameter(mandatory=$False,HelpMessage='The Resource Group Name)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The name of the job Resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only)')] [string] $jobName ) process { $arguments = @{} $arguments["jobName"] = $jobName $arguments["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'expand') { $arguments["expand"] = $expand } $functionObject = Invoke-PulumiFunction -Name azure-native:databox:getJob -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionDataboxListJobCredentials { param ( [parameter(mandatory=$False,HelpMessage='The Resource Group Name)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The name of the job Resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only)')] [string] $jobName ) process { $arguments = @{} $arguments["jobName"] = $jobName $arguments["resourceGroupName"] = $resourceGroupName $functionObject = Invoke-PulumiFunction -Name azure-native:databox:listJobCredentials -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } class Sku { [ArgumentCompletions('DataBox', 'DataBoxDisk', 'DataBoxHeavy')] [string] $name [string] $family [string] $displayName } function New-AzureNativeTypeDataboxSku { param ( [parameter(mandatory=$False,HelpMessage='The sku name.)')] [string] [ArgumentCompletions('DataBox', 'DataBoxDisk', 'DataBoxHeavy')] $name, [parameter(mandatory=$False,HelpMessage='The sku family.)')] [string] $family, [parameter(mandatory=$False,HelpMessage='The display name of the sku.)')] [string] $displayName ) process { return $([Sku]$PSBoundParameters) } } class DataImportDetails { [object] $accountDetails #todo add class here } class StorageAccountDetails { [string] $storageAccountId [string] $sharePassword [string] $dataAccountType } function New-AzureNativeTypeDataboxStorageAccountDetails { param ( [parameter(mandatory=$False,HelpMessage='Storage Account Resource Id.)')] [string] $storageAccountId, [parameter(mandatory=$False,HelpMessage='Password for all the shares to be created on the device. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\-$%^!+=;:_()]+)')] [string] $sharePassword, [parameter(mandatory=$False,HelpMessage='Account Type of the data to be transferred. Expected value is ''StorageAccount''.)')] [string] $dataAccountType ) process { return $([StorageAccountDetails]$PSBoundParameters) } } function New-AzureNativeTypeDataboxDataImportDetails { param ( [parameter(mandatory=$False,HelpMessage='Account details of the data to be transferred)')] [StorageAccountDetails] $accountDetails ) process { return $([DataImportDetails]$PSBoundParameters) } } class NotificationPreference { [ArgumentCompletions('DevicePrepared', 'Dispatched', 'Delivered', 'PickedUp', 'AtAzureDC', 'DataCopy')] [string] $stageName [bool] $sendNotification } function New-AzureNativeTypeDataboxNotificationPreference { param ( [parameter(mandatory=$False,HelpMessage='Name of the stage.)')] [string] [ArgumentCompletions('DevicePrepared', 'Dispatched', 'Delivered', 'PickedUp', 'AtAzureDC', 'DataCopy')] $stageName, [parameter(mandatory=$False,HelpMessage='Notification is required or not.)')] [bool] $sendNotification ) process { return $([NotificationPreference]$PSBoundParameters) } } class ContactDetails { [NotificationPreference[]] $notificationPreference [string[]] $emailList [string] $phone [string] $contactName [string] $phoneExtension [string] $mobile } function New-AzureNativeTypeDataboxContactDetails { param ( [parameter(mandatory=$False,HelpMessage='Notification preference for a job stage.)')] $notificationPreference, [parameter(mandatory=$False,HelpMessage='List of Email-ids to be notified about job progress.)')] [string[]] $emailList, [parameter(mandatory=$False,HelpMessage='Phone number of the contact person.)')] [string] $phone, [parameter(mandatory=$False,HelpMessage='Contact name of the person.)')] [string] $contactName, [parameter(mandatory=$False,HelpMessage='Phone extension number of the contact person.)')] [string] $phoneExtension, [parameter(mandatory=$False,HelpMessage='Mobile number of the contact person.)')] [string] $mobile ) process { return $([ContactDetails]$PSBoundParameters) } } class BlobFilterDetails { [string[]] $blobPrefixList [string[]] $containerList [string[]] $blobPathList } function New-AzureNativeTypeDataboxBlobFilterDetails { param ( [parameter(mandatory=$False,HelpMessage='Prefix list of the Azure blobs to be transferred.)')] [string[]] $blobPrefixList, [parameter(mandatory=$False,HelpMessage='List of blob containers to be transferred.)')] [string[]] $containerList, [parameter(mandatory=$False,HelpMessage='List of full path of the blobs to be transferred.)')] [string[]] $blobPathList ) process { return $([BlobFilterDetails]$PSBoundParameters) } } class AzureFileFilterDetails { [string[]] $filePathList [string[]] $fileShareList [string[]] $filePrefixList } function New-AzureNativeTypeDataboxAzureFileFilterDetails { param ( [parameter(mandatory=$False,HelpMessage='List of full path of the files to be transferred.)')] [string[]] $filePathList, [parameter(mandatory=$False,HelpMessage='List of file shares to be transferred.)')] [string[]] $fileShareList, [parameter(mandatory=$False,HelpMessage='Prefix list of the Azure files to be transferred.)')] [string[]] $filePrefixList ) process { return $([AzureFileFilterDetails]$PSBoundParameters) } } class FilterFileDetails { [ArgumentCompletions('AzureBlob', 'AzureFile')] [string] $filterFileType [string] $filterFilePath } function New-AzureNativeTypeDataboxFilterFileDetails { param ( [parameter(mandatory=$False,HelpMessage='Type of the filter file.)')] [string] [ArgumentCompletions('AzureBlob', 'AzureFile')] $filterFileType, [parameter(mandatory=$False,HelpMessage='Path of the file that contains the details of all items to transfer.)')] [string] $filterFilePath ) process { return $([FilterFileDetails]$PSBoundParameters) } } class TransferFilterDetails { [BlobFilterDetails] $blobFilterDetails [AzureFileFilterDetails] $azureFileFilterDetails [ArgumentCompletions('StorageAccount', 'ManagedDisk')] [string] $dataAccountType [FilterFileDetails[]] $filterFileDetails } function New-AzureNativeTypeDataboxTransferFilterDetails { param ( [parameter(mandatory=$False,HelpMessage='Filter details to transfer blobs.)')] [BlobFilterDetails] $blobFilterDetails, [parameter(mandatory=$False,HelpMessage='Filter details to transfer Azure files.)')] [AzureFileFilterDetails] $azureFileFilterDetails, [parameter(mandatory=$False,HelpMessage='Type of the account of data.)')] [string] [ArgumentCompletions('StorageAccount', 'ManagedDisk')] $dataAccountType, [parameter(mandatory=$False,HelpMessage='Details of the filter files to be used for data transfer.)')] $filterFileDetails ) process { return $([TransferFilterDetails]$PSBoundParameters) } } class TransferConfigurationTransferFilterDetails { [TransferFilterDetails] $include } function New-AzureNativeTypeDataboxTransferConfigurationTransferFilterDetails { param ( [parameter(mandatory=$False,HelpMessage='Details of the filtering the transfer of data.)')] [TransferFilterDetails] $include ) process { return $([TransferConfigurationTransferFilterDetails]$PSBoundParameters) } } class TransferAllDetails { [bool] $transferAllFiles [ArgumentCompletions('StorageAccount', 'ManagedDisk')] [string] $dataAccountType [bool] $transferAllBlobs } function New-AzureNativeTypeDataboxTransferAllDetails { param ( [parameter(mandatory=$False,HelpMessage='To indicate if all Azure Files have to be transferred)')] [bool] $transferAllFiles, [parameter(mandatory=$False,HelpMessage='Type of the account of data)')] [string] [ArgumentCompletions('StorageAccount', 'ManagedDisk')] $dataAccountType, [parameter(mandatory=$False,HelpMessage='To indicate if all Azure blobs have to be transferred)')] [bool] $transferAllBlobs ) process { return $([TransferAllDetails]$PSBoundParameters) } } class TransferConfigurationTransferAllDetails { [TransferAllDetails] $include } function New-AzureNativeTypeDataboxTransferConfigurationTransferAllDetails { param ( [parameter(mandatory=$False,HelpMessage='Details to transfer all data.)')] [TransferAllDetails] $include ) process { return $([TransferConfigurationTransferAllDetails]$PSBoundParameters) } } class TransferConfiguration { [TransferConfigurationTransferFilterDetails] $transferFilterDetails [TransferConfigurationTransferAllDetails] $transferAllDetails [ArgumentCompletions('TransferAll', 'TransferUsingFilter')] [string] $transferConfigurationType } function New-AzureNativeTypeDataboxTransferConfiguration { param ( [parameter(mandatory=$False,HelpMessage='Map of filter type and the details to filter. This field is required only if the TransferConfigurationType is given as TransferUsingFilter.)')] [TransferConfigurationTransferFilterDetails] $transferFilterDetails, [parameter(mandatory=$False,HelpMessage='Map of filter type and the details to transfer all data. This field is required only if the TransferConfigurationType is given as TransferAll)')] [TransferConfigurationTransferAllDetails] $transferAllDetails, [parameter(mandatory=$False,HelpMessage='Type of the configuration for transfer.)')] [string] [ArgumentCompletions('TransferAll', 'TransferUsingFilter')] $transferConfigurationType ) process { return $([TransferConfiguration]$PSBoundParameters) } } class DataExportDetails { [ArgumentCompletions('Error', 'Verbose')] [string] $logCollectionLevel [object] $accountDetails #todo add class here [TransferConfiguration] $transferConfiguration } function New-AzureNativeTypeDataboxDataExportDetails { param ( [parameter(mandatory=$False,HelpMessage='Level of the logs to be collected.)')] [string] [ArgumentCompletions('Error', 'Verbose')] $logCollectionLevel, [parameter(mandatory=$False,HelpMessage='Account details of the data to be transferred)')] [StorageAccountDetails] $accountDetails, [parameter(mandatory=$False,HelpMessage='Configuration for the data transfer.)')] [TransferConfiguration] $transferConfiguration ) process { return $([DataExportDetails]$PSBoundParameters) } } class ShippingAddress { [string] $streetAddress1 [string] $stateOrProvince [string] $companyName [string] $streetAddress3 [string] $city [ArgumentCompletions('None', 'Residential', 'Commercial')] [string] $addressType [string] $country [string] $postalCode [string] $streetAddress2 [string] $zipExtendedCode } function New-AzureNativeTypeDataboxShippingAddress { param ( [parameter(mandatory=$False,HelpMessage='Street Address line 1.)')] [string] $streetAddress1, [parameter(mandatory=$False,HelpMessage='Name of the State or Province.)')] [string] $stateOrProvince, [parameter(mandatory=$False,HelpMessage='Name of the company.)')] [string] $companyName, [parameter(mandatory=$False,HelpMessage='Street Address line 3.)')] [string] $streetAddress3, [parameter(mandatory=$False,HelpMessage='Name of the City.)')] [string] $city, [parameter(mandatory=$False,HelpMessage='Type of address.)')] [string] [ArgumentCompletions('None', 'Residential', 'Commercial')] $addressType, [parameter(mandatory=$False,HelpMessage='Name of the Country.)')] [string] $country, [parameter(mandatory=$False,HelpMessage='Postal code.)')] [string] $postalCode, [parameter(mandatory=$False,HelpMessage='Street Address line 2.)')] [string] $streetAddress2, [parameter(mandatory=$False,HelpMessage='Extended Zip Code.)')] [string] $zipExtendedCode ) process { return $([ShippingAddress]$PSBoundParameters) } } class TransportPreferences { [ArgumentCompletions('CustomerManaged', 'MicrosoftManaged')] [string] $preferredShipmentType } function New-AzureNativeTypeDataboxTransportPreferences { param ( [parameter(mandatory=$False,HelpMessage='Indicates Shipment Logistics type that the customer preferred.)')] [string] [ArgumentCompletions('CustomerManaged', 'MicrosoftManaged')] $preferredShipmentType ) process { return $([TransportPreferences]$PSBoundParameters) } } class EncryptionPreferences { [ArgumentCompletions('Enabled', 'Disabled')] [string] $doubleEncryption } function New-AzureNativeTypeDataboxEncryptionPreferences { param ( [parameter(mandatory=$False,HelpMessage='Defines secondary layer of software-based encryption enablement.)')] [string] [ArgumentCompletions('Enabled', 'Disabled')] $doubleEncryption ) process { return $([EncryptionPreferences]$PSBoundParameters) } } class Preferences { [string[]] $preferredDataCenterRegion [TransportPreferences] $transportPreferences [EncryptionPreferences] $encryptionPreferences } function New-AzureNativeTypeDataboxPreferences { param ( [parameter(mandatory=$False,HelpMessage='Preferred data center region.)')] [string[]] $preferredDataCenterRegion, [parameter(mandatory=$False,HelpMessage='Preferences related to the shipment logistics of the sku.)')] [TransportPreferences] $transportPreferences, [parameter(mandatory=$False,HelpMessage='Preferences related to the Encryption.)')] [EncryptionPreferences] $encryptionPreferences ) process { return $([Preferences]$PSBoundParameters) } } class UserAssignedProperties { [string] $resourceId } function New-AzureNativeTypeDataboxUserAssignedProperties { param ( [parameter(mandatory=$False,HelpMessage='Arm resource id for user assigned identity to be used to fetch MSI token.)')] [string] $resourceId ) process { return $([UserAssignedProperties]$PSBoundParameters) } } class IdentityProperties { [string] $type [UserAssignedProperties] $userAssigned } function New-AzureNativeTypeDataboxIdentityProperties { param ( [parameter(mandatory=$False,HelpMessage='Managed service identity type.)')] [string] $type, [parameter(mandatory=$False,HelpMessage='User assigned identity properties.)')] [UserAssignedProperties] $userAssigned ) process { return $([IdentityProperties]$PSBoundParameters) } } class KeyEncryptionKey { [ArgumentCompletions('MicrosoftManaged', 'CustomerManaged')] [string] $kekType [string] $kekVaultResourceID [IdentityProperties] $identityProperties [string] $kekUrl } function New-AzureNativeTypeDataboxKeyEncryptionKey { param ( [parameter(mandatory=$False,HelpMessage='Type of encryption key used for key encryption.)')] [string] [ArgumentCompletions('MicrosoftManaged', 'CustomerManaged')] $kekType, [parameter(mandatory=$False,HelpMessage='Kek vault resource id. It is required in case of Customer managed KekType.)')] [string] $kekVaultResourceID, [parameter(mandatory=$False,HelpMessage='Managed identity properties used for key encryption.)')] [IdentityProperties] $identityProperties, [parameter(mandatory=$False,HelpMessage='Key encryption key. It is required in case of Customer managed KekType.)')] [string] $kekUrl ) process { return $([KeyEncryptionKey]$PSBoundParameters) } } class DataBoxJobDetails { [DataImportDetails[]] $dataImportDetails [ContactDetails] $contactDetails [DataExportDetails[]] $dataExportDetails [string] $jobDetailsType [ShippingAddress] $shippingAddress [Preferences] $preferences [KeyEncryptionKey] $keyEncryptionKey [int] $expectedDataSizeInTeraBytes [string] $devicePassword } function New-AzureNativeTypeDataboxDataBoxJobDetails { param ( [parameter(mandatory=$False,HelpMessage='Details of the data to be imported into azure.)')] $dataImportDetails, [parameter(mandatory=$False,HelpMessage='Contact details for notification and shipping.)')] [ContactDetails] $contactDetails, [parameter(mandatory=$False,HelpMessage='Details of the data to be exported from azure.)')] $dataExportDetails, [parameter(mandatory=$False,HelpMessage='Indicates the type of job details. Expected value is ''DataBox''.)')] [string] $jobDetailsType, [parameter(mandatory=$False,HelpMessage='Shipping address of the customer.)')] [ShippingAddress] $shippingAddress, [parameter(mandatory=$False,HelpMessage='Preferences for the order.)')] [Preferences] $preferences, [parameter(mandatory=$False,HelpMessage='Details about which key encryption type is being used.)')] [KeyEncryptionKey] $keyEncryptionKey, [parameter(mandatory=$False,HelpMessage='The expected size of the data, which needs to be transferred in this job, in terabytes.)')] [int] $expectedDataSizeInTeraBytes, [parameter(mandatory=$False,HelpMessage='Set Device password for unlocking Databox. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\-$%^!+=;:_()]+)')] [string] $devicePassword ) process { return $([DataBoxJobDetails]$PSBoundParameters) } } class JobDeliveryInfo { [string] $scheduledDateTime } function New-AzureNativeTypeDataboxJobDeliveryInfo { param ( [parameter(mandatory=$False,HelpMessage='Scheduled date time.)')] [string] $scheduledDateTime ) process { return $([JobDeliveryInfo]$PSBoundParameters) } } class ResourceIdentity { [string] $type [object] $userAssignedIdentities } function New-AzureNativeTypeDataboxResourceIdentity { param ( [parameter(mandatory=$False,HelpMessage='Identity type)')] [string] $type, [parameter(mandatory=$False,HelpMessage='User Assigned Identities)')] [object] $userAssignedIdentities ) process { return $([ResourceIdentity]$PSBoundParameters) } } function New-AzureNativeDataboxJob { [Alias('azure_native_databox_job')] param ( [parameter(mandatory=$False,HelpMessage='The list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups).)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='The sku type.)')] [Sku] $sku, [parameter(mandatory=$False,HelpMessage='The name of the job Resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only)')] [string] $jobName, [parameter(mandatory=$False,HelpMessage='Details of a job run. This field will only be sent for expand details filter.)')] [DataBoxJobDetails] $details, [parameter(mandatory=$False,HelpMessage='The Resource Group Name)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Type of the data transfer.)')] [string] [ArgumentCompletions('ImportToAzure', 'ExportFromAzure')] $transferType, [parameter(mandatory=$False,HelpMessage='Delivery Info of Job.)')] [JobDeliveryInfo] $deliveryInfo, [parameter(mandatory=$False,HelpMessage='Msi identity of the resource)')] [ResourceIdentity] $identity, [parameter(mandatory=$False,HelpMessage='Delivery type of Job.)')] [string] [ArgumentCompletions('NonScheduled', 'Scheduled')] $deliveryType, [parameter(mandatory=$False,HelpMessage='The location of the resource. This will be one of the supported and registered Azure Regions (e.g. West US, East US, Southeast Asia, etc.). The region of a resource cannot be changed once it is created, but if an identical region is specified on update the request will succeed.)')] [string] $location, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(HelpMessage='Specifies a list of named output properties that should be treated as secrets, which means they will be encrypted. It augments the list of values that Pulumi detects, based on secret inputs to the resource.')] [string[]] $PulumiSecretOutputs, [parameter(HelpMessage='The aliases parameter provides a list of aliases for a resource or component resource. If youre changing the name, type, or parent path of a resource or component resource, you can add the old name to the list of aliases for a resource to ensure that existing resources will be migrated to the new name instead of being deleted and replaced with the new named resource.')] [string[]] $PulumiAliases, [parameter(HelpMessage='The customTimeouts parameter provides a set of custom timeouts for create, update, and delete operations on a resource. These timeouts are specified using a duration string such as 5m (5 minutes), 40s (40 seconds), or 1d (1 day). Supported duration units are ns, us (or µs), ms, s, m, and h (nanoseconds, microseconds, milliseconds, seconds, minutes, and hours, respectively).')] [pulumicustomtimeouts] $PulumiCustomTimeouts, [parameter(HelpMessage='Setting the PulumiDeleteBeforeReplace parameter to true means that Pulumi will delete the existing resource before creating its replacement. Be aware that this behavior has a cascading impact on dependencies so more resources may be replaced, which can lead to downtime. However, this option may be necessary for some resources that manage scarce resources behind the scenes, and/or resources that cannot exist side-by-side.')] [bool] $PulumiDeleteBeforeReplace, [parameter(HelpMessage='Creates a list of explicit dependencies between resources.The DependsOn parameter ensures that resource creation, update, and deletion operations are done in the correct order.')] [object[]] $PulumiDependsOn, [parameter(HelpMessage='Specifies a list of properties that Pulumi will ignore when it updates existing resources. Any properties specified in this list that are also specified in the resources arguments will only be used when creating the resource.')] [string[]] $PulumiIgnoreChanges, [parameter(HelpMessage='Imports an existing cloud resource so that Pulumi can manage it. To import a resource, first specify the PulumiImport parameter with the resources ID')] [string] $PulumiImport = [NullString]::Value, [parameter(HelpMessage='Specifies a parent for a resource. It is used to associate children with the parents that encapsulate or are responsible for them.')] [object] $PulumiParent = [NullString]::Value, [parameter(HelpMessage='Marks a resource as protected. A protected resource cannot be deleted directly, and it will be an error to do a Pulumi deployment which tries to delete a protected resource for any reason.')] [bool] $PulumiProtect, [parameter(HelpMessage='Sets a provider for the resource. The default is to inherit this value from the parent resource, and to use the ambient provider specified by Pulumi configuration for resources without a parent.')] [object] $PulumiProvider = [NullString]::Value, [parameter(HelpMessage='Sets a list of providers for the resource and its children. This list is combined with resource parents providers lists. If no value is provided, the providers list is identical to the parent. When determining which provider to use for a resource, the providers list is used if provider is not supplied.')] [object[]] $PulumiProviders, [parameter(HelpMessage='Used to indicate that changes to certain properties on a resource should force a replacement of the resource instead of an in-place update. Typically users rely on the resource provider to make this decision based on whether the input property is one that the provider knows how to update in place, or if not, requires a replacement to modify. However, there are cases where users want to replace a resource on a change to an input property even if the resource provider itself doesnt believe it has to replace the resource.')] [string[]] $PulumiReplaceOnChanges, [parameter(HelpMessage='Marks a resource to be retained. If this option is set then Pulumi will not call through to the resource providers Delete method when deleting or replacing the resource during pulumi up or pulumi destroy. As a result, the resource will not be deleted from the backing cloud provider, but will be removed from the Pulumi state.')] [bool] $PulumiRetainOnDelete, [parameter(HelpMessage='Specifies a provider version to use when operating on a resource. This version overrides the version information inferred from the current package. This option should be used rarely.')] [string] $PulumiProviderVersion = [NullString]::Value ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:databox:Job") $resource.options.additionalSecretOutputs = $PulumiSecretOutputs $resource.options.aliases = $PulumiAliases $resource.options.customTimeouts = $PulumiCustomTimeouts $resource.options.deleteBeforeReplace = $PulumiDeleteBeforeReplace $resource.options.ignoreChanges = $PulumiIgnoreChanges $resource.options.import = if([string]::IsNullOrEmpty($PulumiImport)) { [NullString]::Value } else { $PulumiImport } $resource.options.protect = $PulumiProtect $resource.options.replaceOnChanges = $PulumiReplaceOnChanges $resource.options.retainOnDelete = $PulumiRetainOnDelete $resource.options.version = if([string]::IsNullOrEmpty($PulumiProviderVersion)) { [NullString]::Value } else { $PulumiProviderVersion } foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.options.dependson += $Dependency.Reference() } else { $resource.options.dependson += $Dependency } } if($PulumiParent -is [pulumiresource]) { $resource.options.parent = $PulumiParent.Reference() } else { $resource.options.parent = $PulumiParent } foreach($provider in $PulumiProviders) { if($provider -is [pulumiprovider]) { $resource.options.providers += $provider.Reference() } else { $resource.options.providers += $provider } } if($PulumiProvider -is [pulumiprovider]) { $resource.options.provider = $PulumiProvider.Reference() } else { $resource.options.provider = $PulumiProvider } $resource.properties["resourceGroupName"] = $resourceGroupName $resource.properties["sku"] = $sku $resource.properties["transferType"] = $transferType if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'jobName') { $resource.properties["jobName"] = $jobName } if($PSBoundParameters.Keys -icontains 'details') { $resource.properties["details"] = $details } if($PSBoundParameters.Keys -icontains 'deliveryInfo') { $resource.properties["deliveryInfo"] = $deliveryInfo } if($PSBoundParameters.Keys -icontains 'identity') { $resource.properties["identity"] = $identity } if($PSBoundParameters.Keys -icontains 'deliveryType') { $resource.properties["deliveryType"] = $deliveryType } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } $global:pulumiresources += $resource return $resource } } |