pspulumiyaml.azurenative.cdn.psm1
using module @{ ModuleName = "PSPulumiYaml"; ModuleVersion = "0.0.3"; GUID = "909344e0-a08f-45f6-8177-80e36bb2ba58" } function Invoke-AzureNativeFunctionCdnGetEndpoint { param ( [parameter(mandatory=$False,HelpMessage='Name of the CDN profile which is unique within the resource group.)')] [string] $profileName, [parameter(mandatory=$False,HelpMessage='Name of the endpoint under the profile which is unique globally.)')] [string] $endpointName, [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')] [string] $resourceGroupName ) process { $arguments = @{} $arguments["endpointName"] = $endpointName $arguments["profileName"] = $profileName $arguments["resourceGroupName"] = $resourceGroupName $functionObject = Invoke-PulumiFunction -Name azure-native:cdn:getEndpoint -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionCdnGetAFDEndpoint { param ( [parameter(mandatory=$False,HelpMessage='Name of the CDN profile which is unique within the resource group.)')] [string] $profileName, [parameter(mandatory=$False,HelpMessage='Name of the endpoint under the profile which is unique globally.)')] [string] $endpointName, [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')] [string] $resourceGroupName ) process { $arguments = @{} $arguments["endpointName"] = $endpointName $arguments["profileName"] = $profileName $arguments["resourceGroupName"] = $resourceGroupName $functionObject = Invoke-PulumiFunction -Name azure-native:cdn:getAFDEndpoint -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionCdnGetProfileSupportedOptimizationTypes { param ( [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Name of the CDN profile which is unique within the resource group.)')] [string] $profileName ) process { $arguments = @{} $arguments["profileName"] = $profileName $arguments["resourceGroupName"] = $resourceGroupName $functionObject = Invoke-PulumiFunction -Name azure-native:cdn:getProfileSupportedOptimizationTypes -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionCdnGetSecret { param ( [parameter(mandatory=$False,HelpMessage='Name of the CDN profile which is unique within the resource group.)')] [string] $profileName, [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Name of the Secret under the profile.)')] [string] $secretName ) process { $arguments = @{} $arguments["profileName"] = $profileName $arguments["resourceGroupName"] = $resourceGroupName $arguments["secretName"] = $secretName $functionObject = Invoke-PulumiFunction -Name azure-native:cdn:getSecret -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionCdnGetOriginGroup { param ( [parameter(mandatory=$False,HelpMessage='Name of the CDN profile which is unique within the resource group.)')] [string] $profileName, [parameter(mandatory=$False,HelpMessage='Name of the endpoint under the profile which is unique globally.)')] [string] $endpointName, [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Name of the origin group which is unique within the endpoint.)')] [string] $originGroupName ) process { $arguments = @{} $arguments["endpointName"] = $endpointName $arguments["originGroupName"] = $originGroupName $arguments["profileName"] = $profileName $arguments["resourceGroupName"] = $resourceGroupName $functionObject = Invoke-PulumiFunction -Name azure-native:cdn:getOriginGroup -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionCdnGetAFDOrigin { param ( [parameter(mandatory=$False,HelpMessage='Name of the origin which is unique within the profile.)')] [string] $originName, [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Name of the CDN profile which is unique within the resource group.)')] [string] $profileName, [parameter(mandatory=$False,HelpMessage='Name of the origin group which is unique within the profile.)')] [string] $originGroupName ) process { $arguments = @{} $arguments["originGroupName"] = $originGroupName $arguments["originName"] = $originName $arguments["profileName"] = $profileName $arguments["resourceGroupName"] = $resourceGroupName $functionObject = Invoke-PulumiFunction -Name azure-native:cdn:getAFDOrigin -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionCdnGetAFDOriginGroup { param ( [parameter(mandatory=$False,HelpMessage='Name of the CDN profile which is unique within the resource group.)')] [string] $profileName, [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Name of the origin group which is unique within the endpoint.)')] [string] $originGroupName ) process { $arguments = @{} $arguments["originGroupName"] = $originGroupName $arguments["profileName"] = $profileName $arguments["resourceGroupName"] = $resourceGroupName $functionObject = Invoke-PulumiFunction -Name azure-native:cdn:getAFDOriginGroup -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionCdnGetOrigin { param ( [parameter(mandatory=$False,HelpMessage='Name of the origin which is unique within the endpoint.)')] [string] $originName, [parameter(mandatory=$False,HelpMessage='Name of the endpoint under the profile which is unique globally.)')] [string] $endpointName, [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Name of the CDN profile which is unique within the resource group.)')] [string] $profileName ) process { $arguments = @{} $arguments["endpointName"] = $endpointName $arguments["originName"] = $originName $arguments["profileName"] = $profileName $arguments["resourceGroupName"] = $resourceGroupName $functionObject = Invoke-PulumiFunction -Name azure-native:cdn:getOrigin -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionCdnGetCustomDomain { param ( [parameter(mandatory=$False,HelpMessage='Name of the custom domain within an endpoint.)')] [string] $customDomainName, [parameter(mandatory=$False,HelpMessage='Name of the endpoint under the profile which is unique globally.)')] [string] $endpointName, [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Name of the CDN profile which is unique within the resource group.)')] [string] $profileName ) process { $arguments = @{} $arguments["customDomainName"] = $customDomainName $arguments["endpointName"] = $endpointName $arguments["profileName"] = $profileName $arguments["resourceGroupName"] = $resourceGroupName $functionObject = Invoke-PulumiFunction -Name azure-native:cdn:getCustomDomain -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionCdnGetRule { param ( [parameter(mandatory=$False,HelpMessage='Name of the CDN profile which is unique within the resource group.)')] [string] $profileName, [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Name of the delivery rule which is unique within the endpoint.)')] [string] $ruleName, [parameter(mandatory=$False,HelpMessage='Name of the rule set under the profile.)')] [string] $ruleSetName ) process { $arguments = @{} $arguments["profileName"] = $profileName $arguments["resourceGroupName"] = $resourceGroupName $arguments["ruleName"] = $ruleName $arguments["ruleSetName"] = $ruleSetName $functionObject = Invoke-PulumiFunction -Name azure-native:cdn:getRule -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionCdnGetProfile { param ( [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Name of the CDN profile which is unique within the resource group.)')] [string] $profileName ) process { $arguments = @{} $arguments["profileName"] = $profileName $arguments["resourceGroupName"] = $resourceGroupName $functionObject = Invoke-PulumiFunction -Name azure-native:cdn:getProfile -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionCdnGetPolicy { param ( [parameter(mandatory=$False,HelpMessage='The name of the CdnWebApplicationFirewallPolicy.)')] [string] $policyName, [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')] [string] $resourceGroupName ) process { $arguments = @{} $arguments["policyName"] = $policyName $arguments["resourceGroupName"] = $resourceGroupName $functionObject = Invoke-PulumiFunction -Name azure-native:cdn:getPolicy -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionCdnGetSecurityPolicy { param ( [parameter(mandatory=$False,HelpMessage='Name of the CDN profile which is unique within the resource group.)')] [string] $profileName, [parameter(mandatory=$False,HelpMessage='Name of the security policy under the profile.)')] [string] $securityPolicyName, [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')] [string] $resourceGroupName ) process { $arguments = @{} $arguments["profileName"] = $profileName $arguments["resourceGroupName"] = $resourceGroupName $arguments["securityPolicyName"] = $securityPolicyName $functionObject = Invoke-PulumiFunction -Name azure-native:cdn:getSecurityPolicy -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionCdnGetAFDCustomDomain { param ( [parameter(mandatory=$False,HelpMessage='Name of the domain under the profile which is unique globally.)')] [string] $customDomainName, [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Name of the CDN profile which is unique within the resource group.)')] [string] $profileName ) process { $arguments = @{} $arguments["customDomainName"] = $customDomainName $arguments["profileName"] = $profileName $arguments["resourceGroupName"] = $resourceGroupName $functionObject = Invoke-PulumiFunction -Name azure-native:cdn:getAFDCustomDomain -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionCdnGetRoute { param ( [parameter(mandatory=$False,HelpMessage='Name of the CDN profile which is unique within the resource group.)')] [string] $profileName, [parameter(mandatory=$False,HelpMessage='Name of the endpoint under the profile which is unique globally.)')] [string] $endpointName, [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Name of the routing rule.)')] [string] $routeName ) process { $arguments = @{} $arguments["endpointName"] = $endpointName $arguments["profileName"] = $profileName $arguments["resourceGroupName"] = $resourceGroupName $arguments["routeName"] = $routeName $functionObject = Invoke-PulumiFunction -Name azure-native:cdn:getRoute -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionCdnGetRuleSet { param ( [parameter(mandatory=$False,HelpMessage='Name of the CDN profile which is unique within the resource group.)')] [string] $profileName, [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Name of the rule set under the profile which is unique globally.)')] [string] $ruleSetName ) process { $arguments = @{} $arguments["profileName"] = $profileName $arguments["resourceGroupName"] = $resourceGroupName $arguments["ruleSetName"] = $ruleSetName $functionObject = Invoke-PulumiFunction -Name azure-native:cdn:getRuleSet -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } class ResourceReference { [string] $id } function New-AzureNativeTypeCdnResourceReference { param ( [parameter(mandatory=$False,HelpMessage='Resource ID.)')] [string] $id ) process { return $([ResourceReference]$PSBoundParameters) } } class SecurityPolicyWebApplicationFirewallAssociation { [string[]] $patternsToMatch [ResourceReference[]] $domains } function New-AzureNativeTypeCdnSecurityPolicyWebApplicationFirewallAssociation { param ( [parameter(mandatory=$False,HelpMessage='List of paths)')] [string[]] $patternsToMatch, [parameter(mandatory=$False,HelpMessage='List of domains.)')] $domains ) process { return $([SecurityPolicyWebApplicationFirewallAssociation]$PSBoundParameters) } } class SecurityPolicyWebApplicationFirewallParameters { [string] $type [ResourceReference] $wafPolicy [SecurityPolicyWebApplicationFirewallAssociation[]] $associations } function New-AzureNativeTypeCdnSecurityPolicyWebApplicationFirewallParameters { param ( [parameter(mandatory=$False,HelpMessage='The type of the Security policy to create. Expected value is ''WebApplicationFirewall''.)')] [string] $type, [parameter(mandatory=$False,HelpMessage='Resource ID.)')] [ResourceReference] $wafPolicy, [parameter(mandatory=$False,HelpMessage='Waf associations)')] $associations ) process { return $([SecurityPolicyWebApplicationFirewallParameters]$PSBoundParameters) } } function New-AzureNativeCdnSecurityPolicy { [Alias('azure_native_cdn_securitypolicy')] param ( [parameter(mandatory=$False,HelpMessage='Name of the CDN profile which is unique within the resource group.)')] [string] $profileName, [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='object which contains security policy parameters)')] [SecurityPolicyWebApplicationFirewallParameters] $parameters, [parameter(mandatory=$False,HelpMessage='Name of the security policy under the profile.)')] [string] $securityPolicyName, [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:cdn:SecurityPolicy") $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["profileName"] = $profileName $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'parameters') { $resource.properties["parameters"] = $parameters } if($PSBoundParameters.Keys -icontains 'securityPolicyName') { $resource.properties["securityPolicyName"] = $securityPolicyName } $global:pulumiresources += $resource return $resource } } class AFDDomainHttpsParameters { [ArgumentCompletions('CustomerCertificate', 'ManagedCertificate')] [string] $certificateType [ArgumentCompletions('TLS10', 'TLS12')] [object] $minimumTlsVersion [ResourceReference] $secret } function New-AzureNativeTypeCdnAFDDomainHttpsParameters { param ( [parameter(mandatory=$False,HelpMessage='Defines the source of the SSL certificate.)')] [string] [ArgumentCompletions('CustomerCertificate', 'ManagedCertificate')] $certificateType, [parameter(mandatory=$False,HelpMessage='TLS protocol version that will be used for Https)')] $minimumTlsVersion, [parameter(mandatory=$False,HelpMessage='Resource reference to the secret. ie. subs/rg/profile/secret)')] [ResourceReference] $secret ) process { return $([AFDDomainHttpsParameters]$PSBoundParameters) } } function New-AzureNativeCdnAFDCustomDomain { [Alias('azure_native_cdn_afdcustomdomain')] param ( [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Name of the CDN profile which is unique within the resource group.)')] [string] $profileName, [parameter(mandatory=$False,HelpMessage='The host name of the domain. Must be a domain name.)')] [string] $hostName, [parameter(mandatory=$False,HelpMessage='Name of the domain under the profile which is unique globally)')] [string] $customDomainName, [parameter(mandatory=$False,HelpMessage='Resource reference to the Azure DNS zone)')] [ResourceReference] $azureDnsZone, [parameter(mandatory=$False,HelpMessage='The configuration specifying how to enable HTTPS for the domain - using AzureFrontDoor managed certificate or user''s own certificate. If not specified, enabling ssl uses AzureFrontDoor managed certificate by default.)')] [AFDDomainHttpsParameters] $tlsSettings, [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:cdn:AFDCustomDomain") $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["hostName"] = $hostName $resource.properties["profileName"] = $profileName $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'customDomainName') { $resource.properties["customDomainName"] = $customDomainName } if($PSBoundParameters.Keys -icontains 'azureDnsZone') { $resource.properties["azureDnsZone"] = $azureDnsZone } if($PSBoundParameters.Keys -icontains 'tlsSettings') { $resource.properties["tlsSettings"] = $tlsSettings } $global:pulumiresources += $resource return $resource } } function New-AzureNativeCdnAFDEndpoint { [Alias('azure_native_cdn_afdendpoint')] param ( [parameter(mandatory=$False,HelpMessage='Name of the endpoint under the profile which is unique globally.)')] [string] $endpointName, [parameter(mandatory=$False,HelpMessage='Whether to enable use of this rule. Permitted values are ''Enabled'' or ''Disabled'')')] [string] [ArgumentCompletions('Enabled', 'Disabled')] $enabledState, [parameter(mandatory=$False,HelpMessage='Resource location.)')] [string] $location, [parameter(mandatory=$False,HelpMessage='Send and receive timeout on forwarding request to the origin. When timeout is reached, the request fails and returns.)')] [int] $originResponseTimeoutSeconds, [parameter(mandatory=$False,HelpMessage='Resource tags.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='Name of the CDN profile which is unique within the resource group.)')] [string] $profileName, [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')] [string] $resourceGroupName, [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:cdn:AFDEndpoint") $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["profileName"] = $profileName $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'endpointName') { $resource.properties["endpointName"] = $endpointName } if($PSBoundParameters.Keys -icontains 'enabledState') { $resource.properties["enabledState"] = $enabledState } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } if($PSBoundParameters.Keys -icontains 'originResponseTimeoutSeconds') { $resource.properties["originResponseTimeoutSeconds"] = $originResponseTimeoutSeconds } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } $global:pulumiresources += $resource return $resource } } function New-AzureNativeCdnOrigin { [Alias('azure_native_cdn_origin')] param ( [parameter(mandatory=$False,HelpMessage='Name of the endpoint under the profile which is unique globally.)')] [string] $endpointName, [parameter(mandatory=$False,HelpMessage='The value of the HTTPS port. Must be between 1 and 65535.)')] [int] $httpsPort, [parameter(mandatory=$False,HelpMessage='Priority of origin in given origin group for load balancing. Higher priorities will not be used for load balancing if any lower priority origin is healthy.Must be between 1 and 5)')] [int] $priority, [parameter(mandatory=$False,HelpMessage='The location of the Private Link resource. Required only if ''privateLinkResourceId'' is populated)')] [string] $privateLinkLocation, [parameter(mandatory=$False,HelpMessage='Name of the CDN profile which is unique within the resource group.)')] [string] $profileName, [parameter(mandatory=$False,HelpMessage='Weight of the origin in given origin group for load balancing. Must be between 1 and 1000)')] [int] $weight, [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The value of the HTTP port. Must be between 1 and 65535.)')] [int] $httpPort, [parameter(mandatory=$False,HelpMessage='Name of the origin that is unique within the endpoint.)')] [string] $originName, [parameter(mandatory=$False,HelpMessage='Origin is enabled for load balancing or not)')] [bool] $enabled, [parameter(mandatory=$False,HelpMessage='The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported.This should be unique across all origins in an endpoint.)')] [string] $hostName, [parameter(mandatory=$False,HelpMessage='The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default. This overrides the host header defined at Endpoint)')] [string] $originHostHeader, [parameter(mandatory=$False,HelpMessage='The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is ''Private'')')] [string] $privateLinkResourceId, [parameter(mandatory=$False,HelpMessage='The Alias of the Private Link resource. Populating this optional field indicates that this origin is ''Private'')')] [string] $privateLinkAlias, [parameter(mandatory=$False,HelpMessage='A custom message to be included in the approval request to connect to the Private Link.)')] [string] $privateLinkApprovalMessage, [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:cdn:Origin") $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["endpointName"] = $endpointName $resource.properties["hostName"] = $hostName $resource.properties["profileName"] = $profileName $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'httpsPort') { $resource.properties["httpsPort"] = $httpsPort } if($PSBoundParameters.Keys -icontains 'priority') { $resource.properties["priority"] = $priority } if($PSBoundParameters.Keys -icontains 'privateLinkLocation') { $resource.properties["privateLinkLocation"] = $privateLinkLocation } if($PSBoundParameters.Keys -icontains 'weight') { $resource.properties["weight"] = $weight } if($PSBoundParameters.Keys -icontains 'httpPort') { $resource.properties["httpPort"] = $httpPort } if($PSBoundParameters.Keys -icontains 'originName') { $resource.properties["originName"] = $originName } if($PSBoundParameters.Keys -icontains 'enabled') { $resource.properties["enabled"] = $enabled } if($PSBoundParameters.Keys -icontains 'originHostHeader') { $resource.properties["originHostHeader"] = $originHostHeader } if($PSBoundParameters.Keys -icontains 'privateLinkResourceId') { $resource.properties["privateLinkResourceId"] = $privateLinkResourceId } if($PSBoundParameters.Keys -icontains 'privateLinkAlias') { $resource.properties["privateLinkAlias"] = $privateLinkAlias } if($PSBoundParameters.Keys -icontains 'privateLinkApprovalMessage') { $resource.properties["privateLinkApprovalMessage"] = $privateLinkApprovalMessage } $global:pulumiresources += $resource return $resource } } class HttpErrorRangeParameters { [int] $end [int] $begin } function New-AzureNativeTypeCdnHttpErrorRangeParameters { param ( [parameter(mandatory=$False,HelpMessage='The inclusive end of the http status code range.)')] [int] $end, [parameter(mandatory=$False,HelpMessage='The inclusive start of the http status code range.)')] [int] $begin ) process { return $([HttpErrorRangeParameters]$PSBoundParameters) } } class ResponseBasedOriginErrorDetectionParameters { [int] $responseBasedFailoverThresholdPercentage [ArgumentCompletions('None', 'TcpErrorsOnly', 'TcpAndHttpErrors')] [object] $responseBasedDetectedErrorTypes [HttpErrorRangeParameters[]] $httpErrorRanges } function New-AzureNativeTypeCdnResponseBasedOriginErrorDetectionParameters { param ( [parameter(mandatory=$False,HelpMessage='The percentage of failed requests in the sample where failover should trigger.)')] [int] $responseBasedFailoverThresholdPercentage, [parameter(mandatory=$False,HelpMessage='Type of response errors for real user requests for which origin will be deemed unhealthy)')] $responseBasedDetectedErrorTypes, [parameter(mandatory=$False,HelpMessage='The list of Http status code ranges that are considered as server errors for origin and it is marked as unhealthy.)')] $httpErrorRanges ) process { return $([ResponseBasedOriginErrorDetectionParameters]$PSBoundParameters) } } class HealthProbeParameters { [int] $probeIntervalInSeconds [ArgumentCompletions('NotSet', 'GET', 'HEAD')] [object] $probeRequestType [string] $probePath [ArgumentCompletions('NotSet', 'Http', 'Https')] [object] $probeProtocol } function New-AzureNativeTypeCdnHealthProbeParameters { param ( [parameter(mandatory=$False,HelpMessage='The number of seconds between health probes.Default is 240sec.)')] [int] $probeIntervalInSeconds, [parameter(mandatory=$False,HelpMessage='The type of health probe request that is made.)')] $probeRequestType, [parameter(mandatory=$False,HelpMessage='The path relative to the origin that is used to determine the health of the origin.)')] [string] $probePath, [parameter(mandatory=$False,HelpMessage='Protocol to use for health probe.)')] $probeProtocol ) process { return $([HealthProbeParameters]$PSBoundParameters) } } function New-AzureNativeCdnOriginGroup { [Alias('azure_native_cdn_origingroup')] param ( [parameter(mandatory=$False,HelpMessage='Name of the endpoint under the profile which is unique globally.)')] [string] $endpointName, [parameter(mandatory=$False,HelpMessage='Name of the origin group which is unique within the endpoint.)')] [string] $originGroupName, [parameter(mandatory=$False,HelpMessage='The source of the content being delivered via CDN within given origin group.)')] $origins, [parameter(mandatory=$False,HelpMessage='The JSON object that contains the properties to determine origin health using real requests/responses. This property is currently not supported.)')] [ResponseBasedOriginErrorDetectionParameters] $responseBasedOriginErrorDetectionSettings, [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Time in minutes to shift the traffic to the endpoint gradually when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins. This property is currently not supported.)')] [int] $trafficRestorationTimeToHealedOrNewEndpointsInMinutes, [parameter(mandatory=$False,HelpMessage='Health probe settings to the origin that is used to determine the health of the origin.)')] [HealthProbeParameters] $healthProbeSettings, [parameter(mandatory=$False,HelpMessage='Name of the CDN profile which is unique within the resource group.)')] [string] $profileName, [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:cdn:OriginGroup") $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["endpointName"] = $endpointName $resource.properties["origins"] = $origins $resource.properties["profileName"] = $profileName $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'originGroupName') { $resource.properties["originGroupName"] = $originGroupName } if($PSBoundParameters.Keys -icontains 'responseBasedOriginErrorDetectionSettings') { $resource.properties["responseBasedOriginErrorDetectionSettings"] = $responseBasedOriginErrorDetectionSettings } if($PSBoundParameters.Keys -icontains 'trafficRestorationTimeToHealedOrNewEndpointsInMinutes') { $resource.properties["trafficRestorationTimeToHealedOrNewEndpointsInMinutes"] = $trafficRestorationTimeToHealedOrNewEndpointsInMinutes } if($PSBoundParameters.Keys -icontains 'healthProbeSettings') { $resource.properties["healthProbeSettings"] = $healthProbeSettings } $global:pulumiresources += $resource return $resource } } function New-AzureNativeCdnRuleSet { [Alias('azure_native_cdn_ruleset')] param ( [parameter(mandatory=$False,HelpMessage='Name of the CDN profile which is unique within the resource group.)')] [string] $profileName, [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Name of the rule set under the profile which is unique globally)')] [string] $ruleSetName, [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:cdn:RuleSet") $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["profileName"] = $profileName $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'ruleSetName') { $resource.properties["ruleSetName"] = $ruleSetName } $global:pulumiresources += $resource return $resource } } function New-AzureNativeCdnRule { [Alias('azure_native_cdn_rule')] param ( [parameter(mandatory=$False,HelpMessage='A list of conditions that must be matched for the actions to be executed)')] $conditions, [parameter(mandatory=$False,HelpMessage='Name of the delivery rule which is unique within the endpoint.)')] [string] $ruleName, [parameter(mandatory=$False,HelpMessage='Name of the rule set under the profile.)')] [string] $ruleSetName, [parameter(mandatory=$False,HelpMessage='A list of actions that are executed when all the conditions of a rule are satisfied.)')] $actions, [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied.)')] [int] $order, [parameter(mandatory=$False,HelpMessage='If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue.)')] [string] [ArgumentCompletions('Continue', 'Stop')] $matchProcessingBehavior, [parameter(mandatory=$False,HelpMessage='Name of the CDN profile which is unique within the resource group.)')] [string] $profileName, [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:cdn:Rule") $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["actions"] = $actions $resource.properties["order"] = $order $resource.properties["profileName"] = $profileName $resource.properties["resourceGroupName"] = $resourceGroupName $resource.properties["ruleSetName"] = $ruleSetName if($PSBoundParameters.Keys -icontains 'conditions') { $resource.properties["conditions"] = $conditions } if($PSBoundParameters.Keys -icontains 'ruleName') { $resource.properties["ruleName"] = $ruleName } if($PSBoundParameters.Keys -icontains 'matchProcessingBehavior') { $resource.properties["matchProcessingBehavior"] = $matchProcessingBehavior } $global:pulumiresources += $resource return $resource } } class Sku { [ArgumentCompletions('Standard_Verizon', 'Premium_Verizon', 'Custom_Verizon', 'Standard_Akamai', 'Standard_ChinaCdn', 'Standard_Microsoft', 'Premium_ChinaCdn', 'Standard_AzureFrontDoor', 'Premium_AzureFrontDoor', 'Standard_955BandWidth_ChinaCdn', 'Standard_AvgBandWidth_ChinaCdn', 'StandardPlus_ChinaCdn', 'StandardPlus_955BandWidth_ChinaCdn', 'StandardPlus_AvgBandWidth_ChinaCdn')] [string] $name } function New-AzureNativeTypeCdnSku { param ( [parameter(mandatory=$False,HelpMessage='Name of the pricing tier.)')] [string] [ArgumentCompletions('Standard_Verizon', 'Premium_Verizon', 'Custom_Verizon', 'Standard_Akamai', 'Standard_ChinaCdn', 'Standard_Microsoft', 'Premium_ChinaCdn', 'Standard_AzureFrontDoor', 'Premium_AzureFrontDoor', 'Standard_955BandWidth_ChinaCdn', 'Standard_AvgBandWidth_ChinaCdn', 'StandardPlus_ChinaCdn', 'StandardPlus_955BandWidth_ChinaCdn', 'StandardPlus_AvgBandWidth_ChinaCdn')] $name ) process { return $([Sku]$PSBoundParameters) } } function New-AzureNativeCdnProfile { [Alias('azure_native_cdn_profile')] param ( [parameter(mandatory=$False,HelpMessage='Resource location.)')] [string] $location, [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Name of the CDN profile which is unique within the resource group.)')] [string] $profileName, [parameter(mandatory=$False,HelpMessage='Resource tags.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile.)')] [Sku] $sku, [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:cdn:Profile") $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 if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } if($PSBoundParameters.Keys -icontains 'profileName') { $resource.properties["profileName"] = $profileName } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } $global:pulumiresources += $resource return $resource } } class SharedPrivateLinkResourceProperties { [string] $privateLinkLocation [ResourceReference] $privateLink [string] $groupId [ArgumentCompletions('Pending', 'Approved', 'Rejected', 'Disconnected', 'Timeout')] [object] $status [string] $requestMessage } function New-AzureNativeTypeCdnSharedPrivateLinkResourceProperties { param ( [parameter(mandatory=$False,HelpMessage='The location of the shared private link resource)')] [string] $privateLinkLocation, [parameter(mandatory=$False,HelpMessage='The resource id of the resource the shared private link resource is for.)')] [ResourceReference] $privateLink, [parameter(mandatory=$False,HelpMessage='The group id from the provider of resource the shared private link resource is for.)')] [string] $groupId, [parameter(mandatory=$False,HelpMessage='Status of the shared private link resource. Can be Pending, Approved, Rejected, Disconnected, or Timeout.)')] $status, [parameter(mandatory=$False,HelpMessage='The request message for requesting approval of the shared private link resource.)')] [string] $requestMessage ) process { return $([SharedPrivateLinkResourceProperties]$PSBoundParameters) } } function New-AzureNativeCdnAFDOrigin { [Alias('azure_native_cdn_afdorigin')] param ( [parameter(mandatory=$False,HelpMessage='The properties of the private link resource for private origin.)')] [SharedPrivateLinkResourceProperties] $sharedPrivateLinkResource, [parameter(mandatory=$False,HelpMessage='Resource reference to the Azure origin resource.)')] [ResourceReference] $azureOrigin, [parameter(mandatory=$False,HelpMessage='Name of the origin group which is unique within the profile.)')] [string] $originGroupName, [parameter(mandatory=$False,HelpMessage='The value of the HTTPS port. Must be between 1 and 65535.)')] [int] $httpsPort, [parameter(mandatory=$False,HelpMessage='Priority of origin in given origin group for load balancing. Higher priorities will not be used for load balancing if any lower priority origin is healthy.Must be between 1 and 5)')] [int] $priority, [parameter(mandatory=$False,HelpMessage='Whether to enable health probes to be made against backends defined under backendPools. Health probes can only be disabled if there is a single enabled backend in single enabled backend pool.)')] [string] [ArgumentCompletions('Enabled', 'Disabled')] $enabledState, [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The value of the HTTP port. Must be between 1 and 65535.)')] [int] $httpPort, [parameter(mandatory=$False,HelpMessage='The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported.This should be unique across all origins in an endpoint.)')] [string] $hostName, [parameter(mandatory=$False,HelpMessage='Name of the origin that is unique within the profile.)')] [string] $originName, [parameter(mandatory=$False,HelpMessage='The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default. This overrides the host header defined at Endpoint)')] [string] $originHostHeader, [parameter(mandatory=$False,HelpMessage='Weight of the origin in given origin group for load balancing. Must be between 1 and 1000)')] [int] $weight, [parameter(mandatory=$False,HelpMessage='Name of the CDN profile which is unique within the resource group.)')] [string] $profileName, [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:cdn:AFDOrigin") $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["hostName"] = $hostName $resource.properties["originGroupName"] = $originGroupName $resource.properties["profileName"] = $profileName $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'sharedPrivateLinkResource') { $resource.properties["sharedPrivateLinkResource"] = $sharedPrivateLinkResource } if($PSBoundParameters.Keys -icontains 'azureOrigin') { $resource.properties["azureOrigin"] = $azureOrigin } if($PSBoundParameters.Keys -icontains 'httpsPort') { $resource.properties["httpsPort"] = $httpsPort } if($PSBoundParameters.Keys -icontains 'priority') { $resource.properties["priority"] = $priority } if($PSBoundParameters.Keys -icontains 'enabledState') { $resource.properties["enabledState"] = $enabledState } if($PSBoundParameters.Keys -icontains 'httpPort') { $resource.properties["httpPort"] = $httpPort } if($PSBoundParameters.Keys -icontains 'originName') { $resource.properties["originName"] = $originName } if($PSBoundParameters.Keys -icontains 'originHostHeader') { $resource.properties["originHostHeader"] = $originHostHeader } if($PSBoundParameters.Keys -icontains 'weight') { $resource.properties["weight"] = $weight } $global:pulumiresources += $resource return $resource } } class UrlSigningKeyParameters { [ResourceReference] $secretSource [string] $keyId [string] $type [string] $secretVersion } function New-AzureNativeTypeCdnUrlSigningKeyParameters { param ( [parameter(mandatory=$False,HelpMessage='Resource reference to the KV secret)')] [ResourceReference] $secretSource, [parameter(mandatory=$False,HelpMessage='Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form the hash.)')] [string] $keyId, [parameter(mandatory=$False,HelpMessage='The type of the Secret to create. Expected value is ''UrlSigningKey''.)')] [string] $type, [parameter(mandatory=$False,HelpMessage='Version of the secret to be used)')] [string] $secretVersion ) process { return $([UrlSigningKeyParameters]$PSBoundParameters) } } function New-AzureNativeCdnSecret { [Alias('azure_native_cdn_secret')] param ( [parameter(mandatory=$False,HelpMessage='Name of the CDN profile which is unique within the resource group.)')] [string] $profileName, [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='object which contains secret parameters)')] [UrlSigningKeyParameters] $parameters, [parameter(mandatory=$False,HelpMessage='Name of the Secret under the profile.)')] [string] $secretName, [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:cdn:Secret") $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["profileName"] = $profileName $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'parameters') { $resource.properties["parameters"] = $parameters } if($PSBoundParameters.Keys -icontains 'secretName') { $resource.properties["secretName"] = $secretName } $global:pulumiresources += $resource return $resource } } class LoadBalancingSettingsParameters { [int] $additionalLatencyInMilliseconds [int] $successfulSamplesRequired [int] $sampleSize } function New-AzureNativeTypeCdnLoadBalancingSettingsParameters { param ( [parameter(mandatory=$False,HelpMessage='The additional latency in milliseconds for probes to fall into the lowest latency bucket)')] [int] $additionalLatencyInMilliseconds, [parameter(mandatory=$False,HelpMessage='The number of samples within the sample period that must succeed)')] [int] $successfulSamplesRequired, [parameter(mandatory=$False,HelpMessage='The number of samples to consider for load balancing decisions)')] [int] $sampleSize ) process { return $([LoadBalancingSettingsParameters]$PSBoundParameters) } } function New-AzureNativeCdnAFDOriginGroup { [Alias('azure_native_cdn_afdorigingroup')] param ( [parameter(mandatory=$False,HelpMessage='Load balancing settings for a backend pool)')] [LoadBalancingSettingsParameters] $loadBalancingSettings, [parameter(mandatory=$False,HelpMessage='Name of the origin group which is unique within the endpoint.)')] [string] $originGroupName, [parameter(mandatory=$False,HelpMessage='Name of the CDN profile which is unique within the resource group.)')] [string] $profileName, [parameter(mandatory=$False,HelpMessage='Whether to allow session affinity on this host. Valid options are ''Enabled'' or ''Disabled'')')] [string] [ArgumentCompletions('Enabled', 'Disabled')] $sessionAffinityState, [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Time in minutes to shift the traffic to the endpoint gradually when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins. This property is currently not supported.)')] [int] $trafficRestorationTimeToHealedOrNewEndpointsInMinutes, [parameter(mandatory=$False,HelpMessage='Health probe settings to the origin that is used to determine the health of the origin.)')] [HealthProbeParameters] $healthProbeSettings, [parameter(mandatory=$False,HelpMessage='The JSON object that contains the properties to determine origin health using real requests/responses. This property is currently not supported.)')] [ResponseBasedOriginErrorDetectionParameters] $responseBasedAfdOriginErrorDetectionSettings, [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:cdn:AFDOriginGroup") $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["profileName"] = $profileName $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'loadBalancingSettings') { $resource.properties["loadBalancingSettings"] = $loadBalancingSettings } if($PSBoundParameters.Keys -icontains 'originGroupName') { $resource.properties["originGroupName"] = $originGroupName } if($PSBoundParameters.Keys -icontains 'sessionAffinityState') { $resource.properties["sessionAffinityState"] = $sessionAffinityState } if($PSBoundParameters.Keys -icontains 'trafficRestorationTimeToHealedOrNewEndpointsInMinutes') { $resource.properties["trafficRestorationTimeToHealedOrNewEndpointsInMinutes"] = $trafficRestorationTimeToHealedOrNewEndpointsInMinutes } if($PSBoundParameters.Keys -icontains 'healthProbeSettings') { $resource.properties["healthProbeSettings"] = $healthProbeSettings } if($PSBoundParameters.Keys -icontains 'responseBasedAfdOriginErrorDetectionSettings') { $resource.properties["responseBasedAfdOriginErrorDetectionSettings"] = $responseBasedAfdOriginErrorDetectionSettings } $global:pulumiresources += $resource return $resource } } class CompressionSettings { [bool] $isCompressionEnabled [string[]] $contentTypesToCompress } function New-AzureNativeTypeCdnCompressionSettings { param ( [parameter(mandatory=$False,HelpMessage='Indicates whether content compression is enabled on AzureFrontDoor. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won''t be compressed on AzureFrontDoor when requested content is smaller than 1 byte or larger than 1 MB.)')] [bool] $isCompressionEnabled, [parameter(mandatory=$False,HelpMessage='List of content types on which compression applies. The value should be a valid MIME type.)')] [string[]] $contentTypesToCompress ) process { return $([CompressionSettings]$PSBoundParameters) } } function New-AzureNativeCdnRoute { [Alias('azure_native_cdn_route')] param ( [parameter(mandatory=$False,HelpMessage='Name of the endpoint under the profile which is unique globally.)')] [string] $endpointName, [parameter(mandatory=$False,HelpMessage='List of supported protocols for this route.)')] $supportedProtocols, [parameter(mandatory=$False,HelpMessage='Name of the routing rule.)')] [string] $routeName, [parameter(mandatory=$False,HelpMessage='Defines how CDN caches requests that include query strings. You can ignore any query strings when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request with a unique URL.)')] $queryStringCachingBehavior, [parameter(mandatory=$False,HelpMessage='compression settings.)')] [CompressionSettings] $compressionSettings, [parameter(mandatory=$False,HelpMessage='Protocol this rule will use when forwarding traffic to backends.)')] [string] [ArgumentCompletions('HttpOnly', 'HttpsOnly', 'MatchRequest')] $forwardingProtocol, [parameter(mandatory=$False,HelpMessage='Domains referenced by this endpoint.)')] $customDomains, [parameter(mandatory=$False,HelpMessage='rule sets referenced by this endpoint.)')] $ruleSets, [parameter(mandatory=$False,HelpMessage='Whether to enable use of this rule. Permitted values are ''Enabled'' or ''Disabled'')')] [string] [ArgumentCompletions('Enabled', 'Disabled')] $enabledState, [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='A directory path on the origin that AzureFrontDoor can use to retrieve content from, e.g. contoso.cloudapp.net/originpath.)')] [string] $originPath, [parameter(mandatory=$False,HelpMessage='The route patterns of the rule.)')] [string[]] $patternsToMatch, [parameter(mandatory=$False,HelpMessage='whether this route will be linked to the default endpoint domain.)')] [string] [ArgumentCompletions('Enabled', 'Disabled')] $linkToDefaultDomain, [parameter(mandatory=$False,HelpMessage='Whether to automatically redirect HTTP traffic to HTTPS traffic. Note that this is a easy way to set up this rule and it will be the first rule that gets executed.)')] [string] [ArgumentCompletions('Enabled', 'Disabled')] $httpsRedirect, [parameter(mandatory=$False,HelpMessage='Name of the CDN profile which is unique within the resource group.)')] [string] $profileName, [parameter(mandatory=$False,HelpMessage='A reference to the origin group.)')] [ResourceReference] $originGroup, [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:cdn:Route") $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["endpointName"] = $endpointName $resource.properties["originGroup"] = $originGroup $resource.properties["profileName"] = $profileName $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'supportedProtocols') { $resource.properties["supportedProtocols"] = $supportedProtocols } if($PSBoundParameters.Keys -icontains 'routeName') { $resource.properties["routeName"] = $routeName } if($PSBoundParameters.Keys -icontains 'queryStringCachingBehavior') { $resource.properties["queryStringCachingBehavior"] = $queryStringCachingBehavior } if($PSBoundParameters.Keys -icontains 'compressionSettings') { $resource.properties["compressionSettings"] = $compressionSettings } if($PSBoundParameters.Keys -icontains 'forwardingProtocol') { $resource.properties["forwardingProtocol"] = $forwardingProtocol } if($PSBoundParameters.Keys -icontains 'customDomains') { $resource.properties["customDomains"] = $customDomains } if($PSBoundParameters.Keys -icontains 'ruleSets') { $resource.properties["ruleSets"] = $ruleSets } if($PSBoundParameters.Keys -icontains 'enabledState') { $resource.properties["enabledState"] = $enabledState } if($PSBoundParameters.Keys -icontains 'originPath') { $resource.properties["originPath"] = $originPath } if($PSBoundParameters.Keys -icontains 'patternsToMatch') { $resource.properties["patternsToMatch"] = $patternsToMatch } if($PSBoundParameters.Keys -icontains 'linkToDefaultDomain') { $resource.properties["linkToDefaultDomain"] = $linkToDefaultDomain } if($PSBoundParameters.Keys -icontains 'httpsRedirect') { $resource.properties["httpsRedirect"] = $httpsRedirect } $global:pulumiresources += $resource return $resource } } class ManagedRuleOverride { [ArgumentCompletions('Disabled', 'Enabled')] [string] $enabledState [string] $ruleId [ArgumentCompletions('Allow', 'Block', 'Log', 'Redirect')] [string] $action } function New-AzureNativeTypeCdnManagedRuleOverride { param ( [parameter(mandatory=$False,HelpMessage='Describes if the managed rule is in enabled or disabled state. Defaults to Disabled if not specified.)')] [string] [ArgumentCompletions('Disabled', 'Enabled')] $enabledState, [parameter(mandatory=$False,HelpMessage='Identifier for the managed rule.)')] [string] $ruleId, [parameter(mandatory=$False,HelpMessage='Describes the override action to be applied when rule matches.)')] [string] [ArgumentCompletions('Allow', 'Block', 'Log', 'Redirect')] $action ) process { return $([ManagedRuleOverride]$PSBoundParameters) } } class ManagedRuleGroupOverride { [ManagedRuleOverride[]] $rules [string] $ruleGroupName } function New-AzureNativeTypeCdnManagedRuleGroupOverride { param ( [parameter(mandatory=$False,HelpMessage='List of rules that will be disabled. If none specified, all rules in the group will be disabled.)')] $rules, [parameter(mandatory=$False,HelpMessage='Describes the managed rule group within the rule set to override)')] [string] $ruleGroupName ) process { return $([ManagedRuleGroupOverride]$PSBoundParameters) } } class ManagedRuleSet { [string] $ruleSetType [ManagedRuleGroupOverride[]] $ruleGroupOverrides [int] $anomalyScore [string] $ruleSetVersion } function New-AzureNativeTypeCdnManagedRuleSet { param ( [parameter(mandatory=$False,HelpMessage='Defines the rule set type to use.)')] [string] $ruleSetType, [parameter(mandatory=$False,HelpMessage='Defines the rule overrides to apply to the rule set.)')] $ruleGroupOverrides, [parameter(mandatory=$False,HelpMessage='Verizon only : If the rule set supports anomaly detection mode, this describes the threshold for blocking requests.)')] [int] $anomalyScore, [parameter(mandatory=$False,HelpMessage='Defines the version of the rule set to use.)')] [string] $ruleSetVersion ) process { return $([ManagedRuleSet]$PSBoundParameters) } } class ManagedRuleSetList { [ManagedRuleSet[]] $managedRuleSets } function New-AzureNativeTypeCdnManagedRuleSetList { param ( [parameter(mandatory=$False,HelpMessage='List of rule sets.)')] $managedRuleSets ) process { return $([ManagedRuleSetList]$PSBoundParameters) } } class MatchCondition { [bool] $negateCondition [string] $selector [string[]] $transforms [string[]] $matchValue [ArgumentCompletions('RemoteAddress', 'RequestMethod', 'QueryString', 'PostArgs', 'RequestUri', 'RequestHeader', 'RequestBody', 'RequestScheme', 'UrlPath', 'UrlFileExtension', 'UrlFileName', 'HttpVersion', 'Cookies', 'IsDevice')] [string] $matchVariable [ArgumentCompletions('Any', 'IPMatch', 'GeoMatch', 'Equal', 'Contains', 'LessThan', 'GreaterThan', 'LessThanOrEqual', 'GreaterThanOrEqual', 'BeginsWith', 'EndsWith', 'RegEx')] [string] $operator } function New-AzureNativeTypeCdnMatchCondition { param ( [parameter(mandatory=$False,HelpMessage='Describes if the result of this condition should be negated.)')] [bool] $negateCondition, [parameter(mandatory=$False,HelpMessage='Selector can used to match a specific key for QueryString, Cookies, RequestHeader or PostArgs.)')] [string] $selector, [parameter(mandatory=$False,HelpMessage='List of transforms.)')] $transforms, [parameter(mandatory=$False,HelpMessage='List of possible match values.)')] [string[]] $matchValue, [parameter(mandatory=$False,HelpMessage='Match variable to compare against.)')] [string] [ArgumentCompletions('RemoteAddress', 'RequestMethod', 'QueryString', 'PostArgs', 'RequestUri', 'RequestHeader', 'RequestBody', 'RequestScheme', 'UrlPath', 'UrlFileExtension', 'UrlFileName', 'HttpVersion', 'Cookies', 'IsDevice')] $matchVariable, [parameter(mandatory=$False,HelpMessage='Describes operator to be matched)')] [string] [ArgumentCompletions('Any', 'IPMatch', 'GeoMatch', 'Equal', 'Contains', 'LessThan', 'GreaterThan', 'LessThanOrEqual', 'GreaterThanOrEqual', 'BeginsWith', 'EndsWith', 'RegEx')] $operator ) process { return $([MatchCondition]$PSBoundParameters) } } class RateLimitRule { [ArgumentCompletions('Disabled', 'Enabled')] [string] $enabledState [int] $rateLimitDurationInMinutes [int] $priority [string] $name [MatchCondition[]] $matchConditions [int] $rateLimitThreshold [ArgumentCompletions('Allow', 'Block', 'Log', 'Redirect')] [string] $action } function New-AzureNativeTypeCdnRateLimitRule { param ( [parameter(mandatory=$False,HelpMessage='Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified.)')] [string] [ArgumentCompletions('Disabled', 'Enabled')] $enabledState, [parameter(mandatory=$False,HelpMessage='Defines rate limit duration. Default is 1 minute.)')] [int] $rateLimitDurationInMinutes, [parameter(mandatory=$False,HelpMessage='Defines in what order this rule be evaluated in the overall list of custom rules)')] [int] $priority, [parameter(mandatory=$False,HelpMessage='Defines the name of the custom rule)')] [string] $name, [parameter(mandatory=$False,HelpMessage='List of match conditions.)')] $matchConditions, [parameter(mandatory=$False,HelpMessage='Defines rate limit threshold.)')] [int] $rateLimitThreshold, [parameter(mandatory=$False,HelpMessage='Describes what action to be applied when rule matches)')] [string] [ArgumentCompletions('Allow', 'Block', 'Log', 'Redirect')] $action ) process { return $([RateLimitRule]$PSBoundParameters) } } class RateLimitRuleList { [RateLimitRule[]] $rules } function New-AzureNativeTypeCdnRateLimitRuleList { param ( [parameter(mandatory=$False,HelpMessage='List of rules)')] $rules ) process { return $([RateLimitRuleList]$PSBoundParameters) } } class PolicySettings { [ArgumentCompletions('Prevention', 'Detection')] [string] $mode [ArgumentCompletions('Disabled', 'Enabled')] [string] $enabledState [string] $defaultRedirectUrl [string] $defaultCustomBlockResponseBody [int] $defaultCustomBlockResponseStatusCode } function New-AzureNativeTypeCdnPolicySettings { param ( [parameter(mandatory=$False,HelpMessage='Describes if it is in detection mode or prevention mode at policy level.)')] [string] [ArgumentCompletions('Prevention', 'Detection')] $mode, [parameter(mandatory=$False,HelpMessage='describes if the policy is in enabled state or disabled state)')] [string] [ArgumentCompletions('Disabled', 'Enabled')] $enabledState, [parameter(mandatory=$False,HelpMessage='If action type is redirect, this field represents the default redirect URL for the client.)')] [string] $defaultRedirectUrl, [parameter(mandatory=$False,HelpMessage='If the action type is block, customer can override the response body. The body must be specified in base64 encoding.)')] [string] $defaultCustomBlockResponseBody, [parameter(mandatory=$False,HelpMessage='If the action type is block, this field defines the default customer overridable http response status code.)')] [int] $defaultCustomBlockResponseStatusCode ) process { return $([PolicySettings]$PSBoundParameters) } } class CustomRule { [string] $name [ArgumentCompletions('Disabled', 'Enabled')] [string] $enabledState [int] $priority [MatchCondition[]] $matchConditions [ArgumentCompletions('Allow', 'Block', 'Log', 'Redirect')] [string] $action } function New-AzureNativeTypeCdnCustomRule { param ( [parameter(mandatory=$False,HelpMessage='Defines the name of the custom rule)')] [string] $name, [parameter(mandatory=$False,HelpMessage='Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified.)')] [string] [ArgumentCompletions('Disabled', 'Enabled')] $enabledState, [parameter(mandatory=$False,HelpMessage='Defines in what order this rule be evaluated in the overall list of custom rules)')] [int] $priority, [parameter(mandatory=$False,HelpMessage='List of match conditions.)')] $matchConditions, [parameter(mandatory=$False,HelpMessage='Describes what action to be applied when rule matches)')] [string] [ArgumentCompletions('Allow', 'Block', 'Log', 'Redirect')] $action ) process { return $([CustomRule]$PSBoundParameters) } } class CustomRuleList { [CustomRule[]] $rules } function New-AzureNativeTypeCdnCustomRuleList { param ( [parameter(mandatory=$False,HelpMessage='List of rules)')] $rules ) process { return $([CustomRuleList]$PSBoundParameters) } } function New-AzureNativeCdnPolicy { [Alias('azure_native_cdn_policy')] param ( [parameter(mandatory=$False,HelpMessage='Resource tags.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='The pricing tier (defines a CDN provider, feature list and rate) of the CdnWebApplicationFirewallPolicy.)')] [Sku] $sku, [parameter(mandatory=$False,HelpMessage='Describes managed rules inside the policy.)')] [ManagedRuleSetList] $managedRules, [parameter(mandatory=$False,HelpMessage='The name of the CdnWebApplicationFirewallPolicy.)')] [string] $policyName, [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Describes rate limit rules inside the policy.)')] [RateLimitRuleList] $rateLimitRules, [parameter(mandatory=$False,HelpMessage='Describes policySettings for policy)')] [PolicySettings] $policySettings, [parameter(mandatory=$False,HelpMessage='Describes custom rules inside the policy.)')] [CustomRuleList] $customRules, [parameter(mandatory=$False,HelpMessage='Resource location.)')] [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:cdn:Policy") $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 if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'managedRules') { $resource.properties["managedRules"] = $managedRules } if($PSBoundParameters.Keys -icontains 'policyName') { $resource.properties["policyName"] = $policyName } if($PSBoundParameters.Keys -icontains 'rateLimitRules') { $resource.properties["rateLimitRules"] = $rateLimitRules } if($PSBoundParameters.Keys -icontains 'policySettings') { $resource.properties["policySettings"] = $policySettings } if($PSBoundParameters.Keys -icontains 'customRules') { $resource.properties["customRules"] = $customRules } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } $global:pulumiresources += $resource return $resource } } class EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink { [string] $id } function New-AzureNativeTypeCdnEndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink { param ( [parameter(mandatory=$False,HelpMessage='Resource ID.)')] [string] $id ) process { return $([EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink]$PSBoundParameters) } } class DeliveryRule { [string] $name [object] $conditions #todo add class here [int] $order [object] $actions #todo add class here } function New-AzureNativeTypeCdnDeliveryRule { param ( [parameter(mandatory=$False,HelpMessage='Name of the rule)')] [string] $name, [parameter(mandatory=$False,HelpMessage='A list of conditions that must be matched for the actions to be executed)')] $conditions, [parameter(mandatory=$False,HelpMessage='The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied.)')] [int] $order, [parameter(mandatory=$False,HelpMessage='A list of actions that are executed when all the conditions of a rule are satisfied.)')] $actions ) process { return $([DeliveryRule]$PSBoundParameters) } } class EndpointPropertiesUpdateParametersDeliveryPolicy { [DeliveryRule[]] $rules [string] $description } function New-AzureNativeTypeCdnEndpointPropertiesUpdateParametersDeliveryPolicy { param ( [parameter(mandatory=$False,HelpMessage='A list of the delivery rules.)')] $rules, [parameter(mandatory=$False,HelpMessage='User-friendly description of the policy.)')] [string] $description ) process { return $([EndpointPropertiesUpdateParametersDeliveryPolicy]$PSBoundParameters) } } function New-AzureNativeCdnEndpoint { [Alias('azure_native_cdn_endpoint')] param ( [parameter(mandatory=$False,HelpMessage='The host header value sent to the origin with each request. This property at Endpoint is only allowed when endpoint uses single origin and can be overridden by the same property specified at origin.If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default.)')] [string] $originHostHeader, [parameter(mandatory=$False,HelpMessage='The source of the content being delivered via CDN.)')] $origins, [parameter(mandatory=$False,HelpMessage='Name of the CDN profile which is unique within the resource group.)')] [string] $profileName, [parameter(mandatory=$False,HelpMessage='A directory path on the origin that CDN can use to retrieve content from, e.g. contoso.cloudapp.net/originpath.)')] [string] $originPath, [parameter(mandatory=$False,HelpMessage='Defines how CDN caches requests that include query strings. You can ignore any query strings when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request with a unique URL.)')] $queryStringCachingBehavior, [parameter(mandatory=$False,HelpMessage='Defines the Web Application Firewall policy for the endpoint (if applicable))')] [EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink] $webApplicationFirewallPolicyLink, [parameter(mandatory=$False,HelpMessage='Specifies what scenario the customer wants this CDN endpoint to optimize for, e.g. Download, Media services. With this information, CDN can apply scenario driven optimization.)')] [string] [ArgumentCompletions('GeneralWebDelivery', 'GeneralMediaStreaming', 'VideoOnDemandMediaStreaming', 'LargeFileDownload', 'DynamicSiteAcceleration')] $optimizationType, [parameter(mandatory=$False,HelpMessage='Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.)')] [bool] $isHttpsAllowed, [parameter(mandatory=$False,HelpMessage='List of keys used to validate the signed URL hashes.)')] $urlSigningKeys, [parameter(mandatory=$False,HelpMessage='Name of the endpoint under the profile which is unique globally.)')] [string] $endpointName, [parameter(mandatory=$False,HelpMessage='Indicates whether content compression is enabled on CDN. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won''t be compressed on CDN when requested content is smaller than 1 byte or larger than 1 MB.)')] [bool] $isCompressionEnabled, [parameter(mandatory=$False,HelpMessage='Resource location.)')] [string] $location, [parameter(mandatory=$False,HelpMessage='Resource tags.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='List of content types on which compression applies. The value should be a valid MIME type.)')] [string[]] $contentTypesToCompress, [parameter(mandatory=$False,HelpMessage='Path to a file hosted on the origin which helps accelerate delivery of the dynamic content and calculate the most optimal routes for the CDN. This is relative to the origin path. This property is only relevant when using a single origin.)')] [string] $probePath, [parameter(mandatory=$False,HelpMessage='A policy that specifies the delivery rules to be used for an endpoint.)')] [EndpointPropertiesUpdateParametersDeliveryPolicy] $deliveryPolicy, [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='List of rules defining the user''s geo access within a CDN endpoint. Each geo filter defines an access rule to a specified path or content, e.g. block APAC for path /pictures/)')] $geoFilters, [parameter(mandatory=$False,HelpMessage='A reference to the origin group.)')] [ResourceReference] $defaultOriginGroup, [parameter(mandatory=$False,HelpMessage='Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.)')] [bool] $isHttpAllowed, [parameter(mandatory=$False,HelpMessage='The origin groups comprising of origins that are used for load balancing the traffic based on availability.)')] $originGroups, [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:cdn:Endpoint") $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["origins"] = $origins $resource.properties["profileName"] = $profileName $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'originHostHeader') { $resource.properties["originHostHeader"] = $originHostHeader } if($PSBoundParameters.Keys -icontains 'originPath') { $resource.properties["originPath"] = $originPath } if($PSBoundParameters.Keys -icontains 'queryStringCachingBehavior') { $resource.properties["queryStringCachingBehavior"] = $queryStringCachingBehavior } if($PSBoundParameters.Keys -icontains 'webApplicationFirewallPolicyLink') { $resource.properties["webApplicationFirewallPolicyLink"] = $webApplicationFirewallPolicyLink } if($PSBoundParameters.Keys -icontains 'optimizationType') { $resource.properties["optimizationType"] = $optimizationType } if($PSBoundParameters.Keys -icontains 'isHttpsAllowed') { $resource.properties["isHttpsAllowed"] = $isHttpsAllowed } if($PSBoundParameters.Keys -icontains 'urlSigningKeys') { $resource.properties["urlSigningKeys"] = $urlSigningKeys } if($PSBoundParameters.Keys -icontains 'endpointName') { $resource.properties["endpointName"] = $endpointName } if($PSBoundParameters.Keys -icontains 'isCompressionEnabled') { $resource.properties["isCompressionEnabled"] = $isCompressionEnabled } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'contentTypesToCompress') { $resource.properties["contentTypesToCompress"] = $contentTypesToCompress } if($PSBoundParameters.Keys -icontains 'probePath') { $resource.properties["probePath"] = $probePath } if($PSBoundParameters.Keys -icontains 'deliveryPolicy') { $resource.properties["deliveryPolicy"] = $deliveryPolicy } if($PSBoundParameters.Keys -icontains 'geoFilters') { $resource.properties["geoFilters"] = $geoFilters } if($PSBoundParameters.Keys -icontains 'defaultOriginGroup') { $resource.properties["defaultOriginGroup"] = $defaultOriginGroup } if($PSBoundParameters.Keys -icontains 'isHttpAllowed') { $resource.properties["isHttpAllowed"] = $isHttpAllowed } if($PSBoundParameters.Keys -icontains 'originGroups') { $resource.properties["originGroups"] = $originGroups } $global:pulumiresources += $resource return $resource } } function New-AzureNativeCdnCustomDomain { [Alias('azure_native_cdn_customdomain')] param ( [parameter(mandatory=$False,HelpMessage='Name of the custom domain within an endpoint.)')] [string] $customDomainName, [parameter(mandatory=$False,HelpMessage='Name of the endpoint under the profile which is unique globally.)')] [string] $endpointName, [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The host name of the custom domain. Must be a domain name.)')] [string] $hostName, [parameter(mandatory=$False,HelpMessage='Name of the CDN profile which is unique within the resource group.)')] [string] $profileName, [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:cdn:CustomDomain") $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["endpointName"] = $endpointName $resource.properties["hostName"] = $hostName $resource.properties["profileName"] = $profileName $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'customDomainName') { $resource.properties["customDomainName"] = $customDomainName } $global:pulumiresources += $resource return $resource } } |