pspulumiyaml.azurenative.app.psm1
using module pspulumiyaml function Invoke-AzureNativeFunctionAppListContainerAppCustomHostNameAnalysis { param ( [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Custom hostname.)')] [string] $customHostname, [parameter(mandatory=$False,HelpMessage='Name of the Container App.)')] [string] $containerAppName ) process { $arguments = @{} $arguments["containerAppName"] = $containerAppName $arguments["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'customHostname') { $arguments["customHostname"] = $customHostname } $functionObject = Invoke-PulumiFunction -Name azure-native:app:listContainerAppCustomHostNameAnalysis -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionAppGetCertificate { param ( [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Name of the Managed Environment.)')] [string] $environmentName, [parameter(mandatory=$False,HelpMessage='Name of the Certificate.)')] [string] $certificateName ) process { $arguments = @{} $arguments["certificateName"] = $certificateName $arguments["environmentName"] = $environmentName $arguments["resourceGroupName"] = $resourceGroupName $functionObject = Invoke-PulumiFunction -Name azure-native:app:getCertificate -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionAppGetContainerAppsAuthConfig { param ( [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Name of the Container App.)')] [string] $containerAppName, [parameter(mandatory=$False,HelpMessage='Name of the Container App AuthConfig.)')] [string] $authConfigName ) process { $arguments = @{} $arguments["authConfigName"] = $authConfigName $arguments["containerAppName"] = $containerAppName $arguments["resourceGroupName"] = $resourceGroupName $functionObject = Invoke-PulumiFunction -Name azure-native:app:getContainerAppsAuthConfig -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionAppListDaprComponentSecrets { param ( [parameter(mandatory=$False,HelpMessage='Name of the Dapr Component.)')] [string] $componentName, [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Name of the Managed Environment.)')] [string] $environmentName ) process { $arguments = @{} $arguments["componentName"] = $componentName $arguments["environmentName"] = $environmentName $arguments["resourceGroupName"] = $resourceGroupName $functionObject = Invoke-PulumiFunction -Name azure-native:app:listDaprComponentSecrets -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionAppGetManagedEnvironmentsStorage { param ( [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Name of the Environment.)')] [string] $environmentName, [parameter(mandatory=$False,HelpMessage='Name of the storage.)')] [string] $storageName ) process { $arguments = @{} $arguments["environmentName"] = $environmentName $arguments["resourceGroupName"] = $resourceGroupName $arguments["storageName"] = $storageName $functionObject = Invoke-PulumiFunction -Name azure-native:app:getManagedEnvironmentsStorage -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionAppGetDaprComponent { param ( [parameter(mandatory=$False,HelpMessage='Name of the Dapr Component.)')] [string] $componentName, [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Name of the Managed Environment.)')] [string] $environmentName ) process { $arguments = @{} $arguments["componentName"] = $componentName $arguments["environmentName"] = $environmentName $arguments["resourceGroupName"] = $resourceGroupName $functionObject = Invoke-PulumiFunction -Name azure-native:app:getDaprComponent -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionAppGetManagedEnvironment { param ( [parameter(mandatory=$False,HelpMessage='Name of the Environment.)')] [string] $environmentName, [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')] [string] $resourceGroupName ) process { $arguments = @{} $arguments["environmentName"] = $environmentName $arguments["resourceGroupName"] = $resourceGroupName $functionObject = Invoke-PulumiFunction -Name azure-native:app:getManagedEnvironment -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionAppGetContainerApp { param ( [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Name of the Container App.)')] [string] $containerAppName ) process { $arguments = @{} $arguments["containerAppName"] = $containerAppName $arguments["resourceGroupName"] = $resourceGroupName $functionObject = Invoke-PulumiFunction -Name azure-native:app:getContainerApp -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionAppListContainerAppSecrets { param ( [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Name of the Container App.)')] [string] $containerAppName ) process { $arguments = @{} $arguments["containerAppName"] = $containerAppName $arguments["resourceGroupName"] = $resourceGroupName $functionObject = Invoke-PulumiFunction -Name azure-native:app:listContainerAppSecrets -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionAppGetContainerAppsSourceControl { param ( [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Name of the Container App SourceControl.)')] [string] $sourceControlName, [parameter(mandatory=$False,HelpMessage='Name of the Container App.)')] [string] $containerAppName ) process { $arguments = @{} $arguments["containerAppName"] = $containerAppName $arguments["resourceGroupName"] = $resourceGroupName $arguments["sourceControlName"] = $sourceControlName $functionObject = Invoke-PulumiFunction -Name azure-native:app:getContainerAppsSourceControl -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } class AuthPlatform { [string] $runtimeVersion [bool] $enabled } function New-AzureNativeTypeAppAuthPlatform { param ( [parameter(mandatory=$False,HelpMessage='The RuntimeVersion of the Authentication / Authorization feature in use for the current app. The setting in this value can control the behavior of certain features in the Authentication / Authorization module.)')] [string] $runtimeVersion, [parameter(mandatory=$False,HelpMessage='<code>true</code> if the Authentication / Authorization feature is enabled for the current app; otherwise, <code>false</code>.)')] [bool] $enabled ) process { return $([AuthPlatform]$PSBoundParameters) } } class GlobalValidation { [string[]] $excludedPaths [string] $redirectToProvider [ValidateSet('RedirectToLoginPage', 'AllowAnonymous', 'Return401', 'Return403')] [object] $unauthenticatedClientAction } function New-AzureNativeTypeAppGlobalValidation { param ( [parameter(mandatory=$False,HelpMessage='The paths for which unauthenticated flow would not be redirected to the login page.)')] [string[]] $excludedPaths, [parameter(mandatory=$False,HelpMessage='The default authentication provider to use when multiple providers are configured. This setting is only needed if multiple providers are configured and the unauthenticated client action is set to "RedirectToLoginPage".)')] [string] $redirectToProvider, [parameter(mandatory=$False,HelpMessage='The action to take when an unauthenticated client attempts to access the app.)')] $unauthenticatedClientAction ) process { return $([GlobalValidation]$PSBoundParameters) } } class LoginScopes { [string[]] $scopes } function New-AzureNativeTypeAppLoginScopes { param ( [parameter(mandatory=$False,HelpMessage='A list of the scopes that should be requested while authenticating.)')] [string[]] $scopes ) process { return $([LoginScopes]$PSBoundParameters) } } class AppRegistration { [string] $appId [string] $appSecretSettingName } function New-AzureNativeTypeAppAppRegistration { param ( [parameter(mandatory=$False,HelpMessage='The App ID of the app used for login.)')] [string] $appId, [parameter(mandatory=$False,HelpMessage='The app setting name that contains the app secret.)')] [string] $appSecretSettingName ) process { return $([AppRegistration]$PSBoundParameters) } } class Facebook { [LoginScopes] $login [AppRegistration] $registration [string] $graphApiVersion [bool] $enabled } function New-AzureNativeTypeAppFacebook { param ( [parameter(mandatory=$False,HelpMessage='The configuration settings of the login flow.)')] [LoginScopes] $login, [parameter(mandatory=$False,HelpMessage='The configuration settings of the app registration for the Facebook provider.)')] [AppRegistration] $registration, [parameter(mandatory=$False,HelpMessage='The version of the Facebook api to be used while logging in.)')] [string] $graphApiVersion, [parameter(mandatory=$False,HelpMessage='<code>false</code> if the Facebook provider should not be enabled despite the set registration; otherwise, <code>true</code>.)')] [bool] $enabled ) process { return $([Facebook]$PSBoundParameters) } } class ClientRegistration { [string] $clientSecretSettingName [string] $clientId } function New-AzureNativeTypeAppClientRegistration { param ( [parameter(mandatory=$False,HelpMessage='The app setting name that contains the client secret.)')] [string] $clientSecretSettingName, [parameter(mandatory=$False,HelpMessage='The Client ID of the app used for login.)')] [string] $clientId ) process { return $([ClientRegistration]$PSBoundParameters) } } class GitHub { [ClientRegistration] $registration [LoginScopes] $login [bool] $enabled } function New-AzureNativeTypeAppGitHub { param ( [parameter(mandatory=$False,HelpMessage='The configuration settings of the app registration for the GitHub provider.)')] [ClientRegistration] $registration, [parameter(mandatory=$False,HelpMessage='The configuration settings of the login flow.)')] [LoginScopes] $login, [parameter(mandatory=$False,HelpMessage='<code>false</code> if the GitHub provider should not be enabled despite the set registration; otherwise, <code>true</code>.)')] [bool] $enabled ) process { return $([GitHub]$PSBoundParameters) } } class AzureActiveDirectoryRegistration { [string] $clientSecretCertificateSubjectAlternativeName [string] $openIdIssuer [string] $clientSecretSettingName [string] $clientSecretCertificateIssuer [string] $clientSecretCertificateThumbprint [string] $clientId } function New-AzureNativeTypeAppAzureActiveDirectoryRegistration { param ( [parameter(mandatory=$False,HelpMessage='An alternative to the client secret thumbprint, that is the subject alternative name of a certificate used for signing purposes. This property acts as a replacement for the Client Secret Certificate Thumbprint. It is also optional.)')] [string] $clientSecretCertificateSubjectAlternativeName, [parameter(mandatory=$False,HelpMessage='The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application. When using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://login.microsoftonline.com/v2.0/{tenant-guid}/. This URI is a case-sensitive identifier for the token issuer. More information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html)')] [string] $openIdIssuer, [parameter(mandatory=$False,HelpMessage='The app setting name that contains the client secret of the relying party application.)')] [string] $clientSecretSettingName, [parameter(mandatory=$False,HelpMessage='An alternative to the client secret thumbprint, that is the issuer of a certificate used for signing purposes. This property acts as a replacement for the Client Secret Certificate Thumbprint. It is also optional.)')] [string] $clientSecretCertificateIssuer, [parameter(mandatory=$False,HelpMessage='An alternative to the client secret, that is the thumbprint of a certificate used for signing purposes. This property acts as a replacement for the Client Secret. It is also optional.)')] [string] $clientSecretCertificateThumbprint, [parameter(mandatory=$False,HelpMessage='The Client ID of this relying party application, known as the client_id. This setting is required for enabling OpenID Connection authentication with Azure Active Directory or other 3rd party OpenID Connect providers. More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html)')] [string] $clientId ) process { return $([AzureActiveDirectoryRegistration]$PSBoundParameters) } } class AzureActiveDirectoryLogin { [string[]] $loginParameters [bool] $disableWWWAuthenticate } function New-AzureNativeTypeAppAzureActiveDirectoryLogin { param ( [parameter(mandatory=$False,HelpMessage='Login parameters to send to the OpenID Connect authorization endpoint when a user logs in. Each parameter must be in the form "key=value".)')] [string[]] $loginParameters, [parameter(mandatory=$False,HelpMessage='<code>true</code> if the www-authenticate provider should be omitted from the request; otherwise, <code>false</code>.)')] [bool] $disableWWWAuthenticate ) process { return $([AzureActiveDirectoryLogin]$PSBoundParameters) } } class AllowedPrincipals { [string[]] $identities [string[]] $groups } function New-AzureNativeTypeAppAllowedPrincipals { param ( [parameter(mandatory=$False,HelpMessage='The list of the allowed identities.)')] [string[]] $identities, [parameter(mandatory=$False,HelpMessage='The list of the allowed groups.)')] [string[]] $groups ) process { return $([AllowedPrincipals]$PSBoundParameters) } } class DefaultAuthorizationPolicy { [AllowedPrincipals] $allowedPrincipals [string[]] $allowedApplications } function New-AzureNativeTypeAppDefaultAuthorizationPolicy { param ( [parameter(mandatory=$False,HelpMessage='The configuration settings of the Azure Active Directory allowed principals.)')] [AllowedPrincipals] $allowedPrincipals, [parameter(mandatory=$False,HelpMessage='The configuration settings of the Azure Active Directory allowed applications.)')] [string[]] $allowedApplications ) process { return $([DefaultAuthorizationPolicy]$PSBoundParameters) } } class JwtClaimChecks { [string[]] $allowedClientApplications [string[]] $allowedGroups } function New-AzureNativeTypeAppJwtClaimChecks { param ( [parameter(mandatory=$False,HelpMessage='The list of the allowed client applications.)')] [string[]] $allowedClientApplications, [parameter(mandatory=$False,HelpMessage='The list of the allowed groups.)')] [string[]] $allowedGroups ) process { return $([JwtClaimChecks]$PSBoundParameters) } } class AzureActiveDirectoryValidation { [DefaultAuthorizationPolicy] $defaultAuthorizationPolicy [JwtClaimChecks] $jwtClaimChecks [string[]] $allowedAudiences } function New-AzureNativeTypeAppAzureActiveDirectoryValidation { param ( [parameter(mandatory=$False,HelpMessage='The configuration settings of the default authorization policy.)')] [DefaultAuthorizationPolicy] $defaultAuthorizationPolicy, [parameter(mandatory=$False,HelpMessage='The configuration settings of the checks that should be made while validating the JWT Claims.)')] [JwtClaimChecks] $jwtClaimChecks, [parameter(mandatory=$False,HelpMessage='The list of audiences that can make successful authentication/authorization requests.)')] [string[]] $allowedAudiences ) process { return $([AzureActiveDirectoryValidation]$PSBoundParameters) } } class AzureActiveDirectory { [AzureActiveDirectoryRegistration] $registration [AzureActiveDirectoryLogin] $login [bool] $enabled [bool] $isAutoProvisioned [AzureActiveDirectoryValidation] $validation } function New-AzureNativeTypeAppAzureActiveDirectory { param ( [parameter(mandatory=$False,HelpMessage='The configuration settings of the Azure Active Directory app registration.)')] [AzureActiveDirectoryRegistration] $registration, [parameter(mandatory=$False,HelpMessage='The configuration settings of the Azure Active Directory login flow.)')] [AzureActiveDirectoryLogin] $login, [parameter(mandatory=$False,HelpMessage='<code>false</code> if the Azure Active Directory provider should not be enabled despite the set registration; otherwise, <code>true</code>.)')] [bool] $enabled, [parameter(mandatory=$False,HelpMessage='Gets a value indicating whether the Azure AD configuration was auto-provisioned using 1st party tooling. This is an internal flag primarily intended to support the Azure Management Portal. Users should not read or write to this property.)')] [bool] $isAutoProvisioned, [parameter(mandatory=$False,HelpMessage='The configuration settings of the Azure Active Directory token validation flow.)')] [AzureActiveDirectoryValidation] $validation ) process { return $([AzureActiveDirectory]$PSBoundParameters) } } class AllowedAudiencesValidation { [string[]] $allowedAudiences } function New-AzureNativeTypeAppAllowedAudiencesValidation { param ( [parameter(mandatory=$False,HelpMessage='The configuration settings of the allowed list of audiences from which to validate the JWT token.)')] [string[]] $allowedAudiences ) process { return $([AllowedAudiencesValidation]$PSBoundParameters) } } class Google { [ClientRegistration] $registration [LoginScopes] $login [bool] $enabled [AllowedAudiencesValidation] $validation } function New-AzureNativeTypeAppGoogle { param ( [parameter(mandatory=$False,HelpMessage='The configuration settings of the app registration for the Google provider.)')] [ClientRegistration] $registration, [parameter(mandatory=$False,HelpMessage='The configuration settings of the login flow.)')] [LoginScopes] $login, [parameter(mandatory=$False,HelpMessage='<code>false</code> if the Google provider should not be enabled despite the set registration; otherwise, <code>true</code>.)')] [bool] $enabled, [parameter(mandatory=$False,HelpMessage='The configuration settings of the Azure Active Directory token validation flow.)')] [AllowedAudiencesValidation] $validation ) process { return $([Google]$PSBoundParameters) } } class TwitterRegistration { [string] $consumerSecretSettingName [string] $consumerKey } function New-AzureNativeTypeAppTwitterRegistration { param ( [parameter(mandatory=$False,HelpMessage='The app setting name that contains the OAuth 1.0a consumer secret of the Twitter application used for sign-in.)')] [string] $consumerSecretSettingName, [parameter(mandatory=$False,HelpMessage='The OAuth 1.0a consumer key of the Twitter application used for sign-in. This setting is required for enabling Twitter Sign-In. Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in)')] [string] $consumerKey ) process { return $([TwitterRegistration]$PSBoundParameters) } } class Twitter { [bool] $enabled [TwitterRegistration] $registration } function New-AzureNativeTypeAppTwitter { param ( [parameter(mandatory=$False,HelpMessage='<code>false</code> if the Twitter provider should not be enabled despite the set registration; otherwise, <code>true</code>.)')] [bool] $enabled, [parameter(mandatory=$False,HelpMessage='The configuration settings of the app registration for the Twitter provider.)')] [TwitterRegistration] $registration ) process { return $([Twitter]$PSBoundParameters) } } class AppleRegistration { [string] $clientSecretSettingName [string] $clientId } function New-AzureNativeTypeAppAppleRegistration { param ( [parameter(mandatory=$False,HelpMessage='The app setting name that contains the client secret.)')] [string] $clientSecretSettingName, [parameter(mandatory=$False,HelpMessage='The Client ID of the app used for login.)')] [string] $clientId ) process { return $([AppleRegistration]$PSBoundParameters) } } class Apple { [AppleRegistration] $registration [LoginScopes] $login [bool] $enabled } function New-AzureNativeTypeAppApple { param ( [parameter(mandatory=$False,HelpMessage='The configuration settings of the Apple registration.)')] [AppleRegistration] $registration, [parameter(mandatory=$False,HelpMessage='The configuration settings of the login flow.)')] [LoginScopes] $login, [parameter(mandatory=$False,HelpMessage='<code>false</code> if the Apple provider should not be enabled despite the set registration; otherwise, <code>true</code>.)')] [bool] $enabled ) process { return $([Apple]$PSBoundParameters) } } class AzureStaticWebAppsRegistration { [string] $clientId } function New-AzureNativeTypeAppAzureStaticWebAppsRegistration { param ( [parameter(mandatory=$False,HelpMessage='The Client ID of the app used for login.)')] [string] $clientId ) process { return $([AzureStaticWebAppsRegistration]$PSBoundParameters) } } class AzureStaticWebApps { [bool] $enabled [AzureStaticWebAppsRegistration] $registration } function New-AzureNativeTypeAppAzureStaticWebApps { param ( [parameter(mandatory=$False,HelpMessage='<code>false</code> if the Azure Static Web Apps provider should not be enabled despite the set registration; otherwise, <code>true</code>.)')] [bool] $enabled, [parameter(mandatory=$False,HelpMessage='The configuration settings of the Azure Static Web Apps registration.)')] [AzureStaticWebAppsRegistration] $registration ) process { return $([AzureStaticWebApps]$PSBoundParameters) } } class IdentityProviders { [Facebook] $facebook [GitHub] $gitHub [AzureActiveDirectory] $azureActiveDirectory [Google] $google [Twitter] $twitter [Apple] $apple [object] $customOpenIdConnectProviders [AzureStaticWebApps] $azureStaticWebApps } class OpenIdConnectConfig { [string] $authorizationEndpoint [string] $issuer [string] $wellKnownOpenIdConfiguration [string] $certificationUri [string] $tokenEndpoint } function New-AzureNativeTypeAppOpenIdConnectConfig { param ( [parameter(mandatory=$False,HelpMessage='The endpoint to be used to make an authorization request.)')] [string] $authorizationEndpoint, [parameter(mandatory=$False,HelpMessage='The endpoint that issues the token.)')] [string] $issuer, [parameter(mandatory=$False,HelpMessage='The endpoint that contains all the configuration endpoints for the provider.)')] [string] $wellKnownOpenIdConfiguration, [parameter(mandatory=$False,HelpMessage='The endpoint that provides the keys necessary to validate the token.)')] [string] $certificationUri, [parameter(mandatory=$False,HelpMessage='The endpoint to be used to request a token.)')] [string] $tokenEndpoint ) process { return $([OpenIdConnectConfig]$PSBoundParameters) } } class OpenIdConnectClientCredential { [string] $clientSecretSettingName [ValidateSet('ClientSecretPost')] [object] $method } function New-AzureNativeTypeAppOpenIdConnectClientCredential { param ( [parameter(mandatory=$False,HelpMessage='The app setting that contains the client secret for the custom Open ID Connect provider.)')] [string] $clientSecretSettingName, [parameter(mandatory=$False,HelpMessage='The method that should be used to authenticate the user.)')] $method ) process { return $([OpenIdConnectClientCredential]$PSBoundParameters) } } class OpenIdConnectRegistration { [OpenIdConnectConfig] $openIdConnectConfiguration [OpenIdConnectClientCredential] $clientCredential [string] $clientId } function New-AzureNativeTypeAppOpenIdConnectRegistration { param ( [parameter(mandatory=$False,HelpMessage='The configuration settings of the endpoints used for the custom Open ID Connect provider.)')] [OpenIdConnectConfig] $openIdConnectConfiguration, [parameter(mandatory=$False,HelpMessage='The authentication credentials of the custom Open ID Connect provider.)')] [OpenIdConnectClientCredential] $clientCredential, [parameter(mandatory=$False,HelpMessage='The client id of the custom Open ID Connect provider.)')] [string] $clientId ) process { return $([OpenIdConnectRegistration]$PSBoundParameters) } } class OpenIdConnectLogin { [string] $nameClaimType [string[]] $scopes } function New-AzureNativeTypeAppOpenIdConnectLogin { param ( [parameter(mandatory=$False,HelpMessage='The name of the claim that contains the users name.)')] [string] $nameClaimType, [parameter(mandatory=$False,HelpMessage='A list of the scopes that should be requested while authenticating.)')] [string[]] $scopes ) process { return $([OpenIdConnectLogin]$PSBoundParameters) } } class CustomOpenIdConnectProvider { [OpenIdConnectRegistration] $registration [OpenIdConnectLogin] $login [bool] $enabled } function New-AzureNativeTypeAppCustomOpenIdConnectProvider { param ( [parameter(mandatory=$False,HelpMessage='The configuration settings of the app registration for the custom Open ID Connect provider.)')] [OpenIdConnectRegistration] $registration, [parameter(mandatory=$False,HelpMessage='The configuration settings of the login flow of the custom Open ID Connect provider.)')] [OpenIdConnectLogin] $login, [parameter(mandatory=$False,HelpMessage='<code>false</code> if the custom Open ID provider provider should not be enabled; otherwise, <code>true</code>.)')] [bool] $enabled ) process { return $([CustomOpenIdConnectProvider]$PSBoundParameters) } } function New-AzureNativeTypeAppIdentityProviders { param ( [parameter(mandatory=$False,HelpMessage='The configuration settings of the Facebook provider.)')] [Facebook] $facebook, [parameter(mandatory=$False,HelpMessage='The configuration settings of the GitHub provider.)')] [GitHub] $gitHub, [parameter(mandatory=$False,HelpMessage='The configuration settings of the Azure Active directory provider.)')] [AzureActiveDirectory] $azureActiveDirectory, [parameter(mandatory=$False,HelpMessage='The configuration settings of the Google provider.)')] [Google] $google, [parameter(mandatory=$False,HelpMessage='The configuration settings of the Twitter provider.)')] [Twitter] $twitter, [parameter(mandatory=$False,HelpMessage='The configuration settings of the Apple provider.)')] [Apple] $apple, [parameter(mandatory=$False,HelpMessage='The map of the name of the alias of each custom Open ID Connect provider to the configuration settings of the custom Open ID Connect provider.)')] [CustomOpenIdConnectProvider] $customOpenIdConnectProviders, [parameter(mandatory=$False,HelpMessage='The configuration settings of the Azure Static Web Apps provider.)')] [AzureStaticWebApps] $azureStaticWebApps ) process { return $([IdentityProviders]$PSBoundParameters) } } class ForwardProxy { [string] $customProtoHeaderName [ValidateSet('NoProxy', 'Standard', 'Custom')] [object] $convention [ValidateSet('NoProxy', 'Standard', 'Custom')] [string] $customHostHeaderName } function New-AzureNativeTypeAppForwardProxy { param ( [parameter(mandatory=$False,HelpMessage='The name of the header containing the scheme of the request.)')] [string] $customProtoHeaderName, [parameter(mandatory=$False,HelpMessage='The convention used to determine the url of the request made.)')] $convention, [parameter(mandatory=$False,HelpMessage='The name of the header containing the host of the request.)')] [string] $customHostHeaderName ) process { return $([ForwardProxy]$PSBoundParameters) } } class HttpSettingsRoutes { [string] $apiPrefix } function New-AzureNativeTypeAppHttpSettingsRoutes { param ( [parameter(mandatory=$False,HelpMessage='The prefix that should precede all the authentication/authorization paths.)')] [string] $apiPrefix ) process { return $([HttpSettingsRoutes]$PSBoundParameters) } } class HttpSettings { [bool] $requireHttps [ForwardProxy] $forwardProxy [HttpSettingsRoutes] $routes } function New-AzureNativeTypeAppHttpSettings { param ( [parameter(mandatory=$False,HelpMessage='<code>false</code> if the authentication/authorization responses not having the HTTPS scheme are permissible; otherwise, <code>true</code>.)')] [bool] $requireHttps, [parameter(mandatory=$False,HelpMessage='The configuration settings of a forward proxy used to make the requests.)')] [ForwardProxy] $forwardProxy, [parameter(mandatory=$False,HelpMessage='The configuration settings of the paths HTTP requests.)')] [HttpSettingsRoutes] $routes ) process { return $([HttpSettings]$PSBoundParameters) } } class LoginRoutes { [string] $logoutEndpoint } function New-AzureNativeTypeAppLoginRoutes { param ( [parameter(mandatory=$False,HelpMessage='The endpoint at which a logout request should be made.)')] [string] $logoutEndpoint ) process { return $([LoginRoutes]$PSBoundParameters) } } class Nonce { [string] $nonceExpirationInterval [bool] $validateNonce } function New-AzureNativeTypeAppNonce { param ( [parameter(mandatory=$False,HelpMessage='The time after the request is made when the nonce should expire.)')] [string] $nonceExpirationInterval, [parameter(mandatory=$False,HelpMessage='<code>false</code> if the nonce should not be validated while completing the login flow; otherwise, <code>true</code>.)')] [bool] $validateNonce ) process { return $([Nonce]$PSBoundParameters) } } class CookieExpiration { [string] $timeToExpiration [ValidateSet('FixedTime', 'IdentityProviderDerived')] [object] $convention } function New-AzureNativeTypeAppCookieExpiration { param ( [parameter(mandatory=$False,HelpMessage='The time after the request is made when the session cookie should expire.)')] [string] $timeToExpiration, [parameter(mandatory=$False,HelpMessage='The convention used when determining the session cookie''s expiration.)')] $convention ) process { return $([CookieExpiration]$PSBoundParameters) } } class Login { [LoginRoutes] $routes [Nonce] $nonce [string[]] $allowedExternalRedirectUrls [CookieExpiration] $cookieExpiration [bool] $preserveUrlFragmentsForLogins } function New-AzureNativeTypeAppLogin { param ( [parameter(mandatory=$False,HelpMessage='The routes that specify the endpoints used for login and logout requests.)')] [LoginRoutes] $routes, [parameter(mandatory=$False,HelpMessage='The configuration settings of the nonce used in the login flow.)')] [Nonce] $nonce, [parameter(mandatory=$False,HelpMessage='External URLs that can be redirected to as part of logging in or logging out of the app. Note that the query string part of the URL is ignored. This is an advanced setting typically only needed by Windows Store application backends. Note that URLs within the current domain are always implicitly allowed.)')] [string[]] $allowedExternalRedirectUrls, [parameter(mandatory=$False,HelpMessage='The configuration settings of the session cookie''s expiration.)')] [CookieExpiration] $cookieExpiration, [parameter(mandatory=$False,HelpMessage='<code>true</code> if the fragments from the request are preserved after the login request is made; otherwise, <code>false</code>.)')] [bool] $preserveUrlFragmentsForLogins ) process { return $([Login]$PSBoundParameters) } } function New-AzureNativeAppContainerAppsAuthConfig { [Alias('azure_native_app_containerappsauthconfig')] param ( [parameter(mandatory=$False,HelpMessage='The configuration settings of the platform of ContainerApp Service Authentication/Authorization.)')] [AuthPlatform] $platform, [parameter(mandatory=$False,HelpMessage='Name of the Container App AuthConfig.)')] [string] $authConfigName, [parameter(mandatory=$False,HelpMessage='The configuration settings that determines the validation flow of users using Service Authentication/Authorization.)')] [GlobalValidation] $globalValidation, [parameter(mandatory=$False,HelpMessage='The configuration settings of each of the identity providers used to configure ContainerApp Service Authentication/Authorization.)')] [IdentityProviders] $identityProviders, [parameter(mandatory=$False,HelpMessage='Name of the Container App.)')] [string] $containerAppName, [parameter(mandatory=$False,HelpMessage='The configuration settings of the HTTP requests for authentication and authorization requests made against ContainerApp Service Authentication/Authorization.)')] [HttpSettings] $httpSettings, [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The configuration settings of the login flow of users using ContainerApp Service Authentication/Authorization.)')] [Login] $login, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:app:ContainerAppsAuthConfig") $resource.properties["containerAppName"] = $containerAppName $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'platform') { $resource.properties["platform"] = $platform } if($PSBoundParameters.Keys -icontains 'authConfigName') { $resource.properties["authConfigName"] = $authConfigName } if($PSBoundParameters.Keys -icontains 'globalValidation') { $resource.properties["globalValidation"] = $globalValidation } if($PSBoundParameters.Keys -icontains 'identityProviders') { $resource.properties["identityProviders"] = $identityProviders } if($PSBoundParameters.Keys -icontains 'httpSettings') { $resource.properties["httpSettings"] = $httpSettings } if($PSBoundParameters.Keys -icontains 'login') { $resource.properties["login"] = $login } $global:pulumiresources += $resource return $resource } } class ManagedServiceIdentity { [ValidateSet('None', 'SystemAssigned', 'UserAssigned', 'SystemAssigned,UserAssigned')] [string] $type [ValidateSet('None', 'SystemAssigned', 'UserAssigned', 'SystemAssigned,UserAssigned')] [object] $userAssignedIdentities } function New-AzureNativeTypeAppManagedServiceIdentity { param ( [parameter(mandatory=$False,HelpMessage='Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).)')] [string] [ValidateSet('None', 'SystemAssigned', 'UserAssigned', 'SystemAssigned,UserAssigned')] $type, [parameter(mandatory=$False,HelpMessage='The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: ''/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests.)')] [object] $userAssignedIdentities ) process { return $([ManagedServiceIdentity]$PSBoundParameters) } } class ContainerResources { [string] $memory [int] $cpu } function New-AzureNativeTypeAppContainerResources { param ( [parameter(mandatory=$False,HelpMessage='Required memory, e.g. "250Mb")')] [string] $memory, [parameter(mandatory=$False,HelpMessage='Required CPU in cores, e.g. 0.5)')] [int] $cpu ) process { return $([ContainerResources]$PSBoundParameters) } } class VolumeMount { [string] $mountPath [string] $volumeName } function New-AzureNativeTypeAppVolumeMount { param ( [parameter(mandatory=$False,HelpMessage='Path within the container at which the volume should be mounted.Must not contain '':''.)')] [string] $mountPath, [parameter(mandatory=$False,HelpMessage='This must match the Name of a Volume.)')] [string] $volumeName ) process { return $([VolumeMount]$PSBoundParameters) } } class EnvironmentVar { [string] $value [string] $name [string] $secretRef } function New-AzureNativeTypeAppEnvironmentVar { param ( [parameter(mandatory=$False,HelpMessage='Non-secret environment variable value.)')] [string] $value, [parameter(mandatory=$False,HelpMessage='Environment variable name.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='Name of the Container App secret from which to pull the environment variable value.)')] [string] $secretRef ) process { return $([EnvironmentVar]$PSBoundParameters) } } class ContainerAppProbeTcpSocket { [ValidateSet('Liveness', 'Readiness', 'Startup')] [int] $port [ValidateSet('Liveness', 'Readiness', 'Startup')] [string] $host } function New-AzureNativeTypeAppContainerAppProbeTcpSocket { param ( [parameter(mandatory=$False,HelpMessage='Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.)')] [int] $port, [parameter(mandatory=$False,HelpMessage='Optional: Host name to connect to, defaults to the pod IP.)')] [string] $host ) process { return $([ContainerAppProbeTcpSocket]$PSBoundParameters) } } class ContainerAppProbeHttpHeaders { [ValidateSet('HTTP', 'HTTPS')] [string] $name [ValidateSet('HTTP', 'HTTPS')] [string] $value } function New-AzureNativeTypeAppContainerAppProbeHttpHeaders { param ( [parameter(mandatory=$False,HelpMessage='The header field name)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The header field value)')] [string] $value ) process { return $([ContainerAppProbeHttpHeaders]$PSBoundParameters) } } class ContainerAppProbeHttpGet { [ValidateSet('HTTP', 'HTTPS')] [string] $scheme [ValidateSet('HTTP', 'HTTPS')] [int] $port [ValidateSet('HTTP', 'HTTPS')] [ContainerAppProbeHttpHeaders[]] $httpHeaders [ValidateSet('HTTP', 'HTTPS')] [string] $path [ValidateSet('HTTP', 'HTTPS')] [string] $host } function New-AzureNativeTypeAppContainerAppProbeHttpGet { param ( [parameter(mandatory=$False,HelpMessage='Scheme to use for connecting to the host. Defaults to HTTP.)')] [string] [ValidateSet('HTTP', 'HTTPS')] $scheme, [parameter(mandatory=$False,HelpMessage='Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.)')] [int] $port, [parameter(mandatory=$False,HelpMessage='Custom headers to set in the request. HTTP allows repeated headers.)')] $httpHeaders, [parameter(mandatory=$False,HelpMessage='Path to access on the HTTP server.)')] [string] $path, [parameter(mandatory=$False,HelpMessage='Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.)')] [string] $host ) process { return $([ContainerAppProbeHttpGet]$PSBoundParameters) } } class ContainerAppProbe { [int] $failureThreshold [int] $initialDelaySeconds [int] $timeoutSeconds [int] $periodSeconds [ValidateSet('Liveness', 'Readiness', 'Startup')] [string] $type [ValidateSet('Liveness', 'Readiness', 'Startup')] [int] $successThreshold [ValidateSet('Liveness', 'Readiness', 'Startup')] [ContainerAppProbeTcpSocket] $tcpSocket [ValidateSet('Liveness', 'Readiness', 'Startup')] [int] $terminationGracePeriodSeconds [ValidateSet('Liveness', 'Readiness', 'Startup')] [ContainerAppProbeHttpGet] $httpGet } function New-AzureNativeTypeAppContainerAppProbe { param ( [parameter(mandatory=$False,HelpMessage='Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. Maximum value is 10.)')] [int] $failureThreshold, [parameter(mandatory=$False,HelpMessage='Number of seconds after the container has started before liveness probes are initiated. Minimum value is 1. Maximum value is 60.)')] [int] $initialDelaySeconds, [parameter(mandatory=$False,HelpMessage='Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 240.)')] [int] $timeoutSeconds, [parameter(mandatory=$False,HelpMessage='How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is 240.)')] [int] $periodSeconds, [parameter(mandatory=$False,HelpMessage='The type of probe.)')] [string] [ValidateSet('Liveness', 'Readiness', 'Startup')] $type, [parameter(mandatory=$False,HelpMessage='Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. Maximum value is 10.)')] [int] $successThreshold, [parameter(mandatory=$False,HelpMessage='TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported.)')] [ContainerAppProbeTcpSocket] $tcpSocket, [parameter(mandatory=$False,HelpMessage='Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod''s terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is an alpha field and requires enabling ProbeTerminationGracePeriod feature gate. Maximum value is 3600 seconds (1 hour))')] [int] $terminationGracePeriodSeconds, [parameter(mandatory=$False,HelpMessage='HTTPGet specifies the http request to perform.)')] [ContainerAppProbeHttpGet] $httpGet ) process { return $([ContainerAppProbe]$PSBoundParameters) } } class Container { [ContainerResources] $resources [VolumeMount[]] $volumeMounts [string] $image [string[]] $args [EnvironmentVar[]] $env [string] $name [string[]] $command [ContainerAppProbe[]] $probes } function New-AzureNativeTypeAppContainer { param ( [parameter(mandatory=$False,HelpMessage='Container resource requirements.)')] [ContainerResources] $resources, [parameter(mandatory=$False,HelpMessage='Container volume mounts.)')] $volumeMounts, [parameter(mandatory=$False,HelpMessage='Container image tag.)')] [string] $image, [parameter(mandatory=$False,HelpMessage='Container start command arguments.)')] [string[]] $args, [parameter(mandatory=$False,HelpMessage='Container environment variables.)')] $env, [parameter(mandatory=$False,HelpMessage='Custom container name.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='Container start command.)')] [string[]] $command, [parameter(mandatory=$False,HelpMessage='List of probes for the container.)')] $probes ) process { return $([Container]$PSBoundParameters) } } class ScaleRuleAuth { [string] $triggerParameter [string] $secretRef } function New-AzureNativeTypeAppScaleRuleAuth { param ( [parameter(mandatory=$False,HelpMessage='Trigger Parameter that uses the secret)')] [string] $triggerParameter, [parameter(mandatory=$False,HelpMessage='Name of the Container App secret from which to pull the auth params.)')] [string] $secretRef ) process { return $([ScaleRuleAuth]$PSBoundParameters) } } class HttpScaleRule { [object] $metadata [ScaleRuleAuth[]] $auth } function New-AzureNativeTypeAppHttpScaleRule { param ( [parameter(mandatory=$False,HelpMessage='Metadata properties to describe http scale rule.)')] [hashtable] $metadata, [parameter(mandatory=$False,HelpMessage='Authentication secrets for the custom scale rule.)')] $auth ) process { return $([HttpScaleRule]$PSBoundParameters) } } class CustomScaleRule { [ScaleRuleAuth[]] $auth [string] $type [object] $metadata } function New-AzureNativeTypeAppCustomScaleRule { param ( [parameter(mandatory=$False,HelpMessage='Authentication secrets for the custom scale rule.)')] $auth, [parameter(mandatory=$False,HelpMessage='Type of the custom scale rule eg: azure-servicebus, redis etc.)')] [string] $type, [parameter(mandatory=$False,HelpMessage='Metadata properties to describe custom scale rule.)')] [hashtable] $metadata ) process { return $([CustomScaleRule]$PSBoundParameters) } } class QueueScaleRule { [ScaleRuleAuth[]] $auth [int] $queueLength [string] $queueName } function New-AzureNativeTypeAppQueueScaleRule { param ( [parameter(mandatory=$False,HelpMessage='Authentication secrets for the queue scale rule.)')] $auth, [parameter(mandatory=$False,HelpMessage='Queue length.)')] [int] $queueLength, [parameter(mandatory=$False,HelpMessage='Queue name.)')] [string] $queueName ) process { return $([QueueScaleRule]$PSBoundParameters) } } class ScaleRule { [string] $name [HttpScaleRule] $http [CustomScaleRule] $custom [QueueScaleRule] $azureQueue } function New-AzureNativeTypeAppScaleRule { param ( [parameter(mandatory=$False,HelpMessage='Scale Rule Name)')] [string] $name, [parameter(mandatory=$False,HelpMessage='HTTP requests based scaling.)')] [HttpScaleRule] $http, [parameter(mandatory=$False,HelpMessage='Custom scale rule.)')] [CustomScaleRule] $custom, [parameter(mandatory=$False,HelpMessage='Azure Queue based scaling.)')] [QueueScaleRule] $azureQueue ) process { return $([ScaleRule]$PSBoundParameters) } } class Scale { [int] $maxReplicas [ScaleRule[]] $rules [int] $minReplicas } function New-AzureNativeTypeAppScale { param ( [parameter(mandatory=$False,HelpMessage='Optional. Maximum number of container replicas. Defaults to 10 if not set.)')] [int] $maxReplicas, [parameter(mandatory=$False,HelpMessage='Scaling rules.)')] $rules, [parameter(mandatory=$False,HelpMessage='Optional. Minimum number of container replicas.)')] [int] $minReplicas ) process { return $([Scale]$PSBoundParameters) } } class Volume { [string] $name [string] $storageName [ValidateSet('AzureFile', 'EmptyDir')] [string] $storageType } function New-AzureNativeTypeAppVolume { param ( [parameter(mandatory=$False,HelpMessage='Volume name.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='Name of storage resource. No need to provide for EmptyDir.)')] [string] $storageName, [parameter(mandatory=$False,HelpMessage='Storage type for the volume. If not provided, use EmptyDir.)')] [string] [ValidateSet('AzureFile', 'EmptyDir')] $storageType ) process { return $([Volume]$PSBoundParameters) } } class Template { [Container[]] $containers [Scale] $scale [Volume[]] $volumes [string] $revisionSuffix } function New-AzureNativeTypeAppTemplate { param ( [parameter(mandatory=$False,HelpMessage='List of container definitions for the Container App.)')] $containers, [parameter(mandatory=$False,HelpMessage='Scaling properties for the Container App.)')] [Scale] $scale, [parameter(mandatory=$False,HelpMessage='List of volume definitions for the Container App.)')] $volumes, [parameter(mandatory=$False,HelpMessage='User friendly suffix that is appended to the revision name)')] [string] $revisionSuffix ) process { return $([Template]$PSBoundParameters) } } class Dapr { [ValidateSet('http', 'grpc')] [string] $appProtocol [ValidateSet('http', 'grpc')] [int] $appPort [ValidateSet('http', 'grpc')] [bool] $enabled [ValidateSet('http', 'grpc')] [string] $appId } function New-AzureNativeTypeAppDapr { param ( [parameter(mandatory=$False,HelpMessage='Tells Dapr which protocol your application is using. Valid options are http and grpc. Default is http)')] [string] [ValidateSet('http', 'grpc')] $appProtocol, [parameter(mandatory=$False,HelpMessage='Tells Dapr which port your application is listening on)')] [int] $appPort, [parameter(mandatory=$False,HelpMessage='Boolean indicating if the Dapr side car is enabled)')] [bool] $enabled, [parameter(mandatory=$False,HelpMessage='Dapr application identifier)')] [string] $appId ) process { return $([Dapr]$PSBoundParameters) } } class Secret { [string] $name [string] $value } function New-AzureNativeTypeAppSecret { param ( [parameter(mandatory=$False,HelpMessage='Secret Name.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='Secret Value.)')] [string] $value ) process { return $([Secret]$PSBoundParameters) } } class RegistryCredentials { [ValidateSet('Multiple', 'Single')] [string] $server [ValidateSet('Multiple', 'Single')] [string] $passwordSecretRef [ValidateSet('Multiple', 'Single')] [string] $username [ValidateSet('Multiple', 'Single')] [string] $identity } function New-AzureNativeTypeAppRegistryCredentials { param ( [parameter(mandatory=$False,HelpMessage='Container Registry Server)')] [string] $server, [parameter(mandatory=$False,HelpMessage='The name of the Secret that contains the registry login password)')] [string] $passwordSecretRef, [parameter(mandatory=$False,HelpMessage='Container Registry Username)')] [string] $username, [parameter(mandatory=$False,HelpMessage='A Managed Identity to use to authenticate with Azure Container Registry. For user-assigned identities, use the full user-assigned identity Resource ID. For system-assigned identities, use ''system'')')] [string] $identity ) process { return $([RegistryCredentials]$PSBoundParameters) } } class CustomDomain { [ValidateSet('Multiple', 'Single')] [string] $certificateId [ValidateSet('Multiple', 'Single')] [string] $name [ValidateSet('Disabled', 'SniEnabled')] [string] $bindingType } function New-AzureNativeTypeAppCustomDomain { param ( [parameter(mandatory=$False,HelpMessage='Resource Id of the Certificate to be bound to this hostname. Must exist in the Managed Environment.)')] [string] $certificateId, [parameter(mandatory=$False,HelpMessage='Hostname.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='Custom Domain binding type.)')] [string] [ValidateSet('Disabled', 'SniEnabled')] $bindingType ) process { return $([CustomDomain]$PSBoundParameters) } } class TrafficWeight { [ValidateSet('Multiple', 'Single')] [string] $label [ValidateSet('Multiple', 'Single')] [string] $revisionName [ValidateSet('Multiple', 'Single')] [int] $weight [ValidateSet('Multiple', 'Single')] [bool] $latestRevision } function New-AzureNativeTypeAppTrafficWeight { param ( [parameter(mandatory=$False,HelpMessage='Associates a traffic label with a revision)')] [string] $label, [parameter(mandatory=$False,HelpMessage='Name of a revision)')] [string] $revisionName, [parameter(mandatory=$False,HelpMessage='Traffic weight assigned to a revision)')] [int] $weight, [parameter(mandatory=$False,HelpMessage='Indicates that the traffic weight belongs to a latest stable revision)')] [bool] $latestRevision ) process { return $([TrafficWeight]$PSBoundParameters) } } class Ingress { [ValidateSet('Multiple', 'Single')] [CustomDomain[]] $customDomains [ValidateSet('Multiple', 'Single')] [TrafficWeight[]] $traffic [ValidateSet('Multiple', 'Single')] [bool] $external [ValidateSet('auto', 'http', 'http2')] [string] $transport [ValidateSet('auto', 'http', 'http2')] [bool] $allowInsecure [ValidateSet('auto', 'http', 'http2')] [int] $targetPort } function New-AzureNativeTypeAppIngress { param ( [parameter(mandatory=$False,HelpMessage='custom domain bindings for Container Apps'' hostnames.)')] $customDomains, [parameter(mandatory=$False,HelpMessage='Traffic weights for app''s revisions)')] $traffic, [parameter(mandatory=$False,HelpMessage='Bool indicating if app exposes an external http endpoint)')] [bool] $external, [parameter(mandatory=$False,HelpMessage='Ingress transport protocol)')] [string] [ValidateSet('auto', 'http', 'http2')] $transport, [parameter(mandatory=$False,HelpMessage='Bool indicating if HTTP connections to is allowed. If set to false HTTP connections are automatically redirected to HTTPS connections)')] [bool] $allowInsecure, [parameter(mandatory=$False,HelpMessage='Target Port in containers for traffic from ingress)')] [int] $targetPort ) process { return $([Ingress]$PSBoundParameters) } } class Configuration { [Dapr] $dapr [Secret[]] $secrets [ValidateSet('Multiple', 'Single')] [string] $activeRevisionsMode [ValidateSet('Multiple', 'Single')] [RegistryCredentials[]] $registries [ValidateSet('Multiple', 'Single')] [Ingress] $ingress } function New-AzureNativeTypeAppConfiguration { param ( [parameter(mandatory=$False,HelpMessage='Dapr configuration for the Container App.)')] [Dapr] $dapr, [parameter(mandatory=$False,HelpMessage='Collection of secrets used by a Container app)')] $secrets, [parameter(mandatory=$False,HelpMessage='ActiveRevisionsMode controls how active revisions are handled for the Container app: <list><item>Multiple: multiple revisions can be active.</item><item>Single: Only one revision can be active at a time. Revision weights can not be used in this mode. If no value if provided, this is the default.</item></list>)')] [string] [ValidateSet('Multiple', 'Single')] $activeRevisionsMode, [parameter(mandatory=$False,HelpMessage='Collection of private container registry credentials for containers used by the Container app)')] $registries, [parameter(mandatory=$False,HelpMessage='Ingress configurations.)')] [Ingress] $ingress ) process { return $([Configuration]$PSBoundParameters) } } function New-AzureNativeAppContainerApp { [Alias('azure_native_app_containerapp')] param ( [parameter(mandatory=$False,HelpMessage='Resource tags.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='Name of the Container App.)')] [string] $containerAppName, [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='managed identities for the Container App to interact with other Azure services without maintaining any secrets or credentials in code.)')] [ManagedServiceIdentity] $identity, [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')] [string] $location, [parameter(mandatory=$False,HelpMessage='Container App versioned application definition.)')] [Template] $template, [parameter(mandatory=$False,HelpMessage='Resource ID of the Container App''s environment.)')] [string] $managedEnvironmentId, [parameter(mandatory=$False,HelpMessage='Non versioned Container App configuration properties.)')] [Configuration] $configuration, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:app:ContainerApp") $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'containerAppName') { $resource.properties["containerAppName"] = $containerAppName } if($PSBoundParameters.Keys -icontains 'identity') { $resource.properties["identity"] = $identity } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } if($PSBoundParameters.Keys -icontains 'template') { $resource.properties["template"] = $template } if($PSBoundParameters.Keys -icontains 'managedEnvironmentId') { $resource.properties["managedEnvironmentId"] = $managedEnvironmentId } if($PSBoundParameters.Keys -icontains 'configuration') { $resource.properties["configuration"] = $configuration } $global:pulumiresources += $resource return $resource } } class CertificateProperties { [string] $value [string] $password } function New-AzureNativeTypeAppCertificateProperties { param ( [parameter(mandatory=$False,HelpMessage='PFX or PEM blob)')] [string] $value, [parameter(mandatory=$False,HelpMessage='Certificate password.)')] [string] $password ) process { return $([CertificateProperties]$PSBoundParameters) } } function New-AzureNativeAppCertificate { [Alias('azure_native_app_certificate')] param ( [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Name of the Managed Environment.)')] [string] $environmentName, [parameter(mandatory=$False,HelpMessage='Certificate resource specific properties)')] [CertificateProperties] $properties, [parameter(mandatory=$False,HelpMessage='Resource tags.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='Name of the Certificate.)')] [string] $certificateName, [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')] [string] $location, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:app:Certificate") $resource.properties["environmentName"] = $environmentName $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'properties') { $resource.properties["properties"] = $properties } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'certificateName') { $resource.properties["certificateName"] = $certificateName } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } $global:pulumiresources += $resource return $resource } } function New-AzureNativeAppDaprComponent { [Alias('azure_native_app_daprcomponent')] param ( [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Component metadata)')] $metadata, [parameter(mandatory=$False,HelpMessage='Component type)')] [string] $componentType, [parameter(mandatory=$False,HelpMessage='Name of the Managed Environment.)')] [string] $environmentName, [parameter(mandatory=$False,HelpMessage='Initialization timeout)')] [string] $initTimeout, [parameter(mandatory=$False,HelpMessage='Name of the Dapr Component.)')] [string] $componentName, [parameter(mandatory=$False,HelpMessage='Boolean describing if the component errors are ignores)')] [bool] $ignoreErrors, [parameter(mandatory=$False,HelpMessage='Collection of secrets used by a Dapr component)')] $secrets, [parameter(mandatory=$False,HelpMessage='Names of container apps that can use this Dapr component)')] [string[]] $scopes, [parameter(mandatory=$False,HelpMessage='Component version)')] [string] $version, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:app:DaprComponent") $resource.properties["environmentName"] = $environmentName $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'metadata') { $resource.properties["metadata"] = $metadata } if($PSBoundParameters.Keys -icontains 'componentType') { $resource.properties["componentType"] = $componentType } if($PSBoundParameters.Keys -icontains 'initTimeout') { $resource.properties["initTimeout"] = $initTimeout } if($PSBoundParameters.Keys -icontains 'componentName') { $resource.properties["componentName"] = $componentName } if($PSBoundParameters.Keys -icontains 'ignoreErrors') { $resource.properties["ignoreErrors"] = $ignoreErrors } if($PSBoundParameters.Keys -icontains 'secrets') { $resource.properties["secrets"] = $secrets } if($PSBoundParameters.Keys -icontains 'scopes') { $resource.properties["scopes"] = $scopes } if($PSBoundParameters.Keys -icontains 'version') { $resource.properties["version"] = $version } $global:pulumiresources += $resource return $resource } } class VnetConfiguration { [string] $platformReservedDnsIP [string] $platformReservedCidr [string] $runtimeSubnetId [bool] $internal [string] $infrastructureSubnetId [string] $dockerBridgeCidr } function New-AzureNativeTypeAppVnetConfiguration { param ( [parameter(mandatory=$False,HelpMessage=' An IP address from the IP range defined by platformReservedCidr that will be reserved for the internal DNS server.)')] [string] $platformReservedDnsIP, [parameter(mandatory=$False,HelpMessage='IP range in CIDR notation that can be reserved for environment infrastructure IP addresses. Must not overlap with any other provided IP ranges.)')] [string] $platformReservedCidr, [parameter(mandatory=$False,HelpMessage='Resource ID of a subnet that Container App containers are injected into. This subnet must be in the same VNET as the subnet defined in infrastructureSubnetId. Must not overlap with any other provided IP ranges.)')] [string] $runtimeSubnetId, [parameter(mandatory=$False,HelpMessage='Boolean indicating the environment only has an internal load balancer. These environments do not have a public static IP resource. They must provide runtimeSubnetId and infrastructureSubnetId if enabling this property)')] [bool] $internal, [parameter(mandatory=$False,HelpMessage='Resource ID of a subnet for infrastructure components. This subnet must be in the same VNET as the subnet defined in runtimeSubnetId. Must not overlap with any other provided IP ranges.)')] [string] $infrastructureSubnetId, [parameter(mandatory=$False,HelpMessage='CIDR notation IP range assigned to the Docker bridge, network. Must not overlap with any other provided IP ranges.)')] [string] $dockerBridgeCidr ) process { return $([VnetConfiguration]$PSBoundParameters) } } class LogAnalyticsConfiguration { [string] $sharedKey [string] $customerId } function New-AzureNativeTypeAppLogAnalyticsConfiguration { param ( [parameter(mandatory=$False,HelpMessage='Log analytics customer key)')] [string] $sharedKey, [parameter(mandatory=$False,HelpMessage='Log analytics customer id)')] [string] $customerId ) process { return $([LogAnalyticsConfiguration]$PSBoundParameters) } } class AppLogsConfiguration { [LogAnalyticsConfiguration] $logAnalyticsConfiguration [string] $destination } function New-AzureNativeTypeAppAppLogsConfiguration { param ( [parameter(mandatory=$False,HelpMessage='Log Analytics configuration)')] [LogAnalyticsConfiguration] $logAnalyticsConfiguration, [parameter(mandatory=$False,HelpMessage='Logs destination)')] [string] $destination ) process { return $([AppLogsConfiguration]$PSBoundParameters) } } function New-AzureNativeAppManagedEnvironment { [Alias('azure_native_app_managedenvironment')] param ( [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Application Insights connection string used by Dapr to export Service to Service communication telemetry)')] [string] $daprAIConnectionString, [parameter(mandatory=$False,HelpMessage='Azure Monitor instrumentation key used by Dapr to export Service to Service communication telemetry)')] [string] $daprAIInstrumentationKey, [parameter(mandatory=$False,HelpMessage='Vnet configuration for the environment)')] [VnetConfiguration] $vnetConfiguration, [parameter(mandatory=$False,HelpMessage='Name of the Environment.)')] [string] $environmentName, [parameter(mandatory=$False,HelpMessage='Resource tags.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='Cluster configuration which enables the log daemon to export app logs to a destination. Currently only "log-analytics" is supported)')] [AppLogsConfiguration] $appLogsConfiguration, [parameter(mandatory=$False,HelpMessage='Whether or not this Managed Environment is zone-redundant.)')] [bool] $zoneRedundant, [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')] [string] $location, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:app:ManagedEnvironment") $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'daprAIConnectionString') { $resource.properties["daprAIConnectionString"] = $daprAIConnectionString } if($PSBoundParameters.Keys -icontains 'daprAIInstrumentationKey') { $resource.properties["daprAIInstrumentationKey"] = $daprAIInstrumentationKey } if($PSBoundParameters.Keys -icontains 'vnetConfiguration') { $resource.properties["vnetConfiguration"] = $vnetConfiguration } if($PSBoundParameters.Keys -icontains 'environmentName') { $resource.properties["environmentName"] = $environmentName } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'appLogsConfiguration') { $resource.properties["appLogsConfiguration"] = $appLogsConfiguration } if($PSBoundParameters.Keys -icontains 'zoneRedundant') { $resource.properties["zoneRedundant"] = $zoneRedundant } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } $global:pulumiresources += $resource return $resource } } class AzureFileProperties { [string] $accountName [string] $shareName [string] $accountKey [ValidateSet('ReadOnly', 'ReadWrite')] [string] $accessMode } function New-AzureNativeTypeAppAzureFileProperties { param ( [parameter(mandatory=$False,HelpMessage='Storage account name for azure file.)')] [string] $accountName, [parameter(mandatory=$False,HelpMessage='Azure file share name.)')] [string] $shareName, [parameter(mandatory=$False,HelpMessage='Storage account key for azure file.)')] [string] $accountKey, [parameter(mandatory=$False,HelpMessage='Access mode for storage)')] [string] [ValidateSet('ReadOnly', 'ReadWrite')] $accessMode ) process { return $([AzureFileProperties]$PSBoundParameters) } } class ManagedEnvironmentStorageProperties { [AzureFileProperties] $azureFile } function New-AzureNativeTypeAppManagedEnvironmentStorageProperties { param ( [parameter(mandatory=$False,HelpMessage='Azure file properties)')] [AzureFileProperties] $azureFile ) process { return $([ManagedEnvironmentStorageProperties]$PSBoundParameters) } } function New-AzureNativeAppManagedEnvironmentsStorage { [Alias('azure_native_app_managedenvironmentsstorage')] param ( [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Storage properties)')] [ManagedEnvironmentStorageProperties] $properties, [parameter(mandatory=$False,HelpMessage='Name of the Environment.)')] [string] $environmentName, [parameter(mandatory=$False,HelpMessage='Name of the storage.)')] [string] $storageName, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:app:ManagedEnvironmentsStorage") $resource.properties["environmentName"] = $environmentName $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'properties') { $resource.properties["properties"] = $properties } if($PSBoundParameters.Keys -icontains 'storageName') { $resource.properties["storageName"] = $storageName } $global:pulumiresources += $resource return $resource } } class RegistryInfo { [string] $registryUrl [string] $registryUserName [string] $registryPassword } function New-AzureNativeTypeAppRegistryInfo { param ( [parameter(mandatory=$False,HelpMessage='registry server Url.)')] [string] $registryUrl, [parameter(mandatory=$False,HelpMessage='registry username.)')] [string] $registryUserName, [parameter(mandatory=$False,HelpMessage='registry secret.)')] [string] $registryPassword ) process { return $([RegistryInfo]$PSBoundParameters) } } class AzureCredentials { [string] $clientSecret [string] $subscriptionId [string] $tenantId [string] $clientId } function New-AzureNativeTypeAppAzureCredentials { param ( [parameter(mandatory=$False,HelpMessage='Client Secret.)')] [string] $clientSecret, [parameter(mandatory=$False,HelpMessage='Subscription Id.)')] [string] $subscriptionId, [parameter(mandatory=$False,HelpMessage='Tenant Id.)')] [string] $tenantId, [parameter(mandatory=$False,HelpMessage='Client Id.)')] [string] $clientId ) process { return $([AzureCredentials]$PSBoundParameters) } } class GithubActionConfiguration { [string] $runtimeVersion [string] $image [RegistryInfo] $registryInfo [string] $os [string] $contextPath [string] $publishType [AzureCredentials] $azureCredentials [string] $runtimeStack } function New-AzureNativeTypeAppGithubActionConfiguration { param ( [parameter(mandatory=$False,HelpMessage='Runtime version)')] [string] $runtimeVersion, [parameter(mandatory=$False,HelpMessage='Image name)')] [string] $image, [parameter(mandatory=$False,HelpMessage='Registry configurations.)')] [RegistryInfo] $registryInfo, [parameter(mandatory=$False,HelpMessage='Operation system)')] [string] $os, [parameter(mandatory=$False,HelpMessage='Context path)')] [string] $contextPath, [parameter(mandatory=$False,HelpMessage='Code or Image)')] [string] $publishType, [parameter(mandatory=$False,HelpMessage='AzureCredentials configurations.)')] [AzureCredentials] $azureCredentials, [parameter(mandatory=$False,HelpMessage='Runtime stack)')] [string] $runtimeStack ) process { return $([GithubActionConfiguration]$PSBoundParameters) } } function New-AzureNativeAppContainerAppsSourceControl { [Alias('azure_native_app_containerappssourcecontrol')] param ( [parameter(mandatory=$False,HelpMessage='Container App Revision Template with all possible settings and the defaults if user did not provide them. The defaults are populated as they were at the creation time)')] [GithubActionConfiguration] $githubActionConfiguration, [parameter(mandatory=$False,HelpMessage='Name of the Container App SourceControl.)')] [string] $sourceControlName, [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Name of the Container App.)')] [string] $containerAppName, [parameter(mandatory=$False,HelpMessage='The repo url which will be integrated to ContainerApp.)')] [string] $repoUrl, [parameter(mandatory=$False,HelpMessage='The branch which will trigger the auto deployment)')] [string] $branch, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:app:ContainerAppsSourceControl") $resource.properties["containerAppName"] = $containerAppName $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'githubActionConfiguration') { $resource.properties["githubActionConfiguration"] = $githubActionConfiguration } if($PSBoundParameters.Keys -icontains 'sourceControlName') { $resource.properties["sourceControlName"] = $sourceControlName } if($PSBoundParameters.Keys -icontains 'repoUrl') { $resource.properties["repoUrl"] = $repoUrl } if($PSBoundParameters.Keys -icontains 'branch') { $resource.properties["branch"] = $branch } $global:pulumiresources += $resource return $resource } } |