diff --git a/src/App/App.sln b/src/App/App.sln
new file mode 100644
index 000000000000..a1c8b1d90b46
--- /dev/null
+++ b/src/App/App.sln
@@ -0,0 +1,104 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.6.30114.105
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Accounts", "..\Accounts\Accounts\Accounts.csproj", "{AD9266EC-8AAA-41FD-AC17-44A5905A0076}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Authentication", "..\Accounts\Authentication\Authentication.csproj", "{27988362-7387-4899-972F-0ECE3992571F}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Authentication.ResourceManager", "..\Accounts\Authentication.ResourceManager\Authentication.ResourceManager.csproj", "{48DCF322-161D-43F2-872B-3F1C8BE70449}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AuthenticationAssemblyLoadContext", "..\Accounts\AuthenticationAssemblyLoadContext\AuthenticationAssemblyLoadContext.csproj", "{9E340544-09F9-4461-A688-F4369805E9DA}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Authenticators", "..\Accounts\Authenticators\Authenticators.csproj", "{D22A9238-897A-4F97-809A-432303919C5D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Az.App", "Az.App.csproj", "{6C168278-3CBF-44EE-84B8-DBF9F37846CF}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|Any CPU = Release|Any CPU
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {AD9266EC-8AAA-41FD-AC17-44A5905A0076}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {AD9266EC-8AAA-41FD-AC17-44A5905A0076}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {AD9266EC-8AAA-41FD-AC17-44A5905A0076}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {AD9266EC-8AAA-41FD-AC17-44A5905A0076}.Debug|x64.Build.0 = Debug|Any CPU
+ {AD9266EC-8AAA-41FD-AC17-44A5905A0076}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {AD9266EC-8AAA-41FD-AC17-44A5905A0076}.Debug|x86.Build.0 = Debug|Any CPU
+ {AD9266EC-8AAA-41FD-AC17-44A5905A0076}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {AD9266EC-8AAA-41FD-AC17-44A5905A0076}.Release|Any CPU.Build.0 = Release|Any CPU
+ {AD9266EC-8AAA-41FD-AC17-44A5905A0076}.Release|x64.ActiveCfg = Release|Any CPU
+ {AD9266EC-8AAA-41FD-AC17-44A5905A0076}.Release|x64.Build.0 = Release|Any CPU
+ {AD9266EC-8AAA-41FD-AC17-44A5905A0076}.Release|x86.ActiveCfg = Release|Any CPU
+ {AD9266EC-8AAA-41FD-AC17-44A5905A0076}.Release|x86.Build.0 = Release|Any CPU
+ {27988362-7387-4899-972F-0ECE3992571F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {27988362-7387-4899-972F-0ECE3992571F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {27988362-7387-4899-972F-0ECE3992571F}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {27988362-7387-4899-972F-0ECE3992571F}.Debug|x64.Build.0 = Debug|Any CPU
+ {27988362-7387-4899-972F-0ECE3992571F}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {27988362-7387-4899-972F-0ECE3992571F}.Debug|x86.Build.0 = Debug|Any CPU
+ {27988362-7387-4899-972F-0ECE3992571F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {27988362-7387-4899-972F-0ECE3992571F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {27988362-7387-4899-972F-0ECE3992571F}.Release|x64.ActiveCfg = Release|Any CPU
+ {27988362-7387-4899-972F-0ECE3992571F}.Release|x64.Build.0 = Release|Any CPU
+ {27988362-7387-4899-972F-0ECE3992571F}.Release|x86.ActiveCfg = Release|Any CPU
+ {27988362-7387-4899-972F-0ECE3992571F}.Release|x86.Build.0 = Release|Any CPU
+ {48DCF322-161D-43F2-872B-3F1C8BE70449}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {48DCF322-161D-43F2-872B-3F1C8BE70449}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {48DCF322-161D-43F2-872B-3F1C8BE70449}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {48DCF322-161D-43F2-872B-3F1C8BE70449}.Debug|x64.Build.0 = Debug|Any CPU
+ {48DCF322-161D-43F2-872B-3F1C8BE70449}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {48DCF322-161D-43F2-872B-3F1C8BE70449}.Debug|x86.Build.0 = Debug|Any CPU
+ {48DCF322-161D-43F2-872B-3F1C8BE70449}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {48DCF322-161D-43F2-872B-3F1C8BE70449}.Release|Any CPU.Build.0 = Release|Any CPU
+ {48DCF322-161D-43F2-872B-3F1C8BE70449}.Release|x64.ActiveCfg = Release|Any CPU
+ {48DCF322-161D-43F2-872B-3F1C8BE70449}.Release|x64.Build.0 = Release|Any CPU
+ {48DCF322-161D-43F2-872B-3F1C8BE70449}.Release|x86.ActiveCfg = Release|Any CPU
+ {48DCF322-161D-43F2-872B-3F1C8BE70449}.Release|x86.Build.0 = Release|Any CPU
+ {9E340544-09F9-4461-A688-F4369805E9DA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9E340544-09F9-4461-A688-F4369805E9DA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9E340544-09F9-4461-A688-F4369805E9DA}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {9E340544-09F9-4461-A688-F4369805E9DA}.Debug|x64.Build.0 = Debug|Any CPU
+ {9E340544-09F9-4461-A688-F4369805E9DA}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {9E340544-09F9-4461-A688-F4369805E9DA}.Debug|x86.Build.0 = Debug|Any CPU
+ {9E340544-09F9-4461-A688-F4369805E9DA}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {9E340544-09F9-4461-A688-F4369805E9DA}.Release|Any CPU.Build.0 = Release|Any CPU
+ {9E340544-09F9-4461-A688-F4369805E9DA}.Release|x64.ActiveCfg = Release|Any CPU
+ {9E340544-09F9-4461-A688-F4369805E9DA}.Release|x64.Build.0 = Release|Any CPU
+ {9E340544-09F9-4461-A688-F4369805E9DA}.Release|x86.ActiveCfg = Release|Any CPU
+ {9E340544-09F9-4461-A688-F4369805E9DA}.Release|x86.Build.0 = Release|Any CPU
+ {D22A9238-897A-4F97-809A-432303919C5D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D22A9238-897A-4F97-809A-432303919C5D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D22A9238-897A-4F97-809A-432303919C5D}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {D22A9238-897A-4F97-809A-432303919C5D}.Debug|x64.Build.0 = Debug|Any CPU
+ {D22A9238-897A-4F97-809A-432303919C5D}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {D22A9238-897A-4F97-809A-432303919C5D}.Debug|x86.Build.0 = Debug|Any CPU
+ {D22A9238-897A-4F97-809A-432303919C5D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D22A9238-897A-4F97-809A-432303919C5D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D22A9238-897A-4F97-809A-432303919C5D}.Release|x64.ActiveCfg = Release|Any CPU
+ {D22A9238-897A-4F97-809A-432303919C5D}.Release|x64.Build.0 = Release|Any CPU
+ {D22A9238-897A-4F97-809A-432303919C5D}.Release|x86.ActiveCfg = Release|Any CPU
+ {D22A9238-897A-4F97-809A-432303919C5D}.Release|x86.Build.0 = Release|Any CPU
+ {6C168278-3CBF-44EE-84B8-DBF9F37846CF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {6C168278-3CBF-44EE-84B8-DBF9F37846CF}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {6C168278-3CBF-44EE-84B8-DBF9F37846CF}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {6C168278-3CBF-44EE-84B8-DBF9F37846CF}.Debug|x64.Build.0 = Debug|Any CPU
+ {6C168278-3CBF-44EE-84B8-DBF9F37846CF}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {6C168278-3CBF-44EE-84B8-DBF9F37846CF}.Debug|x86.Build.0 = Debug|Any CPU
+ {6C168278-3CBF-44EE-84B8-DBF9F37846CF}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {6C168278-3CBF-44EE-84B8-DBF9F37846CF}.Release|Any CPU.Build.0 = Release|Any CPU
+ {6C168278-3CBF-44EE-84B8-DBF9F37846CF}.Release|x64.ActiveCfg = Release|Any CPU
+ {6C168278-3CBF-44EE-84B8-DBF9F37846CF}.Release|x64.Build.0 = Release|Any CPU
+ {6C168278-3CBF-44EE-84B8-DBF9F37846CF}.Release|x86.ActiveCfg = Release|Any CPU
+ {6C168278-3CBF-44EE-84B8-DBF9F37846CF}.Release|x86.Build.0 = Release|Any CPU
+ EndGlobalSection
+EndGlobal
diff --git a/src/App/Az.App.csproj b/src/App/Az.App.csproj
new file mode 100644
index 000000000000..4f0470ca103a
--- /dev/null
+++ b/src/App/Az.App.csproj
@@ -0,0 +1,7 @@
+
+
+ App
+
+
+
+
diff --git a/src/App/Az.App.format.ps1xml b/src/App/Az.App.format.ps1xml
new file mode 100644
index 000000000000..e08bb2ad186a
--- /dev/null
+++ b/src/App/Az.App.format.ps1xml
@@ -0,0 +1,3713 @@
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.AppIdentity
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.AppIdentity
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AuthConfigName
+
+
+ CertificateName
+
+
+ ComponentName
+
+
+ ContainerAppName
+
+
+ EnvironmentName
+
+
+ ReplicaName
+
+
+ ResourceGroupName
+
+
+ RevisionName
+
+
+ SourceControlName
+
+
+ StorageName
+
+
+ SubscriptionId
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api30.CheckNameAvailabilityRequest
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api30.CheckNameAvailabilityRequest
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api30.CheckNameAvailabilityResponse
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api30.CheckNameAvailabilityResponse
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Message
+
+
+ NameAvailable
+
+
+ Reason
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api30.ManagedServiceIdentity
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api30.ManagedServiceIdentity
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PrincipalId
+
+
+ TenantId
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api30.ProxyResource
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api30.ProxyResource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+ SystemDataCreatedAt
+
+
+ SystemDataCreatedBy
+
+
+ SystemDataCreatedByType
+
+
+ SystemDataLastModifiedAt
+
+
+ SystemDataLastModifiedBy
+
+
+ SystemDataLastModifiedByType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api30.Resource
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api30.Resource
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api30.SystemData
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api30.SystemData
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CreatedAt
+
+
+ CreatedBy
+
+
+ CreatedByType
+
+
+ LastModifiedAt
+
+
+ LastModifiedBy
+
+
+ LastModifiedByType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api30.TrackedResource
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api30.TrackedResource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+ SystemDataCreatedAt
+
+
+ SystemDataCreatedBy
+
+
+ SystemDataCreatedByType
+
+
+ SystemDataLastModifiedAt
+
+
+ SystemDataLastModifiedBy
+
+
+ SystemDataLastModifiedByType
+
+
+ Location
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api30.TrackedResourceTags
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api30.TrackedResourceTags
+
+
+
+
+
+
+
+
+
+
+
+ Item
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api30.UserAssignedIdentity
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api30.UserAssignedIdentity
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ClientId
+
+
+ PrincipalId
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.AllowedAudiencesValidation
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.AllowedAudiencesValidation
+
+
+
+
+
+
+
+
+
+
+
+ AllowedAudience
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.AllowedPrincipals
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.AllowedPrincipals
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Group
+
+
+ Identity
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Apple
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Apple
+
+
+
+
+
+
+
+
+
+
+
+ Enabled
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.AppleRegistration
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.AppleRegistration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ClientId
+
+
+ ClientSecretSettingName
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.AppLogsConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.AppLogsConfiguration
+
+
+
+
+
+
+
+
+
+
+
+ Destination
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.AppRegistration
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.AppRegistration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AppId
+
+
+ AppSecretSettingName
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.AuthConfig
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.AuthConfig
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+ PlatformEnabled
+
+
+ ResourceGroupName
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.AuthConfigCollection
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.AuthConfigCollection
+
+
+
+
+
+
+
+
+
+
+
+ NextLink
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.AuthPlatform
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.AuthPlatform
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Enabled
+
+
+ RuntimeVersion
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.AvailableOperations
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.AvailableOperations
+
+
+
+
+
+
+
+
+
+
+
+ NextLink
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.AzureActiveDirectory
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.AzureActiveDirectory
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Enabled
+
+
+ IsAutoProvisioned
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.AzureActiveDirectoryLogin
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.AzureActiveDirectoryLogin
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DisableWwwAuthenticate
+
+
+ LoginParameter
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.AzureActiveDirectoryRegistration
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.AzureActiveDirectoryRegistration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ClientId
+
+
+ ClientSecretCertificateIssuer
+
+
+ ClientSecretCertificateSubjectAlternativeName
+
+
+ ClientSecretCertificateThumbprint
+
+
+ ClientSecretSettingName
+
+
+ OpenIdIssuer
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.AzureActiveDirectoryValidation
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.AzureActiveDirectoryValidation
+
+
+
+
+
+
+
+
+
+
+
+ AllowedAudience
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.AzureCredentials
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.AzureCredentials
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ClientId
+
+
+ ClientSecret
+
+
+ SubscriptionId
+
+
+ TenantId
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.AzureFileProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.AzureFileProperties
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AccessMode
+
+
+ AccountKey
+
+
+ AccountName
+
+
+ ShareName
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.AzureStaticWebApps
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.AzureStaticWebApps
+
+
+
+
+
+
+
+
+
+
+
+ Enabled
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.AzureStaticWebAppsRegistration
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.AzureStaticWebAppsRegistration
+
+
+
+
+
+
+
+
+
+
+
+ ClientId
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Certificate
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Certificate
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+ Location
+
+
+ Issuer
+
+
+ ProvisioningState
+
+
+ SubjectName
+
+
+ Thumbprint
+
+
+ ResourceGroupName
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.CertificateCollection
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.CertificateCollection
+
+
+
+
+
+
+
+
+
+
+
+ NextLink
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.CertificatePatchTags
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.CertificatePatchTags
+
+
+
+
+
+
+
+
+
+
+
+ Item
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.CertificateProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.CertificateProperties
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ExpirationDate
+
+
+ IssueDate
+
+
+ Issuer
+
+
+ ProvisioningState
+
+
+ PublicKeyHash
+
+
+ SubjectName
+
+
+ Thumbprint
+
+
+ Valid
+
+
+ Value
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ClientRegistration
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ClientRegistration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ClientId
+
+
+ ClientSecretSettingName
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Configuration
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Configuration
+
+
+
+
+
+
+
+
+
+
+
+ ActiveRevisionsMode
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Container
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Container
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Arg
+
+
+ Command
+
+
+ Image
+
+
+ Name
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ContainerApp
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ContainerApp
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Location
+
+
+ Name
+
+
+ ResourceGroupName
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ContainerAppCollection
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ContainerAppCollection
+
+
+
+
+
+
+
+
+
+
+
+ NextLink
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ContainerAppProbe
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ContainerAppProbe
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ FailureThreshold
+
+
+ InitialDelaySecond
+
+
+ PeriodSecond
+
+
+ SuccessThreshold
+
+
+ TerminationGracePeriodSecond
+
+
+ TimeoutSecond
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ContainerAppProbeHttpGet
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ContainerAppProbeHttpGet
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Host
+
+
+ Path
+
+
+ Port
+
+
+ Scheme
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ContainerAppProbeHttpGetHttpHeadersItem
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ContainerAppProbeHttpGetHttpHeadersItem
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+ Value
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ContainerAppProbeTcpSocket
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ContainerAppProbeTcpSocket
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Host
+
+
+ Port
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ContainerAppProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ContainerAppProperties
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CustomDomainVerificationId
+
+
+ LatestRevisionFqdn
+
+
+ LatestRevisionName
+
+
+ ManagedEnvironmentId
+
+
+ OutboundIPAddress
+
+
+ ProvisioningState
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ContainerAppSecret
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ContainerAppSecret
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+ Value
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ContainerResources
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ContainerResources
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Cpu
+
+
+ EphemeralStorage
+
+
+ Memory
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.CookieExpiration
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.CookieExpiration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Convention
+
+
+ TimeToExpiration
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.CustomDomain
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.CustomDomain
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ BindingType
+
+
+ CertificateId
+
+
+ Name
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.CustomHostnameAnalysisResult
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.CustomHostnameAnalysisResult
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+ SystemDataCreatedAt
+
+
+ SystemDataCreatedBy
+
+
+ SystemDataCreatedByType
+
+
+ SystemDataLastModifiedAt
+
+
+ SystemDataLastModifiedBy
+
+
+ SystemDataLastModifiedByType
+
+
+ ResourceGroupName
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.CustomHostnameAnalysisResultProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.CustomHostnameAnalysisResultProperties
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ARecord
+
+
+ AlternateCNameRecord
+
+
+ AlternateTxtRecord
+
+
+ CNameRecord
+
+
+ ConflictingContainerAppResourceId
+
+
+ CustomDomainVerificationTest
+
+
+ HasConflictOnManagedEnvironment
+
+
+ HostName
+
+
+ IsHostnameAlreadyVerified
+
+
+ TxtRecord
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.CustomOpenIdConnectProvider
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.CustomOpenIdConnectProvider
+
+
+
+
+
+
+
+
+
+
+
+ Enabled
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.CustomScaleRuleMetadata
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.CustomScaleRuleMetadata
+
+
+
+
+
+
+
+
+
+
+
+ Item
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Dapr
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Dapr
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AppId
+
+
+ AppPort
+
+
+ AppProtocol
+
+
+ Enabled
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.DaprComponent
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.DaprComponent
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+ ComponentType
+
+
+ IgnoreError
+
+
+ InitTimeout
+
+
+ ResourceGroupName
+
+
+ Version
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.DaprComponentProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.DaprComponentProperties
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ComponentType
+
+
+ IgnoreError
+
+
+ InitTimeout
+
+
+ Scope
+
+
+ Version
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.DaprComponentsCollection
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.DaprComponentsCollection
+
+
+
+
+
+
+
+
+
+
+
+ NextLink
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.DaprMetadata
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.DaprMetadata
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+ SecretRef
+
+
+ Value
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.DefaultAuthorizationPolicy
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.DefaultAuthorizationPolicy
+
+
+
+
+
+
+
+
+
+
+
+ AllowedApplication
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.DefaultErrorResponseError
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.DefaultErrorResponseError
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Code
+
+
+ Innererror
+
+
+ Message
+
+
+ Target
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.DefaultErrorResponseErrorDetailsItem
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.DefaultErrorResponseErrorDetailsItem
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Code
+
+
+ Message
+
+
+ Target
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.EnvironmentVar
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.EnvironmentVar
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+ SecretRef
+
+
+ Value
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Facebook
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Facebook
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Enabled
+
+
+ GraphApiVersion
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ForwardProxy
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ForwardProxy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Convention
+
+
+ CustomHostHeaderName
+
+
+ CustomProtoHeaderName
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.GitHub
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.GitHub
+
+
+
+
+
+
+
+
+
+
+
+ Enabled
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.GithubActionConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.GithubActionConfiguration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ContextPath
+
+
+ Image
+
+
+ OS
+
+
+ PublishType
+
+
+ RuntimeStack
+
+
+ RuntimeVersion
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.GlobalValidation
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.GlobalValidation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ExcludedPath
+
+
+ RedirectToProvider
+
+
+ UnauthenticatedClientAction
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Google
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Google
+
+
+
+
+
+
+
+
+
+
+
+ Enabled
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.HttpScaleRuleMetadata
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.HttpScaleRuleMetadata
+
+
+
+
+
+
+
+
+
+
+
+ Item
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.HttpSettings
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.HttpSettings
+
+
+
+
+
+
+
+
+
+
+
+ RequireHttps
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.HttpSettingsRoutes
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.HttpSettingsRoutes
+
+
+
+
+
+
+
+
+
+
+
+ ApiPrefix
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Ingress
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Ingress
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AllowInsecure
+
+
+ External
+
+
+ Fqdn
+
+
+ TargetPort
+
+
+ Transport
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.JwtClaimChecks
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.JwtClaimChecks
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AllowedClientApplication
+
+
+ AllowedGroup
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.LogAnalyticsConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.LogAnalyticsConfiguration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CustomerId
+
+
+ SharedKey
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Login
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Login
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AllowedExternalRedirectUrl
+
+
+ PreserveUrlFragmentsForLogin
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.LoginRoutes
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.LoginRoutes
+
+
+
+
+
+
+
+
+
+
+
+ LogoutEndpoint
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.LoginScopes
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.LoginScopes
+
+
+
+
+
+
+
+
+
+
+
+ Scope
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ManagedEnvironment
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ManagedEnvironment
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Location
+
+
+ Name
+
+
+ ResourceGroupName
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ManagedEnvironmentProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ManagedEnvironmentProperties
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DaprAiConnectionString
+
+
+ DaprAiInstrumentationKey
+
+
+ DefaultDomain
+
+
+ DeploymentError
+
+
+ ProvisioningState
+
+
+ StaticIP
+
+
+ ZoneRedundant
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ManagedEnvironmentsCollection
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ManagedEnvironmentsCollection
+
+
+
+
+
+
+
+
+
+
+
+ NextLink
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ManagedEnvironmentStorage
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ManagedEnvironmentStorage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+ AzureFileAccessMode
+
+
+ AzureFileAccountName
+
+
+ AzureFileShareName
+
+
+ ResourceGroupName
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Nonce
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Nonce
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ExpirationInterval
+
+
+ ValidateNonce
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.OpenIdConnectClientCredential
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.OpenIdConnectClientCredential
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ClientSecretSettingName
+
+
+ Method
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.OpenIdConnectConfig
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.OpenIdConnectConfig
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AuthorizationEndpoint
+
+
+ CertificationUri
+
+
+ Issuer
+
+
+ TokenEndpoint
+
+
+ WellKnownOpenIdConfiguration
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.OpenIdConnectLogin
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.OpenIdConnectLogin
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ NameClaimType
+
+
+ Scope
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.OpenIdConnectRegistration
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.OpenIdConnectRegistration
+
+
+
+
+
+
+
+
+
+
+
+ ClientId
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.OperationDetail
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.OperationDetail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ IsDataAction
+
+
+ Name
+
+
+ Origin
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.OperationDisplay
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.OperationDisplay
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Description
+
+
+ Operation
+
+
+ Provider
+
+
+ Resource
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.QueueScaleRule
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.QueueScaleRule
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ QueueLength
+
+
+ QueueName
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.RegistryCredentials
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.RegistryCredentials
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Identity
+
+
+ PasswordSecretRef
+
+
+ Server
+
+
+ Username
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.RegistryInfo
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.RegistryInfo
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ RegistryPassword
+
+
+ RegistryUrl
+
+
+ RegistryUserName
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Replica
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Replica
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+ SystemDataCreatedAt
+
+
+ SystemDataCreatedBy
+
+
+ SystemDataCreatedByType
+
+
+ SystemDataLastModifiedAt
+
+
+ SystemDataLastModifiedBy
+
+
+ SystemDataLastModifiedByType
+
+
+ ResourceGroupName
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ReplicaContainer
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ReplicaContainer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ContainerId
+
+
+ Name
+
+
+ Ready
+
+
+ RestartCount
+
+
+ Started
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ReplicaProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ReplicaProperties
+
+
+
+
+
+
+
+
+
+
+
+ CreatedTime
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Revision
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Revision
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+ Active
+
+
+ TrafficWeight
+
+
+ ProvisioningState
+
+
+ ResourceGroupName
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.RevisionCollection
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.RevisionCollection
+
+
+
+
+
+
+
+
+
+
+
+ NextLink
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.RevisionProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.RevisionProperties
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Active
+
+
+ CreatedTime
+
+
+ Fqdn
+
+
+ HealthState
+
+
+ ProvisioningError
+
+
+ ProvisioningState
+
+
+ Replica
+
+
+ TrafficWeight
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Scale
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Scale
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MaxReplica
+
+
+ MinReplica
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ScaleRule
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ScaleRule
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ScaleRuleAuth
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ScaleRuleAuth
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SecretRef
+
+
+ TriggerParameter
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Secret
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Secret
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+ Value
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.SourceControl
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.SourceControl
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+ SystemDataCreatedAt
+
+
+ SystemDataCreatedBy
+
+
+ SystemDataCreatedByType
+
+
+ SystemDataLastModifiedAt
+
+
+ SystemDataLastModifiedBy
+
+
+ SystemDataLastModifiedByType
+
+
+ ResourceGroupName
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.SourceControlCollection
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.SourceControlCollection
+
+
+
+
+
+
+
+
+
+
+
+ NextLink
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.SourceControlProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.SourceControlProperties
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Branch
+
+
+ OperationState
+
+
+ RepoUrl
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Template
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Template
+
+
+
+
+
+
+
+
+
+
+
+ RevisionSuffix
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.TrafficWeight
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.TrafficWeight
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Label
+
+
+ LatestRevision
+
+
+ RevisionName
+
+
+ Weight
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Twitter
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Twitter
+
+
+
+
+
+
+
+
+
+
+
+ Enabled
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.TwitterRegistration
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.TwitterRegistration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ConsumerKey
+
+
+ ConsumerSecretSettingName
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.VnetConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.VnetConfiguration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DockerBridgeCidr
+
+
+ InfrastructureSubnetId
+
+
+ Internal
+
+
+ PlatformReservedCidr
+
+
+ PlatformReservedDnsIP
+
+
+ RuntimeSubnetId
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Volume
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Volume
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+ StorageName
+
+
+ StorageType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.VolumeMount
+
+ Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.VolumeMount
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MountPath
+
+
+ VolumeName
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/App/Az.App.psd1 b/src/App/Az.App.psd1
new file mode 100644
index 000000000000..f31114c97e27
--- /dev/null
+++ b/src/App/Az.App.psd1
@@ -0,0 +1,163 @@
+#
+# Module manifest for module 'Az.App'
+#
+# Generated by: Microsoft Corporation
+#
+# Generated on: 6/22/2022
+#
+
+@{
+
+# Script module or binary module file associated with this manifest.
+RootModule = './Az.App.psm1'
+
+# Version number of this module.
+ModuleVersion = '0.1.0'
+
+# Supported PSEditions
+CompatiblePSEditions = 'Core', 'Desktop'
+
+# ID used to uniquely identify this module
+GUID = 'd26b4cc7-1502-410b-9c3d-a553c0d2d624'
+
+# Author of this module
+Author = 'Microsoft Corporation'
+
+# Company or vendor of this module
+CompanyName = 'Microsoft Corporation'
+
+# Copyright statement for this module
+Copyright = 'Microsoft Corporation. All rights reserved.'
+
+# Description of the functionality provided by this module
+Description = 'Microsoft Azure PowerShell: App cmdlets'
+
+# Minimum version of the PowerShell engine required by this module
+PowerShellVersion = '5.1'
+
+# Name of the PowerShell host required by this module
+# PowerShellHostName = ''
+
+# Minimum version of the PowerShell host required by this module
+# PowerShellHostVersion = ''
+
+# Minimum version of Microsoft .NET Framework required by this module. This prerequisite is valid for the PowerShell Desktop edition only.
+DotNetFrameworkVersion = '4.7.2'
+
+# Minimum version of the common language runtime (CLR) required by this module. This prerequisite is valid for the PowerShell Desktop edition only.
+# ClrVersion = ''
+
+# Processor architecture (None, X86, Amd64) required by this module
+# ProcessorArchitecture = ''
+
+# Modules that must be imported into the global environment prior to importing this module
+RequiredModules = @(@{ModuleName = 'Az.Accounts'; ModuleVersion = '2.8.0'; })
+
+# Assemblies that must be loaded prior to importing this module
+RequiredAssemblies = './bin/Az.App.private.dll'
+
+# Script files (.ps1) that are run in the caller's environment prior to importing this module.
+# ScriptsToProcess = @()
+
+# Type files (.ps1xml) to be loaded when importing this module
+# TypesToProcess = @()
+
+# Format files (.ps1xml) to be loaded when importing this module
+FormatsToProcess = './Az.App.format.ps1xml'
+
+# Modules to import as nested modules of the module specified in RootModule/ModuleToProcess
+# NestedModules = @()
+
+# Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export.
+FunctionsToExport = 'Disable-AzContainerAppRevision', 'Enable-AzContainerAppRevision',
+ 'Get-AzContainerApp', 'Get-AzContainerAppAuthConfig',
+ 'Get-AzContainerAppManagedEnv', 'Get-AzContainerAppManagedEnvCert',
+ 'Get-AzContainerAppManagedEnvDapr',
+ 'Get-AzContainerAppManagedEnvDaprSecret',
+ 'Get-AzContainerAppManagedEnvStorage', 'Get-AzContainerAppRevision',
+ 'Get-AzContainerAppSecret', 'New-AzContainerApp',
+ 'New-AzContainerAppAuthConfig',
+ 'New-AzContainerAppCustomDomainObject',
+ 'New-AzContainerAppDaprMetadataObject',
+ 'New-AzContainerAppEnvironmentVarObject',
+ 'New-AzContainerAppIdentityProviderObject',
+ 'New-AzContainerAppManagedEnv', 'New-AzContainerAppManagedEnvCert',
+ 'New-AzContainerAppManagedEnvDapr',
+ 'New-AzContainerAppManagedEnvStorage',
+ 'New-AzContainerAppProbeHeaderObject',
+ 'New-AzContainerAppProbeObject',
+ 'New-AzContainerAppRegistryCredentialObject',
+ 'New-AzContainerAppScaleRuleAuthObject',
+ 'New-AzContainerAppScaleRuleObject',
+ 'New-AzContainerAppSecretObject',
+ 'New-AzContainerAppTemplateObject',
+ 'New-AzContainerAppTrafficWeightObject',
+ 'New-AzContainerAppVolumeMountObject',
+ 'New-AzContainerAppVolumeObject', 'Remove-AzContainerApp',
+ 'Remove-AzContainerAppAuthConfig',
+ 'Remove-AzContainerAppManagedEnv',
+ 'Remove-AzContainerAppManagedEnvCert',
+ 'Remove-AzContainerAppManagedEnvDapr',
+ 'Remove-AzContainerAppManagedEnvStorage',
+ 'Restart-AzContainerAppRevision', 'Update-AzContainerApp',
+ 'Update-AzContainerAppManagedEnvCert'
+
+# Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export.
+CmdletsToExport = @()
+
+# Variables to export from this module
+# VariablesToExport = @()
+
+# Aliases to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no aliases to export.
+AliasesToExport = '*'
+
+# DSC resources to export from this module
+# DscResourcesToExport = @()
+
+# List of all modules packaged with this module
+# ModuleList = @()
+
+# List of all files packaged with this module
+# FileList = @()
+
+# Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell.
+PrivateData = @{
+
+ PSData = @{
+
+ # Tags applied to this module. These help with module discovery in online galleries.
+ Tags = 'Azure','ResourceManager','ARM','PSModule','App'
+
+ # A URL to the license for this module.
+ LicenseUri = 'https://aka.ms/azps-license'
+
+ # A URL to the main website for this project.
+ ProjectUri = 'https://github.com/Azure/azure-powershell'
+
+ # A URL to an icon representing this module.
+ # IconUri = ''
+
+ # ReleaseNotes of this module
+ # ReleaseNotes = ''
+
+ # Prerelease string of this module
+ # Prerelease = ''
+
+ # Flag to indicate whether the module requires explicit user acceptance for install/update/save
+ # RequireLicenseAcceptance = $false
+
+ # External dependent modules of this module
+ # ExternalModuleDependencies = @()
+
+ } # End of PSData hashtable
+
+ } # End of PrivateData hashtable
+
+# HelpInfo URI of this module
+# HelpInfoURI = ''
+
+# Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix.
+# DefaultCommandPrefix = ''
+
+}
+
diff --git a/src/App/Az.App.psm1 b/src/App/Az.App.psm1
new file mode 100644
index 000000000000..8d93f08a049c
--- /dev/null
+++ b/src/App/Az.App.psm1
@@ -0,0 +1,115 @@
+# region Generated
+ # ----------------------------------------------------------------------------------
+ # Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+ # ----------------------------------------------------------------------------------
+ # Load required Az.Accounts module
+ $accountsName = 'Az.Accounts'
+ $accountsModule = Get-Module -Name $accountsName
+ if(-not $accountsModule) {
+ $localAccountsPath = Join-Path $PSScriptRoot 'generated\modules'
+ if(Test-Path -Path $localAccountsPath) {
+ $localAccounts = Get-ChildItem -Path $localAccountsPath -Recurse -Include 'Az.Accounts.psd1' | Select-Object -Last 1
+ if($localAccounts) {
+ $accountsModule = Import-Module -Name ($localAccounts.FullName) -Scope Global -PassThru
+ }
+ }
+ if(-not $accountsModule) {
+ $hasAdequateVersion = (Get-Module -Name $accountsName -ListAvailable | Where-Object { $_.Version -ge [System.Version]'2.7.5' } | Measure-Object).Count -gt 0
+ if($hasAdequateVersion) {
+ $accountsModule = Import-Module -Name $accountsName -MinimumVersion 2.7.5 -Scope Global -PassThru
+ }
+ }
+ }
+
+ if(-not $accountsModule) {
+ Write-Error "`nThis module requires $accountsName version 2.7.5 or greater. For installation instructions, please see: https://docs.microsoft.com/powershell/azure/install-az-ps" -ErrorAction Stop
+ } elseif (($accountsModule.Version -lt [System.Version]'2.7.5') -and (-not $localAccounts)) {
+ Write-Error "`nThis module requires $accountsName version 2.7.5 or greater. An earlier version of Az.Accounts is imported in the current PowerShell session. If you are running test, please try to add the switch '-RegenerateSupportModule' when executing 'test-module.ps1'. Otherwise please open a new PowerShell session and import this module again.`nAdditionally, this error could indicate that multiple incompatible versions of Azure PowerShell modules are installed on your system. For troubleshooting information, please see: https://aka.ms/azps-version-error" -ErrorAction Stop
+ }
+ Write-Information "Loaded Module '$($accountsModule.Name)'"
+
+ # Load the private module dll
+ $null = Import-Module -Name (Join-Path $PSScriptRoot './bin/Az.App.private.dll')
+
+ # Get the private module's instance
+ $instance = [Microsoft.Azure.PowerShell.Cmdlets.App.Module]::Instance
+
+ # Ask for the shared functionality table
+ $VTable = Register-AzModule
+
+ # Tweaks the pipeline on module load
+ $instance.OnModuleLoad = $VTable.OnModuleLoad
+
+ # Following two delegates are added for telemetry
+ $instance.GetTelemetryId = $VTable.GetTelemetryId
+ $instance.Telemetry = $VTable.Telemetry
+
+
+ # Tweaks the pipeline per call
+ $instance.OnNewRequest = $VTable.OnNewRequest
+
+ # Gets shared parameter values
+ $instance.GetParameterValue = $VTable.GetParameterValue
+
+ # Allows shared module to listen to events from this module
+ $instance.EventListener = $VTable.EventListener
+
+ # Gets shared argument completers
+ $instance.ArgumentCompleter = $VTable.ArgumentCompleter
+
+ # The name of the currently selected Azure profile
+ $instance.ProfileName = $VTable.ProfileName
+
+
+ # Load the custom module
+ $customModulePath = Join-Path $PSScriptRoot './custom/Az.App.custom.psm1'
+ if(Test-Path $customModulePath) {
+ $null = Import-Module -Name $customModulePath
+ }
+
+ # Export nothing to clear implicit exports
+ Export-ModuleMember
+
+ # Export proxy cmdlet scripts
+ $exportsPath = Join-Path $PSScriptRoot './exports'
+ $directories = Get-ChildItem -Directory -Path $exportsPath
+ $profileDirectory = $null
+ if($instance.ProfileName) {
+ if(($directories | ForEach-Object { $_.Name }) -contains $instance.ProfileName) {
+ $profileDirectory = $directories | Where-Object { $_.Name -eq $instance.ProfileName }
+ } else {
+ # Don't export anything if the profile doesn't exist for the module
+ $exportsPath = $null
+ Write-Warning "Selected Azure profile '$($instance.ProfileName)' does not exist for module '$($instance.Name)'. No cmdlets were loaded."
+ }
+ } elseif(($directories | Measure-Object).Count -gt 0) {
+ # Load the last folder if no profile is selected
+ $profileDirectory = $directories | Select-Object -Last 1
+ }
+
+ if($profileDirectory) {
+ Write-Information "Loaded Azure profile '$($profileDirectory.Name)' for module '$($instance.Name)'"
+ $exportsPath = $profileDirectory.FullName
+ }
+
+ if($exportsPath) {
+ Get-ChildItem -Path $exportsPath -Recurse -Include '*.ps1' -File | ForEach-Object { . $_.FullName }
+ $cmdletNames = Get-ScriptCmdlet -ScriptFolder $exportsPath
+ Export-ModuleMember -Function $cmdletNames -Alias (Get-ScriptCmdlet -ScriptFolder $exportsPath -AsAlias)
+ }
+
+ # Finalize initialization of this module
+ $instance.Init();
+ Write-Information "Loaded Module '$($instance.Name)'"
+# endregion
diff --git a/src/App/Changelog.md b/src/App/Changelog.md
new file mode 100644
index 000000000000..ab59dce73fe9
--- /dev/null
+++ b/src/App/Changelog.md
@@ -0,0 +1,24 @@
+
+## Upcoming Release
+
+## Version 0.1.0
+* First preview release for module Az.App
+
diff --git a/src/App/Properties/AssemblyInfo.cs b/src/App/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000000..2b4ab964b08c
--- /dev/null
+++ b/src/App/Properties/AssemblyInfo.cs
@@ -0,0 +1,28 @@
+// ----------------------------------------------------------------------------------
+//
+// Copyright Microsoft Corporation
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// ----------------------------------------------------------------------------------
+
+using System;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+[assembly: AssemblyTitle("Microsoft Azure Powershell - App")]
+[assembly: AssemblyCompany(Microsoft.WindowsAzure.Commands.Common.AzurePowerShell.AssemblyCompany)]
+[assembly: AssemblyProduct(Microsoft.WindowsAzure.Commands.Common.AzurePowerShell.AssemblyProduct)]
+[assembly: AssemblyCopyright(Microsoft.WindowsAzure.Commands.Common.AzurePowerShell.AssemblyCopyright)]
+
+[assembly: ComVisible(false)]
+[assembly: CLSCompliant(false)]
+[assembly: Guid("488473a8-7e58-47ba-b064-410d00c997f2")]
+[assembly: AssemblyVersion("0.1.0")]
+[assembly: AssemblyFileVersion("0.1.0")]
diff --git a/src/App/README.md b/src/App/README.md
new file mode 100644
index 000000000000..6d5272c522c9
--- /dev/null
+++ b/src/App/README.md
@@ -0,0 +1,301 @@
+
+# Az.App
+This directory contains the PowerShell module for the App service.
+
+---
+## Status
+[![Az.App](https://img.shields.io/powershellgallery/v/Az.App.svg?style=flat-square&label=Az.App "Az.App")](https://www.powershellgallery.com/packages/Az.App/)
+
+## Info
+- Modifiable: yes
+- Generated: all
+- Committed: yes
+- Packaged: yes
+
+---
+## Detail
+This module was primarily generated via [AutoRest](https://github.com/Azure/autorest) using the [PowerShell](https://github.com/Azure/autorest.powershell) extension.
+
+## Module Requirements
+- [Az.Accounts module](https://www.powershellgallery.com/packages/Az.Accounts/), version 2.7.5 or greater
+
+## Authentication
+AutoRest does not generate authentication code for the module. Authentication is handled via Az.Accounts by altering the HTTP payload before it is sent.
+
+## Development
+For information on how to develop for `Az.App`, see [how-to.md](how-to.md).
+
+
+## Run Generation
+In this directory, run AutoRest:
+> `autorest`
+
+---
+### AutoRest Configuration
+> see https://aka.ms/autorest
+
+``` yaml
+branch: eb2b882ef0a4aa5956ca38cfa566fc4d7cfb3fb0
+require:
+ - $(this-folder)/../readme.azure.noprofile.md
+input-file:
+ - $(repo)/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/AuthConfigs.json
+ - $(repo)/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/CommonDefinitions.json
+ - $(repo)/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/ContainerApps.json
+ - $(repo)/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/ContainerAppsRevisions.json
+ - $(repo)/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/DaprComponents.json
+ - $(repo)/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/Global.json
+ - $(repo)/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/ManagedEnvironments.json
+ - $(repo)/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/ManagedEnvironmentsStorages.json
+ - $(repo)/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/SourceControls.json
+
+title: App
+module-version: 0.1.0
+subject-prefix: ''
+
+identity-correction-for-post: true
+resourcegroup-append: true
+nested-object-to-string: true
+
+directive:
+ - from: swagger-document
+ where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}"].patch.responses
+ transform: >-
+ return {
+ "200": {
+ "description": "Container App updated successfully.",
+ "schema": {
+ "$ref": "#/definitions/ContainerApp"
+ }
+ },
+ "202": {
+ "description": "Patch operation is in progress.",
+ "schema": {
+ "$ref": "#/definitions/ContainerApp"
+ }
+ },
+ "default": {
+ "description": "Common error response.",
+ "schema": {
+ "$ref": "https://github.com/Azure/azure-rest-api-specs/blob/eb2b882ef0a4aa5956ca38cfa566fc4d7cfb3fb0/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ }
+ # - from: swagger-document
+ # where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}"].patch.responses
+ # transform: >-
+ # return {
+ # "200": {
+ # "description": "Container App updated successfully.",
+ # "schema": {
+ # "$ref": "#/definitions/ManagedEnvironment"
+ # }
+ # },
+ # "202": {
+ # "description": "Patch operation is in progress.",
+ # "schema": {
+ # "$ref": "#/definitions/ManagedEnvironment"
+ # }
+ # },
+ # "default": {
+ # "description": "Common error response.",
+ # "schema": {
+ # "$ref": "https://github.com/Azure/azure-rest-api-specs/blob/eb2b882ef0a4aa5956ca38cfa566fc4d7cfb3fb0/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/CommonDefinitions.json#/definitions/DefaultErrorResponse"
+ # }
+ # }
+ # }
+ - from: swagger-document
+ where: $.definitions.Certificate.properties.properties.properties.password
+ transform: >-
+ return {
+ "description": "Certificate password.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create"
+ ],
+ "format": "password",
+ "x-ms-secret": true
+ }
+ - where:
+ variant: ^Create$|^CreateViaIdentity$|^CreateViaIdentityExpanded$|^Update$|^UpdateViaIdentity$
+ remove: true
+ - where:
+ verb: Set|Test
+ remove: true
+ - where:
+ verb: Get
+ subject: ContainerAppAuthConfig
+ remove: true
+ - where:
+ verb: Get
+ subject: ContainerAppSourceControl
+ remove: true
+ - where:
+ subject: ContainerAppCustomHostnameAnalysis
+ set:
+ subject: ContainerAppCustomHostName
+ - where:
+ verb: Initialize
+ subject: ContainerAppRevision
+ set:
+ verb: Enable
+ subject: ContainerAppRevision
+ - where:
+ verb: Invoke
+ subject: DeactivateContainerAppRevision
+ set:
+ verb: Disable
+ subject: ContainerAppRevision
+ - where:
+ verb: Get
+ subject: ContainerAppsAuthConfig
+ set:
+ subject: ContainerAppAuthConfig
+ - where:
+ verb: Remove
+ subject: ContainerAppsAuthConfig
+ set:
+ subject: ContainerAppAuthConfig
+ - where:
+ verb: Get
+ subject: ContainerAppsSourceControl
+ set:
+ subject: ContainerAppSourceControl
+ - where:
+ verb: Remove
+ subject: ContainerAppsSourceControl
+ set:
+ subject: ContainerAppSourceControl
+ - where:
+ subject: DaprComponent
+ set:
+ subject: ContainerAppManagedEnvDapr
+ - where:
+ subject: DaprComponentSecret
+ set:
+ subject: ContainerAppManagedEnvDaprSecret
+ - where:
+ subject: Certificate
+ set:
+ subject: ContainerAppManagedEnvCert
+ - where:
+ subject: ManagedEnvironment
+ set:
+ subject: ContainerAppManagedEnv
+ - where:
+ subject: ManagedEnvironmentsStorage
+ set:
+ subject: ContainerAppManagedEnvStorage
+ - where:
+ subject: ManagedEnvironmentStorage
+ set:
+ subject: ContainerAppManagedEnvStorage
+ - where:
+ subject: Volume
+ set:
+ subject: ContainerAppVolumeObject
+ # Re-name and custom it
+ # - model-cmdlet:
+ # - EnvironmentVar
+ # - ContainerAppProbe
+ # - VolumeMount
+ # - ScaleRuleAuth
+ # - RegistryCredentials
+ # - DaprMetadata
+ # - Secret
+ # - CustomDomain
+ # - TrafficWeight
+ # - ScaleRule
+ # - Container
+ # - Volume
+ # - IdentityProviders
+ # - ContainerAppProbeHttpGetHttpHeadersItem
+ - where:
+ parameter-name: ComponentName
+ set:
+ parameter-name: DaprName
+ - where:
+ parameter-name: EnvironmentName
+ set:
+ parameter-name: EnvName
+ - where:
+ model-name: ManagedEnvironment
+ set:
+ format-table:
+ properties:
+ - Location
+ - Name
+ - ResourceGroupName
+ - where:
+ model-name: ContainerApp
+ set:
+ format-table:
+ properties:
+ - Location
+ - Name
+ - ResourceGroupName
+ - where:
+ model-name: Revision
+ set:
+ format-table:
+ properties:
+ - Name
+ - Active
+ - TrafficWeight
+ - ProvisioningState
+ - ResourceGroupName
+ - where:
+ model-name: DaprComponent
+ set:
+ format-table:
+ properties:
+ - Name
+ - ComponentType
+ - IgnoreError
+ - InitTimeout
+ - ResourceGroupName
+ - Version
+ - where:
+ model-name: ManagedEnvironmentStorage
+ set:
+ format-table:
+ properties:
+ - Name
+ - AzureFileAccessMode
+ - AzureFileAccountName
+ - AzureFileShareName
+ - ResourceGroupName
+ - where:
+ model-name: Certificate
+ set:
+ format-table:
+ properties:
+ - Name
+ - Location
+ - Issuer
+ - ProvisioningState
+ - SubjectName
+ - Thumbprint
+ - ResourceGroupName
+ - where:
+ model-name: AuthConfig
+ set:
+ format-table:
+ properties:
+ - Name
+ - PlatformEnabled
+ - ResourceGroupName
+ - where:
+ subject: ContainerAppSourceControl
+ remove: true
+ - where:
+ verb: Update
+ subject: ContainerAppManagedEnv
+ remove: true
+ - where:
+ subject: ContainerAppRevisionReplica
+ remove: true
+ - where:
+ subject: ContainerAppCustomHostName
+ remove: true
+```
diff --git a/src/App/build-module.ps1 b/src/App/build-module.ps1
new file mode 100644
index 000000000000..96b8379f1076
--- /dev/null
+++ b/src/App/build-module.ps1
@@ -0,0 +1,161 @@
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+param([switch]$Isolated, [switch]$Run, [switch]$Test, [switch]$Docs, [switch]$Pack, [switch]$Code, [switch]$Release, [switch]$Debugger, [switch]$NoDocs)
+$ErrorActionPreference = 'Stop'
+
+if($PSEdition -ne 'Core') {
+ Write-Error 'This script requires PowerShell Core to execute. [Note] Generated cmdlets will work in both PowerShell Core or Windows PowerShell.'
+}
+
+if(-not $Isolated -and -not $Debugger) {
+ Write-Host -ForegroundColor Green 'Creating isolated process...'
+ $pwsh = [System.Diagnostics.Process]::GetCurrentProcess().Path
+ & "$pwsh" -NonInteractive -NoLogo -NoProfile -File $MyInvocation.MyCommand.Path @PSBoundParameters -Isolated
+
+ if($LastExitCode -ne 0) {
+ # Build failed. Don't attempt to run the module.
+ return
+ }
+
+ if($Test) {
+ . (Join-Path $PSScriptRoot 'test-module.ps1')
+ if($LastExitCode -ne 0) {
+ # Tests failed. Don't attempt to run the module.
+ return
+ }
+ }
+
+ if($Docs) {
+ . (Join-Path $PSScriptRoot 'generate-help.ps1')
+ if($LastExitCode -ne 0) {
+ # Docs generation failed. Don't attempt to run the module.
+ return
+ }
+ }
+
+ if($Pack) {
+ . (Join-Path $PSScriptRoot 'pack-module.ps1')
+ if($LastExitCode -ne 0) {
+ # Packing failed. Don't attempt to run the module.
+ return
+ }
+ }
+
+ $runModulePath = Join-Path $PSScriptRoot 'run-module.ps1'
+ if($Code) {
+ . $runModulePath -Code
+ } elseif($Run) {
+ . $runModulePath
+ } else {
+ Write-Host -ForegroundColor Cyan "To run this module in an isolated PowerShell session, run the 'run-module.ps1' script or provide the '-Run' parameter to this script."
+ }
+ return
+}
+
+$binFolder = Join-Path $PSScriptRoot 'bin'
+$objFolder = Join-Path $PSScriptRoot 'obj'
+
+if(-not $Debugger) {
+ Write-Host -ForegroundColor Green 'Cleaning build folders...'
+ $null = Remove-Item -Recurse -ErrorAction SilentlyContinue -Path $binFolder, $objFolder
+
+ if((Test-Path $binFolder) -or (Test-Path $objFolder)) {
+ Write-Host -ForegroundColor Cyan 'Did you forget to exit your isolated module session before rebuilding?'
+ Write-Error 'Unable to clean ''bin'' or ''obj'' folder. A process may have an open handle.'
+ }
+
+ Write-Host -ForegroundColor Green 'Compiling module...'
+ $buildConfig = 'Debug'
+ if($Release) {
+ $buildConfig = 'Release'
+ }
+ dotnet publish $PSScriptRoot --verbosity quiet --configuration $buildConfig /nologo
+ if($LastExitCode -ne 0) {
+ Write-Error 'Compilation failed.'
+ }
+
+ $null = Remove-Item -Recurse -ErrorAction SilentlyContinue -Path (Join-Path $binFolder 'Debug'), (Join-Path $binFolder 'Release')
+}
+
+$dll = Join-Path $PSScriptRoot 'bin\Az.App.private.dll'
+if(-not (Test-Path $dll)) {
+ Write-Error "Unable to find output assembly in '$binFolder'."
+}
+
+# Load DLL to use build-time cmdlets
+$null = Import-Module -Name $dll
+
+$modulePaths = $dll
+$customPsm1 = Join-Path $PSScriptRoot 'custom\Az.App.custom.psm1'
+if(Test-Path $customPsm1) {
+ $modulePaths = @($dll, $customPsm1)
+}
+
+$exportsFolder = Join-Path $PSScriptRoot 'exports'
+if(Test-Path $exportsFolder) {
+ $null = Get-ChildItem -Path $exportsFolder -Recurse -Exclude 'README.md' | Remove-Item -Recurse -ErrorAction SilentlyContinue
+}
+$null = New-Item -ItemType Directory -Force -Path $exportsFolder
+
+$internalFolder = Join-Path $PSScriptRoot 'internal'
+if(Test-Path $internalFolder) {
+ $null = Get-ChildItem -Path $internalFolder -Recurse -Exclude '*.psm1', 'README.md' | Remove-Item -Recurse -ErrorAction SilentlyContinue
+}
+$null = New-Item -ItemType Directory -Force -Path $internalFolder
+
+$psd1 = Join-Path $PSScriptRoot './Az.App.psd1'
+$guid = Get-ModuleGuid -Psd1Path $psd1
+$moduleName = 'Az.App'
+$examplesFolder = Join-Path $PSScriptRoot 'examples'
+$null = New-Item -ItemType Directory -Force -Path $examplesFolder
+
+Write-Host -ForegroundColor Green 'Creating cmdlets for specified models...'
+$modelCmdlets = @()
+if ($modelCmdlets.Count -gt 0) {
+ . (Join-Path $PSScriptRoot 'create-model-cmdlets.ps1')
+ CreateModelCmdlet($modelCmdlets)
+}
+
+if($NoDocs) {
+ Write-Host -ForegroundColor Green 'Creating exports...'
+ Export-ProxyCmdlet -ModuleName $moduleName -ModulePath $modulePaths -ExportsFolder $exportsFolder -InternalFolder $internalFolder -ExcludeDocs -ExamplesFolder $examplesFolder
+} else {
+ Write-Host -ForegroundColor Green 'Creating exports and docs...'
+ $moduleDescription = 'Microsoft Azure PowerShell: App cmdlets'
+ $docsFolder = Join-Path $PSScriptRoot 'docs'
+ if(Test-Path $docsFolder) {
+ $null = Get-ChildItem -Path $docsFolder -Recurse -Exclude 'README.md' | Remove-Item -Recurse -ErrorAction SilentlyContinue
+ }
+ $null = New-Item -ItemType Directory -Force -Path $docsFolder
+ Export-ProxyCmdlet -ModuleName $moduleName -ModulePath $modulePaths -ExportsFolder $exportsFolder -InternalFolder $internalFolder -ModuleDescription $moduleDescription -DocsFolder $docsFolder -ExamplesFolder $examplesFolder -ModuleGuid $guid
+}
+
+Write-Host -ForegroundColor Green 'Creating format.ps1xml...'
+$formatPs1xml = Join-Path $PSScriptRoot './Az.App.format.ps1xml'
+Export-FormatPs1xml -FilePath $formatPs1xml
+
+Write-Host -ForegroundColor Green 'Creating psd1...'
+$customFolder = Join-Path $PSScriptRoot 'custom'
+Export-Psd1 -ExportsFolder $exportsFolder -CustomFolder $customFolder -Psd1Path $psd1 -ModuleGuid $guid
+
+Write-Host -ForegroundColor Green 'Creating test stubs...'
+$testFolder = Join-Path $PSScriptRoot 'test'
+$null = New-Item -ItemType Directory -Force -Path $testFolder
+Export-TestStub -ModuleName $moduleName -ExportsFolder $exportsFolder -OutputFolder $testFolder
+
+Write-Host -ForegroundColor Green 'Creating example stubs...'
+Export-ExampleStub -ExportsFolder $exportsFolder -OutputFolder $examplesFolder
+
+Write-Host -ForegroundColor Green '-------------Done-------------'
diff --git a/src/App/check-dependencies.ps1 b/src/App/check-dependencies.ps1
new file mode 100644
index 000000000000..c29591c7bfe1
--- /dev/null
+++ b/src/App/check-dependencies.ps1
@@ -0,0 +1,65 @@
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+param([switch]$Isolated, [switch]$Accounts, [switch]$Pester, [switch]$Resources)
+$ErrorActionPreference = 'Stop'
+
+if(-not $Isolated) {
+ Write-Host -ForegroundColor Green 'Creating isolated process...'
+ $pwsh = [System.Diagnostics.Process]::GetCurrentProcess().Path
+ & "$pwsh" -NoExit -NoLogo -NoProfile -File $MyInvocation.MyCommand.Path @PSBoundParameters -Isolated
+ return
+}
+
+function DownloadModule ([bool]$predicate, [string]$path, [string]$moduleName, [string]$versionMinimum, [string]$requiredVersion) {
+ if($predicate) {
+ $module = Get-Module -ListAvailable -Name $moduleName
+ if((-not $module) -or ($versionMinimum -and ($module | ForEach-Object { $_.Version } | Where-Object { $_ -ge [System.Version]$versionMinimum } | Measure-Object).Count -eq 0) -or ($requiredVersion -and ($module | ForEach-Object { $_.Version } | Where-Object { $_ -eq [System.Version]$requiredVersion } | Measure-Object).Count -eq 0)) {
+ $null = New-Item -ItemType Directory -Force -Path $path
+ Write-Host -ForegroundColor Green "Installing local $moduleName module into '$path'..."
+ if ($requiredVersion) {
+ Find-Module -Name $moduleName -RequiredVersion $requiredVersion -Repository PSGallery | Save-Module -Path $path
+ }elseif($versionMinimum) {
+ Find-Module -Name $moduleName -MinimumVersion $versionMinimum -Repository PSGallery | Save-Module -Path $path
+ } else {
+ Find-Module -Name $moduleName -Repository PSGallery | Save-Module -Path $path
+ }
+ }
+ }
+}
+
+$ProgressPreference = 'SilentlyContinue'
+$all = (@($Accounts.IsPresent, $Pester.IsPresent) | Select-Object -Unique | Measure-Object).Count -eq 1
+
+$localModulesPath = Join-Path $PSScriptRoot 'generated\modules'
+if(Test-Path -Path $localModulesPath) {
+ $env:PSModulePath = "$localModulesPath$([IO.Path]::PathSeparator)$env:PSModulePath"
+}
+
+DownloadModule -predicate ($all -or $Accounts) -path $localModulesPath -moduleName 'Az.Accounts' -versionMinimum '2.7.5'
+DownloadModule -predicate ($all -or $Pester) -path $localModulesPath -moduleName 'Pester' -requiredVersion '4.10.1'
+
+$tools = Join-Path $PSScriptRoot 'tools'
+$resourceDir = Join-Path $tools 'Resources'
+$resourceModule = Join-Path $HOME '.PSSharedModules\Resources\Az.Resources.TestSupport.psm1'
+
+if ($Resources.IsPresent -and ((-not (Test-Path -Path $resourceModule)) -or $RegenerateSupportModule.IsPresent)) {
+ Write-Host -ForegroundColor Green "Building local Resource module used for test..."
+ Set-Location $resourceDir
+ $null = autorest .\README.md --use:@autorest/powershell@3.0.414 --output-folder=$HOME/.PSSharedModules/Resources
+ $null = Copy-Item custom/* $HOME/.PSSharedModules/Resources/custom/
+ Set-Location $HOME/.PSSharedModules/Resources
+ $null = .\build-module.ps1
+ Set-Location $PSScriptRoot
+}
diff --git a/src/App/create-model-cmdlets.ps1 b/src/App/create-model-cmdlets.ps1
new file mode 100644
index 000000000000..04c639459581
--- /dev/null
+++ b/src/App/create-model-cmdlets.ps1
@@ -0,0 +1,179 @@
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+function CreateModelCmdlet {
+
+ param([string[]]$Models)
+
+ if ($Models.Count -eq 0)
+ {
+ return
+ }
+
+ $ModelCsPath = Join-Path (Join-Path $PSScriptRoot 'generated\api') 'Models'
+ $ModuleName = ''
+ $OutputDir = Join-Path $PSScriptRoot 'custom\autogen-model-cmdlets'
+ $null = New-Item -ItemType Directory -Force -Path $OutputDir
+
+ $CsFiles = Get-ChildItem -Path $ModelCsPath -Recurse -Filter *.cs
+ $Content = ''
+ $null = $CsFiles | ForEach-Object -Process { if ($_.Name.Split('.').count -eq 2 )
+ { $Content += get-content $_.fullname -raw
+ } }
+
+ $Tree = [Microsoft.CodeAnalysis.CSharp.SyntaxFactory]::ParseCompilationUnit($Content)
+ $Nodes = $Tree.ChildNodes().ChildNodes()
+ foreach ($Model in $Models)
+ {
+ $InterfaceNode = $Nodes | Where-Object { ($_.Keyword.value -eq 'interface') -and ($_.Identifier.value -eq "I$Model") }
+ if ($InterfaceNode.count -eq 0) {
+ continue
+ }
+ # through a queue, we iterate all the parent models.
+ $Queue = @($InterfaceNode)
+ $visited = @("I$Model")
+ $AllInterfaceNodes = @()
+ while ($Queue.count -ne 0)
+ {
+ $AllInterfaceNodes += $Queue[0]
+ # Baselist contains the direct parent models.
+ foreach ($parent in $Queue[0].BaseList.Types)
+ {
+ if (($parent.Type.Right.Identifier.Value -ne 'IJsonSerializable') -and (-not $visited.Contains($parent.Type.Right.Identifier.Value)))
+ {
+ $Queue = [Array]$Queue + ($Nodes | Where-Object { ($_.Keyword.value -eq 'interface') -and ($_.Identifier.value -eq $parent.Type.Right.Identifier.Value) })
+ $visited = [Array]$visited + $parent.Type.Right.Identifier.Value
+ }
+ }
+ $first, $Queue = $Queue
+ }
+
+ $Namespace = $InterfaceNode.Parent.Name
+ $ObjectType = $Model
+ $ObjectTypeWithNamespace = "${Namespace}.${ObjectType}"
+ # remove duplicated module name
+ if ($ObjectType.StartsWith($ModuleName)) {
+ $ModulePrefix = ''
+ } else {
+ $ModulePrefix = $ModuleName
+ }
+ $OutputPath = Join-Path -ChildPath "New-Az${ModulePrefix}${ObjectType}Object.ps1" -Path $OutputDir
+
+ $ParameterDefineScriptList = New-Object System.Collections.Generic.List[string]
+ $ParameterAssignScriptList = New-Object System.Collections.Generic.List[string]
+ foreach ($Node in $AllInterfaceNodes)
+ {
+ foreach ($Member in $Node.Members)
+ {
+ $Arguments = $Member.AttributeLists.Attributes.ArgumentList.Arguments
+ $Required = $false
+ $Description = ""
+ $Readonly = $False
+ foreach ($Argument in $Arguments)
+ {
+ if ($Argument.NameEquals.Name.Identifier.Value -eq "Required")
+ {
+ $Required = $Argument.Expression.Token.Value
+ }
+ if ($Argument.NameEquals.Name.Identifier.Value -eq "Description")
+ {
+ $Description = $Argument.Expression.Token.Value.Trim('.').replace('"', '`"')
+ }
+ if ($Argument.NameEquals.Name.Identifier.Value -eq "Readonly")
+ {
+ $Readonly = $Argument.Expression.Token.Value
+ }
+ }
+ if ($Readonly)
+ {
+ continue
+ }
+ $Identifier = $Member.Identifier.Value
+ $Type = $Member.Type.ToString().replace('?', '').Split("::")[-1]
+ $ParameterDefinePropertyList = New-Object System.Collections.Generic.List[string]
+ if ($Required)
+ {
+ $ParameterDefinePropertyList.Add("Mandatory")
+ }
+ if ($Description -ne "")
+ {
+ $ParameterDefinePropertyList.Add("HelpMessage=`"${Description}.`"")
+ }
+ $ParameterDefineProperty = [System.String]::Join(", ", $ParameterDefinePropertyList)
+ # check whether completer is needed
+ $completer = '';
+ if($Type.Split('.').Split('.')[-2] -eq 'Support') {
+ # If Type is an array, need to strip []
+ $strippedType = $Type.Replace('[]', '')
+ $completer += "`n [ArgumentCompleter([${strippedType}])]"
+ }
+ $ParameterDefineScript = "
+ [Parameter($ParameterDefineProperty)]${completer}
+ [${Type}]
+ `$${Identifier}"
+ $ParameterDefineScriptList.Add($ParameterDefineScript)
+ $ParameterAssignScriptList.Add("
+ if (`$PSBoundParameters.ContainsKey('${Identifier}')) {
+ `$Object.${Identifier} = `$${Identifier}
+ }")
+ }
+ }
+ $ParameterDefineScript = $ParameterDefineScriptList | Join-String -Separator ","
+ $ParameterAssignScript = $ParameterAssignScriptList | Join-String -Separator ""
+
+ $Script = "
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the ""License"");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an ""AS IS"" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for ${ObjectType}.
+.Description
+Create an in-memory object for ${ObjectType}.
+
+.Outputs
+${ObjectTypeWithNamespace}
+.Link
+https://docs.microsoft.com/powershell/module/az.${ModuleName}/new-Az${ModulePrefix}${ObjectType}Object
+#>
+function New-Az${ModulePrefix}${ObjectType}Object {
+ [OutputType('${ObjectTypeWithNamespace}')]
+ [CmdletBinding(PositionalBinding=`$false)]
+ Param(
+${ParameterDefineScript}
+ )
+
+ process {
+ `$Object = [${ObjectTypeWithNamespace}]::New()
+${ParameterAssignScript}
+ return `$Object
+ }
+}
+"
+ Set-Content -Path $OutputPath -Value $Script
+ }
+}
diff --git a/src/App/custom/Az.App.custom.psm1 b/src/App/custom/Az.App.custom.psm1
new file mode 100644
index 000000000000..46a6fcb23d3b
--- /dev/null
+++ b/src/App/custom/Az.App.custom.psm1
@@ -0,0 +1,17 @@
+# region Generated
+ # Load the private module dll
+ $null = Import-Module -PassThru -Name (Join-Path $PSScriptRoot '..\bin\Az.App.private.dll')
+
+ # Load the internal module
+ $internalModulePath = Join-Path $PSScriptRoot '..\internal\Az.App.internal.psm1'
+ if(Test-Path $internalModulePath) {
+ $null = Import-Module -Name $internalModulePath
+ }
+
+ # Export nothing to clear implicit exports
+ Export-ModuleMember
+
+ # Export script cmdlets
+ Get-ChildItem -Path $PSScriptRoot -Recurse -Include '*.ps1' -File | ForEach-Object { . $_.FullName }
+ Export-ModuleMember -Function (Get-ScriptCmdlet -ScriptFolder $PSScriptRoot) -Alias (Get-ScriptCmdlet -ScriptFolder $PSScriptRoot -AsAlias)
+# endregion
diff --git a/src/App/custom/New-AzContainerAppCustomDomainObject.ps1 b/src/App/custom/New-AzContainerAppCustomDomainObject.ps1
new file mode 100644
index 000000000000..63d29f2478d8
--- /dev/null
+++ b/src/App/custom/New-AzContainerAppCustomDomainObject.ps1
@@ -0,0 +1,60 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for CustomDomain.
+.Description
+Create an in-memory object for CustomDomain.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.CustomDomain
+.Link
+https://docs.microsoft.com/powershell/module/az./new-azcontainerappcustomdomainobject
+#>
+function New-AzContainerAppCustomDomainObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.CustomDomain')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ [Parameter(HelpMessage="Custom Domain binding type.")]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.App.Support.BindingType])]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Support.BindingType]
+ $BindingType,
+ [Parameter(Mandatory, HelpMessage="Resource Id of the Certificate to be bound to this hostname. Must exist in the Managed Environment.")]
+ [string]
+ $CertificateId,
+ [Parameter(Mandatory, HelpMessage="Hostname.")]
+ [string]
+ $Name
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.CustomDomain]::New()
+
+ if ($PSBoundParameters.ContainsKey('BindingType')) {
+ $Object.BindingType = $BindingType
+ }
+ if ($PSBoundParameters.ContainsKey('CertificateId')) {
+ $Object.CertificateId = $CertificateId
+ }
+ if ($PSBoundParameters.ContainsKey('Name')) {
+ $Object.Name = $Name
+ }
+ return $Object
+ }
+}
+
diff --git a/src/App/custom/New-AzContainerAppDaprMetadataObject.ps1 b/src/App/custom/New-AzContainerAppDaprMetadataObject.ps1
new file mode 100644
index 000000000000..cddbd68e38b6
--- /dev/null
+++ b/src/App/custom/New-AzContainerAppDaprMetadataObject.ps1
@@ -0,0 +1,59 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for DaprMetadata.
+.Description
+Create an in-memory object for DaprMetadata.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.DaprMetadata
+.Link
+https://docs.microsoft.com/powershell/module/az./new-azcontainerappdaprmetadataobject
+#>
+function New-AzContainerAppDaprMetadataObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.DaprMetadata')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ [Parameter(HelpMessage="Metadata property name.")]
+ [string]
+ $Name,
+ [Parameter(HelpMessage="Name of the Dapr Component secret from which to pull the metadata property value.")]
+ [string]
+ $SecretRef,
+ [Parameter(HelpMessage="Metadata property value.")]
+ [string]
+ $Value
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.DaprMetadata]::New()
+
+ if ($PSBoundParameters.ContainsKey('Name')) {
+ $Object.Name = $Name
+ }
+ if ($PSBoundParameters.ContainsKey('SecretRef')) {
+ $Object.SecretRef = $SecretRef
+ }
+ if ($PSBoundParameters.ContainsKey('Value')) {
+ $Object.Value = $Value
+ }
+ return $Object
+ }
+}
+
diff --git a/src/App/custom/New-AzContainerAppEnvironmentVarObject.ps1 b/src/App/custom/New-AzContainerAppEnvironmentVarObject.ps1
new file mode 100644
index 000000000000..01c51800caca
--- /dev/null
+++ b/src/App/custom/New-AzContainerAppEnvironmentVarObject.ps1
@@ -0,0 +1,59 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for EnvironmentVar.
+.Description
+Create an in-memory object for EnvironmentVar.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.EnvironmentVar
+.Link
+https://docs.microsoft.com/powershell/module/az./new-azcontainerappenvironmentvarobject
+#>
+function New-AzContainerAppEnvironmentVarObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.EnvironmentVar')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ [Parameter(HelpMessage="Environment variable name.")]
+ [string]
+ $Name,
+ [Parameter(HelpMessage="Name of the Container App secret from which to pull the environment variable value.")]
+ [string]
+ $SecretRef,
+ [Parameter(HelpMessage="Non-secret environment variable value.")]
+ [string]
+ $Value
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.EnvironmentVar]::New()
+
+ if ($PSBoundParameters.ContainsKey('Name')) {
+ $Object.Name = $Name
+ }
+ if ($PSBoundParameters.ContainsKey('SecretRef')) {
+ $Object.SecretRef = $SecretRef
+ }
+ if ($PSBoundParameters.ContainsKey('Value')) {
+ $Object.Value = $Value
+ }
+ return $Object
+ }
+}
+
diff --git a/src/App/custom/New-AzContainerAppIdentityProviderObject.ps1 b/src/App/custom/New-AzContainerAppIdentityProviderObject.ps1
new file mode 100644
index 000000000000..698eb282b69c
--- /dev/null
+++ b/src/App/custom/New-AzContainerAppIdentityProviderObject.ps1
@@ -0,0 +1,297 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for IdentityProviders.
+.Description
+Create an in-memory object for IdentityProviders.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IdentityProviders
+.Link
+https://docs.microsoft.com/powershell/module/az./new-azcontainerappidentityproviderobject
+#>
+function New-AzContainerAppIdentityProviderObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IdentityProviders')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ [Parameter(HelpMessage="The list of the allowed groups.")]
+ [string[]]
+ $AllowedPrincipalGroup,
+ [Parameter(HelpMessage="The list of the allowed identities.")]
+ [string[]]
+ $AllowedPrincipalIdentity,
+ [Parameter(HelpMessage="false if the Apple provider should not be enabled despite the set registration; otherwise, true.")]
+ [bool]
+ $AppleEnabled,
+ [Parameter(HelpMessage="A list of the scopes that should be requested while authenticating.")]
+ [string[]]
+ $AppleLoginScope,
+ [Parameter(HelpMessage="The Client ID of the app used for login.")]
+ [string]
+ $AppleRegistrationClientId,
+ [Parameter(HelpMessage="The app setting name that contains the client secret.")]
+ [string]
+ $AppleRegistrationClientSecretSettingName,
+ [Parameter(HelpMessage="false if the Azure Active Directory provider should not be enabled despite the set registration; otherwise, true.")]
+ [bool]
+ $AzureActiveDirectoryEnabled,
+ [Parameter(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]
+ $AzureActiveDirectoryIsAutoProvisioned,
+ [Parameter(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]
+ $AzureActiveDirectoryRegistrationClientId,
+ [Parameter(HelpMessage="The app setting name that contains the client secret of the relying party application.")]
+ [string]
+ $AzureActiveDirectoryRegistrationClientSecretSettingName,
+ [Parameter(HelpMessage="The list of audiences that can make successful authentication/authorization requests.")]
+ [string[]]
+ $AzureActiveDirectoryValidationAllowedAudience,
+ [Parameter(HelpMessage="false if the Azure Static Web Apps provider should not be enabled despite the set registration; otherwise, true.")]
+ [bool]
+ $AzureStaticWebAppEnabled,
+ [Parameter(HelpMessage="The Client ID of the app used for login.")]
+ [string]
+ $AzureStaticWebAppsRegistrationClientId,
+ [Parameter(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.")]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IIdentityProvidersCustomOpenIdConnectProviders]
+ $CustomOpenIdConnectProvider,
+ [Parameter(HelpMessage="The configuration settings of the Azure Active Directory allowed applications.")]
+ [string[]]
+ $DefaultAuthorizationPolicyAllowedApplication,
+ [Parameter(HelpMessage="false if the Facebook provider should not be enabled despite the set registration; otherwise, true.")]
+ [bool]
+ $FacebookEnabled,
+ [Parameter(HelpMessage="The version of the Facebook api to be used while logging in.")]
+ [string]
+ $FacebookGraphApiVersion,
+ [Parameter(HelpMessage="A list of the scopes that should be requested while authenticating.")]
+ [string[]]
+ $FacebookLoginScope,
+ [Parameter(HelpMessage="false if the GitHub provider should not be enabled despite the set registration; otherwise, true.")]
+ [bool]
+ $GitHubEnabled,
+ [Parameter(HelpMessage="A list of the scopes that should be requested while authenticating.")]
+ [string[]]
+ $GitHubLoginScope,
+ [Parameter(HelpMessage="The Client ID of the app used for login.")]
+ [string]
+ $GitHubRegistrationClientId,
+ [Parameter(HelpMessage="The app setting name that contains the client secret.")]
+ [string]
+ $GitHubRegistrationClientSecretSettingName,
+ [Parameter(HelpMessage="false if the Google provider should not be enabled despite the set registration; otherwise, true.")]
+ [bool]
+ $GoogleEnabled,
+ [Parameter(HelpMessage="A list of the scopes that should be requested while authenticating.")]
+ [string[]]
+ $GoogleLoginScope,
+ [Parameter(HelpMessage="The Client ID of the app used for login.")]
+ [string]
+ $GoogleRegistrationClientId,
+ [Parameter(HelpMessage="The app setting name that contains the client secret.")]
+ [string]
+ $GoogleRegistrationClientSecretSettingName,
+ [Parameter(HelpMessage="The configuration settings of the allowed list of audiences from which to validate the JWT token.")]
+ [string[]]
+ $GoogleValidationAllowedAudience,
+ [Parameter(HelpMessage="The list of the allowed client applications.")]
+ [string[]]
+ $JwtClaimCheckAllowedClientApplication,
+ [Parameter(HelpMessage="The list of the allowed groups.")]
+ [string[]]
+ $JwtClaimCheckAllowedGroup,
+ [Parameter(HelpMessage="true if the www-authenticate provider should be omitted from the request; otherwise, false.")]
+ [bool]
+ $LoginDisableWwwAuthenticate,
+ [Parameter(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[]]
+ $LoginParameter,
+ [Parameter(HelpMessage="The App ID of the app used for login.")]
+ [string]
+ $RegistrationAppId,
+ [Parameter(HelpMessage="The app setting name that contains the app secret.")]
+ [string]
+ $RegistrationAppSecretSettingName,
+ [Parameter(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]
+ $RegistrationClientSecretCertificateIssuer,
+ [Parameter(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]
+ $RegistrationClientSecretCertificateSubjectAlternativeName,
+ [Parameter(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]
+ $RegistrationClientSecretCertificateThumbprint,
+ [Parameter(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]
+ $RegistrationConsumerKey,
+ [Parameter(HelpMessage="The app setting name that contains the OAuth 1.0a consumer secret of the Twitter
+ application used for sign-in.")]
+ [string]
+ $RegistrationConsumerSecretSettingName,
+ [Parameter(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]
+ $RegistrationOpenIdIssuer,
+ [Parameter(HelpMessage="false if the Twitter provider should not be enabled despite the set registration; otherwise, true.")]
+ [bool]
+ $TwitterEnabled
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IdentityProviders]::New()
+
+ if ($PSBoundParameters.ContainsKey('AllowedPrincipalGroup')) {
+ $Object.AllowedPrincipalGroup = $AllowedPrincipalGroup
+ }
+ if ($PSBoundParameters.ContainsKey('AllowedPrincipalIdentity')) {
+ $Object.AllowedPrincipalIdentity = $AllowedPrincipalIdentity
+ }
+ if ($PSBoundParameters.ContainsKey('AppleEnabled')) {
+ $Object.AppleEnabled = $AppleEnabled
+ }
+ if ($PSBoundParameters.ContainsKey('AppleLoginScope')) {
+ $Object.AppleLoginScope = $AppleLoginScope
+ }
+ if ($PSBoundParameters.ContainsKey('AppleRegistrationClientId')) {
+ $Object.AppleRegistrationClientId = $AppleRegistrationClientId
+ }
+ if ($PSBoundParameters.ContainsKey('AppleRegistrationClientSecretSettingName')) {
+ $Object.AppleRegistrationClientSecretSettingName = $AppleRegistrationClientSecretSettingName
+ }
+ if ($PSBoundParameters.ContainsKey('AzureActiveDirectoryEnabled')) {
+ $Object.AzureActiveDirectoryEnabled = $AzureActiveDirectoryEnabled
+ }
+ if ($PSBoundParameters.ContainsKey('AzureActiveDirectoryIsAutoProvisioned')) {
+ $Object.AzureActiveDirectoryIsAutoProvisioned = $AzureActiveDirectoryIsAutoProvisioned
+ }
+ if ($PSBoundParameters.ContainsKey('AzureActiveDirectoryRegistrationClientId')) {
+ $Object.AzureActiveDirectoryRegistrationClientId = $AzureActiveDirectoryRegistrationClientId
+ }
+ if ($PSBoundParameters.ContainsKey('AzureActiveDirectoryRegistrationClientSecretSettingName')) {
+ $Object.AzureActiveDirectoryRegistrationClientSecretSettingName = $AzureActiveDirectoryRegistrationClientSecretSettingName
+ }
+ if ($PSBoundParameters.ContainsKey('AzureActiveDirectoryValidationAllowedAudience')) {
+ $Object.AzureActiveDirectoryValidationAllowedAudience = $AzureActiveDirectoryValidationAllowedAudience
+ }
+ if ($PSBoundParameters.ContainsKey('AzureStaticWebAppEnabled')) {
+ $Object.AzureStaticWebAppEnabled = $AzureStaticWebAppEnabled
+ }
+ if ($PSBoundParameters.ContainsKey('AzureStaticWebAppsRegistrationClientId')) {
+ $Object.AzureStaticWebAppsRegistrationClientId = $AzureStaticWebAppsRegistrationClientId
+ }
+ if ($PSBoundParameters.ContainsKey('CustomOpenIdConnectProvider')) {
+ $Object.CustomOpenIdConnectProvider = $CustomOpenIdConnectProvider
+ }
+ if ($PSBoundParameters.ContainsKey('DefaultAuthorizationPolicyAllowedApplication')) {
+ $Object.DefaultAuthorizationPolicyAllowedApplication = $DefaultAuthorizationPolicyAllowedApplication
+ }
+ if ($PSBoundParameters.ContainsKey('FacebookEnabled')) {
+ $Object.FacebookEnabled = $FacebookEnabled
+ }
+ if ($PSBoundParameters.ContainsKey('FacebookGraphApiVersion')) {
+ $Object.FacebookGraphApiVersion = $FacebookGraphApiVersion
+ }
+ if ($PSBoundParameters.ContainsKey('FacebookLoginScope')) {
+ $Object.FacebookLoginScope = $FacebookLoginScope
+ }
+ if ($PSBoundParameters.ContainsKey('GitHubEnabled')) {
+ $Object.GitHubEnabled = $GitHubEnabled
+ }
+ if ($PSBoundParameters.ContainsKey('GitHubLoginScope')) {
+ $Object.GitHubLoginScope = $GitHubLoginScope
+ }
+ if ($PSBoundParameters.ContainsKey('GitHubRegistrationClientId')) {
+ $Object.GitHubRegistrationClientId = $GitHubRegistrationClientId
+ }
+ if ($PSBoundParameters.ContainsKey('GitHubRegistrationClientSecretSettingName')) {
+ $Object.GitHubRegistrationClientSecretSettingName = $GitHubRegistrationClientSecretSettingName
+ }
+ if ($PSBoundParameters.ContainsKey('GoogleEnabled')) {
+ $Object.GoogleEnabled = $GoogleEnabled
+ }
+ if ($PSBoundParameters.ContainsKey('GoogleLoginScope')) {
+ $Object.GoogleLoginScope = $GoogleLoginScope
+ }
+ if ($PSBoundParameters.ContainsKey('GoogleRegistrationClientId')) {
+ $Object.GoogleRegistrationClientId = $GoogleRegistrationClientId
+ }
+ if ($PSBoundParameters.ContainsKey('GoogleRegistrationClientSecretSettingName')) {
+ $Object.GoogleRegistrationClientSecretSettingName = $GoogleRegistrationClientSecretSettingName
+ }
+ if ($PSBoundParameters.ContainsKey('GoogleValidationAllowedAudience')) {
+ $Object.GoogleValidationAllowedAudience = $GoogleValidationAllowedAudience
+ }
+ if ($PSBoundParameters.ContainsKey('JwtClaimCheckAllowedClientApplication')) {
+ $Object.JwtClaimCheckAllowedClientApplication = $JwtClaimCheckAllowedClientApplication
+ }
+ if ($PSBoundParameters.ContainsKey('JwtClaimCheckAllowedGroup')) {
+ $Object.JwtClaimCheckAllowedGroup = $JwtClaimCheckAllowedGroup
+ }
+ if ($PSBoundParameters.ContainsKey('LoginDisableWwwAuthenticate')) {
+ $Object.LoginDisableWwwAuthenticate = $LoginDisableWwwAuthenticate
+ }
+ if ($PSBoundParameters.ContainsKey('LoginParameter')) {
+ $Object.LoginParameter = $LoginParameter
+ }
+ if ($PSBoundParameters.ContainsKey('RegistrationAppId')) {
+ $Object.RegistrationAppId = $RegistrationAppId
+ }
+ if ($PSBoundParameters.ContainsKey('RegistrationAppSecretSettingName')) {
+ $Object.RegistrationAppSecretSettingName = $RegistrationAppSecretSettingName
+ }
+ if ($PSBoundParameters.ContainsKey('RegistrationClientSecretCertificateIssuer')) {
+ $Object.RegistrationClientSecretCertificateIssuer = $RegistrationClientSecretCertificateIssuer
+ }
+ if ($PSBoundParameters.ContainsKey('RegistrationClientSecretCertificateSubjectAlternativeName')) {
+ $Object.RegistrationClientSecretCertificateSubjectAlternativeName = $RegistrationClientSecretCertificateSubjectAlternativeName
+ }
+ if ($PSBoundParameters.ContainsKey('RegistrationClientSecretCertificateThumbprint')) {
+ $Object.RegistrationClientSecretCertificateThumbprint = $RegistrationClientSecretCertificateThumbprint
+ }
+ if ($PSBoundParameters.ContainsKey('RegistrationConsumerKey')) {
+ $Object.RegistrationConsumerKey = $RegistrationConsumerKey
+ }
+ if ($PSBoundParameters.ContainsKey('RegistrationConsumerSecretSettingName')) {
+ $Object.RegistrationConsumerSecretSettingName = $RegistrationConsumerSecretSettingName
+ }
+ if ($PSBoundParameters.ContainsKey('RegistrationOpenIdIssuer')) {
+ $Object.RegistrationOpenIdIssuer = $RegistrationOpenIdIssuer
+ }
+ if ($PSBoundParameters.ContainsKey('TwitterEnabled')) {
+ $Object.TwitterEnabled = $TwitterEnabled
+ }
+ return $Object
+ }
+}
+
diff --git a/src/App/custom/New-AzContainerAppProbeHeaderObject.ps1 b/src/App/custom/New-AzContainerAppProbeHeaderObject.ps1
new file mode 100644
index 000000000000..77e2dc14c7a3
--- /dev/null
+++ b/src/App/custom/New-AzContainerAppProbeHeaderObject.ps1
@@ -0,0 +1,53 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for ContainerAppProbeHttpGetHttpHeadersItem.
+.Description
+Create an in-memory object for ContainerAppProbeHttpGetHttpHeadersItem.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ContainerAppProbeHttpGetHttpHeadersItem
+.Link
+https://docs.microsoft.com/powershell/module/az./new-azcontainerappprobeheaderobject
+#>
+function New-AzContainerAppProbeHeaderObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ContainerAppProbeHttpGetHttpHeadersItem')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ [Parameter(Mandatory, HelpMessage="The header field name.")]
+ [string]
+ $Name,
+ [Parameter(Mandatory, HelpMessage="The header field value.")]
+ [string]
+ $Value
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ContainerAppProbeHttpGetHttpHeadersItem]::New()
+
+ if ($PSBoundParameters.ContainsKey('Name')) {
+ $Object.Name = $Name
+ }
+ if ($PSBoundParameters.ContainsKey('Value')) {
+ $Object.Value = $Value
+ }
+ return $Object
+ }
+}
+
diff --git a/src/App/custom/New-AzContainerAppProbeObject.ps1 b/src/App/custom/New-AzContainerAppProbeObject.ps1
new file mode 100644
index 000000000000..9b25ef9a96ed
--- /dev/null
+++ b/src/App/custom/New-AzContainerAppProbeObject.ps1
@@ -0,0 +1,127 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for ContainerAppProbe.
+.Description
+Create an in-memory object for ContainerAppProbe.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ContainerAppProbe
+.Link
+https://docs.microsoft.com/powershell/module/az./new-azcontainerappprobeobject
+#>
+function New-AzContainerAppProbeObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ContainerAppProbe')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ [Parameter(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(HelpMessage="Host name to connect to, defaults to the pod IP. You probably want to set `"Host`" in httpHeaders instead.")]
+ [string]
+ $HttpGetHost,
+ [Parameter(HelpMessage="Custom headers to set in the request. HTTP allows repeated headers.")]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IContainerAppProbeHttpGetHttpHeadersItem[]]
+ $HttpGetHttpHeader,
+ [Parameter(HelpMessage="Path to access on the HTTP server.")]
+ [string]
+ $HttpGetPath,
+ [Parameter(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]
+ $HttpGetPort,
+ [Parameter(HelpMessage="Scheme to use for connecting to the host. Defaults to HTTP.")]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.App.Support.Scheme])]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Support.Scheme]
+ $HttpGetScheme,
+ [Parameter(HelpMessage="Number of seconds after the container has started before liveness probes are initiated. Minimum value is 1. Maximum value is 60.")]
+ [int]
+ $InitialDelaySecond,
+ [Parameter(HelpMessage="How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is 240.")]
+ [int]
+ $PeriodSecond,
+ [Parameter(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(HelpMessage="Optional: Host name to connect to, defaults to the pod IP.")]
+ [string]
+ $TcpSocketHost,
+ [Parameter(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]
+ $TcpSocketPort,
+ [Parameter(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).")]
+ [long]
+ $TerminationGracePeriodSecond,
+ [Parameter(HelpMessage="Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 240.")]
+ [int]
+ $TimeoutSecond,
+ [Parameter(HelpMessage="The type of probe.")]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.App.Support.Type])]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Support.Type]
+ $Type
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ContainerAppProbe]::New()
+
+ if ($PSBoundParameters.ContainsKey('FailureThreshold')) {
+ $Object.FailureThreshold = $FailureThreshold
+ }
+ if ($PSBoundParameters.ContainsKey('HttpGetHost')) {
+ $Object.HttpGetHost = $HttpGetHost
+ }
+ if ($PSBoundParameters.ContainsKey('HttpGetHttpHeader')) {
+ $Object.HttpGetHttpHeader = $HttpGetHttpHeader
+ }
+ if ($PSBoundParameters.ContainsKey('HttpGetPath')) {
+ $Object.HttpGetPath = $HttpGetPath
+ }
+ if ($PSBoundParameters.ContainsKey('HttpGetPort')) {
+ $Object.HttpGetPort = $HttpGetPort
+ }
+ if ($PSBoundParameters.ContainsKey('HttpGetScheme')) {
+ $Object.HttpGetScheme = $HttpGetScheme
+ }
+ if ($PSBoundParameters.ContainsKey('InitialDelaySecond')) {
+ $Object.InitialDelaySecond = $InitialDelaySecond
+ }
+ if ($PSBoundParameters.ContainsKey('PeriodSecond')) {
+ $Object.PeriodSecond = $PeriodSecond
+ }
+ if ($PSBoundParameters.ContainsKey('SuccessThreshold')) {
+ $Object.SuccessThreshold = $SuccessThreshold
+ }
+ if ($PSBoundParameters.ContainsKey('TcpSocketHost')) {
+ $Object.TcpSocketHost = $TcpSocketHost
+ }
+ if ($PSBoundParameters.ContainsKey('TcpSocketPort')) {
+ $Object.TcpSocketPort = $TcpSocketPort
+ }
+ if ($PSBoundParameters.ContainsKey('TerminationGracePeriodSecond')) {
+ $Object.TerminationGracePeriodSecond = $TerminationGracePeriodSecond
+ }
+ if ($PSBoundParameters.ContainsKey('TimeoutSecond')) {
+ $Object.TimeoutSecond = $TimeoutSecond
+ }
+ if ($PSBoundParameters.ContainsKey('Type')) {
+ $Object.Type = $Type
+ }
+ return $Object
+ }
+}
+
diff --git a/src/App/custom/New-AzContainerAppRegistryCredentialObject.ps1 b/src/App/custom/New-AzContainerAppRegistryCredentialObject.ps1
new file mode 100644
index 000000000000..e0f62bc3cf11
--- /dev/null
+++ b/src/App/custom/New-AzContainerAppRegistryCredentialObject.ps1
@@ -0,0 +1,65 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for RegistryCredentials.
+.Description
+Create an in-memory object for RegistryCredentials.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.RegistryCredentials
+.Link
+https://docs.microsoft.com/powershell/module/az./new-azcontainerappregistrycredentialobject
+#>
+function New-AzContainerAppRegistryCredentialObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.RegistryCredentials')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ [Parameter(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,
+ [Parameter(HelpMessage="The name of the Secret that contains the registry login password.")]
+ [string]
+ $PasswordSecretRef,
+ [Parameter(HelpMessage="Container Registry Server.")]
+ [string]
+ $Server,
+ [Parameter(HelpMessage="Container Registry Username.")]
+ [string]
+ $Username
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.RegistryCredentials]::New()
+
+ if ($PSBoundParameters.ContainsKey('Identity')) {
+ $Object.Identity = $Identity
+ }
+ if ($PSBoundParameters.ContainsKey('PasswordSecretRef')) {
+ $Object.PasswordSecretRef = $PasswordSecretRef
+ }
+ if ($PSBoundParameters.ContainsKey('Server')) {
+ $Object.Server = $Server
+ }
+ if ($PSBoundParameters.ContainsKey('Username')) {
+ $Object.Username = $Username
+ }
+ return $Object
+ }
+}
+
diff --git a/src/App/custom/New-AzContainerAppScaleRuleAuthObject.ps1 b/src/App/custom/New-AzContainerAppScaleRuleAuthObject.ps1
new file mode 100644
index 000000000000..7688a650f66b
--- /dev/null
+++ b/src/App/custom/New-AzContainerAppScaleRuleAuthObject.ps1
@@ -0,0 +1,53 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for ScaleRuleAuth.
+.Description
+Create an in-memory object for ScaleRuleAuth.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ScaleRuleAuth
+.Link
+https://docs.microsoft.com/powershell/module/az./new-azcontainerappscaleruleauthobject
+#>
+function New-AzContainerAppScaleRuleAuthObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ScaleRuleAuth')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ [Parameter(HelpMessage="Name of the Container App secret from which to pull the auth params.")]
+ [string]
+ $SecretRef,
+ [Parameter(HelpMessage="Trigger Parameter that uses the secret.")]
+ [string]
+ $TriggerParameter
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ScaleRuleAuth]::New()
+
+ if ($PSBoundParameters.ContainsKey('SecretRef')) {
+ $Object.SecretRef = $SecretRef
+ }
+ if ($PSBoundParameters.ContainsKey('TriggerParameter')) {
+ $Object.TriggerParameter = $TriggerParameter
+ }
+ return $Object
+ }
+}
+
diff --git a/src/App/custom/New-AzContainerAppScaleRuleObject.ps1 b/src/App/custom/New-AzContainerAppScaleRuleObject.ps1
new file mode 100644
index 000000000000..92f57e6f0426
--- /dev/null
+++ b/src/App/custom/New-AzContainerAppScaleRuleObject.ps1
@@ -0,0 +1,96 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for ScaleRule.
+.Description
+Create an in-memory object for ScaleRule.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ScaleRule
+.Link
+https://docs.microsoft.com/powershell/module/az./new-azcontainerappscaleruleobject
+#>
+function New-AzContainerAppScaleRuleObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ScaleRule')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ [Parameter(HelpMessage="Authentication secrets for the queue scale rule.")]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IScaleRuleAuth[]]
+ $AzureQueueAuth,
+ [Parameter(HelpMessage="Queue length.")]
+ [int]
+ $AzureQueueLength,
+ [Parameter(HelpMessage="Queue name.")]
+ [string]
+ $AzureQueueName,
+ [Parameter(HelpMessage="Authentication secrets for the custom scale rule.")]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IScaleRuleAuth[]]
+ $CustomAuth,
+ [Parameter(HelpMessage="Metadata properties to describe custom scale rule.")]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ICustomScaleRuleMetadata]
+ $CustomMetadata,
+ [Parameter(HelpMessage="Type of the custom scale rule
+ eg: azure-servicebus, redis etc.")]
+ [string]
+ $CustomType,
+ [Parameter(HelpMessage="Authentication secrets for the custom scale rule.")]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IScaleRuleAuth[]]
+ $HttpAuth,
+ [Parameter(HelpMessage="Metadata properties to describe http scale rule.")]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IHttpScaleRuleMetadata]
+ $HttpMetadata,
+ [Parameter(HelpMessage="Scale Rule Name.")]
+ [string]
+ $Name
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ScaleRule]::New()
+
+ if ($PSBoundParameters.ContainsKey('AzureQueueAuth')) {
+ $Object.AzureQueueAuth = $AzureQueueAuth
+ }
+ if ($PSBoundParameters.ContainsKey('AzureQueueLength')) {
+ $Object.AzureQueueLength = $AzureQueueLength
+ }
+ if ($PSBoundParameters.ContainsKey('AzureQueueName')) {
+ $Object.AzureQueueName = $AzureQueueName
+ }
+ if ($PSBoundParameters.ContainsKey('CustomAuth')) {
+ $Object.CustomAuth = $CustomAuth
+ }
+ if ($PSBoundParameters.ContainsKey('CustomMetadata')) {
+ $Object.CustomMetadata = $CustomMetadata
+ }
+ if ($PSBoundParameters.ContainsKey('CustomType')) {
+ $Object.CustomType = $CustomType
+ }
+ if ($PSBoundParameters.ContainsKey('HttpAuth')) {
+ $Object.HttpAuth = $HttpAuth
+ }
+ if ($PSBoundParameters.ContainsKey('HttpMetadata')) {
+ $Object.HttpMetadata = $HttpMetadata
+ }
+ if ($PSBoundParameters.ContainsKey('Name')) {
+ $Object.Name = $Name
+ }
+ return $Object
+ }
+}
+
diff --git a/src/App/custom/New-AzContainerAppSecretObject.ps1 b/src/App/custom/New-AzContainerAppSecretObject.ps1
new file mode 100644
index 000000000000..e6683d7b18fd
--- /dev/null
+++ b/src/App/custom/New-AzContainerAppSecretObject.ps1
@@ -0,0 +1,53 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for Secret.
+.Description
+Create an in-memory object for Secret.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Secret
+.Link
+https://docs.microsoft.com/powershell/module/az./new-azcontainerappsecretobject
+#>
+function New-AzContainerAppSecretObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Secret')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ [Parameter(HelpMessage="Secret Name.")]
+ [string]
+ $Name,
+ [Parameter(HelpMessage="Secret Value.")]
+ [string]
+ $Value
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Secret]::New()
+
+ if ($PSBoundParameters.ContainsKey('Name')) {
+ $Object.Name = $Name
+ }
+ if ($PSBoundParameters.ContainsKey('Value')) {
+ $Object.Value = $Value
+ }
+ return $Object
+ }
+}
+
diff --git a/src/App/custom/New-AzContainerAppTemplateObject.ps1 b/src/App/custom/New-AzContainerAppTemplateObject.ps1
new file mode 100644
index 000000000000..528dee5ad288
--- /dev/null
+++ b/src/App/custom/New-AzContainerAppTemplateObject.ps1
@@ -0,0 +1,95 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for Container.
+.Description
+Create an in-memory object for Container.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Container
+.Link
+https://docs.microsoft.com/powershell/module/az./new-azcontainerapptemplateobject
+#>
+function New-AzContainerAppTemplateObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Container')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ [Parameter(HelpMessage="Container start command arguments.")]
+ [string[]]
+ $Arg,
+ [Parameter(HelpMessage="Container start command.")]
+ [string[]]
+ $Command,
+ [Parameter(HelpMessage="Container environment variables.")]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IEnvironmentVar[]]
+ $Env,
+ [Parameter(HelpMessage="Container image tag.")]
+ [string]
+ $Image,
+ [Parameter(HelpMessage="Custom container name.")]
+ [string]
+ $Name,
+ [Parameter(HelpMessage="List of probes for the container.")]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IContainerAppProbe[]]
+ $Probe,
+ [Parameter(HelpMessage="Required CPU in cores, e.g. 0.5.")]
+ [double]
+ $ResourceCpu,
+ [Parameter(HelpMessage="Required memory, e.g. `"250Mb`".")]
+ [string]
+ $ResourceMemory,
+ [Parameter(HelpMessage="Container volume mounts.")]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IVolumeMount[]]
+ $VolumeMount
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Container]::New()
+
+ if ($PSBoundParameters.ContainsKey('Arg')) {
+ $Object.Arg = $Arg
+ }
+ if ($PSBoundParameters.ContainsKey('Command')) {
+ $Object.Command = $Command
+ }
+ if ($PSBoundParameters.ContainsKey('Env')) {
+ $Object.Env = $Env
+ }
+ if ($PSBoundParameters.ContainsKey('Image')) {
+ $Object.Image = $Image
+ }
+ if ($PSBoundParameters.ContainsKey('Name')) {
+ $Object.Name = $Name
+ }
+ if ($PSBoundParameters.ContainsKey('Probe')) {
+ $Object.Probe = $Probe
+ }
+ if ($PSBoundParameters.ContainsKey('ResourceCpu')) {
+ $Object.ResourceCpu = $ResourceCpu
+ }
+ if ($PSBoundParameters.ContainsKey('ResourceMemory')) {
+ $Object.ResourceMemory = $ResourceMemory
+ }
+ if ($PSBoundParameters.ContainsKey('VolumeMount')) {
+ $Object.VolumeMount = $VolumeMount
+ }
+ return $Object
+ }
+}
+
diff --git a/src/App/custom/New-AzContainerAppTrafficWeightObject.ps1 b/src/App/custom/New-AzContainerAppTrafficWeightObject.ps1
new file mode 100644
index 000000000000..114f88b4c112
--- /dev/null
+++ b/src/App/custom/New-AzContainerAppTrafficWeightObject.ps1
@@ -0,0 +1,65 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for TrafficWeight.
+.Description
+Create an in-memory object for TrafficWeight.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.TrafficWeight
+.Link
+https://docs.microsoft.com/powershell/module/az./new-azcontainerapptrafficweightobject
+#>
+function New-AzContainerAppTrafficWeightObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.TrafficWeight')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ [Parameter(HelpMessage="Associates a traffic label with a revision.")]
+ [string]
+ $Label,
+ [Parameter(HelpMessage="Indicates that the traffic weight belongs to a latest stable revision.")]
+ [bool]
+ $LatestRevision,
+ [Parameter(HelpMessage="Name of a revision.")]
+ [string]
+ $RevisionName,
+ [Parameter(HelpMessage="Traffic weight assigned to a revision.")]
+ [int]
+ $Weight
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.TrafficWeight]::New()
+
+ if ($PSBoundParameters.ContainsKey('Label')) {
+ $Object.Label = $Label
+ }
+ if ($PSBoundParameters.ContainsKey('LatestRevision')) {
+ $Object.LatestRevision = $LatestRevision
+ }
+ if ($PSBoundParameters.ContainsKey('RevisionName')) {
+ $Object.RevisionName = $RevisionName
+ }
+ if ($PSBoundParameters.ContainsKey('Weight')) {
+ $Object.Weight = $Weight
+ }
+ return $Object
+ }
+}
+
diff --git a/src/App/custom/New-AzContainerAppVolumeMountObject.ps1 b/src/App/custom/New-AzContainerAppVolumeMountObject.ps1
new file mode 100644
index 000000000000..233664be38e1
--- /dev/null
+++ b/src/App/custom/New-AzContainerAppVolumeMountObject.ps1
@@ -0,0 +1,53 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for VolumeMount.
+.Description
+Create an in-memory object for VolumeMount.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.VolumeMount
+.Link
+https://docs.microsoft.com/powershell/module/az./new-azcontainerappvolumemountobject
+#>
+function New-AzContainerAppVolumeMountObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.VolumeMount')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ [Parameter(HelpMessage="Path within the container at which the volume should be mounted.Must not contain ':'.")]
+ [string]
+ $MountPath,
+ [Parameter(HelpMessage="This must match the Name of a Volume.")]
+ [string]
+ $VolumeName
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.VolumeMount]::New()
+
+ if ($PSBoundParameters.ContainsKey('MountPath')) {
+ $Object.MountPath = $MountPath
+ }
+ if ($PSBoundParameters.ContainsKey('VolumeName')) {
+ $Object.VolumeName = $VolumeName
+ }
+ return $Object
+ }
+}
+
diff --git a/src/App/custom/New-AzContainerAppVolumeObject.ps1 b/src/App/custom/New-AzContainerAppVolumeObject.ps1
new file mode 100644
index 000000000000..9bb156a3956e
--- /dev/null
+++ b/src/App/custom/New-AzContainerAppVolumeObject.ps1
@@ -0,0 +1,60 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for Volume.
+.Description
+Create an in-memory object for Volume.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Volume
+.Link
+https://docs.microsoft.com/powershell/module/az./new-azcontainerappvolumeobject
+#>
+function New-AzContainerAppVolumeObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Volume')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ [Parameter(HelpMessage="Volume name.")]
+ [string]
+ $Name,
+ [Parameter(HelpMessage="Name of storage resource. No need to provide for EmptyDir.")]
+ [string]
+ $StorageName,
+ [Parameter(HelpMessage="Storage type for the volume. If not provided, use EmptyDir.")]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.App.Support.StorageType])]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Support.StorageType]
+ $StorageType
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Volume]::New()
+
+ if ($PSBoundParameters.ContainsKey('Name')) {
+ $Object.Name = $Name
+ }
+ if ($PSBoundParameters.ContainsKey('StorageName')) {
+ $Object.StorageName = $StorageName
+ }
+ if ($PSBoundParameters.ContainsKey('StorageType')) {
+ $Object.StorageType = $StorageType
+ }
+ return $Object
+ }
+}
+
diff --git a/src/App/custom/README.md b/src/App/custom/README.md
new file mode 100644
index 000000000000..713deb1fd11b
--- /dev/null
+++ b/src/App/custom/README.md
@@ -0,0 +1,41 @@
+# Custom
+This directory contains custom implementation for non-generated cmdlets for the `Az.App` module. Both scripts (`.ps1`) and C# files (`.cs`) can be implemented here. They will be used during the build process in `build-module.ps1`, and create cmdlets into the `..\exports` folder. The only generated file into this folder is the `Az.App.custom.psm1`. This file should not be modified.
+
+## Info
+- Modifiable: yes
+- Generated: partial
+- Committed: yes
+- Packaged: yes
+
+## Details
+For `Az.App` to use custom cmdlets, it does this two different ways. We **highly recommend** creating script cmdlets, as they are easier to write and allow access to the other exported cmdlets. C# cmdlets *cannot access exported cmdlets*.
+
+For C# cmdlets, they are compiled with the rest of the generated low-level cmdlets into the `./bin/Az.App.private.dll`. The names of the cmdlets (methods) and files must follow the `[cmdletName]_[variantName]` syntax used for generated cmdlets. The `variantName` is used as the `ParameterSetName`, so use something appropriate that doesn't clash with already created variant or parameter set names. You cannot use the `ParameterSetName` property in the `Parameter` attribute on C# cmdlets. Each cmdlet must be separated into variants using the same pattern as seen in the `generated/cmdlets` folder.
+
+For script cmdlets, these are loaded via the `Az.App.custom.psm1`. Then, during the build process, this module is loaded and processed in the same manner as the C# cmdlets. The fundamental difference is the script cmdlets use the `ParameterSetName` attribute and C# cmdlets do not. To create a script cmdlet variant of a generated cmdlet, simply decorate all parameters in the script with the new `ParameterSetName` in the `Parameter` attribute. This will appropriately treat each parameter set as a separate variant when processed to be exported during the build.
+
+## Purpose
+This allows the modules to have cmdlets that were not defined in the REST specification. It also allows combining logic using generated cmdlets. This is a level of customization beyond what can be done using the [readme configuration options](https://github.com/Azure/autorest/blob/master/docs/powershell/options.md) that are currently available. These custom cmdlets are then referenced by the cmdlets created at build-time in the `..\exports` folder.
+
+## Usage
+The easiest way currently to start developing custom cmdlets is to copy an existing cmdlet. For C# cmdlets, copy one from the `generated/cmdlets` folder. For script cmdlets, build the project using `build-module.ps1` and copy one of the scripts from the `..\exports` folder. After that, if you want to add new parameter sets, follow the guidelines in the `Details` section above. For implementing a new cmdlets, at minimum, please keep these parameters:
+- Break
+- DefaultProfile
+- HttpPipelineAppend
+- HttpPipelinePrepend
+- Proxy
+- ProxyCredential
+- ProxyUseDefaultCredentials
+
+These provide functionality to our HTTP pipeline and other useful features. In script, you can forward these parameters using `$PSBoundParameters` to the other cmdlets you're calling within `Az.App`. For C#, follow the usage seen in the `ProcessRecordAsync` method.
+
+### Attributes
+For processing the cmdlets, we've created some additional attributes:
+- `Microsoft.Azure.PowerShell.Cmdlets.App.DescriptionAttribute`
+ - Used in C# cmdlets to provide a high-level description of the cmdlet. This is propagated to reference documentation via [help comments](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_comment_based_help) in the exported scripts.
+- `Microsoft.Azure.PowerShell.Cmdlets.App.DoNotExportAttribute`
+ - Used in C# and script cmdlets to suppress creating an exported cmdlet at build-time. These cmdlets will *not be exposed* by `Az.App`.
+- `Microsoft.Azure.PowerShell.Cmdlets.App.InternalExportAttribute`
+ - Used in C# cmdlets to route exported cmdlets to the `..\internal`, which are *not exposed* by `Az.App`. For more information, see [README.md](..\internal/README.md) in the `..\internal` folder.
+- `Microsoft.Azure.PowerShell.Cmdlets.App.ProfileAttribute`
+ - Used in C# and script cmdlets to define which Azure profiles the cmdlet supports. This is only supported for Azure (`--azure`) modules.
\ No newline at end of file
diff --git a/src/App/examples/Disable-AzContainerAppRevision.md b/src/App/examples/Disable-AzContainerAppRevision.md
new file mode 100644
index 000000000000..356fbb273d7f
--- /dev/null
+++ b/src/App/examples/Disable-AzContainerAppRevision.md
@@ -0,0 +1,14 @@
+### Example 1: Deactivates a revision for a Container App
+```powershell
+Disable-AzContainerAppRevision -ContainerAppName azps-containerapp -ResourceGroupName azpstest_gp -RevisionName azps-containerapp--ksjb6f1
+
+Get-AzContainerAppRevision -ContainerAppName azps-containerapp -ResourceGroupName azpstest_gp
+```
+
+```output
+Name Active TrafficWeight ProvisioningState ResourceGroupName
+---- ------ ------------- ----------------- -----------------
+azps-containerapp--ksjb6f1 False 100 Provisioned azpstest_gp
+```
+
+Deactivates a revision for a Container App
\ No newline at end of file
diff --git a/src/App/examples/Enable-AzContainerAppRevision.md b/src/App/examples/Enable-AzContainerAppRevision.md
new file mode 100644
index 000000000000..e10a9d8142ea
--- /dev/null
+++ b/src/App/examples/Enable-AzContainerAppRevision.md
@@ -0,0 +1,14 @@
+### Example 1: Activates a revision for a Container App
+```powershell
+Enable-AzContainerAppRevision -ContainerAppName azps-containerapp -ResourceGroupName azpstest_gp -RevisionName azps-containerapp--ksjb6f1
+
+Get-AzContainerAppRevision -ContainerAppName azps-containerapp -ResourceGroupName azpstest_gp
+```
+
+```output
+Name Active TrafficWeight ProvisioningState ResourceGroupName
+---- ------ ------------- ----------------- -----------------
+azps-containerapp--ksjb6f1 True 100 Provisioned azpstest_gp
+```
+
+Activates a revision for a Container App
\ No newline at end of file
diff --git a/src/App/examples/Get-AzContainerApp.md b/src/App/examples/Get-AzContainerApp.md
new file mode 100644
index 000000000000..e981e94f9e3e
--- /dev/null
+++ b/src/App/examples/Get-AzContainerApp.md
@@ -0,0 +1,39 @@
+### Example 1: List the properties of a Container App.
+```powershell
+Get-AzContainerApp
+```
+
+```output
+Location Name ResourceGroupName
+-------- ---- -----------------
+Canada Central azcli-containerapp azcli_gp
+Canada Central azps-containerapp azpstest_gp
+```
+
+List the properties of a Container App.
+
+### Example 2: Get the properties of a Container App by Resource Group.
+```powershell
+Get-AzContainerApp -ResourceGroupName azpstest_gp
+```
+
+```output
+Location Name ResourceGroupName
+-------- ---- -----------------
+Canada Central azps-containerapp azpstest_gp
+```
+
+Get the properties of a Container App by Resource Group.
+
+### Example 3: Get the properties of a Container App by name.
+```powershell
+Get-AzContainerApp -ResourceGroupName azpstest_gp -Name azps-containerapp
+```
+
+```output
+Location Name ResourceGroupName
+-------- ---- -----------------
+Canada Central azps-containerapp azpstest_gp
+```
+
+Get the properties of a Container App by name.
\ No newline at end of file
diff --git a/src/App/examples/Get-AzContainerAppAuthConfig.md b/src/App/examples/Get-AzContainerAppAuthConfig.md
new file mode 100644
index 000000000000..a54cc6c19990
--- /dev/null
+++ b/src/App/examples/Get-AzContainerAppAuthConfig.md
@@ -0,0 +1,12 @@
+### Example 1: Get the Container App AuthConfigs in a given resource group.
+```powershell
+Get-AzContainerAppAuthConfig -AuthConfigName current -ContainerAppName azps-containerapp -ResourceGroupName azpstest_gp
+```
+
+```output
+Name PlatformEnabled ResourceGroupName
+---- --------------- -----------------
+current True azpstest_gp
+```
+
+Get the Container App AuthConfigs in a given resource group.
\ No newline at end of file
diff --git a/src/App/examples/Get-AzContainerAppManagedEnv.md b/src/App/examples/Get-AzContainerAppManagedEnv.md
new file mode 100644
index 000000000000..464604721467
--- /dev/null
+++ b/src/App/examples/Get-AzContainerAppManagedEnv.md
@@ -0,0 +1,39 @@
+### Example 1: List the properties of ManagedEnvironments.
+```powershell
+Get-AzContainerAppManagedEnv
+```
+
+```output
+Location Name ResourceGroupName
+-------- ---- -----------------
+canadacentral azcli-env azcli_gp
+canadacentral azps-env azpstest_gp
+```
+
+List the properties of ManagedEnvironments.
+
+### Example 2: Get the properties of ManagedEnvironments by Resource Group.
+```powershell
+Get-AzContainerAppManagedEnv -ResourceGroupName azpstest_gp
+```
+
+```output
+Location Name ResourceGroupName
+-------- ---- -----------------
+canadacentral azps-env azpstest_gp
+```
+
+Get the properties of ManagedEnvironments by Resource Group.
+
+### Example 3: Get the properties of a ManagedEnvironment by name.
+```powershell
+Get-AzContainerAppManagedEnv -ResourceGroupName azpstest_gp -EnvName azps-env
+```
+
+```output
+Location Name ResourceGroupName
+-------- ---- -----------------
+canadacentral azps-env azpstest_gp
+```
+
+Get the properties of a ManagedEnvironment by name.
\ No newline at end of file
diff --git a/src/App/examples/Get-AzContainerAppManagedEnvCert.md b/src/App/examples/Get-AzContainerAppManagedEnvCert.md
new file mode 100644
index 000000000000..15c55171e4aa
--- /dev/null
+++ b/src/App/examples/Get-AzContainerAppManagedEnvCert.md
@@ -0,0 +1,26 @@
+### Example 1: List the specified Certificate.
+```powershell
+Get-AzContainerAppManagedEnvCert -EnvName azps-env -ResourceGroupName azpstest_gp
+```
+
+```output
+Name Location Issuer ProvisioningState SubjectName Thumbprint ResourceGroupName
+---- -------- ------ ----------------- ----------- ---------- -----------------
+azps-env-cert canadacentral CN=www.fabrikam.com Succeeded CN=www.fabrikam.com 684DFA8457230B8A04675FBCB7251FA88AE10D80 azpstest_gp
+azps-env-cert-02 canadacentral CN=www.fabrikam.com Succeeded CN=www.fabrikam.com 684DFA8457230B8A04675FBCB7251FA88AE10D80 azpstest_gp
+```
+
+List the specified Certificate.
+
+### Example 2: Get the specified Certificate.
+```powershell
+Get-AzContainerAppManagedEnvCert -EnvName azps-env -ResourceGroupName azpstest_gp -Name azps-env-cert
+```
+
+```output
+Name Location Issuer ProvisioningState SubjectName Thumbprint ResourceGroupName
+---- -------- ------ ----------------- ----------- ---------- -----------------
+azps-env-cert canadacentral CN=www.fabrikam.com Succeeded CN=www.fabrikam.com 684DFA8457230B8A04675FBCB7251FA88AE10D80 azpstest_gp
+```
+
+Get the specified Certificate.
\ No newline at end of file
diff --git a/src/App/examples/Get-AzContainerAppManagedEnvDapr.md b/src/App/examples/Get-AzContainerAppManagedEnvDapr.md
new file mode 100644
index 000000000000..707655257b26
--- /dev/null
+++ b/src/App/examples/Get-AzContainerAppManagedEnvDapr.md
@@ -0,0 +1,26 @@
+### Example 1: List dapr component.
+```powershell
+Get-AzContainerAppManagedEnvDapr -EnvName azps-env -ResourceGroupName azpstest_gp
+```
+
+```output
+Name ComponentType IgnoreError InitTimeout ResourceGroupName Version
+---- ------------- ----------- ----------- ----------------- -------
+azps-dapr state.azure.cosmosdb False 50s azpstest_gp v1
+azps-dapr1 state.azure.cosmosdb True 50s azpstest_gp v1
+```
+
+List dapr component.
+
+### Example 2: Get a dapr component.
+```powershell
+Get-AzContainerAppManagedEnvDapr -EnvName azps-env -ResourceGroupName azpstest_gp -DaprName azps-dapr1
+```
+
+```output
+Name ComponentType IgnoreError InitTimeout ResourceGroupName Version
+---- ------------- ----------- ----------- ----------------- -------
+azps-dapr1 state.azure.cosmosdb True 50s azpstest_gp v1
+```
+
+Get a dapr component.
\ No newline at end of file
diff --git a/src/App/examples/Get-AzContainerAppManagedEnvDaprSecret.md b/src/App/examples/Get-AzContainerAppManagedEnvDaprSecret.md
new file mode 100644
index 000000000000..f1ba69da6b24
--- /dev/null
+++ b/src/App/examples/Get-AzContainerAppManagedEnvDaprSecret.md
@@ -0,0 +1,12 @@
+### Example 1: Get secrets for a dapr component.
+```powershell
+Get-AzContainerAppManagedEnvDaprSecret -EnvName azps-env -ResourceGroupName azpstest_gp -DaprName azps-dapr
+```
+
+```output
+Name Value
+---- -----
+masterkey keyvalue
+```
+
+Get secrets for a dapr component.
\ No newline at end of file
diff --git a/src/App/examples/Get-AzContainerAppManagedEnvStorage.md b/src/App/examples/Get-AzContainerAppManagedEnvStorage.md
new file mode 100644
index 000000000000..9d0f9ac938f3
--- /dev/null
+++ b/src/App/examples/Get-AzContainerAppManagedEnvStorage.md
@@ -0,0 +1,25 @@
+### Example 1: Get storage for a managedEnvironment.
+```powershell
+Get-AzContainerAppManagedEnvStorage -EnvName azps-env -ResourceGroupName azpstest_gp
+```
+
+```output
+Name AzureFileAccessMode AzureFileAccountName AzureFileShareName ResourceGroupName
+---- ------------------- -------------------- ------------------ -----------------
+azpstestsa ReadWrite azpstestsa azps-rw-sharename azpstest_gp
+```
+
+Get storage for a managedEnvironment.
+
+### Example 2: Get storage for a managedEnvironment by StorageName.
+```powershell
+Get-AzContainerAppManagedEnvStorage -EnvName azps-env -ResourceGroupName azpstest_gp -StorageName azpstestsa
+```
+
+```output
+Name AzureFileAccessMode AzureFileAccountName AzureFileShareName ResourceGroupName
+---- ------------------- -------------------- ------------------ -----------------
+azpstestsa ReadWrite azpstestsa azps-rw-sharename azpstest_gp
+```
+
+Get storage for a managedEnvironment by StorageName.
\ No newline at end of file
diff --git a/src/App/examples/Get-AzContainerAppRevision.md b/src/App/examples/Get-AzContainerAppRevision.md
new file mode 100644
index 000000000000..56fef7dae570
--- /dev/null
+++ b/src/App/examples/Get-AzContainerAppRevision.md
@@ -0,0 +1,25 @@
+### Example 1: List revisions by Resource Group.
+```powershell
+Get-AzContainerAppRevision -ContainerAppName azps-containerapp -ResourceGroupName azpstest_gp
+```
+
+```output
+Name Active TrafficWeight ProvisioningState ResourceGroupName
+---- ------ ------------- ----------------- -----------------
+azps-containerapp--ksjb6f1 True 100 Provisioned azpstest_gp
+```
+
+List revisions by Resource Group.
+
+### Example 2: Get a revision of a Container App.
+```powershell
+Get-AzContainerAppRevision -ContainerAppName azps-containerapp -ResourceGroupName azpstest_gp -RevisionName azps-containerapp--ksjb6f1
+```
+
+```output
+Name Active TrafficWeight ProvisioningState ResourceGroupName
+---- ------ ------------- ----------------- -----------------
+azps-containerapp--ksjb6f1 True 100 Provisioned azpstest_gp
+```
+
+Get a revision of a Container App.
\ No newline at end of file
diff --git a/src/App/examples/Get-AzContainerAppSecret.md b/src/App/examples/Get-AzContainerAppSecret.md
new file mode 100644
index 000000000000..d6e311a1f8ee
--- /dev/null
+++ b/src/App/examples/Get-AzContainerAppSecret.md
@@ -0,0 +1,12 @@
+### Example 1: List secrets for a container app
+```powershell
+Get-AzContainerAppSecret -ContainerAppName azps-containerapp -ResourceGroupName azpstest_gp
+```
+
+```output
+Name Value
+---- -----
+key1 value1
+```
+
+List secrets for a container app
\ No newline at end of file
diff --git a/src/App/examples/New-AzContainerApp.md b/src/App/examples/New-AzContainerApp.md
new file mode 100644
index 000000000000..6e0f219f9c9d
--- /dev/null
+++ b/src/App/examples/New-AzContainerApp.md
@@ -0,0 +1,21 @@
+### Example 1: Create or update a Container App.
+```powershell
+$trafficWeight = New-AzContainerAppTrafficWeightObject -Label production -LatestRevision:$True -Weight 100
+$secretObject = New-AzContainerAppSecretObject -Name "facebook-secret" -Value "facebook-password"
+
+$containerAppHttpHeader = New-AzContainerAppProbeHeaderObject -Name Custom-Header -Value Awesome
+$probe = New-AzContainerAppProbeObject -HttpGetPath "/health" -HttpGetPort 8080 -InitialDelaySecond 3 -PeriodSecond 3 -Type Liveness -HttpGetHttpHeader $containerAppHttpHeader
+$image = New-AzContainerAppTemplateObject -Name azps-containerapp -Image mcr.microsoft.com/azuredocs/containerapps-helloworld:latest -Probe $probe -ResourceCpu 2.0 -ResourceMemory 4.0Gi
+
+$EnvId = (Get-AzContainerAppManagedEnv -ResourceGroupName azpstest_gp -EnvName azps-env).Id
+
+New-AzContainerApp -Name azps-containerapp -ResourceGroupName azpstest_gp -Location canadacentral -ConfigurationActiveRevisionsMode 'Single' -ManagedEnvironmentId $EnvId -IngressExternal -IngressTransport 'auto' -IngressTargetPort 80 -TemplateContainer $image -ConfigurationSecret $secretObject -IngressTraffic $trafficWeight -DaprEnabled -DaprAppProtocol 'http' -DaprAppId "container-app-1" -DaprAppPort 8080
+```
+
+```output
+Location Name ResourceGroupName
+-------- ---- -----------------
+Canada Central azps-containerapp azpstest_gp
+```
+
+Create or update a Container App.
\ No newline at end of file
diff --git a/src/App/examples/New-AzContainerAppAuthConfig.md b/src/App/examples/New-AzContainerAppAuthConfig.md
new file mode 100644
index 000000000000..75ef3e462007
--- /dev/null
+++ b/src/App/examples/New-AzContainerAppAuthConfig.md
@@ -0,0 +1,14 @@
+### Example 1: Create or update the AuthConfig for a Container App.
+```powershell
+$identity = New-AzContainerAppIdentityProviderObject -RegistrationAppId xxxxxx@xxx.com -RegistrationAppSecretSettingName facebook-secret
+
+New-AzContainerAppAuthConfig -AuthConfigName current -ContainerAppName azps-containerapp -ResourceGroupName azpstest_gp -PlatformEnabled -GlobalValidationUnauthenticatedClientAction 'AllowAnonymous' -IdentityProvider $identity
+```
+
+```output
+Name PlatformEnabled ResourceGroupName
+---- --------------- -----------------
+current True azpstest_gp
+```
+
+Create or update the AuthConfig for a Container App.
\ No newline at end of file
diff --git a/src/App/examples/New-AzContainerAppCustomDomainObject.md b/src/App/examples/New-AzContainerAppCustomDomainObject.md
new file mode 100644
index 000000000000..53e4a1bfc912
--- /dev/null
+++ b/src/App/examples/New-AzContainerAppCustomDomainObject.md
@@ -0,0 +1,14 @@
+### Example 1: Create a CustomDomain object for ContainerApp.
+```powershell
+$certificateId = (Get-AzContainerAppManagedEnvCert -EnvName azps-env -ResourceGroupName azpstest_gp -Name azps-env-cert).Id
+
+$customDomain = New-AzContainerAppCustomDomainObject -CertificateId $certificateId -Name www.fabrikam.com -BindingType SniEnabled
+```
+
+```output
+BindingType CertificateId Name
+----------- ------------- ----
+SniEnabled /subscriptions/{subscriptionid}/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com www.my-name.com
+```
+
+Create a CustomDomain object for ContainerApp.
\ No newline at end of file
diff --git a/src/App/examples/New-AzContainerAppDaprMetadataObject.md b/src/App/examples/New-AzContainerAppDaprMetadataObject.md
new file mode 100644
index 000000000000..85055767ec1d
--- /dev/null
+++ b/src/App/examples/New-AzContainerAppDaprMetadataObject.md
@@ -0,0 +1,12 @@
+### Example 1: Create a DaprMetaData object for ManagedEnvDaprMetadata.
+```powershell
+New-AzContainerAppDaprMetadataObject -Name "masterkey" -Value "masterkey"
+```
+
+```output
+Name SecretRef Value
+---- --------- -----
+masterkey masterkey
+```
+
+Create a DaprMetaData object for ManagedEnvDaprMetadata.
\ No newline at end of file
diff --git a/src/App/examples/New-AzContainerAppEnvironmentVarObject.md b/src/App/examples/New-AzContainerAppEnvironmentVarObject.md
new file mode 100644
index 000000000000..73464dfed4f9
--- /dev/null
+++ b/src/App/examples/New-AzContainerAppEnvironmentVarObject.md
@@ -0,0 +1,12 @@
+### Example 1: Create an EnvironmentVar object for Env.
+```powershell
+New-AzContainerAppEnvironmentVarObject -Name "envVarName" -SecretRef "facebook-secret" -Value "value"
+```
+
+```output
+Name SecretRef Value
+---- --------- -----
+envVarName facebook-secret value
+```
+
+Create an EnvironmentVar object for Env.
\ No newline at end of file
diff --git a/src/App/examples/New-AzContainerAppIdentityProviderObject.md b/src/App/examples/New-AzContainerAppIdentityProviderObject.md
new file mode 100644
index 000000000000..a3fe1227d307
--- /dev/null
+++ b/src/App/examples/New-AzContainerAppIdentityProviderObject.md
@@ -0,0 +1,13 @@
+### Example 1: Create an IdentityProviders object for AuthConfig.
+```powershell
+New-AzContainerAppIdentityProviderObject -RegistrationAppId xxxxxx@xxx.com -RegistrationAppSecretSettingName facebook-secret
+```
+
+```output
+... : ...
+RegistrationAppId : xxxxxx@xxx.com
+RegistrationAppSecretSettingName : facebook-secret
+... : ...
+```
+
+Create an IdentityProviders object for AuthConfig.
\ No newline at end of file
diff --git a/src/App/examples/New-AzContainerAppManagedEnv.md b/src/App/examples/New-AzContainerAppManagedEnv.md
new file mode 100644
index 000000000000..8455c3c2c573
--- /dev/null
+++ b/src/App/examples/New-AzContainerAppManagedEnv.md
@@ -0,0 +1,16 @@
+### Example 1: Creates or updates a Managed Environment used to host container apps.
+```powershell
+New-AzOperationalInsightsWorkspace -ResourceGroupName azpstest_gp -Name workspace-azpstestgp -Sku PerGB2018 -Location canadacentral -PublicNetworkAccessForIngestion "Enabled" -PublicNetworkAccessForQuery "Enabled"
+$CustomId = (Get-AzOperationalInsightsWorkspace -ResourceGroupName azpstest_gp -Name workspace-azpstestgp).CustomerId
+$SharedKey = (Get-AzOperationalInsightsWorkspaceSharedKey -ResourceGroupName azpstest_gp -Name workspace-azpstestgp).PrimarySharedKey
+
+New-AzContainerAppManagedEnv -EnvName azps-env -ResourceGroupName azpstest_gp -Location canadacentral -AppLogConfigurationDestination "log-analytics" -LogAnalyticConfigurationCustomerId $CustomId -LogAnalyticConfigurationSharedKey $SharedKey -VnetConfigurationInternal:$false
+```
+
+```output
+Location Name ResourceGroupName
+-------- ---- -----------------
+canadacentral azps-env azpstest_gp
+```
+
+Creates or updates a Managed Environment used to host container apps.
\ No newline at end of file
diff --git a/src/App/examples/New-AzContainerAppManagedEnvCert.md b/src/App/examples/New-AzContainerAppManagedEnvCert.md
new file mode 100644
index 000000000000..561c82aaa3c5
--- /dev/null
+++ b/src/App/examples/New-AzContainerAppManagedEnvCert.md
@@ -0,0 +1,17 @@
+### Example 1: Create or Update a Certificate.
+```powershell
+New-SelfSignedCertificate -DnsName "www.fabrikam.com", "www.contoso.com" -CertStoreLocation "cert:\LocalMachine\My"
+Get-ChildItem -Path cert:\LocalMachine\My
+$mypwd = ConvertTo-SecureString -String "1234" -Force -AsPlainText
+Get-ChildItem -Path cert:\localMachine\my\5F98EBBFE735CDDAE00E33E0FD69050EF9220254 | Export-PfxCertificate -FilePath C:\mypfx.pfx -Password $mypwd
+
+New-AzContainerAppManagedEnvCert -EnvName azps-env -Name azps-env-cert -ResourceGroupName azpstest_gp -Location canadacentral -InputFile "C:\mypfx.pfx" -Password $mypwd
+```
+
+```output
+Name Location Issuer ProvisioningState SubjectName Thumbprint ResourceGroupName
+---- -------- ------ ----------------- ----------- ---------- -----------------
+azps-env-cert canadacentral CN=www.fabrikam.com Succeeded CN=www.fabrikam.com 684DFA8457230B8A04675FBCB7251FA88AE10D80 azpstest_gp
+```
+
+Create or Update a Certificate.
\ No newline at end of file
diff --git a/src/App/examples/New-AzContainerAppManagedEnvDapr.md b/src/App/examples/New-AzContainerAppManagedEnvDapr.md
new file mode 100644
index 000000000000..51cb81dec4b6
--- /dev/null
+++ b/src/App/examples/New-AzContainerAppManagedEnvDapr.md
@@ -0,0 +1,16 @@
+### Example 1: Creates or updates a Dapr Component in a Managed Environment.
+```powershell
+$scope = @("container-app-1","container-app-2")
+$secretObject = New-AzContainerAppSecretObject -Name "masterkey" -Value "keyvalue"
+$daprMetaData = New-AzContainerAppDaprMetadataObject -Name "masterkey" -Value "masterkey"
+
+New-AzContainerAppManagedEnvDapr -DaprName azps-dapr -EnvName azps-env -ResourceGroupName azpstest_gp -componentType state.azure.cosmosdb -Version v1 -IgnoreError:$false -InitTimeout 50s -Scope $scope -Secret $secretObject -Metadata $daprMetaData
+```
+
+```output
+Name ComponentType IgnoreError InitTimeout ResourceGroupName Version
+---- ------------- ----------- ----------- ----------------- -------
+azps-dapr state.azure.cosmosdb False 50s azpstest_gp v1
+```
+
+Creates or updates a Dapr Component in a Managed Environment.
\ No newline at end of file
diff --git a/src/App/examples/New-AzContainerAppManagedEnvStorage.md b/src/App/examples/New-AzContainerAppManagedEnvStorage.md
new file mode 100644
index 000000000000..8c7dc791d398
--- /dev/null
+++ b/src/App/examples/New-AzContainerAppManagedEnvStorage.md
@@ -0,0 +1,15 @@
+### Example 1: Create or update storage for a managedEnvironment.
+```powershell
+New-AzStorageAccount -ResourceGroupName azpstest_gp -AccountName azpstestsa -Location canadacentral -SkuName Standard_GRS
+$storageAccountKey = (Get-AzStorageAccountKey -ResourceGroupName azpstest_gp -AccountName azpstestsa).Value[0]
+
+New-AzContainerAppManagedEnvStorage -EnvName azps-env -ResourceGroupName azpstest_gp -StorageName azpstestsa -AzureFileAccessMode 'ReadWrite' -AzureFileAccountKey $storageAccountKey -AzureFileAccountName azpstestsa -AzureFileShareName azps-rw-sharename
+```
+
+```output
+Name AzureFileAccessMode AzureFileAccountName AzureFileShareName ResourceGroupName
+---- ------------------- -------------------- ------------------ -----------------
+azpstestsa ReadWrite azpstestsa azps-rw-sharename azpstest_gp
+```
+
+Create or update storage for a managedEnvironment.
\ No newline at end of file
diff --git a/src/App/examples/New-AzContainerAppProbeHeaderObject.md b/src/App/examples/New-AzContainerAppProbeHeaderObject.md
new file mode 100644
index 000000000000..e102d17f17cb
--- /dev/null
+++ b/src/App/examples/New-AzContainerAppProbeHeaderObject.md
@@ -0,0 +1,12 @@
+### Example 1: Create a ContainerAppProbeHttpGetHttpHeadersItem object for ContainerApp.
+```powershell
+New-AzContainerAppProbeHeaderObject -Name Custom-Header -Value Awesome
+```
+
+```output
+Name Value
+---- -----
+Custom-Header Awesome
+```
+
+Create a ContainerAppProbeHttpGetHttpHeadersItem object for ContainerApp.
\ No newline at end of file
diff --git a/src/App/examples/New-AzContainerAppProbeObject.md b/src/App/examples/New-AzContainerAppProbeObject.md
new file mode 100644
index 000000000000..5268f84070c7
--- /dev/null
+++ b/src/App/examples/New-AzContainerAppProbeObject.md
@@ -0,0 +1,12 @@
+### Example 1: Create a ContainerAppProb object for ContainerApp.
+```powershell
+New-AzContainerAppProbeObject -HttpGetPath "/health" -HttpGetPort 8080 -InitialDelaySecond 3 -PeriodSecond 3 -Type Liveness
+```
+
+```output
+FailureThreshold InitialDelaySecond PeriodSecond SuccessThreshold TerminationGracePeriodSecond TimeoutSecond
+---------------- ------------------ ------------ ---------------- ---------------------------- -------------
+ 3 3
+```
+
+Create a ContainerAppProb object for ContainerApp.
\ No newline at end of file
diff --git a/src/App/examples/New-AzContainerAppRegistryCredentialObject.md b/src/App/examples/New-AzContainerAppRegistryCredentialObject.md
new file mode 100644
index 000000000000..f9ece4acb74d
--- /dev/null
+++ b/src/App/examples/New-AzContainerAppRegistryCredentialObject.md
@@ -0,0 +1,12 @@
+### Example 1: Create a RegistryCredentials object for ContainerApp.
+```powershell
+New-AzContainerAppRegistryCredentialObject -Identity system -PasswordSecretRef "myloginpassword" -Server azps-containerapp -Username azps-container-user
+```
+
+```output
+Identity PasswordSecretRef Server Username
+-------- ----------------- ------ --------
+system myloginpassword azps-containerapp azps-container-user
+```
+
+Create a RegistryCredentials object for ContainerApp.
\ No newline at end of file
diff --git a/src/App/examples/New-AzContainerAppScaleRuleAuthObject.md b/src/App/examples/New-AzContainerAppScaleRuleAuthObject.md
new file mode 100644
index 000000000000..e48f26ce4df8
--- /dev/null
+++ b/src/App/examples/New-AzContainerAppScaleRuleAuthObject.md
@@ -0,0 +1,12 @@
+### Example 1: Create a ScaleRuleAuth object for ScaleRule.
+```powershell
+New-AzContainerAppScaleRuleAuthObject -SecretRef "facebook-secret" -TriggerParameter "TriggerParameter"
+```
+
+```output
+SecretRef TriggerParameter
+--------- ----------------
+facebook-secret TriggerParameter
+```
+
+Create a ScaleRuleAuth object for ScaleRule.
\ No newline at end of file
diff --git a/src/App/examples/New-AzContainerAppScaleRuleObject.md b/src/App/examples/New-AzContainerAppScaleRuleObject.md
new file mode 100644
index 000000000000..37b22bee59a0
--- /dev/null
+++ b/src/App/examples/New-AzContainerAppScaleRuleObject.md
@@ -0,0 +1,12 @@
+### Example 1: Create a ScaleRule object for ContainerApp.
+```powershell
+New-AzContainerAppScaleRuleObject -Name scaleRuleName -AzureQueueLength 30 -AzureQueueName azps_containerapp -CustomType "azure-servicebus"
+```
+
+```output
+Name
+----
+scaleRuleName
+```
+
+Create a ScaleRule object for ContainerApp.
\ No newline at end of file
diff --git a/src/App/examples/New-AzContainerAppSecretObject.md b/src/App/examples/New-AzContainerAppSecretObject.md
new file mode 100644
index 000000000000..b984016da1d7
--- /dev/null
+++ b/src/App/examples/New-AzContainerAppSecretObject.md
@@ -0,0 +1,12 @@
+### Example 1: Create a Secret object for ManagedEnvDaprSecret.
+```powershell
+New-AzContainerAppSecretObject -Name "masterkey" -Value "keyvalue"
+```
+
+```output
+Name Value
+---- -----
+masterkey keyvalue
+```
+
+Create a Secret object for ManagedEnvDaprSecret.
\ No newline at end of file
diff --git a/src/App/examples/New-AzContainerAppTemplateObject.md b/src/App/examples/New-AzContainerAppTemplateObject.md
new file mode 100644
index 000000000000..01a959b7b6ef
--- /dev/null
+++ b/src/App/examples/New-AzContainerAppTemplateObject.md
@@ -0,0 +1,12 @@
+### Example 1: Create an image object for Container.
+```powershell
+New-AzContainerAppTemplateObject -Name azps-containerapp -Image mcr.microsoft.com/azuredocs/containerapps-helloworld:latest -Probe $probe -ResourceCpu 2.0 -ResourceMemory 4.0Gi
+```
+
+```output
+Arg Command Image Name
+--- ------- ----- ----
+ mcr.microsoft.com/azuredocs/containerapps-helloworld:latest azps-containerapp
+```
+
+Create an image object for Container.
\ No newline at end of file
diff --git a/src/App/examples/New-AzContainerAppTrafficWeightObject.md b/src/App/examples/New-AzContainerAppTrafficWeightObject.md
new file mode 100644
index 000000000000..f1b05e66b15e
--- /dev/null
+++ b/src/App/examples/New-AzContainerAppTrafficWeightObject.md
@@ -0,0 +1,12 @@
+### Example 1: Create a TrafficWeight object for ContainerApp.
+```powershell
+New-AzContainerAppTrafficWeightObject -Label production -LatestRevision:$True -Weight 100
+```
+
+```output
+Label LatestRevision RevisionName Weight
+----- -------------- ------------ ------
+production True 100
+```
+
+Create a TrafficWeight object for ContainerApp.
\ No newline at end of file
diff --git a/src/App/examples/New-AzContainerAppVolumeMountObject.md b/src/App/examples/New-AzContainerAppVolumeMountObject.md
new file mode 100644
index 000000000000..0f5f8d687289
--- /dev/null
+++ b/src/App/examples/New-AzContainerAppVolumeMountObject.md
@@ -0,0 +1,12 @@
+### Example 1: Create a VolumeMount object for ContainerApp.
+```powershell
+New-AzContainerAppVolumeMountObject -MountPath "/mountPath" -VolumeName "VolumeName"
+```
+
+```output
+MountPath VolumeName
+--------- ----------
+/mountPath VolumeName
+```
+
+Create a VolumeMount object for ContainerApp.
\ No newline at end of file
diff --git a/src/App/examples/New-AzContainerAppVolumeObject.md b/src/App/examples/New-AzContainerAppVolumeObject.md
new file mode 100644
index 000000000000..80af88b4e00d
--- /dev/null
+++ b/src/App/examples/New-AzContainerAppVolumeObject.md
@@ -0,0 +1,12 @@
+### Example 1: Create a Volume object for ContainerApp.
+```powershell
+New-AzContainerAppVolumeObject -Name "volumeName" -StorageName "azpssa"
+```
+
+```output
+Name StorageName StorageType
+---- ----------- -----------
+volumeName azpssa
+```
+
+Create a Volume object for ContainerApp.
\ No newline at end of file
diff --git a/src/App/examples/Remove-AzContainerApp.md b/src/App/examples/Remove-AzContainerApp.md
new file mode 100644
index 000000000000..cc441314ae4b
--- /dev/null
+++ b/src/App/examples/Remove-AzContainerApp.md
@@ -0,0 +1,13 @@
+### Example 1: Delete a Container App.
+```powershell
+Remove-AzContainerApp -Name azps-containerapp -ResourceGroupName azpstest_gp
+```
+
+Delete a Container App.
+
+### Example 2: Delete a Container App.
+```powershell
+Get-AzContainerApp -Name azps-containerapp -ResourceGroupName azpstest_gp | Remove-AzContainerApp
+```
+
+Delete a Container App.
\ No newline at end of file
diff --git a/src/App/examples/Remove-AzContainerAppAuthConfig.md b/src/App/examples/Remove-AzContainerAppAuthConfig.md
new file mode 100644
index 000000000000..96a1a2027a87
--- /dev/null
+++ b/src/App/examples/Remove-AzContainerAppAuthConfig.md
@@ -0,0 +1,13 @@
+### Example 1: Delete a Container App AuthConfig.
+```powershell
+Remove-AzContainerAppAuthConfig -AuthConfigName current -ContainerAppName azps-containerapp -ResourceGroupName azpstest_gp
+```
+
+Delete a Container App AuthConfig.
+
+### Example 2: Delete a Container App AuthConfig.
+```powershell
+Get-AzContainerAppAuthConfig -AuthConfigName current -ContainerAppName azps-containerapp -ResourceGroupName azpstest_gp | Remove-AzContainerAppAuthConfig
+```
+
+Delete a Container App AuthConfig.
\ No newline at end of file
diff --git a/src/App/examples/Remove-AzContainerAppManagedEnv.md b/src/App/examples/Remove-AzContainerAppManagedEnv.md
new file mode 100644
index 000000000000..04a7631e9e92
--- /dev/null
+++ b/src/App/examples/Remove-AzContainerAppManagedEnv.md
@@ -0,0 +1,13 @@
+### Example 1: Delete a Managed Environment.
+```powershell
+Remove-AzContainerAppManagedEnv -EnvName azps-env -ResourceGroupName azpstest_gp
+```
+
+Delete a Managed Environment.
+
+### Example 2: Delete a Managed Environment.
+```powershell
+Get-AzContainerAppManagedEnv -EnvName azps-env -ResourceGroupName azpstest_gp | Remove-AzContainerAppManagedEnv
+```
+
+Delete a Managed Environment.
\ No newline at end of file
diff --git a/src/App/examples/Remove-AzContainerAppManagedEnvCert.md b/src/App/examples/Remove-AzContainerAppManagedEnvCert.md
new file mode 100644
index 000000000000..bdd3bf86d1f8
--- /dev/null
+++ b/src/App/examples/Remove-AzContainerAppManagedEnvCert.md
@@ -0,0 +1,13 @@
+### Example 1: Deletes the specified Certificate.
+```powershell
+Remove-AzContainerAppManagedEnvCert -EnvName azps-env -ResourceGroupName azpstest_gp -Name azps-env-cert-02
+```
+
+Deletes the specified Certificate.
+
+### Example 2: Deletes the specified Certificate.
+```powershell
+Get-AzContainerAppManagedEnvCert -EnvName azps-env -ResourceGroupName azpstest_gp -Name azps-env-cert-02 | Remove-AzContainerAppManagedEnvCert
+```
+
+Deletes the specified Certificate.
\ No newline at end of file
diff --git a/src/App/examples/Remove-AzContainerAppManagedEnvDapr.md b/src/App/examples/Remove-AzContainerAppManagedEnvDapr.md
new file mode 100644
index 000000000000..b7e7eb71744f
--- /dev/null
+++ b/src/App/examples/Remove-AzContainerAppManagedEnvDapr.md
@@ -0,0 +1,13 @@
+### Example 1: Delete a Dapr Component from a Managed Environment.
+```powershell
+Remove-AzContainerAppManagedEnvDapr -EnvName azps-env -ResourceGroupName azpstest_gp -DaprName azps-dapr
+```
+
+Delete a Dapr Component from a Managed Environment.
+
+### Example 2: Delete a Dapr Component from a Managed Environment.
+```powershell
+Get-AzContainerAppManagedEnvDapr -EnvName azps-env -ResourceGroupName azpstest_gp -DaprName azps-dapr | Remove-AzContainerAppManagedEnvDapr
+```
+
+Delete a Dapr Component from a Managed Environment.
\ No newline at end of file
diff --git a/src/App/examples/Remove-AzContainerAppManagedEnvStorage.md b/src/App/examples/Remove-AzContainerAppManagedEnvStorage.md
new file mode 100644
index 000000000000..9ecd4e5df5a1
--- /dev/null
+++ b/src/App/examples/Remove-AzContainerAppManagedEnvStorage.md
@@ -0,0 +1,13 @@
+### Example 1: Delete storage for a managedEnvironment.
+```powershell
+Remove-AzContainerAppManagedEnvStorage -EnvName azps-env -ResourceGroupName azpstest_gp -StorageName azpstestsa
+```
+
+Delete storage for a managedEnvironment.
+
+### Example 2: Delete storage for a managedEnvironment.
+```powershell
+Get-AzContainerAppManagedEnvStorage -EnvName azps-env -ResourceGroupName azpstest_gp -StorageName azpstestsa | Remove-AzContainerAppManagedEnvStorage
+```
+
+Delete storage for a managedEnvironment.
\ No newline at end of file
diff --git a/src/App/examples/Restart-AzContainerAppRevision.md b/src/App/examples/Restart-AzContainerAppRevision.md
new file mode 100644
index 000000000000..056acbc6fcec
--- /dev/null
+++ b/src/App/examples/Restart-AzContainerAppRevision.md
@@ -0,0 +1,14 @@
+### Example 1: Restarts a revision for a Container App
+```powershell
+Restart-AzContainerAppRevision -ContainerAppName azps-containerapp -ResourceGroupName azpstest_gp -RevisionName azps-containerapp--ksjb6f1
+
+Get-AzContainerAppRevision -ContainerAppName azps-containerapp -ResourceGroupName azpstest_gp
+```
+
+```output
+Name Active TrafficWeight ProvisioningState ResourceGroupName
+---- ------ ------------- ----------------- -----------------
+azps-containerapp--ksjb6f1 True 100 Provisioned azpstest_gp
+```
+
+Restarts a revision for a Container App
\ No newline at end of file
diff --git a/src/App/examples/Update-AzContainerApp.md b/src/App/examples/Update-AzContainerApp.md
new file mode 100644
index 000000000000..5ff05581efb5
--- /dev/null
+++ b/src/App/examples/Update-AzContainerApp.md
@@ -0,0 +1,12 @@
+### Example 1: Update a Container App.
+```powershell
+Update-AzContainerApp -Name azps-containerapp -ResourceGroupName azpstest_gp -Location canadacentral -DaprEnabled -DaprAppProtocol 'http' -DaprAppId "container-app-1" -DaprAppPort 8080
+```
+
+```output
+Location Name ResourceGroupName
+-------- ---- -----------------
+Canada Central azps-containerapp azpstest_gp
+```
+
+Update a Container App.
\ No newline at end of file
diff --git a/src/App/examples/Update-AzContainerAppManagedEnvCert.md b/src/App/examples/Update-AzContainerAppManagedEnvCert.md
new file mode 100644
index 000000000000..9b6715d6fb71
--- /dev/null
+++ b/src/App/examples/Update-AzContainerAppManagedEnvCert.md
@@ -0,0 +1,25 @@
+### Example 1: Patches a certificate.
+```powershell
+Update-AzContainerAppManagedEnvCert -EnvName azps-env -ResourceGroupName azpstest_gp -Name azps-env-cert -Tag @{"123"="abc"}
+```
+
+```output
+Name Location Issuer ProvisioningState SubjectName Thumbprint ResourceGroupName
+---- -------- ------ ----------------- ----------- ---------- -----------------
+azps-env-cert canadacentral CN=www.fabrikam.com Succeeded CN=www.fabrikam.com 684DFA8457230B8A04675FBCB7251FA88AE10D80 azpstest_gp
+```
+
+Currently only patching of tags is supported.
+
+### Example 2: Patches a certificate.
+```powershell
+Get-AzContainerAppManagedEnvCert -EnvName azps-env -ResourceGroupName azpstest_gp -Name azps-env-cert | Update-AzContainerAppManagedEnvCert -Tag @{"123"="abc"}
+```
+
+```output
+Name Location Issuer ProvisioningState SubjectName Thumbprint ResourceGroupName
+---- -------- ------ ----------------- ----------- ---------- -----------------
+azps-env-cert canadacentral CN=www.fabrikam.com Succeeded CN=www.fabrikam.com 684DFA8457230B8A04675FBCB7251FA88AE10D80 azpstest_gp
+```
+
+Currently only patching of tags is supported.
\ No newline at end of file
diff --git a/src/App/export-surface.ps1 b/src/App/export-surface.ps1
new file mode 100644
index 000000000000..860c0af57fe6
--- /dev/null
+++ b/src/App/export-surface.ps1
@@ -0,0 +1,41 @@
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+param([switch]$Isolated, [switch]$IncludeGeneralParameters, [switch]$UseExpandedFormat)
+$ErrorActionPreference = 'Stop'
+
+$pwsh = [System.Diagnostics.Process]::GetCurrentProcess().Path
+if(-not $Isolated) {
+ Write-Host -ForegroundColor Green 'Creating isolated process...'
+ & "$pwsh" -NonInteractive -NoLogo -NoProfile -File $MyInvocation.MyCommand.Path @PSBoundParameters -Isolated
+ return
+}
+
+$dll = Join-Path $PSScriptRoot 'bin\Az.App.private.dll'
+if(-not (Test-Path $dll)) {
+ Write-Error "Unable to find output assembly in '$binFolder'."
+}
+$null = Import-Module -Name $dll
+
+$moduleName = 'Az.App'
+$exportsFolder = Join-Path $PSScriptRoot 'exports'
+$resourcesFolder = Join-Path $PSScriptRoot 'resources'
+
+Export-CmdletSurface -ModuleName $moduleName -CmdletFolder $exportsFolder -OutputFolder $resourcesFolder -IncludeGeneralParameters $IncludeGeneralParameters.IsPresent -UseExpandedFormat $UseExpandedFormat.IsPresent
+Write-Host -ForegroundColor Green "CmdletSurface file(s) created in '$resourcesFolder'"
+
+Export-ModelSurface -OutputFolder $resourcesFolder -UseExpandedFormat $UseExpandedFormat.IsPresent
+Write-Host -ForegroundColor Green "ModelSurface file created in '$resourcesFolder'"
+
+Write-Host -ForegroundColor Green '-------------Done-------------'
\ No newline at end of file
diff --git a/src/App/exports/Disable-AzContainerAppRevision.ps1 b/src/App/exports/Disable-AzContainerAppRevision.ps1
new file mode 100644
index 000000000000..2815cb7bbcc9
--- /dev/null
+++ b/src/App/exports/Disable-AzContainerAppRevision.ps1
@@ -0,0 +1,219 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Deactivates a revision for a Container App
+.Description
+Deactivates a revision for a Container App
+.Example
+Disable-AzContainerAppRevision -ContainerAppName azps-containerapp -ResourceGroupName azpstest_gp -RevisionName azps-containerapp--ksjb6f1
+
+Get-AzContainerAppRevision -ContainerAppName azps-containerapp -ResourceGroupName azpstest_gp
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.IAppIdentity
+.Outputs
+System.Boolean
+.Notes
+COMPLEX PARAMETER PROPERTIES
+
+To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
+
+INPUTOBJECT : Identity Parameter
+ [AuthConfigName ]: Name of the Container App AuthConfig.
+ [CertificateName ]: Name of the Certificate.
+ [ComponentName ]: Name of the Dapr Component.
+ [ContainerAppName ]: Name of the Container App.
+ [EnvironmentName ]: Name of the Managed Environment.
+ [Id ]: Resource identity path
+ [ReplicaName ]: Name of the Container App Revision Replica.
+ [ResourceGroupName ]: The name of the resource group. The name is case insensitive.
+ [RevisionName ]: Name of the Container App Revision.
+ [SourceControlName ]: Name of the Container App SourceControl.
+ [StorageName ]: Name of the storage.
+ [SubscriptionId ]: The ID of the target subscription.
+.Link
+https://docs.microsoft.com/powershell/module/az.app/disable-azcontainerapprevision
+#>
+function Disable-AzContainerAppRevision {
+[OutputType([System.Boolean])]
+[CmdletBinding(DefaultParameterSetName='Deactivate', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
+param(
+ [Parameter(ParameterSetName='Deactivate', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # Name of the Container App.
+ ${ContainerAppName},
+
+ [Parameter(ParameterSetName='Deactivate', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(ParameterSetName='Deactivate', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # Name of the Container App Revision.
+ ${RevisionName},
+
+ [Parameter(ParameterSetName='Deactivate')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter(ParameterSetName='DeactivateViaIdentity', Mandatory, ValueFromPipeline)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Models.IAppIdentity]
+ # Identity Parameter
+ # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
+ ${InputObject},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The credentials, account, tenant, and subscription used for communication with Azure.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Returns true when the command succeeds
+ ${PassThru},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ Deactivate = 'Az.App.private\Disable-AzContainerAppRevision_Deactivate';
+ DeactivateViaIdentity = 'Az.App.private\Disable-AzContainerAppRevision_DeactivateViaIdentity';
+ }
+ if (('Deactivate') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/App/exports/Enable-AzContainerAppRevision.ps1 b/src/App/exports/Enable-AzContainerAppRevision.ps1
new file mode 100644
index 000000000000..400b50a433d4
--- /dev/null
+++ b/src/App/exports/Enable-AzContainerAppRevision.ps1
@@ -0,0 +1,219 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Activates a revision for a Container App
+.Description
+Activates a revision for a Container App
+.Example
+Enable-AzContainerAppRevision -ContainerAppName azps-containerapp -ResourceGroupName azpstest_gp -RevisionName azps-containerapp--ksjb6f1
+
+Get-AzContainerAppRevision -ContainerAppName azps-containerapp -ResourceGroupName azpstest_gp
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.IAppIdentity
+.Outputs
+System.Boolean
+.Notes
+COMPLEX PARAMETER PROPERTIES
+
+To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
+
+INPUTOBJECT : Identity Parameter
+ [AuthConfigName ]: Name of the Container App AuthConfig.
+ [CertificateName ]: Name of the Certificate.
+ [ComponentName ]: Name of the Dapr Component.
+ [ContainerAppName ]: Name of the Container App.
+ [EnvironmentName ]: Name of the Managed Environment.
+ [Id ]: Resource identity path
+ [ReplicaName ]: Name of the Container App Revision Replica.
+ [ResourceGroupName ]: The name of the resource group. The name is case insensitive.
+ [RevisionName ]: Name of the Container App Revision.
+ [SourceControlName ]: Name of the Container App SourceControl.
+ [StorageName ]: Name of the storage.
+ [SubscriptionId ]: The ID of the target subscription.
+.Link
+https://docs.microsoft.com/powershell/module/az.app/enable-azcontainerapprevision
+#>
+function Enable-AzContainerAppRevision {
+[OutputType([System.Boolean])]
+[CmdletBinding(DefaultParameterSetName='Activate', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
+param(
+ [Parameter(ParameterSetName='Activate', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # Name of the Container App.
+ ${ContainerAppName},
+
+ [Parameter(ParameterSetName='Activate', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(ParameterSetName='Activate', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # Name of the Container App Revision.
+ ${RevisionName},
+
+ [Parameter(ParameterSetName='Activate')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter(ParameterSetName='ActivateViaIdentity', Mandatory, ValueFromPipeline)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Models.IAppIdentity]
+ # Identity Parameter
+ # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
+ ${InputObject},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The credentials, account, tenant, and subscription used for communication with Azure.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Returns true when the command succeeds
+ ${PassThru},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ Activate = 'Az.App.private\Enable-AzContainerAppRevision_Activate';
+ ActivateViaIdentity = 'Az.App.private\Enable-AzContainerAppRevision_ActivateViaIdentity';
+ }
+ if (('Activate') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/App/exports/Get-AzContainerApp.ps1 b/src/App/exports/Get-AzContainerApp.ps1
new file mode 100644
index 000000000000..77dd77113e1c
--- /dev/null
+++ b/src/App/exports/Get-AzContainerApp.ps1
@@ -0,0 +1,222 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Get the properties of a Container App.
+.Description
+Get the properties of a Container App.
+.Example
+Get-AzContainerApp
+.Example
+Get-AzContainerApp -ResourceGroupName azpstest_gp
+.Example
+Get-AzContainerApp -ResourceGroupName azpstest_gp -Name azps-containerapp
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.IAppIdentity
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IContainerApp
+.Notes
+COMPLEX PARAMETER PROPERTIES
+
+To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
+
+INPUTOBJECT : Identity Parameter
+ [AuthConfigName ]: Name of the Container App AuthConfig.
+ [CertificateName ]: Name of the Certificate.
+ [ComponentName ]: Name of the Dapr Component.
+ [ContainerAppName ]: Name of the Container App.
+ [EnvironmentName ]: Name of the Managed Environment.
+ [Id ]: Resource identity path
+ [ReplicaName ]: Name of the Container App Revision Replica.
+ [ResourceGroupName ]: The name of the resource group. The name is case insensitive.
+ [RevisionName ]: Name of the Container App Revision.
+ [SourceControlName ]: Name of the Container App SourceControl.
+ [StorageName ]: Name of the storage.
+ [SubscriptionId ]: The ID of the target subscription.
+.Link
+https://docs.microsoft.com/powershell/module/az.app/get-azcontainerapp
+#>
+function Get-AzContainerApp {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IContainerApp])]
+[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
+param(
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Alias('ContainerAppName')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # Name of the Container App.
+ ${Name},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List1', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(ParameterSetName='Get')]
+ [Parameter(ParameterSetName='List')]
+ [Parameter(ParameterSetName='List1')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String[]]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Models.IAppIdentity]
+ # Identity Parameter
+ # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
+ ${InputObject},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The credentials, account, tenant, and subscription used for communication with Azure.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(ParameterSetName='Get')]
+ [Parameter(ParameterSetName='GetViaIdentity')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Returns true when the command succeeds
+ ${PassThru},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ Get = 'Az.App.private\Get-AzContainerApp_Get';
+ GetViaIdentity = 'Az.App.private\Get-AzContainerApp_GetViaIdentity';
+ List = 'Az.App.private\Get-AzContainerApp_List';
+ List1 = 'Az.App.private\Get-AzContainerApp_List1';
+ }
+ if (('Get', 'List', 'List1') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/App/exports/Get-AzContainerAppAuthConfig.ps1 b/src/App/exports/Get-AzContainerAppAuthConfig.ps1
new file mode 100644
index 000000000000..a4ae3d030c94
--- /dev/null
+++ b/src/App/exports/Get-AzContainerAppAuthConfig.ps1
@@ -0,0 +1,211 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Get a AuthConfig of a Container App.
+.Description
+Get a AuthConfig of a Container App.
+.Example
+Get-AzContainerAppAuthConfig -AuthConfigName current -ContainerAppName azps-containerapp -ResourceGroupName azpstest_gp
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.IAppIdentity
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IAuthConfig
+.Notes
+COMPLEX PARAMETER PROPERTIES
+
+To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
+
+INPUTOBJECT : Identity Parameter
+ [AuthConfigName ]: Name of the Container App AuthConfig.
+ [CertificateName ]: Name of the Certificate.
+ [ComponentName ]: Name of the Dapr Component.
+ [ContainerAppName ]: Name of the Container App.
+ [EnvironmentName ]: Name of the Managed Environment.
+ [Id ]: Resource identity path
+ [ReplicaName ]: Name of the Container App Revision Replica.
+ [ResourceGroupName ]: The name of the resource group. The name is case insensitive.
+ [RevisionName ]: Name of the Container App Revision.
+ [SourceControlName ]: Name of the Container App SourceControl.
+ [StorageName ]: Name of the storage.
+ [SubscriptionId ]: The ID of the target subscription.
+.Link
+https://docs.microsoft.com/powershell/module/az.app/get-azcontainerappauthconfig
+#>
+function Get-AzContainerAppAuthConfig {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IAuthConfig])]
+[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)]
+param(
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # Name of the Container App AuthConfig.
+ ${AuthConfigName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # Name of the Container App.
+ ${ContainerAppName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(ParameterSetName='Get')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String[]]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Models.IAppIdentity]
+ # Identity Parameter
+ # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
+ ${InputObject},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The credentials, account, tenant, and subscription used for communication with Azure.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ Get = 'Az.App.private\Get-AzContainerAppAuthConfig_Get';
+ GetViaIdentity = 'Az.App.private\Get-AzContainerAppAuthConfig_GetViaIdentity';
+ }
+ if (('Get') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/App/exports/Get-AzContainerAppManagedEnv.ps1 b/src/App/exports/Get-AzContainerAppManagedEnv.ps1
new file mode 100644
index 000000000000..b8e42715443f
--- /dev/null
+++ b/src/App/exports/Get-AzContainerAppManagedEnv.ps1
@@ -0,0 +1,214 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Get the properties of a Managed Environment used to host container apps.
+.Description
+Get the properties of a Managed Environment used to host container apps.
+.Example
+Get-AzContainerAppManagedEnv
+.Example
+Get-AzContainerAppManagedEnv -ResourceGroupName azpstest_gp
+.Example
+Get-AzContainerAppManagedEnv -ResourceGroupName azpstest_gp -EnvName azps-env
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.IAppIdentity
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IManagedEnvironment
+.Notes
+COMPLEX PARAMETER PROPERTIES
+
+To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
+
+INPUTOBJECT : Identity Parameter
+ [AuthConfigName ]: Name of the Container App AuthConfig.
+ [CertificateName ]: Name of the Certificate.
+ [ComponentName ]: Name of the Dapr Component.
+ [ContainerAppName ]: Name of the Container App.
+ [EnvironmentName ]: Name of the Managed Environment.
+ [Id ]: Resource identity path
+ [ReplicaName ]: Name of the Container App Revision Replica.
+ [ResourceGroupName ]: The name of the resource group. The name is case insensitive.
+ [RevisionName ]: Name of the Container App Revision.
+ [SourceControlName ]: Name of the Container App SourceControl.
+ [StorageName ]: Name of the storage.
+ [SubscriptionId ]: The ID of the target subscription.
+.Link
+https://docs.microsoft.com/powershell/module/az.app/get-azcontainerappmanagedenv
+#>
+function Get-AzContainerAppManagedEnv {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IManagedEnvironment])]
+[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
+param(
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # Name of the Environment.
+ ${EnvName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List1', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(ParameterSetName='Get')]
+ [Parameter(ParameterSetName='List')]
+ [Parameter(ParameterSetName='List1')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String[]]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Models.IAppIdentity]
+ # Identity Parameter
+ # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
+ ${InputObject},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The credentials, account, tenant, and subscription used for communication with Azure.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ Get = 'Az.App.private\Get-AzContainerAppManagedEnv_Get';
+ GetViaIdentity = 'Az.App.private\Get-AzContainerAppManagedEnv_GetViaIdentity';
+ List = 'Az.App.private\Get-AzContainerAppManagedEnv_List';
+ List1 = 'Az.App.private\Get-AzContainerAppManagedEnv_List1';
+ }
+ if (('Get', 'List', 'List1') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/App/exports/Get-AzContainerAppManagedEnvCert.ps1 b/src/App/exports/Get-AzContainerAppManagedEnvCert.ps1
new file mode 100644
index 000000000000..f6ecd39d172b
--- /dev/null
+++ b/src/App/exports/Get-AzContainerAppManagedEnvCert.ps1
@@ -0,0 +1,218 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Get the specified Certificate.
+.Description
+Get the specified Certificate.
+.Example
+Get-AzContainerAppManagedEnvCert -EnvName azps-env -ResourceGroupName azpstest_gp
+.Example
+Get-AzContainerAppManagedEnvCert -EnvName azps-env -ResourceGroupName azpstest_gp -Name azps-env-cert
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.IAppIdentity
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ICertificate
+.Notes
+COMPLEX PARAMETER PROPERTIES
+
+To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
+
+INPUTOBJECT : Identity Parameter
+ [AuthConfigName ]: Name of the Container App AuthConfig.
+ [CertificateName ]: Name of the Certificate.
+ [ComponentName ]: Name of the Dapr Component.
+ [ContainerAppName ]: Name of the Container App.
+ [EnvironmentName ]: Name of the Managed Environment.
+ [Id ]: Resource identity path
+ [ReplicaName ]: Name of the Container App Revision Replica.
+ [ResourceGroupName ]: The name of the resource group. The name is case insensitive.
+ [RevisionName ]: Name of the Container App Revision.
+ [SourceControlName ]: Name of the Container App SourceControl.
+ [StorageName ]: Name of the storage.
+ [SubscriptionId ]: The ID of the target subscription.
+.Link
+https://docs.microsoft.com/powershell/module/az.app/get-azcontainerappmanagedenvcert
+#>
+function Get-AzContainerAppManagedEnvCert {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ICertificate])]
+[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
+param(
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # Name of the Managed Environment.
+ ${EnvName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Alias('CertificateName')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # Name of the Certificate.
+ ${Name},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(ParameterSetName='Get')]
+ [Parameter(ParameterSetName='List')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String[]]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Models.IAppIdentity]
+ # Identity Parameter
+ # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
+ ${InputObject},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The credentials, account, tenant, and subscription used for communication with Azure.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ Get = 'Az.App.private\Get-AzContainerAppManagedEnvCert_Get';
+ GetViaIdentity = 'Az.App.private\Get-AzContainerAppManagedEnvCert_GetViaIdentity';
+ List = 'Az.App.private\Get-AzContainerAppManagedEnvCert_List';
+ }
+ if (('Get', 'List') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/App/exports/Get-AzContainerAppManagedEnvDapr.ps1 b/src/App/exports/Get-AzContainerAppManagedEnvDapr.ps1
new file mode 100644
index 000000000000..7502a1abcaef
--- /dev/null
+++ b/src/App/exports/Get-AzContainerAppManagedEnvDapr.ps1
@@ -0,0 +1,217 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Get a dapr component.
+.Description
+Get a dapr component.
+.Example
+Get-AzContainerAppManagedEnvDapr -EnvName azps-env -ResourceGroupName azpstest_gp
+.Example
+Get-AzContainerAppManagedEnvDapr -EnvName azps-env -ResourceGroupName azpstest_gp -DaprName azps-dapr1
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.IAppIdentity
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IDaprComponent
+.Notes
+COMPLEX PARAMETER PROPERTIES
+
+To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
+
+INPUTOBJECT : Identity Parameter
+ [AuthConfigName ]: Name of the Container App AuthConfig.
+ [CertificateName ]: Name of the Certificate.
+ [ComponentName ]: Name of the Dapr Component.
+ [ContainerAppName ]: Name of the Container App.
+ [EnvironmentName ]: Name of the Managed Environment.
+ [Id ]: Resource identity path
+ [ReplicaName ]: Name of the Container App Revision Replica.
+ [ResourceGroupName ]: The name of the resource group. The name is case insensitive.
+ [RevisionName ]: Name of the Container App Revision.
+ [SourceControlName ]: Name of the Container App SourceControl.
+ [StorageName ]: Name of the storage.
+ [SubscriptionId ]: The ID of the target subscription.
+.Link
+https://docs.microsoft.com/powershell/module/az.app/get-azcontainerappmanagedenvdapr
+#>
+function Get-AzContainerAppManagedEnvDapr {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IDaprComponent])]
+[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
+param(
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # Name of the Dapr Component.
+ ${DaprName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # Name of the Managed Environment.
+ ${EnvName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(ParameterSetName='Get')]
+ [Parameter(ParameterSetName='List')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String[]]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Models.IAppIdentity]
+ # Identity Parameter
+ # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
+ ${InputObject},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The credentials, account, tenant, and subscription used for communication with Azure.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ Get = 'Az.App.private\Get-AzContainerAppManagedEnvDapr_Get';
+ GetViaIdentity = 'Az.App.private\Get-AzContainerAppManagedEnvDapr_GetViaIdentity';
+ List = 'Az.App.private\Get-AzContainerAppManagedEnvDapr_List';
+ }
+ if (('Get', 'List') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/App/exports/Get-AzContainerAppManagedEnvDaprSecret.ps1 b/src/App/exports/Get-AzContainerAppManagedEnvDaprSecret.ps1
new file mode 100644
index 000000000000..914c7d229427
--- /dev/null
+++ b/src/App/exports/Get-AzContainerAppManagedEnvDaprSecret.ps1
@@ -0,0 +1,183 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+List secrets for a dapr component
+.Description
+List secrets for a dapr component
+.Example
+Get-AzContainerAppManagedEnvDaprSecret -EnvName azps-env -ResourceGroupName azpstest_gp -DaprName azps-dapr
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ISecret
+.Link
+https://docs.microsoft.com/powershell/module/az.app/get-azcontainerappmanagedenvdaprsecret
+#>
+function Get-AzContainerAppManagedEnvDaprSecret {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ISecret])]
+[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
+param(
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # Name of the Dapr Component.
+ ${DaprName},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # Name of the Managed Environment.
+ ${EnvName},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String[]]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The credentials, account, tenant, and subscription used for communication with Azure.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ List = 'Az.App.private\Get-AzContainerAppManagedEnvDaprSecret_List';
+ }
+ if (('List') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/App/exports/Get-AzContainerAppManagedEnvStorage.ps1 b/src/App/exports/Get-AzContainerAppManagedEnvStorage.ps1
new file mode 100644
index 000000000000..619eb1c23bc5
--- /dev/null
+++ b/src/App/exports/Get-AzContainerAppManagedEnvStorage.ps1
@@ -0,0 +1,217 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Get storage for a managedEnvironment.
+.Description
+Get storage for a managedEnvironment.
+.Example
+Get-AzContainerAppManagedEnvStorage -EnvName azps-env -ResourceGroupName azpstest_gp
+.Example
+Get-AzContainerAppManagedEnvStorage -EnvName azps-env -ResourceGroupName azpstest_gp -StorageName azpstestsa
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.IAppIdentity
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IManagedEnvironmentStorage
+.Notes
+COMPLEX PARAMETER PROPERTIES
+
+To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
+
+INPUTOBJECT : Identity Parameter
+ [AuthConfigName ]: Name of the Container App AuthConfig.
+ [CertificateName ]: Name of the Certificate.
+ [ComponentName ]: Name of the Dapr Component.
+ [ContainerAppName ]: Name of the Container App.
+ [EnvironmentName ]: Name of the Managed Environment.
+ [Id ]: Resource identity path
+ [ReplicaName ]: Name of the Container App Revision Replica.
+ [ResourceGroupName ]: The name of the resource group. The name is case insensitive.
+ [RevisionName ]: Name of the Container App Revision.
+ [SourceControlName ]: Name of the Container App SourceControl.
+ [StorageName ]: Name of the storage.
+ [SubscriptionId ]: The ID of the target subscription.
+.Link
+https://docs.microsoft.com/powershell/module/az.app/get-azcontainerappmanagedenvstorage
+#>
+function Get-AzContainerAppManagedEnvStorage {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IManagedEnvironmentStorage])]
+[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
+param(
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # Name of the Environment.
+ ${EnvName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # Name of the storage.
+ ${StorageName},
+
+ [Parameter(ParameterSetName='Get')]
+ [Parameter(ParameterSetName='List')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String[]]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Models.IAppIdentity]
+ # Identity Parameter
+ # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
+ ${InputObject},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The credentials, account, tenant, and subscription used for communication with Azure.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ Get = 'Az.App.private\Get-AzContainerAppManagedEnvStorage_Get';
+ GetViaIdentity = 'Az.App.private\Get-AzContainerAppManagedEnvStorage_GetViaIdentity';
+ List = 'Az.App.private\Get-AzContainerAppManagedEnvStorage_List';
+ }
+ if (('Get', 'List') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/App/exports/Get-AzContainerAppRevision.ps1 b/src/App/exports/Get-AzContainerAppRevision.ps1
new file mode 100644
index 000000000000..dc895aa5239c
--- /dev/null
+++ b/src/App/exports/Get-AzContainerAppRevision.ps1
@@ -0,0 +1,223 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Get a revision of a Container App.
+.Description
+Get a revision of a Container App.
+.Example
+Get-AzContainerAppRevision -ContainerAppName azps-containerapp -ResourceGroupName azpstest_gp
+.Example
+Get-AzContainerAppRevision -ContainerAppName azps-containerapp -ResourceGroupName azpstest_gp -RevisionName azps-containerapp--ksjb6f1
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.IAppIdentity
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IRevision
+.Notes
+COMPLEX PARAMETER PROPERTIES
+
+To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
+
+INPUTOBJECT : Identity Parameter
+ [AuthConfigName ]: Name of the Container App AuthConfig.
+ [CertificateName ]: Name of the Certificate.
+ [ComponentName ]: Name of the Dapr Component.
+ [ContainerAppName ]: Name of the Container App.
+ [EnvironmentName ]: Name of the Managed Environment.
+ [Id ]: Resource identity path
+ [ReplicaName ]: Name of the Container App Revision Replica.
+ [ResourceGroupName ]: The name of the resource group. The name is case insensitive.
+ [RevisionName ]: Name of the Container App Revision.
+ [SourceControlName ]: Name of the Container App SourceControl.
+ [StorageName ]: Name of the storage.
+ [SubscriptionId ]: The ID of the target subscription.
+.Link
+https://docs.microsoft.com/powershell/module/az.app/get-azcontainerapprevision
+#>
+function Get-AzContainerAppRevision {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IRevision])]
+[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
+param(
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # Name of the Container App.
+ ${ContainerAppName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # Name of the Container App Revision.
+ ${RevisionName},
+
+ [Parameter(ParameterSetName='Get')]
+ [Parameter(ParameterSetName='List')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String[]]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Models.IAppIdentity]
+ # Identity Parameter
+ # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
+ ${InputObject},
+
+ [Parameter(ParameterSetName='List')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Query')]
+ [System.String]
+ # The filter to apply on the operation.
+ ${Filter},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The credentials, account, tenant, and subscription used for communication with Azure.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ Get = 'Az.App.private\Get-AzContainerAppRevision_Get';
+ GetViaIdentity = 'Az.App.private\Get-AzContainerAppRevision_GetViaIdentity';
+ List = 'Az.App.private\Get-AzContainerAppRevision_List';
+ }
+ if (('Get', 'List') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/App/exports/Get-AzContainerAppSecret.ps1 b/src/App/exports/Get-AzContainerAppSecret.ps1
new file mode 100644
index 000000000000..9ca4d97f5680
--- /dev/null
+++ b/src/App/exports/Get-AzContainerAppSecret.ps1
@@ -0,0 +1,177 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+List secrets for a container app
+.Description
+List secrets for a container app
+.Example
+Get-AzContainerAppSecret -ContainerAppName azps-containerapp -ResourceGroupName azpstest_gp
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IContainerAppSecret
+.Link
+https://docs.microsoft.com/powershell/module/az.app/get-azcontainerappsecret
+#>
+function Get-AzContainerAppSecret {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IContainerAppSecret])]
+[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
+param(
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # Name of the Container App.
+ ${ContainerAppName},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String[]]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The credentials, account, tenant, and subscription used for communication with Azure.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ List = 'Az.App.private\Get-AzContainerAppSecret_List';
+ }
+ if (('List') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/App/exports/New-AzContainerApp.ps1 b/src/App/exports/New-AzContainerApp.ps1
new file mode 100644
index 000000000000..2525ac2997b3
--- /dev/null
+++ b/src/App/exports/New-AzContainerApp.ps1
@@ -0,0 +1,450 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create or update a Container App.
+.Description
+Create or update a Container App.
+.Example
+$trafficWeight = New-AzContainerAppTrafficWeightObject -Label production -LatestRevision:$True -Weight 100
+$secretObject = New-AzContainerAppSecretObject -Name "facebook-secret" -Value "facebook-password"
+
+$containerAppHttpHeader = New-AzContainerAppProbeHeaderObject -Name Custom-Header -Value Awesome
+$probe = New-AzContainerAppProbeObject -HttpGetPath "/health" -HttpGetPort 8080 -InitialDelaySecond 3 -PeriodSecond 3 -Type Liveness -HttpGetHttpHeader $containerAppHttpHeader
+$image = New-AzContainerAppTemplateObject -Name azps-containerapp -Image mcr.microsoft.com/azuredocs/containerapps-helloworld:latest -Probe $probe -ResourceCpu 2.0 -ResourceMemory 4.0Gi
+
+$EnvId = (Get-AzContainerAppManagedEnv -ResourceGroupName azpstest_gp -EnvName azps-env).Id
+
+New-AzContainerApp -Name azps-containerapp -ResourceGroupName azpstest_gp -Location canadacentral -ConfigurationActiveRevisionsMode 'Single' -ManagedEnvironmentId $EnvId -IngressExternal -IngressTransport 'auto' -IngressTargetPort 80 -TemplateContainer $image -ConfigurationSecret $secretObject -IngressTraffic $trafficWeight -DaprEnabled -DaprAppProtocol 'http' -DaprAppId "container-app-1" -DaprAppPort 8080
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IContainerApp
+.Notes
+COMPLEX PARAMETER PROPERTIES
+
+To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
+
+CONFIGURATIONREGISTRY : Collection of private container registry credentials for containers used by the Container app
+ [Identity ]: 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'
+ [PasswordSecretRef ]: The name of the Secret that contains the registry login password
+ [Server ]: Container Registry Server
+ [Username ]: Container Registry Username
+
+CONFIGURATIONSECRET : Collection of secrets used by a Container app
+ [Name ]: Secret Name.
+ [Value ]: Secret Value.
+
+INGRESSCUSTOMDOMAIN : custom domain bindings for Container Apps' hostnames.
+ CertificateId : Resource Id of the Certificate to be bound to this hostname. Must exist in the Managed Environment.
+ Name : Hostname.
+ [BindingType ]: Custom Domain binding type.
+
+INGRESSTRAFFIC : Traffic weights for app's revisions
+ [Label ]: Associates a traffic label with a revision
+ [LatestRevision ]: Indicates that the traffic weight belongs to a latest stable revision
+ [RevisionName ]: Name of a revision
+ [Weight ]: Traffic weight assigned to a revision
+
+SCALERULE : Scaling rules.
+ [AzureQueueAuth ]: Authentication secrets for the queue scale rule.
+ [SecretRef ]: Name of the Container App secret from which to pull the auth params.
+ [TriggerParameter ]: Trigger Parameter that uses the secret
+ [AzureQueueLength ]: Queue length.
+ [AzureQueueName ]: Queue name.
+ [CustomAuth ]: Authentication secrets for the custom scale rule.
+ [CustomMetadata ]: Metadata properties to describe custom scale rule.
+ [(Any) ]: This indicates any property can be added to this object.
+ [CustomType ]: Type of the custom scale rule eg: azure-servicebus, redis etc.
+ [HttpAuth ]: Authentication secrets for the custom scale rule.
+ [HttpMetadata ]: Metadata properties to describe http scale rule.
+ [(Any) ]: This indicates any property can be added to this object.
+ [Name ]: Scale Rule Name
+
+TEMPLATECONTAINER : List of container definitions for the Container App.
+ [Arg ]: Container start command arguments.
+ [Command ]: Container start command.
+ [Env ]: Container environment variables.
+ [Name ]: Environment variable name.
+ [SecretRef ]: Name of the Container App secret from which to pull the environment variable value.
+ [Value ]: Non-secret environment variable value.
+ [Image ]: Container image tag.
+ [Name ]: Custom container name.
+ [Probe ]: List of probes for the container.
+ [FailureThreshold ]: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. Maximum value is 10.
+ [HttpGetHost ]: Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.
+ [HttpGetHttpHeader ]: Custom headers to set in the request. HTTP allows repeated headers.
+ Name : The header field name
+ Value : The header field value
+ [HttpGetPath ]: Path to access on the HTTP server.
+ [HttpGetPort ]: 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.
+ [HttpGetScheme ]: Scheme to use for connecting to the host. Defaults to HTTP.
+ [InitialDelaySecond ]: Number of seconds after the container has started before liveness probes are initiated. Minimum value is 1. Maximum value is 60.
+ [PeriodSecond ]: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is 240.
+ [SuccessThreshold ]: 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.
+ [TcpSocketHost ]: Optional: Host name to connect to, defaults to the pod IP.
+ [TcpSocketPort ]: 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.
+ [TerminationGracePeriodSecond ]: 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)
+ [TimeoutSecond ]: Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 240.
+ [Type ]: The type of probe.
+ [ResourceCpu ]: Required CPU in cores, e.g. 0.5
+ [ResourceMemory ]: Required memory, e.g. "250Mb"
+ [VolumeMount ]: Container volume mounts.
+ [MountPath ]: Path within the container at which the volume should be mounted.Must not contain ':'.
+ [VolumeName ]: This must match the Name of a Volume.
+
+TEMPLATEVOLUME : List of volume definitions for the Container App.
+ [Name ]: Volume name.
+ [StorageName ]: Name of storage resource. No need to provide for EmptyDir.
+ [StorageType ]: Storage type for the volume. If not provided, use EmptyDir.
+.Link
+https://docs.microsoft.com/powershell/module/az.app/new-azcontainerapp
+#>
+function New-AzContainerApp {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IContainerApp])]
+[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
+param(
+ [Parameter(Mandatory)]
+ [Alias('ContainerAppName')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # Name of the Container App.
+ ${Name},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # The geo-location where the resource lives
+ ${Location},
+
+ [Parameter()]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.App.Support.ActiveRevisionsMode])]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Support.ActiveRevisionsMode]
+ # ActiveRevisionsMode controls how active revisions are handled for the Container app:Multiple: multiple revisions can be active.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.
+ ${ConfigurationActiveRevisionsMode},
+
+ [Parameter()]
+ [AllowEmptyCollection()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IRegistryCredentials[]]
+ # Collection of private container registry credentials for containers used by the Container app
+ # To construct, see NOTES section for CONFIGURATIONREGISTRY properties and create a hash table.
+ ${ConfigurationRegistry},
+
+ [Parameter()]
+ [AllowEmptyCollection()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ISecret[]]
+ # Collection of secrets used by a Container app
+ # To construct, see NOTES section for CONFIGURATIONSECRET properties and create a hash table.
+ ${ConfigurationSecret},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # Dapr application identifier
+ ${DaprAppId},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.Int32]
+ # Tells Dapr which port your application is listening on
+ ${DaprAppPort},
+
+ [Parameter()]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.App.Support.AppProtocol])]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Support.AppProtocol]
+ # Tells Dapr which protocol your application is using.
+ # Valid options are http and grpc.
+ # Default is http
+ ${DaprAppProtocol},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.Management.Automation.SwitchParameter]
+ # Boolean indicating if the Dapr side car is enabled
+ ${DaprEnabled},
+
+ [Parameter()]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.App.Support.ManagedServiceIdentityType])]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Support.ManagedServiceIdentityType]
+ # Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).
+ ${IdentityType},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api30.IUserAssignedIdentities]))]
+ [System.Collections.Hashtable]
+ # 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.
+ ${IdentityUserAssignedIdentity},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.Management.Automation.SwitchParameter]
+ # Bool indicating if HTTP connections to is allowed.
+ # If set to false HTTP connections are automatically redirected to HTTPS connections
+ ${IngressAllowInsecure},
+
+ [Parameter()]
+ [AllowEmptyCollection()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ICustomDomain[]]
+ # custom domain bindings for Container Apps' hostnames.
+ # To construct, see NOTES section for INGRESSCUSTOMDOMAIN properties and create a hash table.
+ ${IngressCustomDomain},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.Management.Automation.SwitchParameter]
+ # Bool indicating if app exposes an external http endpoint
+ ${IngressExternal},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.Int32]
+ # Target Port in containers for traffic from ingress
+ ${IngressTargetPort},
+
+ [Parameter()]
+ [AllowEmptyCollection()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ITrafficWeight[]]
+ # Traffic weights for app's revisions
+ # To construct, see NOTES section for INGRESSTRAFFIC properties and create a hash table.
+ ${IngressTraffic},
+
+ [Parameter()]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.App.Support.IngressTransportMethod])]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Support.IngressTransportMethod]
+ # Ingress transport protocol
+ ${IngressTransport},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # Resource ID of the Container App's environment.
+ ${ManagedEnvironmentId},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.Int32]
+ # Optional.
+ # Maximum number of container replicas.
+ # Defaults to 10 if not set.
+ ${ScaleMaxReplica},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.Int32]
+ # Optional.
+ # Minimum number of container replicas.
+ ${ScaleMinReplica},
+
+ [Parameter()]
+ [AllowEmptyCollection()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IScaleRule[]]
+ # Scaling rules.
+ # To construct, see NOTES section for SCALERULE properties and create a hash table.
+ ${ScaleRule},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api30.ITrackedResourceTags]))]
+ [System.Collections.Hashtable]
+ # Resource tags.
+ ${Tag},
+
+ [Parameter()]
+ [AllowEmptyCollection()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IContainer[]]
+ # List of container definitions for the Container App.
+ # To construct, see NOTES section for TEMPLATECONTAINER properties and create a hash table.
+ ${TemplateContainer},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # User friendly suffix that is appended to the revision name
+ ${TemplateRevisionSuffix},
+
+ [Parameter()]
+ [AllowEmptyCollection()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IVolume[]]
+ # List of volume definitions for the Container App.
+ # To construct, see NOTES section for TEMPLATEVOLUME properties and create a hash table.
+ ${TemplateVolume},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The credentials, account, tenant, and subscription used for communication with Azure.
+ ${DefaultProfile},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Run the command as a job
+ ${AsJob},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Run the command asynchronously
+ ${NoWait},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ CreateExpanded = 'Az.App.private\New-AzContainerApp_CreateExpanded';
+ }
+ if (('CreateExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/App/exports/New-AzContainerAppAuthConfig.ps1 b/src/App/exports/New-AzContainerAppAuthConfig.ps1
new file mode 100644
index 000000000000..f2d514d7cc3e
--- /dev/null
+++ b/src/App/exports/New-AzContainerAppAuthConfig.ps1
@@ -0,0 +1,347 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create or update the AuthConfig for a Container App.
+.Description
+Create or update the AuthConfig for a Container App.
+.Example
+$identity = New-AzContainerAppIdentityProviderObject -RegistrationAppId xxxxxx@xxx.com -RegistrationAppSecretSettingName facebook-secret
+
+New-AzContainerAppAuthConfig -AuthConfigName current -ContainerAppName azps-containerapp -ResourceGroupName azpstest_gp -PlatformEnabled -GlobalValidationUnauthenticatedClientAction 'AllowAnonymous' -IdentityProvider $identity
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IAuthConfig
+.Notes
+COMPLEX PARAMETER PROPERTIES
+
+To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
+
+IDENTITYPROVIDER : The configuration settings of each of the identity providers used to configure ContainerApp Service Authentication/Authorization.
+ [AllowedPrincipalGroup ]: The list of the allowed groups.
+ [AllowedPrincipalIdentity ]: The list of the allowed identities.
+ [AppleEnabled ]: false if the Apple provider should not be enabled despite the set registration; otherwise, true.
+ [AppleLoginScope ]: A list of the scopes that should be requested while authenticating.
+ [AppleRegistrationClientId ]: The Client ID of the app used for login.
+ [AppleRegistrationClientSecretSettingName ]: The app setting name that contains the client secret.
+ [AzureActiveDirectoryEnabled ]: false if the Azure Active Directory provider should not be enabled despite the set registration; otherwise, true.
+ [AzureActiveDirectoryIsAutoProvisioned ]: 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.
+ [AzureActiveDirectoryRegistrationClientId ]: 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
+ [AzureActiveDirectoryRegistrationClientSecretSettingName ]: The app setting name that contains the client secret of the relying party application.
+ [AzureActiveDirectoryValidationAllowedAudience ]: The list of audiences that can make successful authentication/authorization requests.
+ [AzureStaticWebAppEnabled ]: false if the Azure Static Web Apps provider should not be enabled despite the set registration; otherwise, true.
+ [AzureStaticWebAppsRegistrationClientId ]: The Client ID of the app used for login.
+ [CustomOpenIdConnectProvider ]: 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.
+ [(Any) ]: This indicates any property can be added to this object.
+ [DefaultAuthorizationPolicyAllowedApplication ]: The configuration settings of the Azure Active Directory allowed applications.
+ [FacebookEnabled ]: false if the Facebook provider should not be enabled despite the set registration; otherwise, true.
+ [FacebookGraphApiVersion ]: The version of the Facebook api to be used while logging in.
+ [FacebookLoginScope ]: A list of the scopes that should be requested while authenticating.
+ [GitHubEnabled ]: false if the GitHub provider should not be enabled despite the set registration; otherwise, true.
+ [GitHubLoginScope ]: A list of the scopes that should be requested while authenticating.
+ [GitHubRegistrationClientId ]: The Client ID of the app used for login.
+ [GitHubRegistrationClientSecretSettingName ]: The app setting name that contains the client secret.
+ [GoogleEnabled ]: false if the Google provider should not be enabled despite the set registration; otherwise, true.
+ [GoogleLoginScope ]: A list of the scopes that should be requested while authenticating.
+ [GoogleRegistrationClientId ]: The Client ID of the app used for login.
+ [GoogleRegistrationClientSecretSettingName ]: The app setting name that contains the client secret.
+ [GoogleValidationAllowedAudience ]: The configuration settings of the allowed list of audiences from which to validate the JWT token.
+ [JwtClaimCheckAllowedClientApplication ]: The list of the allowed client applications.
+ [JwtClaimCheckAllowedGroup ]: The list of the allowed groups.
+ [LoginDisableWwwAuthenticate ]: true if the www-authenticate provider should be omitted from the request; otherwise, false.
+ [LoginParameter ]: Login parameters to send to the OpenID Connect authorization endpoint when a user logs in. Each parameter must be in the form "key=value".
+ [RegistrationAppId ]: The App ID of the app used for login.
+ [RegistrationAppSecretSettingName ]: The app setting name that contains the app secret.
+ [RegistrationClientSecretCertificateIssuer ]: 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.
+ [RegistrationClientSecretCertificateSubjectAlternativeName ]: 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.
+ [RegistrationClientSecretCertificateThumbprint ]: 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.
+ [RegistrationConsumerKey ]: 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
+ [RegistrationConsumerSecretSettingName ]: The app setting name that contains the OAuth 1.0a consumer secret of the Twitter application used for sign-in.
+ [RegistrationOpenIdIssuer ]: 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
+ [TwitterEnabled ]: false if the Twitter provider should not be enabled despite the set registration; otherwise, true.
+.Link
+https://docs.microsoft.com/powershell/module/az.app/new-azcontainerappauthconfig
+#>
+function New-AzContainerAppAuthConfig {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IAuthConfig])]
+[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
+param(
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # Name of the Container App AuthConfig.
+ ${AuthConfigName},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # Name of the Container App.
+ ${ContainerAppName},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter()]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.App.Support.CookieExpirationConvention])]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Support.CookieExpirationConvention]
+ # The convention used when determining the session cookie's expiration.
+ ${CookieExpirationConvention},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # The time after the request is made when the session cookie should expire.
+ ${CookieExpirationTimeToExpiration},
+
+ [Parameter()]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.App.Support.ForwardProxyConvention])]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Support.ForwardProxyConvention]
+ # The convention used to determine the url of the request made.
+ ${ForwardProxyConvention},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # The name of the header containing the host of the request.
+ ${ForwardProxyCustomHostHeaderName},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # The name of the header containing the scheme of the request.
+ ${ForwardProxyCustomProtoHeaderName},
+
+ [Parameter()]
+ [AllowEmptyCollection()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String[]]
+ # The paths for which unauthenticated flow would not be redirected to the login page.
+ ${GlobalValidationExcludedPath},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # The default authentication provider to use when multiple providers are configured.This setting is only needed if multiple providers are configured and the unauthenticated clientaction is set to "RedirectToLoginPage".
+ ${GlobalValidationRedirectToProvider},
+
+ [Parameter()]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.App.Support.UnauthenticatedClientActionV2])]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Support.UnauthenticatedClientActionV2]
+ # The action to take when an unauthenticated client attempts to access the app.
+ ${GlobalValidationUnauthenticatedClientAction},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.Management.Automation.SwitchParameter]
+ # false if the authentication/authorization responses not having the HTTPS scheme are permissible; otherwise, true.
+ ${HttpSettingRequireHttps},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IIdentityProviders]
+ # The configuration settings of each of the identity providers used to configure ContainerApp Service Authentication/Authorization.
+ # To construct, see NOTES section for IDENTITYPROVIDER properties and create a hash table.
+ ${IdentityProvider},
+
+ [Parameter()]
+ [AllowEmptyCollection()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String[]]
+ # 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.
+ ${LoginAllowedExternalRedirectUrl},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.Management.Automation.SwitchParameter]
+ # true if the fragments from the request are preserved after the login request is made; otherwise, false.
+ ${LoginPreserveUrlFragmentsForLogin},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # The time after the request is made when the nonce should expire.
+ ${NonceExpirationInterval},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.Management.Automation.SwitchParameter]
+ # false if the nonce should not be validated while completing the login flow; otherwise, true.
+ ${NonceValidateNonce},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.Management.Automation.SwitchParameter]
+ # true if the Authentication / Authorization feature is enabled for the current app; otherwise, false.
+ ${PlatformEnabled},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # 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.
+ ${PlatformRuntimeVersion},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # The prefix that should precede all the authentication/authorization paths.
+ ${RouteApiPrefix},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # The endpoint at which a logout request should be made.
+ ${RouteLogoutEndpoint},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The credentials, account, tenant, and subscription used for communication with Azure.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ CreateExpanded = 'Az.App.private\New-AzContainerAppAuthConfig_CreateExpanded';
+ }
+ if (('CreateExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/App/exports/New-AzContainerAppCustomDomainObject.ps1 b/src/App/exports/New-AzContainerAppCustomDomainObject.ps1
new file mode 100644
index 000000000000..ffcdb7a8a01c
--- /dev/null
+++ b/src/App/exports/New-AzContainerAppCustomDomainObject.ps1
@@ -0,0 +1,129 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for CustomDomain.
+.Description
+Create an in-memory object for CustomDomain.
+.Example
+$certificateId = (Get-AzContainerAppManagedEnvCert -EnvName azps-env -ResourceGroupName azpstest_gp -Name azps-env-cert).Id
+
+$customDomain = New-AzContainerAppCustomDomainObject -CertificateId $certificateId -Name www.fabrikam.com -BindingType SniEnabled
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.CustomDomain
+.Link
+https://docs.microsoft.com/powershell/module/az./new-azcontainerappcustomdomainobject
+#>
+function New-AzContainerAppCustomDomainObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.CustomDomain])]
+[CmdletBinding(PositionalBinding=$false)]
+param(
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # Resource Id of the Certificate to be bound to this hostname.
+ # Must exist in the Managed Environment.
+ ${CertificateId},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # Hostname.
+ ${Name},
+
+ [Parameter()]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.App.Support.BindingType])]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Support.BindingType]
+ # Custom Domain binding type.
+ ${BindingType}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ __AllParameterSets = 'Az.App.custom\New-AzContainerAppCustomDomainObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/App/exports/New-AzContainerAppDaprMetadataObject.ps1 b/src/App/exports/New-AzContainerAppDaprMetadataObject.ps1
new file mode 100644
index 000000000000..26c6daa664d1
--- /dev/null
+++ b/src/App/exports/New-AzContainerAppDaprMetadataObject.ps1
@@ -0,0 +1,125 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for DaprMetadata.
+.Description
+Create an in-memory object for DaprMetadata.
+.Example
+New-AzContainerAppDaprMetadataObject -Name "masterkey" -Value "masterkey"
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.DaprMetadata
+.Link
+https://docs.microsoft.com/powershell/module/az./new-azcontainerappdaprmetadataobject
+#>
+function New-AzContainerAppDaprMetadataObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.DaprMetadata])]
+[CmdletBinding(PositionalBinding=$false)]
+param(
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # Metadata property name.
+ ${Name},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # Name of the Dapr Component secret from which to pull the metadata property value.
+ ${SecretRef},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # Metadata property value.
+ ${Value}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ __AllParameterSets = 'Az.App.custom\New-AzContainerAppDaprMetadataObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/App/exports/New-AzContainerAppEnvironmentVarObject.ps1 b/src/App/exports/New-AzContainerAppEnvironmentVarObject.ps1
new file mode 100644
index 000000000000..e236e01412c9
--- /dev/null
+++ b/src/App/exports/New-AzContainerAppEnvironmentVarObject.ps1
@@ -0,0 +1,125 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for EnvironmentVar.
+.Description
+Create an in-memory object for EnvironmentVar.
+.Example
+New-AzContainerAppEnvironmentVarObject -Name "envVarName" -SecretRef "facebook-secret" -Value "value"
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.EnvironmentVar
+.Link
+https://docs.microsoft.com/powershell/module/az./new-azcontainerappenvironmentvarobject
+#>
+function New-AzContainerAppEnvironmentVarObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.EnvironmentVar])]
+[CmdletBinding(PositionalBinding=$false)]
+param(
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # Environment variable name.
+ ${Name},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # Name of the Container App secret from which to pull the environment variable value.
+ ${SecretRef},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # Non-secret environment variable value.
+ ${Value}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ __AllParameterSets = 'Az.App.custom\New-AzContainerAppEnvironmentVarObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/App/exports/New-AzContainerAppIdentityProviderObject.ps1 b/src/App/exports/New-AzContainerAppIdentityProviderObject.ps1
new file mode 100644
index 000000000000..a10cfcbf2840
--- /dev/null
+++ b/src/App/exports/New-AzContainerAppIdentityProviderObject.ps1
@@ -0,0 +1,380 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for IdentityProviders.
+.Description
+Create an in-memory object for IdentityProviders.
+.Example
+New-AzContainerAppIdentityProviderObject -RegistrationAppId xxxxxx@xxx.com -RegistrationAppSecretSettingName facebook-secret
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IdentityProviders
+.Notes
+COMPLEX PARAMETER PROPERTIES
+
+To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
+
+CUSTOMOPENIDCONNECTPROVIDER : 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.
+ [(Any) ]: This indicates any property can be added to this object.
+.Link
+https://docs.microsoft.com/powershell/module/az./new-azcontainerappidentityproviderobject
+#>
+function New-AzContainerAppIdentityProviderObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IdentityProviders])]
+[CmdletBinding(PositionalBinding=$false)]
+param(
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String[]]
+ # The list of the allowed groups.
+ ${AllowedPrincipalGroup},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String[]]
+ # The list of the allowed identities.
+ ${AllowedPrincipalIdentity},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.Boolean]
+ # false if the Apple provider should not be enabled despite the set registration; otherwise, true.
+ ${AppleEnabled},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String[]]
+ # A list of the scopes that should be requested while authenticating.
+ ${AppleLoginScope},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # The Client ID of the app used for login.
+ ${AppleRegistrationClientId},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # The app setting name that contains the client secret.
+ ${AppleRegistrationClientSecretSettingName},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.Boolean]
+ # false if the Azure Active Directory provider should not be enabled despite the set registration; otherwise, true.
+ ${AzureActiveDirectoryEnabled},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.Boolean]
+ # 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.
+ ${AzureActiveDirectoryIsAutoProvisioned},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # 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.
+ ${AzureActiveDirectoryRegistrationClientId},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # The app setting name that contains the client secret of the relying party application.
+ ${AzureActiveDirectoryRegistrationClientSecretSettingName},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String[]]
+ # The list of audiences that can make successful authentication/authorization requests.
+ ${AzureActiveDirectoryValidationAllowedAudience},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.Boolean]
+ # false if the Azure Static Web Apps provider should not be enabled despite the set registration; otherwise, true.
+ ${AzureStaticWebAppEnabled},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # The Client ID of the app used for login.
+ ${AzureStaticWebAppsRegistrationClientId},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IIdentityProvidersCustomOpenIdConnectProviders]
+ # 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.
+ # To construct, see NOTES section for CUSTOMOPENIDCONNECTPROVIDER properties and create a hash table.
+ ${CustomOpenIdConnectProvider},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String[]]
+ # The configuration settings of the Azure Active Directory allowed applications.
+ ${DefaultAuthorizationPolicyAllowedApplication},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.Boolean]
+ # false if the Facebook provider should not be enabled despite the set registration; otherwise, true.
+ ${FacebookEnabled},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # The version of the Facebook api to be used while logging in.
+ ${FacebookGraphApiVersion},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String[]]
+ # A list of the scopes that should be requested while authenticating.
+ ${FacebookLoginScope},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.Boolean]
+ # false if the GitHub provider should not be enabled despite the set registration; otherwise, true.
+ ${GitHubEnabled},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String[]]
+ # A list of the scopes that should be requested while authenticating.
+ ${GitHubLoginScope},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # The Client ID of the app used for login.
+ ${GitHubRegistrationClientId},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # The app setting name that contains the client secret.
+ ${GitHubRegistrationClientSecretSettingName},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.Boolean]
+ # false if the Google provider should not be enabled despite the set registration; otherwise, true.
+ ${GoogleEnabled},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String[]]
+ # A list of the scopes that should be requested while authenticating.
+ ${GoogleLoginScope},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # The Client ID of the app used for login.
+ ${GoogleRegistrationClientId},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # The app setting name that contains the client secret.
+ ${GoogleRegistrationClientSecretSettingName},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String[]]
+ # The configuration settings of the allowed list of audiences from which to validate the JWT token.
+ ${GoogleValidationAllowedAudience},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String[]]
+ # The list of the allowed client applications.
+ ${JwtClaimCheckAllowedClientApplication},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String[]]
+ # The list of the allowed groups.
+ ${JwtClaimCheckAllowedGroup},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.Boolean]
+ # true if the www-authenticate provider should be omitted from the request; otherwise, false.
+ ${LoginDisableWwwAuthenticate},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String[]]
+ # Login parameters to send to the OpenID Connect authorization endpoint when
+ # a user logs in.
+ # Each parameter must be in the form "key=value".
+ ${LoginParameter},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # The App ID of the app used for login.
+ ${RegistrationAppId},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # The app setting name that contains the app secret.
+ ${RegistrationAppSecretSettingName},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # 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.
+ ${RegistrationClientSecretCertificateIssuer},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # 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.
+ ${RegistrationClientSecretCertificateSubjectAlternativeName},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # 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.
+ ${RegistrationClientSecretCertificateThumbprint},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # 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.
+ ${RegistrationConsumerKey},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # The app setting name that contains the OAuth 1.0a consumer secret of the Twitter
+ # application used for sign-in.
+ ${RegistrationConsumerSecretSettingName},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # 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.
+ ${RegistrationOpenIdIssuer},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.Boolean]
+ # false if the Twitter provider should not be enabled despite the set registration; otherwise, true.
+ ${TwitterEnabled}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ __AllParameterSets = 'Az.App.custom\New-AzContainerAppIdentityProviderObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/App/exports/New-AzContainerAppManagedEnv.ps1 b/src/App/exports/New-AzContainerAppManagedEnv.ps1
new file mode 100644
index 000000000000..f987a34d8e58
--- /dev/null
+++ b/src/App/exports/New-AzContainerAppManagedEnv.ps1
@@ -0,0 +1,285 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Creates or updates a Managed Environment used to host container apps.
+.Description
+Creates or updates a Managed Environment used to host container apps.
+.Example
+New-AzOperationalInsightsWorkspace -ResourceGroupName azpstest_gp -Name workspace-azpstestgp -Sku PerGB2018 -Location canadacentral -PublicNetworkAccessForIngestion "Enabled" -PublicNetworkAccessForQuery "Enabled"
+$CustomId = (Get-AzOperationalInsightsWorkspace -ResourceGroupName azpstest_gp -Name workspace-azpstestgp).CustomerId
+$SharedKey = (Get-AzOperationalInsightsWorkspaceSharedKey -ResourceGroupName azpstest_gp -Name workspace-azpstestgp).PrimarySharedKey
+
+New-AzContainerAppManagedEnv -EnvName azps-env -ResourceGroupName azpstest_gp -Location canadacentral -AppLogConfigurationDestination "log-analytics" -LogAnalyticConfigurationCustomerId $CustomId -LogAnalyticConfigurationSharedKey $SharedKey -VnetConfigurationInternal:$false
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IManagedEnvironment
+.Link
+https://docs.microsoft.com/powershell/module/az.app/new-azcontainerappmanagedenv
+#>
+function New-AzContainerAppManagedEnv {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IManagedEnvironment])]
+[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
+param(
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # Name of the Environment.
+ ${EnvName},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # The geo-location where the resource lives
+ ${Location},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # Logs destination
+ ${AppLogConfigurationDestination},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # Application Insights connection string used by Dapr to export Service to Service communication telemetry
+ ${DaprAiConnectionString},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # Azure Monitor instrumentation key used by Dapr to export Service to Service communication telemetry
+ ${DaprAiInstrumentationKey},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # Log analytics customer id
+ ${LogAnalyticConfigurationCustomerId},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # Log analytics customer key
+ ${LogAnalyticConfigurationSharedKey},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api30.ITrackedResourceTags]))]
+ [System.Collections.Hashtable]
+ # Resource tags.
+ ${Tag},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # CIDR notation IP range assigned to the Docker bridge, network.
+ # Must not overlap with any other provided IP ranges.
+ ${VnetConfigurationDockerBridgeCidr},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # 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.
+ ${VnetConfigurationInfrastructureSubnetId},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.Management.Automation.SwitchParameter]
+ # Boolean indicating the environment only has an internal load balancer.
+ # These environments do not have a public static IP resource, must provide ControlPlaneSubnetResourceId and AppSubnetResourceId if enabling this property
+ ${VnetConfigurationInternal},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # IP range in CIDR notation that can be reserved for environment infrastructure IP addresses.
+ # Must not overlap with any other provided IP ranges.
+ ${VnetConfigurationPlatformReservedCidr},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # An IP address from the IP range defined by platformReservedCidr that will be reserved for the internal DNS server.
+ ${VnetConfigurationPlatformReservedDnsIP},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # 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.
+ ${VnetConfigurationRuntimeSubnetId},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.Management.Automation.SwitchParameter]
+ # Whether or not this Managed Environment is zone-redundant.
+ ${ZoneRedundant},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The credentials, account, tenant, and subscription used for communication with Azure.
+ ${DefaultProfile},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Run the command as a job
+ ${AsJob},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Run the command asynchronously
+ ${NoWait},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ CreateExpanded = 'Az.App.private\New-AzContainerAppManagedEnv_CreateExpanded';
+ }
+ if (('CreateExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/App/exports/New-AzContainerAppManagedEnvCert.ps1 b/src/App/exports/New-AzContainerAppManagedEnvCert.ps1
new file mode 100644
index 000000000000..ab133187ca92
--- /dev/null
+++ b/src/App/exports/New-AzContainerAppManagedEnvCert.ps1
@@ -0,0 +1,214 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create or Update a Certificate.
+.Description
+Create or Update a Certificate.
+.Example
+New-SelfSignedCertificate -DnsName "www.fabrikam.com", "www.contoso.com" -CertStoreLocation "cert:\LocalMachine\My"
+Get-ChildItem -Path cert:\LocalMachine\My
+$mypwd = ConvertTo-SecureString -String "1234" -Force -AsPlainText
+Get-ChildItem -Path cert:\localMachine\my\5F98EBBFE735CDDAE00E33E0FD69050EF9220254 | Export-PfxCertificate -FilePath C:\mypfx.pfx -Password $mypwd
+
+New-AzContainerAppManagedEnvCert -EnvName azps-env -Name azps-env-cert -ResourceGroupName azpstest_gp -Location canadacentral -InputFile "C:\mypfx.pfx" -Password $mypwd
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ICertificate
+.Link
+https://docs.microsoft.com/powershell/module/az.app/new-azcontainerappmanagedenvcert
+#>
+function New-AzContainerAppManagedEnvCert {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ICertificate])]
+[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
+param(
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # Name of the Managed Environment.
+ ${EnvName},
+
+ [Parameter(Mandatory)]
+ [Alias('CertificateName')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # Name of the Certificate.
+ ${Name},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # The geo-location where the resource lives
+ ${Location},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # Input File for Value (PFX or PEM blob)
+ ${InputFile},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.Security.SecureString]
+ # Certificate password.
+ ${Password},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api30.ITrackedResourceTags]))]
+ [System.Collections.Hashtable]
+ # Resource tags.
+ ${Tag},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The credentials, account, tenant, and subscription used for communication with Azure.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ CreateExpanded = 'Az.App.private\New-AzContainerAppManagedEnvCert_CreateExpanded';
+ }
+ if (('CreateExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/App/exports/New-AzContainerAppManagedEnvDapr.ps1 b/src/App/exports/New-AzContainerAppManagedEnvDapr.ps1
new file mode 100644
index 000000000000..61d7cd0362be
--- /dev/null
+++ b/src/App/exports/New-AzContainerAppManagedEnvDapr.ps1
@@ -0,0 +1,247 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Creates or updates a Dapr Component in a Managed Environment.
+.Description
+Creates or updates a Dapr Component in a Managed Environment.
+.Example
+$scope = @("container-app-1","container-app-2")
+$secretObject = New-AzContainerAppSecretObject -Name "masterkey" -Value "keyvalue"
+$daprMetaData = New-AzContainerAppDaprMetadataObject -Name "masterkey" -Value "masterkey"
+
+New-AzContainerAppManagedEnvDapr -DaprName azps-dapr -EnvName azps-env -ResourceGroupName azpstest_gp -componentType state.azure.cosmosdb -Version v1 -IgnoreError:$false -InitTimeout 50s -Scope $scope -Secret $secretObject -Metadata $daprMetaData
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IDaprComponent
+.Notes
+COMPLEX PARAMETER PROPERTIES
+
+To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
+
+METADATA : Component metadata
+ [Name ]: Metadata property name.
+ [SecretRef ]: Name of the Dapr Component secret from which to pull the metadata property value.
+ [Value ]: Metadata property value.
+
+SECRET : Collection of secrets used by a Dapr component
+ [Name ]: Secret Name.
+ [Value ]: Secret Value.
+.Link
+https://docs.microsoft.com/powershell/module/az.app/new-azcontainerappmanagedenvdapr
+#>
+function New-AzContainerAppManagedEnvDapr {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IDaprComponent])]
+[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
+param(
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # Name of the Dapr Component.
+ ${DaprName},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # Name of the Managed Environment.
+ ${EnvName},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # Component type
+ ${ComponentType},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.Management.Automation.SwitchParameter]
+ # Boolean describing if the component errors are ignores
+ ${IgnoreError},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # Initialization timeout
+ ${InitTimeout},
+
+ [Parameter()]
+ [AllowEmptyCollection()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IDaprMetadata[]]
+ # Component metadata
+ # To construct, see NOTES section for METADATA properties and create a hash table.
+ ${Metadata},
+
+ [Parameter()]
+ [AllowEmptyCollection()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String[]]
+ # Names of container apps that can use this Dapr component
+ ${Scope},
+
+ [Parameter()]
+ [AllowEmptyCollection()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ISecret[]]
+ # Collection of secrets used by a Dapr component
+ # To construct, see NOTES section for SECRET properties and create a hash table.
+ ${Secret},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # Component version
+ ${Version},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The credentials, account, tenant, and subscription used for communication with Azure.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ CreateExpanded = 'Az.App.private\New-AzContainerAppManagedEnvDapr_CreateExpanded';
+ }
+ if (('CreateExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/App/exports/New-AzContainerAppManagedEnvStorage.ps1 b/src/App/exports/New-AzContainerAppManagedEnvStorage.ps1
new file mode 100644
index 000000000000..246e1b50038b
--- /dev/null
+++ b/src/App/exports/New-AzContainerAppManagedEnvStorage.ps1
@@ -0,0 +1,211 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create or update storage for a managedEnvironment.
+.Description
+Create or update storage for a managedEnvironment.
+.Example
+New-AzStorageAccount -ResourceGroupName azpstest_gp -AccountName azpstestsa -Location canadacentral -SkuName Standard_GRS
+$storageAccountKey = (Get-AzStorageAccountKey -ResourceGroupName azpstest_gp -AccountName azpstestsa).Value[0]
+
+New-AzContainerAppManagedEnvStorage -EnvName azps-env -ResourceGroupName azpstest_gp -StorageName azpstestsa -AzureFileAccessMode 'ReadWrite' -AzureFileAccountKey $storageAccountKey -AzureFileAccountName azpstestsa -AzureFileShareName azps-rw-sharename
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IManagedEnvironmentStorage
+.Link
+https://docs.microsoft.com/powershell/module/az.app/new-azcontainerappmanagedenvstorage
+#>
+function New-AzContainerAppManagedEnvStorage {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IManagedEnvironmentStorage])]
+[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
+param(
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # Name of the Environment.
+ ${EnvName},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [System.String]
+ # Name of the storage.
+ ${StorageName},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter()]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.App.Support.AccessMode])]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Support.AccessMode]
+ # Access mode for storage
+ ${AzureFileAccessMode},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # Storage account key for azure file.
+ ${AzureFileAccountKey},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # Storage account name for azure file.
+ ${AzureFileAccountName},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # Azure file share name.
+ ${AzureFileShareName},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The credentials, account, tenant, and subscription used for communication with Azure.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ CreateExpanded = 'Az.App.private\New-AzContainerAppManagedEnvStorage_CreateExpanded';
+ }
+ if (('CreateExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/App/exports/New-AzContainerAppProbeHeaderObject.ps1 b/src/App/exports/New-AzContainerAppProbeHeaderObject.ps1
new file mode 100644
index 000000000000..cf7c4011181b
--- /dev/null
+++ b/src/App/exports/New-AzContainerAppProbeHeaderObject.ps1
@@ -0,0 +1,119 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for ContainerAppProbeHttpGetHttpHeadersItem.
+.Description
+Create an in-memory object for ContainerAppProbeHttpGetHttpHeadersItem.
+.Example
+New-AzContainerAppProbeHeaderObject -Name Custom-Header -Value Awesome
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ContainerAppProbeHttpGetHttpHeadersItem
+.Link
+https://docs.microsoft.com/powershell/module/az./new-azcontainerappprobeheaderobject
+#>
+function New-AzContainerAppProbeHeaderObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ContainerAppProbeHttpGetHttpHeadersItem])]
+[CmdletBinding(PositionalBinding=$false)]
+param(
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # The header field name.
+ ${Name},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # The header field value.
+ ${Value}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ __AllParameterSets = 'Az.App.custom\New-AzContainerAppProbeHeaderObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/App/exports/New-AzContainerAppProbeObject.ps1 b/src/App/exports/New-AzContainerAppProbeObject.ps1
new file mode 100644
index 000000000000..9e06f12aba65
--- /dev/null
+++ b/src/App/exports/New-AzContainerAppProbeObject.ps1
@@ -0,0 +1,232 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for ContainerAppProbe.
+.Description
+Create an in-memory object for ContainerAppProbe.
+.Example
+New-AzContainerAppProbeObject -HttpGetPath "/health" -HttpGetPort 8080 -InitialDelaySecond 3 -PeriodSecond 3 -Type Liveness
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ContainerAppProbe
+.Notes
+COMPLEX PARAMETER PROPERTIES
+
+To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
+
+HTTPGETHTTPHEADER : Custom headers to set in the request. HTTP allows repeated headers.
+ Name : The header field name
+ Value : The header field value
+.Link
+https://docs.microsoft.com/powershell/module/az./new-azcontainerappprobeobject
+#>
+function New-AzContainerAppProbeObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ContainerAppProbe])]
+[CmdletBinding(PositionalBinding=$false)]
+param(
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.Int32]
+ # Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ # Defaults to 3.
+ # Minimum value is 1.
+ # Maximum value is 10.
+ ${FailureThreshold},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # Host name to connect to, defaults to the pod IP.
+ # You probably want to set "Host" in httpHeaders instead.
+ ${HttpGetHost},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IContainerAppProbeHttpGetHttpHeadersItem[]]
+ # Custom headers to set in the request.
+ # HTTP allows repeated headers.
+ # To construct, see NOTES section for HTTPGETHTTPHEADER properties and create a hash table.
+ ${HttpGetHttpHeader},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # Path to access on the HTTP server.
+ ${HttpGetPath},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.Int32]
+ # 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.
+ ${HttpGetPort},
+
+ [Parameter()]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.App.Support.Scheme])]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Support.Scheme]
+ # Scheme to use for connecting to the host.
+ # Defaults to HTTP.
+ ${HttpGetScheme},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.Int32]
+ # Number of seconds after the container has started before liveness probes are initiated.
+ # Minimum value is 1.
+ # Maximum value is 60.
+ ${InitialDelaySecond},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.Int32]
+ # How often (in seconds) to perform the probe.
+ # Default to 10 seconds.
+ # Minimum value is 1.
+ # Maximum value is 240.
+ ${PeriodSecond},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.Int32]
+ # 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.
+ ${SuccessThreshold},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # Optional: Host name to connect to, defaults to the pod IP.
+ ${TcpSocketHost},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.Int32]
+ # 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.
+ ${TcpSocketPort},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.Int64]
+ # 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).
+ ${TerminationGracePeriodSecond},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.Int32]
+ # Number of seconds after which the probe times out.
+ # Defaults to 1 second.
+ # Minimum value is 1.
+ # Maximum value is 240.
+ ${TimeoutSecond},
+
+ [Parameter()]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.App.Support.Type])]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Support.Type]
+ # The type of probe.
+ ${Type}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ __AllParameterSets = 'Az.App.custom\New-AzContainerAppProbeObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/App/exports/New-AzContainerAppRegistryCredentialObject.ps1 b/src/App/exports/New-AzContainerAppRegistryCredentialObject.ps1
new file mode 100644
index 000000000000..8ebfd14630ed
--- /dev/null
+++ b/src/App/exports/New-AzContainerAppRegistryCredentialObject.ps1
@@ -0,0 +1,133 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for RegistryCredentials.
+.Description
+Create an in-memory object for RegistryCredentials.
+.Example
+New-AzContainerAppRegistryCredentialObject -Identity system -PasswordSecretRef "myloginpassword" -Server azps-containerapp -Username azps-container-user
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.RegistryCredentials
+.Link
+https://docs.microsoft.com/powershell/module/az./new-azcontainerappregistrycredentialobject
+#>
+function New-AzContainerAppRegistryCredentialObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.RegistryCredentials])]
+[CmdletBinding(PositionalBinding=$false)]
+param(
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # 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'.
+ ${Identity},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # The name of the Secret that contains the registry login password.
+ ${PasswordSecretRef},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # Container Registry Server.
+ ${Server},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # Container Registry Username.
+ ${Username}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ __AllParameterSets = 'Az.App.custom\New-AzContainerAppRegistryCredentialObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/App/exports/New-AzContainerAppScaleRuleAuthObject.ps1 b/src/App/exports/New-AzContainerAppScaleRuleAuthObject.ps1
new file mode 100644
index 000000000000..2658d8f86370
--- /dev/null
+++ b/src/App/exports/New-AzContainerAppScaleRuleAuthObject.ps1
@@ -0,0 +1,119 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for ScaleRuleAuth.
+.Description
+Create an in-memory object for ScaleRuleAuth.
+.Example
+New-AzContainerAppScaleRuleAuthObject -SecretRef "facebook-secret" -TriggerParameter "TriggerParameter"
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ScaleRuleAuth
+.Link
+https://docs.microsoft.com/powershell/module/az./new-azcontainerappscaleruleauthobject
+#>
+function New-AzContainerAppScaleRuleAuthObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ScaleRuleAuth])]
+[CmdletBinding(PositionalBinding=$false)]
+param(
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # Name of the Container App secret from which to pull the auth params.
+ ${SecretRef},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # Trigger Parameter that uses the secret.
+ ${TriggerParameter}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ __AllParameterSets = 'Az.App.custom\New-AzContainerAppScaleRuleAuthObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/App/exports/New-AzContainerAppScaleRuleObject.ps1 b/src/App/exports/New-AzContainerAppScaleRuleObject.ps1
new file mode 100644
index 000000000000..a3ddd13bbbe0
--- /dev/null
+++ b/src/App/exports/New-AzContainerAppScaleRuleObject.ps1
@@ -0,0 +1,189 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for ScaleRule.
+.Description
+Create an in-memory object for ScaleRule.
+.Example
+New-AzContainerAppScaleRuleObject -Name scaleRuleName -AzureQueueLength 30 -AzureQueueName azps_containerapp -CustomType "azure-servicebus"
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ScaleRule
+.Notes
+COMPLEX PARAMETER PROPERTIES
+
+To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
+
+AZUREQUEUEAUTH : Authentication secrets for the queue scale rule.
+ [SecretRef ]: Name of the Container App secret from which to pull the auth params.
+ [TriggerParameter ]: Trigger Parameter that uses the secret
+
+CUSTOMAUTH : Authentication secrets for the custom scale rule.
+ [SecretRef ]: Name of the Container App secret from which to pull the auth params.
+ [TriggerParameter ]: Trigger Parameter that uses the secret
+
+CUSTOMMETADATA : Metadata properties to describe custom scale rule.
+ [(Any) ]: This indicates any property can be added to this object.
+
+HTTPAUTH : Authentication secrets for the custom scale rule.
+ [SecretRef ]: Name of the Container App secret from which to pull the auth params.
+ [TriggerParameter ]: Trigger Parameter that uses the secret
+
+HTTPMETADATA : Metadata properties to describe http scale rule.
+ [(Any) ]: This indicates any property can be added to this object.
+.Link
+https://docs.microsoft.com/powershell/module/az./new-azcontainerappscaleruleobject
+#>
+function New-AzContainerAppScaleRuleObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ScaleRule])]
+[CmdletBinding(PositionalBinding=$false)]
+param(
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IScaleRuleAuth[]]
+ # Authentication secrets for the queue scale rule.
+ # To construct, see NOTES section for AZUREQUEUEAUTH properties and create a hash table.
+ ${AzureQueueAuth},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.Int32]
+ # Queue length.
+ ${AzureQueueLength},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # Queue name.
+ ${AzureQueueName},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IScaleRuleAuth[]]
+ # Authentication secrets for the custom scale rule.
+ # To construct, see NOTES section for CUSTOMAUTH properties and create a hash table.
+ ${CustomAuth},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.ICustomScaleRuleMetadata]
+ # Metadata properties to describe custom scale rule.
+ # To construct, see NOTES section for CUSTOMMETADATA properties and create a hash table.
+ ${CustomMetadata},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # Type of the custom scale rule
+ # eg: azure-servicebus, redis etc.
+ ${CustomType},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IScaleRuleAuth[]]
+ # Authentication secrets for the custom scale rule.
+ # To construct, see NOTES section for HTTPAUTH properties and create a hash table.
+ ${HttpAuth},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.IHttpScaleRuleMetadata]
+ # Metadata properties to describe http scale rule.
+ # To construct, see NOTES section for HTTPMETADATA properties and create a hash table.
+ ${HttpMetadata},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # Scale Rule Name.
+ ${Name}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ __AllParameterSets = 'Az.App.custom\New-AzContainerAppScaleRuleObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/App/exports/New-AzContainerAppSecretObject.ps1 b/src/App/exports/New-AzContainerAppSecretObject.ps1
new file mode 100644
index 000000000000..22e5940e9237
--- /dev/null
+++ b/src/App/exports/New-AzContainerAppSecretObject.ps1
@@ -0,0 +1,119 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for Secret.
+.Description
+Create an in-memory object for Secret.
+.Example
+New-AzContainerAppSecretObject -Name "masterkey" -Value "keyvalue"
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Secret
+.Link
+https://docs.microsoft.com/powershell/module/az./new-azcontainerappsecretobject
+#>
+function New-AzContainerAppSecretObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Secret])]
+[CmdletBinding(PositionalBinding=$false)]
+param(
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # Secret Name.
+ ${Name},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Category('Body')]
+ [System.String]
+ # Secret Value.
+ ${Value}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ __AllParameterSets = 'Az.App.custom\New-AzContainerAppSecretObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.App.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.App.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/App/exports/New-AzContainerAppTemplateObject.ps1 b/src/App/exports/New-AzContainerAppTemplateObject.ps1
new file mode 100644
index 000000000000..4d78b1a818c4
--- /dev/null
+++ b/src/App/exports/New-AzContainerAppTemplateObject.ps1
@@ -0,0 +1,197 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for Container.
+.Description
+Create an in-memory object for Container.
+.Example
+New-AzContainerAppTemplateObject -Name azps-containerapp -Image mcr.microsoft.com/azuredocs/containerapps-helloworld:latest -Probe $probe -ResourceCpu 2.0 -ResourceMemory 4.0Gi
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.App.Models.Api20220301.Container
+.Notes
+COMPLEX PARAMETER PROPERTIES
+
+To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
+
+ENV : Container environment variables.
+ [Name ]: Environment variable name.
+ [SecretRef ]: Name of the Container App secret from which to pull the environment variable value.
+ [Value ]: Non-secret environment variable value.
+
+PROBE