diff --git a/src/Security/Security.Autorest/Az.Security.csproj b/src/Security/Security.Autorest/Az.Security.csproj
new file mode 100644
index 000000000000..f77edd62a2eb
--- /dev/null
+++ b/src/Security/Security.Autorest/Az.Security.csproj
@@ -0,0 +1,10 @@
+
+
+ Security
+ Security
+ Security.Autorest
+
+
+
+
+
diff --git a/src/Security/Security.Autorest/Az.Security.format.ps1xml b/src/Security/Security.Autorest/Az.Security.format.ps1xml
new file mode 100644
index 000000000000..a5c48ee6dcf6
--- /dev/null
+++ b/src/Security/Security.Autorest/Az.Security.format.ps1xml
@@ -0,0 +1,4073 @@
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ActionableRemediation
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ActionableRemediation#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ InheritFromParentState
+
+
+ State
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ApiCollection
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ApiCollection#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+ ResourceGroupName
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ApiCollectionList
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ApiCollectionList#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ NextLink
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ApiCollectionProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ApiCollectionProperties#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ BaseUrl
+
+
+ DiscoveredVia
+
+
+ DisplayName
+
+
+ NumberOfApiEndpoint
+
+
+ NumberOfApiEndpointsWithSensitiveDataExposed
+
+
+ NumberOfExternalApiEndpoint
+
+
+ NumberOfInactiveApiEndpoint
+
+
+ NumberOfUnauthenticatedApiEndpoint
+
+
+ ProvisioningState
+
+
+ SensitivityLabel
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.Authorization
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.Authorization#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ Code
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AwsEnvironment
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AwsEnvironment#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EnvironmentType
+
+
+ AccountName
+
+
+ ScanInterval
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AwsOrganizationalData
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AwsOrganizationalData#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ OrganizationMembershipType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AwsOrganizationalDataMaster
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AwsOrganizationalDataMaster#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ OrganizationMembershipType
+
+
+ StacksetName
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AwsOrganizationalDataMember
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AwsOrganizationalDataMember#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ OrganizationMembershipType
+
+
+ ParentHierarchyId
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AzureDevOpsOrg
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AzureDevOpsOrg#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+ ResourceGroupName
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AzureDevOpsOrganizationConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AzureDevOpsOrganizationConfiguration#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ AutoDiscovery
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AzureDevOpsOrgListResponse
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AzureDevOpsOrgListResponse#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ NextLink
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AzureDevOpsOrgProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AzureDevOpsOrgProperties#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ OnboardingState
+
+
+ ProvisioningState
+
+
+ ProvisioningStatusMessage
+
+
+ ProvisioningStatusUpdateTimeUtc
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AzureDevOpsProject
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AzureDevOpsProject#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+ ResourceGroupName
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AzureDevOpsProjectConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AzureDevOpsProjectConfiguration#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ AutoDiscovery
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AzureDevOpsProjectListResponse
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AzureDevOpsProjectListResponse#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ NextLink
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AzureDevOpsProjectProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AzureDevOpsProjectProperties#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ OnboardingState
+
+
+ ParentOrgName
+
+
+ ProjectId
+
+
+ ProvisioningState
+
+
+ ProvisioningStatusMessage
+
+
+ ProvisioningStatusUpdateTimeUtc
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AzureDevOpsRepository
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AzureDevOpsRepository#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+ ResourceGroupName
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AzureDevOpsRepositoryListResponse
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AzureDevOpsRepositoryListResponse#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ NextLink
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AzureDevOpsRepositoryProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AzureDevOpsRepositoryProperties#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ OnboardingState
+
+
+ ParentOrgName
+
+
+ ParentProjectName
+
+
+ ProvisioningState
+
+
+ ProvisioningStatusMessage
+
+
+ ProvisioningStatusUpdateTimeUtc
+
+
+ RepoId
+
+
+ RepoUrl
+
+
+ Visibility
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AzureDevOpsScopeEnvironment
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AzureDevOpsScopeEnvironment#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ EnvironmentType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AzureTrackedResourceLocation
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AzureTrackedResourceLocation#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ Location
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.BaseResourceConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.BaseResourceConfiguration#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ DesiredOnboardingState
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CategoryConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CategoryConfiguration#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Category
+
+
+ MinimumSeverityLevel
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CloudErrorBody
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CloudErrorBody#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Code
+
+
+ Message
+
+
+ Target
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CloudOffering
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CloudOffering#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Description
+
+
+ OfferingType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CspmMonitorAwsOffering
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CspmMonitorAwsOffering#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Description
+
+
+ OfferingType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CspmMonitorAwsOfferingNativeCloudConnection
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CspmMonitorAwsOfferingNativeCloudConnection#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ CloudRoleArn
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CspmMonitorAzureDevOpsOffering
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CspmMonitorAzureDevOpsOffering#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Description
+
+
+ OfferingType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CspmMonitorGcpOffering
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CspmMonitorGcpOffering#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Description
+
+
+ OfferingType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CspmMonitorGcpOfferingNativeCloudConnection
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CspmMonitorGcpOfferingNativeCloudConnection#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ServiceAccountEmailAddress
+
+
+ WorkloadIdentityProviderId
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CspmMonitorGithubOffering
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CspmMonitorGithubOffering#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Description
+
+
+ OfferingType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CspmMonitorGitLabOffering
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CspmMonitorGitLabOffering#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Description
+
+
+ OfferingType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmAwsOffering
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmAwsOffering#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Description
+
+
+ OfferingType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmAwsOfferingCiemDiscovery
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmAwsOfferingCiemDiscovery#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ CloudRoleArn
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmAwsOfferingCiemOidc
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmAwsOfferingCiemOidc#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AzureActiveDirectoryAppName
+
+
+ CloudRoleArn
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmAwsOfferingDatabasesDspm
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmAwsOfferingDatabasesDspm#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CloudRoleArn
+
+
+ Enabled
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmAwsOfferingDataSensitivityDiscovery
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmAwsOfferingDataSensitivityDiscovery#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CloudRoleArn
+
+
+ Enabled
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmAwsOfferingMdcContainersAgentlessDiscoveryK8S
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmAwsOfferingMdcContainersAgentlessDiscoveryK8S#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CloudRoleArn
+
+
+ Enabled
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmAwsOfferingMdcContainersImageAssessment
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmAwsOfferingMdcContainersImageAssessment#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CloudRoleArn
+
+
+ Enabled
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmAwsOfferingVMScanners
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmAwsOfferingVMScanners#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ Enabled
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmAwsOfferingVMScannersConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmAwsOfferingVMScannersConfiguration#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CloudRoleArn
+
+
+ ScanningMode
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmAwsOfferingVMScannersConfigurationExclusionTags
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmAwsOfferingVMScannersConfigurationExclusionTags#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ Item
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmGcpOffering
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmGcpOffering#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Description
+
+
+ OfferingType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmGcpOfferingCiemDiscovery
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmGcpOfferingCiemDiscovery#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AzureActiveDirectoryAppName
+
+
+ ServiceAccountEmailAddress
+
+
+ WorkloadIdentityProviderId
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmGcpOfferingDataSensitivityDiscovery
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmGcpOfferingDataSensitivityDiscovery#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Enabled
+
+
+ ServiceAccountEmailAddress
+
+
+ WorkloadIdentityProviderId
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmGcpOfferingMdcContainersAgentlessDiscoveryK8S
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmGcpOfferingMdcContainersAgentlessDiscoveryK8S#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Enabled
+
+
+ ServiceAccountEmailAddress
+
+
+ WorkloadIdentityProviderId
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmGcpOfferingMdcContainersImageAssessment
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmGcpOfferingMdcContainersImageAssessment#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Enabled
+
+
+ ServiceAccountEmailAddress
+
+
+ WorkloadIdentityProviderId
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmGcpOfferingVMScanners
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmGcpOfferingVMScanners#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ Enabled
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmGcpOfferingVMScannersConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmGcpOfferingVMScannersConfiguration#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ ScanningMode
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmGcpOfferingVMScannersConfigurationExclusionTags
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmGcpOfferingVMScannersConfigurationExclusionTags#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ Item
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderFoDatabasesAwsOfferingArcAutoProvisioning
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderFoDatabasesAwsOfferingArcAutoProvisioning#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CloudRoleArn
+
+
+ Enabled
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderFoDatabasesAwsOfferingArcAutoProvisioningConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderFoDatabasesAwsOfferingArcAutoProvisioningConfiguration#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PrivateLinkScope
+
+
+ Proxy
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderFoDatabasesAwsOfferingDatabasesDspm
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderFoDatabasesAwsOfferingDatabasesDspm#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CloudRoleArn
+
+
+ Enabled
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderFoDatabasesAwsOfferingRds
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderFoDatabasesAwsOfferingRds#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CloudRoleArn
+
+
+ Enabled
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForContainersAwsOffering
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForContainersAwsOffering#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Description
+
+
+ OfferingType
+
+
+ AutoProvisioning
+
+
+ EnableContainerVulnerabilityAssessment
+
+
+ KubeAuditRetentionTime
+
+
+ ScubaExternalId
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForContainersAwsOfferingCloudWatchToKinesis
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForContainersAwsOfferingCloudWatchToKinesis#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ CloudRoleArn
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForContainersAwsOfferingContainerVulnerabilityAssessment
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForContainersAwsOfferingContainerVulnerabilityAssessment#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ CloudRoleArn
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForContainersAwsOfferingContainerVulnerabilityAssessmentTask
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForContainersAwsOfferingContainerVulnerabilityAssessmentTask#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ CloudRoleArn
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForContainersAwsOfferingKinesisToS3
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForContainersAwsOfferingKinesisToS3#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ CloudRoleArn
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForContainersAwsOfferingKubernetesScubaReader
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForContainersAwsOfferingKubernetesScubaReader#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ CloudRoleArn
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForContainersAwsOfferingKubernetesService
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForContainersAwsOfferingKubernetesService#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ CloudRoleArn
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForContainersAwsOfferingMdcContainersAgentlessDiscoveryK8S
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForContainersAwsOfferingMdcContainersAgentlessDiscoveryK8S#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CloudRoleArn
+
+
+ Enabled
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForContainersAwsOfferingMdcContainersImageAssessment
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForContainersAwsOfferingMdcContainersImageAssessment#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CloudRoleArn
+
+
+ Enabled
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForContainersGcpOffering
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForContainersGcpOffering#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Description
+
+
+ OfferingType
+
+
+ AuditLogsAutoProvisioningFlag
+
+
+ DefenderAgentAutoProvisioningFlag
+
+
+ PolicyAgentAutoProvisioningFlag
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForContainersGcpOfferingDataPipelineNativeCloudConnection
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForContainersGcpOfferingDataPipelineNativeCloudConnection#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ServiceAccountEmailAddress
+
+
+ WorkloadIdentityProviderId
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForContainersGcpOfferingMdcContainersAgentlessDiscoveryK8S
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForContainersGcpOfferingMdcContainersAgentlessDiscoveryK8S#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Enabled
+
+
+ ServiceAccountEmailAddress
+
+
+ WorkloadIdentityProviderId
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForContainersGcpOfferingMdcContainersImageAssessment
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForContainersGcpOfferingMdcContainersImageAssessment#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Enabled
+
+
+ ServiceAccountEmailAddress
+
+
+ WorkloadIdentityProviderId
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForContainersGcpOfferingNativeCloudConnection
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForContainersGcpOfferingNativeCloudConnection#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ServiceAccountEmailAddress
+
+
+ WorkloadIdentityProviderId
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForDatabasesAwsOffering
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForDatabasesAwsOffering#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Description
+
+
+ OfferingType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForDatabasesGcpOffering
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForDatabasesGcpOffering#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Description
+
+
+ OfferingType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForDatabasesGcpOfferingArcAutoProvisioning
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForDatabasesGcpOfferingArcAutoProvisioning#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ Enabled
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForDatabasesGcpOfferingArcAutoProvisioningConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForDatabasesGcpOfferingArcAutoProvisioningConfiguration#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PrivateLinkScope
+
+
+ Proxy
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForDatabasesGcpOfferingDefenderForDatabasesArcAutoProvisioning
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForDatabasesGcpOfferingDefenderForDatabasesArcAutoProvisioning#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ServiceAccountEmailAddress
+
+
+ WorkloadIdentityProviderId
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForDevOpsAzureDevOpsOffering
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForDevOpsAzureDevOpsOffering#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Description
+
+
+ OfferingType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForDevOpsGithubOffering
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForDevOpsGithubOffering#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Description
+
+
+ OfferingType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForDevOpsGitLabOffering
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForDevOpsGitLabOffering#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Description
+
+
+ OfferingType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersAwsOffering
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersAwsOffering#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Description
+
+
+ OfferingType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersAwsOfferingArcAutoProvisioning
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersAwsOfferingArcAutoProvisioning#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CloudRoleArn
+
+
+ Enabled
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersAwsOfferingArcAutoProvisioningConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersAwsOfferingArcAutoProvisioningConfiguration#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PrivateLinkScope
+
+
+ Proxy
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersAwsOfferingDefenderForServers
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersAwsOfferingDefenderForServers#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ CloudRoleArn
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersAwsOfferingMdeAutoProvisioning
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersAwsOfferingMdeAutoProvisioning#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ Enabled
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersAwsOfferingVaAutoProvisioning
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersAwsOfferingVaAutoProvisioning#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ Enabled
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersAwsOfferingVMScanners
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersAwsOfferingVMScanners#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ Enabled
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersAwsOfferingVMScannersConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersAwsOfferingVMScannersConfiguration#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CloudRoleArn
+
+
+ ScanningMode
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersAwsOfferingVMScannersConfigurationExclusionTags
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersAwsOfferingVMScannersConfigurationExclusionTags#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ Item
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersGcpOffering
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersGcpOffering#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Description
+
+
+ OfferingType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersGcpOfferingArcAutoProvisioning
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersGcpOfferingArcAutoProvisioning#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ Enabled
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersGcpOfferingArcAutoProvisioningConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersGcpOfferingArcAutoProvisioningConfiguration#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PrivateLinkScope
+
+
+ Proxy
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersGcpOfferingDefenderForServers
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersGcpOfferingDefenderForServers#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ServiceAccountEmailAddress
+
+
+ WorkloadIdentityProviderId
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersGcpOfferingMdeAutoProvisioning
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersGcpOfferingMdeAutoProvisioning#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ Enabled
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersGcpOfferingVaAutoProvisioning
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersGcpOfferingVaAutoProvisioning#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ Enabled
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersGcpOfferingVMScanners
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersGcpOfferingVMScanners#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ Enabled
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersGcpOfferingVMScannersConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersGcpOfferingVMScannersConfiguration#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ ScanningMode
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersGcpOfferingVMScannersConfigurationExclusionTags
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersGcpOfferingVMScannersConfigurationExclusionTags#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ Item
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DevOpsConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DevOpsConfiguration#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+ ResourceGroupName
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DevOpsConfigurationListResponse
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DevOpsConfigurationListResponse#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ NextLink
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DevOpsConfigurationProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DevOpsConfigurationProperties#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AutoDiscovery
+
+
+ ProvisioningState
+
+
+ ProvisioningStatusMessage
+
+
+ ProvisioningStatusUpdateTimeUtc
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ErrorDetail
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ErrorDetail#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Code
+
+
+ Message
+
+
+ Target
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ErrorDetailAutoGenerated
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ErrorDetailAutoGenerated#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Code
+
+
+ Message
+
+
+ Target
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ETag
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ETag#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ Etag
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GcpOrganizationalData
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GcpOrganizationalData#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ OrganizationMembershipType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GcpOrganizationalDataMember
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GcpOrganizationalDataMember#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ OrganizationMembershipType
+
+
+ ManagementProjectNumber
+
+
+ ParentHierarchyId
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GcpOrganizationalDataOrganization
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GcpOrganizationalDataOrganization#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ OrganizationMembershipType
+
+
+ OrganizationName
+
+
+ ServiceAccountEmailAddress
+
+
+ WorkloadIdentityProviderId
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GcpProjectDetails
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GcpProjectDetails#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ProjectId
+
+
+ ProjectName
+
+
+ ProjectNumber
+
+
+ WorkloadIdentityPoolId
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GcpProjectEnvironment
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GcpProjectEnvironment#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EnvironmentType
+
+
+ ScanInterval
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitHubOwner
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitHubOwner#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+ ResourceGroupName
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitHubOwnerConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitHubOwnerConfiguration#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ AutoDiscovery
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitHubOwnerListResponse
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitHubOwnerListResponse#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ NextLink
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitHubOwnerProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitHubOwnerProperties#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GitHubInternalId
+
+
+ OnboardingState
+
+
+ OwnerUrl
+
+
+ ProvisioningState
+
+
+ ProvisioningStatusMessage
+
+
+ ProvisioningStatusUpdateTimeUtc
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitHubRepository
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitHubRepository#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+ ResourceGroupName
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitHubRepositoryListResponse
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitHubRepositoryListResponse#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ NextLink
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitHubRepositoryProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitHubRepositoryProperties#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ OnboardingState
+
+
+ ParentOwnerName
+
+
+ ProvisioningState
+
+
+ ProvisioningStatusMessage
+
+
+ ProvisioningStatusUpdateTimeUtc
+
+
+ RepoFullName
+
+
+ RepoId
+
+
+ RepoName
+
+
+ RepoUrl
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitHubScopeEnvironment
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitHubScopeEnvironment#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ EnvironmentType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitLabGroup
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitLabGroup#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+ ResourceGroupName
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitLabGroupConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitLabGroupConfiguration#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ AutoDiscovery
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitLabGroupListResponse
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitLabGroupListResponse#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ NextLink
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitLabGroupProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitLabGroupProperties#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ FullyQualifiedFriendlyName
+
+
+ FullyQualifiedName
+
+
+ OnboardingState
+
+
+ ProvisioningState
+
+
+ ProvisioningStatusMessage
+
+
+ ProvisioningStatusUpdateTimeUtc
+
+
+ Url
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitLabProject
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitLabProject#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+ ResourceGroupName
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitLabProjectListResponse
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitLabProjectListResponse#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ NextLink
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitLabProjectProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitLabProjectProperties#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ FullyQualifiedFriendlyName
+
+
+ FullyQualifiedName
+
+
+ FullyQualifiedParentGroupName
+
+
+ OnboardingState
+
+
+ ProvisioningState
+
+
+ ProvisioningStatusMessage
+
+
+ ProvisioningStatusUpdateTimeUtc
+
+
+ Url
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitLabScopeEnvironment
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitLabScopeEnvironment#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ EnvironmentType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.InformationProtectionAwsOffering
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.InformationProtectionAwsOffering#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Description
+
+
+ OfferingType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.InformationProtectionAwsOfferingInformationProtection
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.InformationProtectionAwsOfferingInformationProtection#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ CloudRoleArn
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.OperationStatusResult
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.OperationStatusResult#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EndTime
+
+
+ Name
+
+
+ PercentComplete
+
+
+ ResourceGroupName
+
+
+ StartTime
+
+
+ Status
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ProxyResource
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ProxyResource#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.Resource
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.Resource#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ResourceAutoGenerated
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ResourceAutoGenerated#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ResourceKind
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ResourceKind#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ Kind
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.SecurityConnector
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.SecurityConnector#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+ ResourceGroupName
+
+
+ EnvironmentName
+
+
+ Location
+
+
+ HierarchyIdentifier
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.SecurityConnectorEnvironment
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.SecurityConnectorEnvironment#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ EnvironmentType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.SecurityConnectorProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.SecurityConnectorProperties#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EnvironmentName
+
+
+ HierarchyIdentifier
+
+
+ HierarchyIdentifierTrialEndDate
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.SecurityConnectorsList
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.SecurityConnectorsList#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ NextLink
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.SecurityIdentity
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.SecurityIdentity#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ApiId
+
+
+ GroupFqName
+
+
+ OperationResultId
+
+
+ OrgName
+
+
+ OwnerName
+
+
+ ProjectName
+
+
+ RepoName
+
+
+ ResourceGroupName
+
+
+ SecurityConnectorName
+
+
+ ServiceName
+
+
+ SubscriptionId
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.SystemData
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.SystemData#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CreatedAt
+
+
+ CreatedBy
+
+
+ CreatedByType
+
+
+ LastModifiedAt
+
+
+ LastModifiedBy
+
+
+ LastModifiedByType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.Tags
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.Tags#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ Item
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.TargetBranchConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.TargetBranchConfiguration#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ AnnotateDefaultBranch
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.TrackedResource
+
+ Microsoft.Azure.PowerShell.Cmdlets.Security.Models.TrackedResource#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Etag
+
+
+ Kind
+
+
+ Location
+
+
+ Name
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Security/Security.Autorest/Az.Security.psd1 b/src/Security/Security.Autorest/Az.Security.psd1
new file mode 100644
index 000000000000..d2a355dfd745
--- /dev/null
+++ b/src/Security/Security.Autorest/Az.Security.psd1
@@ -0,0 +1,23 @@
+@{
+ GUID = '6f1c0dfd-dfcd-4e5b-b77c-a64a9d355ebf'
+ RootModule = './Az.Security.psm1'
+ ModuleVersion = '1.5.1'
+ CompatiblePSEditions = 'Core', 'Desktop'
+ Author = 'Microsoft Corporation'
+ CompanyName = 'Microsoft Corporation'
+ Copyright = 'Microsoft Corporation. All rights reserved.'
+ Description = 'Microsoft Azure PowerShell: Security cmdlets'
+ PowerShellVersion = '5.1'
+ DotNetFrameworkVersion = '4.7.2'
+ RequiredAssemblies = './bin/Az.Security.private.dll'
+ FormatsToProcess = './Az.Security.format.ps1xml'
+ FunctionsToExport = 'Get-AzSecurityApiCollection', 'Get-AzSecurityConnector', 'Get-AzSecurityConnectorAzureDevOpsOrg', 'Get-AzSecurityConnectorAzureDevOpsOrgAvailable', 'Get-AzSecurityConnectorAzureDevOpsProject', 'Get-AzSecurityConnectorAzureDevOpsRepo', 'Get-AzSecurityConnectorDevOpsConfiguration', 'Get-AzSecurityConnectorGitHubOwner', 'Get-AzSecurityConnectorGitHubOwnerAvailable', 'Get-AzSecurityConnectorGitHubRepo', 'Get-AzSecurityConnectorGitLabGroup', 'Get-AzSecurityConnectorGitLabGroupAvailable', 'Get-AzSecurityConnectorGitLabProject', 'Get-AzSecurityConnectorGitLabSubgroup', 'Invoke-AzSecurityApiCollectionApimOffboard', 'Invoke-AzSecurityApiCollectionApimOnboard', 'New-AzSecurityAwsEnvironmentObject', 'New-AzSecurityAwsOrganizationalDataMasterObject', 'New-AzSecurityAwsOrganizationalDataMemberObject', 'New-AzSecurityAzureDevOpsScopeEnvironmentObject', 'New-AzSecurityConnector', 'New-AzSecurityConnectorActionableRemediationObject', 'New-AzSecurityConnectorDevOpsConfiguration', 'New-AzSecurityCspmMonitorAwsOfferingObject', 'New-AzSecurityCspmMonitorAzureDevOpsOfferingObject', 'New-AzSecurityCspmMonitorGcpOfferingObject', 'New-AzSecurityCspmMonitorGithubOfferingObject', 'New-AzSecurityCspmMonitorGitLabOfferingObject', 'New-AzSecurityDefenderCspmAwsOfferingObject', 'New-AzSecurityDefenderCspmGcpOfferingObject', 'New-AzSecurityDefenderForContainersAwsOfferingObject', 'New-AzSecurityDefenderForContainersGcpOfferingObject', 'New-AzSecurityDefenderForDatabasesAwsOfferingObject', 'New-AzSecurityDefenderForDatabasesGcpOfferingObject', 'New-AzSecurityDefenderForServersAwsOfferingObject', 'New-AzSecurityDefenderForServersGcpOfferingObject', 'New-AzSecurityGcpOrganizationalDataMemberObject', 'New-AzSecurityGcpOrganizationalDataOrganizationObject', 'New-AzSecurityGcpProjectEnvironmentObject', 'New-AzSecurityGitHubScopeEnvironmentObject', 'New-AzSecurityGitLabScopeEnvironmentObject', 'New-AzSecurityInformationProtectionAwsOfferingObject', 'Remove-AzSecurityConnector', 'Remove-AzSecurityConnectorDevOpsConfiguration', 'Update-AzSecurityConnector', 'Update-AzSecurityConnectorAzureDevOpsOrg', 'Update-AzSecurityConnectorAzureDevOpsProject', 'Update-AzSecurityConnectorAzureDevOpsRepo', 'Update-AzSecurityConnectorDevOpsConfiguration'
+ PrivateData = @{
+ PSData = @{
+ Tags = 'Azure', 'ResourceManager', 'ARM', 'PSModule', 'Security'
+ LicenseUri = 'https://aka.ms/azps-license'
+ ProjectUri = 'https://github.com/Azure/azure-powershell'
+ ReleaseNotes = ''
+ }
+ }
+}
diff --git a/src/Security/Security.Autorest/Az.Security.psm1 b/src/Security/Security.Autorest/Az.Security.psm1
new file mode 100644
index 000000000000..dccdc942f532
--- /dev/null
+++ b/src/Security/Security.Autorest/Az.Security.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://learn.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.Security.private.dll')
+
+ # Get the private module's instance
+ $instance = [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.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/Security/Security.Autorest/README.md b/src/Security/Security.Autorest/README.md
new file mode 100644
index 000000000000..bf75826e0ded
--- /dev/null
+++ b/src/Security/Security.Autorest/README.md
@@ -0,0 +1,184 @@
+
+# Az.Security
+This directory contains the PowerShell module for the Security service.
+
+---
+## 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.Security`, see [how-to.md](how-to.md).
+
+
+### AutoRest Configuration
+> see https://aka.ms/autorest
+
+###
+``` yaml
+commit: 6c4497e6b0aaad8127f2dd50fa8a29aaf68f24e6
+require:
+ - $(this-folder)/../../readme.azure.noprofile.md
+input-file:
+ - $(repo)/specification/security/resource-manager/Microsoft.Security/preview/2023-10-01-preview/securityConnectors.json
+ - $(repo)/specification/security/resource-manager/Microsoft.Security/preview/2023-09-01-preview/securityConnectorsDevOps.json
+ - $(repo)/specification/security/resource-manager/Microsoft.Security/stable/2023-11-15/apiCollections.json
+
+title: Security
+module-version: 1.5.1
+subject-prefix: $(service-name)
+enable-parent-pipeline-input: false
+
+directive:
+ - rename-model:
+ from: EnvironmentData
+ to: SecurityConnectorEnvironment
+ - rename-model:
+ from: AwsEnvironmentData
+ to: AwsEnvironment
+ - rename-model:
+ from: GcpProjectEnvironmentData
+ to: GcpProjectEnvironment
+ - rename-model:
+ from: AzureDevOpsScopeEnvironmentData
+ to: AzureDevOpsScopeEnvironment
+ - rename-model:
+ from: GitlabScopeEnvironmentData
+ to: GitLabScopeEnvironment
+ - rename-model:
+ from: GithubScopeEnvironmentData
+ to: GitHubScopeEnvironment
+
+ - from: securityConnectors.json
+ where: $.definitions
+ debug: true
+ transform: >
+ $.defenderFoDatabasesAwsOffering['x-ms-client-name'] = 'DefenderForDatabasesAwsOffering'
+
+ - from: types.json
+ where: $.definitions.Kind
+ transform: >
+ $['x-ms-client-name'] = 'ResourceKind';
+
+ - from: apiCollections.json
+ where: $.paths..operationId
+ transform: >
+ return $.replace(/OffboardAzureApiManagementApi$/g, "ApiCollectionAPIM_Delete")
+
+ - where:
+ verb: Invoke
+ subject: ^AzureApiCollection$
+ set:
+ subject: ApiCollectionApimOnboard
+
+ - where:
+ verb: Remove
+ subject: ^ApiCollectionApim$
+ set:
+ verb: Invoke
+ subject: ApiCollectionApimOffboard
+
+ # New-* cmdlets, ViaIdentity is not required
+ - where:
+ variant: ^(Create|Update)(?!.*?Expanded|JsonFilePath|JsonString)
+ remove: true
+ - where:
+ variant: ^CreateViaIdentity.*$
+ remove: true
+
+ # Remove the set-* cmdlet
+ - where:
+ verb: Set
+ remove: true
+
+ - where:
+ subject: ^(DevOpsConfiguration|AzureDevOps|GitHub|GitLab)(.*)
+ set:
+ subject-prefix: SecurityConnector
+
+ - where:
+ subject: (.*)(AzureDevOpsRepos)$
+ set:
+ subject: $1AzureDevOpsRepo
+
+ - where:
+ subject: (.*)(GitHubRepos)$
+ set:
+ subject: $1GitHubRepo
+
+ - where:
+ verb: New
+ subject: ^(AzureDevOpsOrg|AzureDevOpsProject|AzureDevOpsRepo)(.*)
+ remove: true
+
+ - where:
+ subject: ^(DevOpsOperationResult)(.*)
+ remove: true
+
+ - where:
+ subject: ^(DevOpsConfiguration|AzureDevOps|GitHub|GitLab)(.*)
+ parameter-name: ProvisioningState
+ hide: true
+
+ - where:
+ verb: Update
+ subject: ^(AzureDevOps)(.*)
+ parameter-name: OnboardingState
+ hide: true
+
+ - where:
+ model-name: SecurityConnector
+ set:
+ format-table:
+ properties:
+ - Name
+ - ResourceGroupName
+ - EnvironmentName
+ - Location
+ - HierarchyIdentifier
+
+ - no-inline:
+ - SecurityConnectorEnvironment
+ - AwsOrganizationalData
+ - GcpOrganizationalData
+ - ActionableRemediation
+
+ - model-cmdlet:
+ - model-name: AwsEnvironment
+ - model-name: AwsOrganizationalDataMaster
+ - model-name: AwsOrganizationalDataMember
+ - model-name: GcpProjectEnvironment
+ - model-name: GcpOrganizationalDataOrganization
+ - model-name: GcpOrganizationalDataMember
+ - model-name: AzureDevOpsScopeEnvironment
+ - model-name: GitLabScopeEnvironment
+ - model-name: GitHubScopeEnvironment
+ - model-name: CspmMonitorAwsOffering
+ - model-name: CspmMonitorGcpOffering
+ - model-name: CspmMonitorGithubOffering
+ - model-name: CspmMonitorAzureDevOpsOffering
+ - model-name: CspmMonitorGitLabOffering
+ - model-name: DefenderCspmAwsOffering
+ - model-name: DefenderCspmGcpOffering
+ - model-name: DefenderForContainersAwsOffering
+ - model-name: DefenderForContainersGcpOffering
+ - model-name: DefenderForDatabasesAwsOffering
+ - model-name: DefenderForDatabasesGcpOffering
+ - model-name: DefenderForServersAwsOffering
+ - model-name: DefenderForServersGcpOffering
+ - model-name: InformationProtectionAwsOffering
+ - model-name: ActionableRemediation
+ cmdlet-name: New-AzSecurityConnectorActionableRemediationObject
+```
diff --git a/src/Security/Security.Autorest/UX/Microsoft.ApiManagement/service-apiCollections.json b/src/Security/Security.Autorest/UX/Microsoft.ApiManagement/service-apiCollections.json
new file mode 100644
index 000000000000..cac1371c5a4e
--- /dev/null
+++ b/src/Security/Security.Autorest/UX/Microsoft.ApiManagement/service-apiCollections.json
@@ -0,0 +1,138 @@
+{
+ "resourceType": "service/apiCollections",
+ "apiVersion": "2023-11-15",
+ "learnMore": {
+ "url": "https://learn.microsoft.com/powershell/module/az.security"
+ },
+ "commands": [
+ {
+ "name": "Get-AzSecurityApiCollection",
+ "description": "Gets an Azure API Management API if it has been onboarded to Microsoft Defender for APIs.\nIf an Azure API Management API is onboarded to Microsoft Defender for APIs, the system will monitor the operations within the Azure API Management API for intrusive behaviors and provide alerts for attacks that have been detected.",
+ "path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/providers/Microsoft.Security/apiCollections/{apiId}",
+ "help": {
+ "learnMore": {
+ "url": "https://learn.microsoft.com/powershell/module/az.security/get-azsecurityapicollection"
+ },
+ "parameterSets": [
+ {
+ "parameters": [
+ "-ApiId ",
+ "-ResourceGroupName ",
+ "-ServiceName ",
+ "[-SubscriptionId ]"
+ ]
+ }
+ ]
+ },
+ "examples": [
+ {
+ "description": "Gets an Azure API Management API if it has been onboarded to Microsoft Defender for APIs. If an Azure API Management API is onboarded to Microsoft Defender for APIs, the system will monitor the operations within the Azure API Management API for intrusive behaviors and provide alerts for attacks that have been detected.",
+ "parameters": [
+ {
+ "name": "-ApiId",
+ "value": "[Path.apiId]"
+ },
+ {
+ "name": "-ResourceGroupName",
+ "value": "[Path.resourceGroupName]"
+ },
+ {
+ "name": "-ServiceName",
+ "value": "[Path.serviceName]"
+ },
+ {
+ "name": "-SubscriptionId",
+ "value": "[Path.subscriptionId]"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "Invoke-AzSecurityApiCollectionApimOffboard",
+ "description": "Offboard an Azure API Management API from Microsoft Defender for APIs.\nThe system will stop monitoring the operations within the Azure API Management API for intrusive behaviors.",
+ "path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/providers/Microsoft.Security/apiCollections/{apiId}",
+ "help": {
+ "learnMore": {
+ "url": "https://learn.microsoft.com/powershell/module/az.security/invoke-azsecurityapicollectionapimoffboard"
+ },
+ "parameterSets": [
+ {
+ "parameters": [
+ "-ApiId ",
+ "-ResourceGroupName ",
+ "-ServiceName ",
+ "[-SubscriptionId ]"
+ ]
+ }
+ ]
+ },
+ "examples": [
+ {
+ "description": "Offboard an Azure API Management API from Microsoft Defender for APIs. The system will stop monitoring the operations within the Azure API Management API for intrusive behaviors.",
+ "parameters": [
+ {
+ "name": "-ApiId",
+ "value": "[Path.apiId]"
+ },
+ {
+ "name": "-ResourceGroupName",
+ "value": "[Path.resourceGroupName]"
+ },
+ {
+ "name": "-ServiceName",
+ "value": "[Path.serviceName]"
+ },
+ {
+ "name": "-SubscriptionId",
+ "value": "[Path.subscriptionId]"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "Invoke-AzSecurityApiCollectionApimOnboard",
+ "description": "Onboard an Azure API Management API to Microsoft Defender for APIs.\nThe system will start monitoring the operations within the Azure Management API for intrusive behaviors and provide alerts for attacks that have been detected.",
+ "path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/providers/Microsoft.Security/apiCollections/{apiId}",
+ "help": {
+ "learnMore": {
+ "url": "https://learn.microsoft.com/powershell/module/az.security/invoke-azsecurityapicollectionapimonboard"
+ },
+ "parameterSets": [
+ {
+ "parameters": [
+ "-ApiId ",
+ "-ResourceGroupName ",
+ "-ServiceName ",
+ "[-SubscriptionId ]"
+ ]
+ }
+ ]
+ },
+ "examples": [
+ {
+ "description": "Onboard an Azure API Management API to Microsoft Defender for APIs. The system will start monitoring the operations within the Azure Management API for intrusive behaviors and provide alerts for attacks that have been detected.",
+ "parameters": [
+ {
+ "name": "-ApiId",
+ "value": "[Path.apiId]"
+ },
+ {
+ "name": "-ResourceGroupName",
+ "value": "[Path.resourceGroupName]"
+ },
+ {
+ "name": "-ServiceName",
+ "value": "[Path.serviceName]"
+ },
+ {
+ "name": "-SubscriptionId",
+ "value": "[Path.subscriptionId]"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/src/Security/Security.Autorest/UX/Microsoft.Security/securityConnectors-azureDevOpsOrgs-projects-repos.json b/src/Security/Security.Autorest/UX/Microsoft.Security/securityConnectors-azureDevOpsOrgs-projects-repos.json
new file mode 100644
index 000000000000..19fdc4d4e2f2
--- /dev/null
+++ b/src/Security/Security.Autorest/UX/Microsoft.Security/securityConnectors-azureDevOpsOrgs-projects-repos.json
@@ -0,0 +1,62 @@
+{
+ "resourceType": "securityConnectors/azureDevOpsOrgs/projects/repos",
+ "apiVersion": "2023-09-01-preview",
+ "learnMore": {
+ "url": "https://learn.microsoft.com/powershell/module/az.security"
+ },
+ "commands": [
+ {
+ "name": "Get-AzSecurityConnectorAzureDevOpsRepo",
+ "description": "Returns a monitored Azure DevOps repository resource.",
+ "path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors/{securityConnectorName}/devops/default/azureDevOpsOrgs/{orgName}/projects/{projectName}/repos/{repoName}",
+ "help": {
+ "learnMore": {
+ "url": "https://learn.microsoft.com/powershell/module/az.security/get-azsecurityconnectorazuredevopsrepo"
+ },
+ "parameterSets": [
+ {
+ "parameters": [
+ "-OrgName ",
+ "-ProjectName ",
+ "-RepoName ",
+ "-ResourceGroupName ",
+ "-SecurityConnectorName ",
+ "[-SubscriptionId ]"
+ ]
+ }
+ ]
+ },
+ "examples": [
+ {
+ "description": "Returns a monitored Azure DevOps repository resource.",
+ "parameters": [
+ {
+ "name": "-OrgName",
+ "value": "[Path.orgName]"
+ },
+ {
+ "name": "-ProjectName",
+ "value": "[Path.projectName]"
+ },
+ {
+ "name": "-RepoName",
+ "value": "[Path.repoName]"
+ },
+ {
+ "name": "-ResourceGroupName",
+ "value": "[Path.resourceGroupName]"
+ },
+ {
+ "name": "-SecurityConnectorName",
+ "value": "[Path.securityConnectorName]"
+ },
+ {
+ "name": "-SubscriptionId",
+ "value": "[Path.subscriptionId]"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/src/Security/Security.Autorest/UX/Microsoft.Security/securityConnectors-azureDevOpsOrgs-projects.json b/src/Security/Security.Autorest/UX/Microsoft.Security/securityConnectors-azureDevOpsOrgs-projects.json
new file mode 100644
index 000000000000..cb182ff966ff
--- /dev/null
+++ b/src/Security/Security.Autorest/UX/Microsoft.Security/securityConnectors-azureDevOpsOrgs-projects.json
@@ -0,0 +1,57 @@
+{
+ "resourceType": "securityConnectors/azureDevOpsOrgs/projects",
+ "apiVersion": "2023-09-01-preview",
+ "learnMore": {
+ "url": "https://learn.microsoft.com/powershell/module/az.security"
+ },
+ "commands": [
+ {
+ "name": "Get-AzSecurityConnectorAzureDevOpsProject",
+ "description": "Returns a monitored Azure DevOps project resource.",
+ "path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors/{securityConnectorName}/devops/default/azureDevOpsOrgs/{orgName}/projects/{projectName}",
+ "help": {
+ "learnMore": {
+ "url": "https://learn.microsoft.com/powershell/module/az.security/get-azsecurityconnectorazuredevopsproject"
+ },
+ "parameterSets": [
+ {
+ "parameters": [
+ "-OrgName ",
+ "-ProjectName ",
+ "-ResourceGroupName ",
+ "-SecurityConnectorName ",
+ "[-SubscriptionId ]"
+ ]
+ }
+ ]
+ },
+ "examples": [
+ {
+ "description": "Returns a monitored Azure DevOps project resource.",
+ "parameters": [
+ {
+ "name": "-OrgName",
+ "value": "[Path.orgName]"
+ },
+ {
+ "name": "-ProjectName",
+ "value": "[Path.projectName]"
+ },
+ {
+ "name": "-ResourceGroupName",
+ "value": "[Path.resourceGroupName]"
+ },
+ {
+ "name": "-SecurityConnectorName",
+ "value": "[Path.securityConnectorName]"
+ },
+ {
+ "name": "-SubscriptionId",
+ "value": "[Path.subscriptionId]"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/src/Security/Security.Autorest/UX/Microsoft.Security/securityConnectors-azureDevOpsOrgs.json b/src/Security/Security.Autorest/UX/Microsoft.Security/securityConnectors-azureDevOpsOrgs.json
new file mode 100644
index 000000000000..3c5f2a744375
--- /dev/null
+++ b/src/Security/Security.Autorest/UX/Microsoft.Security/securityConnectors-azureDevOpsOrgs.json
@@ -0,0 +1,52 @@
+{
+ "resourceType": "securityConnectors/azureDevOpsOrgs",
+ "apiVersion": "2023-09-01-preview",
+ "learnMore": {
+ "url": "https://learn.microsoft.com/powershell/module/az.security"
+ },
+ "commands": [
+ {
+ "name": "Get-AzSecurityConnectorAzureDevOpsOrg",
+ "description": "Returns a monitored Azure DevOps organization resource.",
+ "path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors/{securityConnectorName}/devops/default/azureDevOpsOrgs/{orgName}",
+ "help": {
+ "learnMore": {
+ "url": "https://learn.microsoft.com/powershell/module/az.security/get-azsecurityconnectorazuredevopsorg"
+ },
+ "parameterSets": [
+ {
+ "parameters": [
+ "-OrgName ",
+ "-ResourceGroupName ",
+ "-SecurityConnectorName ",
+ "[-SubscriptionId ]"
+ ]
+ }
+ ]
+ },
+ "examples": [
+ {
+ "description": "Returns a monitored Azure DevOps organization resource.",
+ "parameters": [
+ {
+ "name": "-OrgName",
+ "value": "[Path.orgName]"
+ },
+ {
+ "name": "-ResourceGroupName",
+ "value": "[Path.resourceGroupName]"
+ },
+ {
+ "name": "-SecurityConnectorName",
+ "value": "[Path.securityConnectorName]"
+ },
+ {
+ "name": "-SubscriptionId",
+ "value": "[Path.subscriptionId]"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/src/Security/Security.Autorest/UX/Microsoft.Security/securityConnectors-gitHubOwners-repos.json b/src/Security/Security.Autorest/UX/Microsoft.Security/securityConnectors-gitHubOwners-repos.json
new file mode 100644
index 000000000000..a851a37d8a7c
--- /dev/null
+++ b/src/Security/Security.Autorest/UX/Microsoft.Security/securityConnectors-gitHubOwners-repos.json
@@ -0,0 +1,57 @@
+{
+ "resourceType": "securityConnectors/gitHubOwners/repos",
+ "apiVersion": "2023-09-01-preview",
+ "learnMore": {
+ "url": "https://learn.microsoft.com/powershell/module/az.security"
+ },
+ "commands": [
+ {
+ "name": "Get-AzSecurityConnectorGitHubRepo",
+ "description": "Returns a monitored GitHub repository.",
+ "path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors/{securityConnectorName}/devops/default/gitHubOwners/{ownerName}/repos/{repoName}",
+ "help": {
+ "learnMore": {
+ "url": "https://learn.microsoft.com/powershell/module/az.security/get-azsecurityconnectorgithubrepo"
+ },
+ "parameterSets": [
+ {
+ "parameters": [
+ "-OwnerName ",
+ "-RepoName ",
+ "-ResourceGroupName ",
+ "-SecurityConnectorName ",
+ "[-SubscriptionId ]"
+ ]
+ }
+ ]
+ },
+ "examples": [
+ {
+ "description": "Returns a monitored GitHub repository.",
+ "parameters": [
+ {
+ "name": "-OwnerName",
+ "value": "[Path.ownerName]"
+ },
+ {
+ "name": "-RepoName",
+ "value": "[Path.repoName]"
+ },
+ {
+ "name": "-ResourceGroupName",
+ "value": "[Path.resourceGroupName]"
+ },
+ {
+ "name": "-SecurityConnectorName",
+ "value": "[Path.securityConnectorName]"
+ },
+ {
+ "name": "-SubscriptionId",
+ "value": "[Path.subscriptionId]"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/src/Security/Security.Autorest/UX/Microsoft.Security/securityConnectors-gitHubOwners.json b/src/Security/Security.Autorest/UX/Microsoft.Security/securityConnectors-gitHubOwners.json
new file mode 100644
index 000000000000..c4f40ff560d8
--- /dev/null
+++ b/src/Security/Security.Autorest/UX/Microsoft.Security/securityConnectors-gitHubOwners.json
@@ -0,0 +1,52 @@
+{
+ "resourceType": "securityConnectors/gitHubOwners",
+ "apiVersion": "2023-09-01-preview",
+ "learnMore": {
+ "url": "https://learn.microsoft.com/powershell/module/az.security"
+ },
+ "commands": [
+ {
+ "name": "Get-AzSecurityConnectorGitHubOwner",
+ "description": "Returns a monitored GitHub owner.",
+ "path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors/{securityConnectorName}/devops/default/gitHubOwners/{ownerName}",
+ "help": {
+ "learnMore": {
+ "url": "https://learn.microsoft.com/powershell/module/az.security/get-azsecurityconnectorgithubowner"
+ },
+ "parameterSets": [
+ {
+ "parameters": [
+ "-OwnerName ",
+ "-ResourceGroupName ",
+ "-SecurityConnectorName ",
+ "[-SubscriptionId ]"
+ ]
+ }
+ ]
+ },
+ "examples": [
+ {
+ "description": "Returns a monitored GitHub owner.",
+ "parameters": [
+ {
+ "name": "-OwnerName",
+ "value": "[Path.ownerName]"
+ },
+ {
+ "name": "-ResourceGroupName",
+ "value": "[Path.resourceGroupName]"
+ },
+ {
+ "name": "-SecurityConnectorName",
+ "value": "[Path.securityConnectorName]"
+ },
+ {
+ "name": "-SubscriptionId",
+ "value": "[Path.subscriptionId]"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/src/Security/Security.Autorest/UX/Microsoft.Security/securityConnectors-gitLabGroups-projects.json b/src/Security/Security.Autorest/UX/Microsoft.Security/securityConnectors-gitLabGroups-projects.json
new file mode 100644
index 000000000000..a479a7df06dd
--- /dev/null
+++ b/src/Security/Security.Autorest/UX/Microsoft.Security/securityConnectors-gitLabGroups-projects.json
@@ -0,0 +1,57 @@
+{
+ "resourceType": "securityConnectors/gitLabGroups/projects",
+ "apiVersion": "2023-09-01-preview",
+ "learnMore": {
+ "url": "https://learn.microsoft.com/powershell/module/az.security"
+ },
+ "commands": [
+ {
+ "name": "Get-AzSecurityConnectorGitLabProject",
+ "description": "Returns a monitored GitLab Project resource for a given fully-qualified group name and project name.",
+ "path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors/{securityConnectorName}/devops/default/gitLabGroups/{groupFQName}/projects/{projectName}",
+ "help": {
+ "learnMore": {
+ "url": "https://learn.microsoft.com/powershell/module/az.security/get-azsecurityconnectorgitlabproject"
+ },
+ "parameterSets": [
+ {
+ "parameters": [
+ "-GroupFqName ",
+ "-ProjectName ",
+ "-ResourceGroupName ",
+ "-SecurityConnectorName ",
+ "[-SubscriptionId ]"
+ ]
+ }
+ ]
+ },
+ "examples": [
+ {
+ "description": "Returns a monitored GitLab Project resource for a given fully-qualified group name and project name.",
+ "parameters": [
+ {
+ "name": "-GroupFqName",
+ "value": "[Path.groupFQName]"
+ },
+ {
+ "name": "-ProjectName",
+ "value": "[Path.projectName]"
+ },
+ {
+ "name": "-ResourceGroupName",
+ "value": "[Path.resourceGroupName]"
+ },
+ {
+ "name": "-SecurityConnectorName",
+ "value": "[Path.securityConnectorName]"
+ },
+ {
+ "name": "-SubscriptionId",
+ "value": "[Path.subscriptionId]"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/src/Security/Security.Autorest/UX/Microsoft.Security/securityConnectors-gitLabGroups.json b/src/Security/Security.Autorest/UX/Microsoft.Security/securityConnectors-gitLabGroups.json
new file mode 100644
index 000000000000..947f059620ef
--- /dev/null
+++ b/src/Security/Security.Autorest/UX/Microsoft.Security/securityConnectors-gitLabGroups.json
@@ -0,0 +1,52 @@
+{
+ "resourceType": "securityConnectors/gitLabGroups",
+ "apiVersion": "2023-09-01-preview",
+ "learnMore": {
+ "url": "https://learn.microsoft.com/powershell/module/az.security"
+ },
+ "commands": [
+ {
+ "name": "Get-AzSecurityConnectorGitLabGroup",
+ "description": "Returns a monitored GitLab Group resource for a given fully-qualified name.",
+ "path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors/{securityConnectorName}/devops/default/gitLabGroups/{groupFQName}",
+ "help": {
+ "learnMore": {
+ "url": "https://learn.microsoft.com/powershell/module/az.security/get-azsecurityconnectorgitlabgroup"
+ },
+ "parameterSets": [
+ {
+ "parameters": [
+ "-GroupFqName ",
+ "-ResourceGroupName ",
+ "-SecurityConnectorName ",
+ "[-SubscriptionId ]"
+ ]
+ }
+ ]
+ },
+ "examples": [
+ {
+ "description": "Returns a monitored GitLab Group resource for a given fully-qualified name.",
+ "parameters": [
+ {
+ "name": "-GroupFqName",
+ "value": "[Path.groupFQName]"
+ },
+ {
+ "name": "-ResourceGroupName",
+ "value": "[Path.resourceGroupName]"
+ },
+ {
+ "name": "-SecurityConnectorName",
+ "value": "[Path.securityConnectorName]"
+ },
+ {
+ "name": "-SubscriptionId",
+ "value": "[Path.subscriptionId]"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/src/Security/Security.Autorest/UX/Microsoft.Security/securityConnectors.json b/src/Security/Security.Autorest/UX/Microsoft.Security/securityConnectors.json
new file mode 100644
index 000000000000..55f55e7c98ca
--- /dev/null
+++ b/src/Security/Security.Autorest/UX/Microsoft.Security/securityConnectors.json
@@ -0,0 +1,161 @@
+{
+ "resourceType": "securityConnectors",
+ "apiVersion": "2023-09-01-preview",
+ "learnMore": {
+ "url": "https://learn.microsoft.com/powershell/module/az.security"
+ },
+ "commands": [
+ {
+ "name": "Get-AzSecurityConnectorDevOpsConfiguration",
+ "description": "Gets a DevOps Configuration.",
+ "path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors/{securityConnectorName}/devops/default",
+ "help": {
+ "learnMore": {
+ "url": "https://learn.microsoft.com/powershell/module/az.security/get-azsecurityconnectordevopsconfiguration"
+ },
+ "parameterSets": [
+ {
+ "parameters": [
+ "-ResourceGroupName ",
+ "-SecurityConnectorName ",
+ "[-SubscriptionId ]"
+ ]
+ }
+ ]
+ },
+ "examples": [
+ {
+ "description": "Gets a DevOps Configuration.",
+ "parameters": [
+ {
+ "name": "-ResourceGroupName",
+ "value": "[Path.resourceGroupName]"
+ },
+ {
+ "name": "-SecurityConnectorName",
+ "value": "[Path.securityConnectorName]"
+ },
+ {
+ "name": "-SubscriptionId",
+ "value": "[Path.subscriptionId]"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "Get-AzSecurityConnector",
+ "description": "Retrieves details of a specific security connector",
+ "path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors/{securityConnectorName}",
+ "help": {
+ "learnMore": {
+ "url": "https://learn.microsoft.com/powershell/module/az.security/get-azsecurityconnector"
+ },
+ "parameterSets": [
+ {
+ "parameters": [
+ "-Name ",
+ "-ResourceGroupName ",
+ "[-SubscriptionId ]"
+ ]
+ }
+ ]
+ },
+ "examples": [
+ {
+ "description": "Retrieves details of a specific security connector",
+ "parameters": [
+ {
+ "name": "-Name",
+ "value": "[Path.securityConnectorName]"
+ },
+ {
+ "name": "-ResourceGroupName",
+ "value": "[Path.resourceGroupName]"
+ },
+ {
+ "name": "-SubscriptionId",
+ "value": "[Path.subscriptionId]"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "Remove-AzSecurityConnectorDevOpsConfiguration",
+ "description": "Deletes a DevOps Connector.",
+ "path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors/{securityConnectorName}/devops/default",
+ "help": {
+ "learnMore": {
+ "url": "https://learn.microsoft.com/powershell/module/az.security/remove-azsecurityconnectordevopsconfiguration"
+ },
+ "parameterSets": [
+ {
+ "parameters": [
+ "-ResourceGroupName ",
+ "-SecurityConnectorName ",
+ "[-SubscriptionId ]"
+ ]
+ }
+ ]
+ },
+ "examples": [
+ {
+ "description": "Deletes a DevOps Connector.",
+ "parameters": [
+ {
+ "name": "-ResourceGroupName",
+ "value": "[Path.resourceGroupName]"
+ },
+ {
+ "name": "-SecurityConnectorName",
+ "value": "[Path.securityConnectorName]"
+ },
+ {
+ "name": "-SubscriptionId",
+ "value": "[Path.subscriptionId]"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "Remove-AzSecurityConnector",
+ "description": "Deletes a security connector.",
+ "path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors/{securityConnectorName}",
+ "help": {
+ "learnMore": {
+ "url": "https://learn.microsoft.com/powershell/module/az.security/remove-azsecurityconnector"
+ },
+ "parameterSets": [
+ {
+ "parameters": [
+ "-Name ",
+ "-ResourceGroupName ",
+ "[-SubscriptionId ]"
+ ]
+ }
+ ]
+ },
+ "examples": [
+ {
+ "description": "Deletes a security connector.",
+ "parameters": [
+ {
+ "name": "-Name",
+ "value": "[Path.securityConnectorName]"
+ },
+ {
+ "name": "-ResourceGroupName",
+ "value": "[Path.resourceGroupName]"
+ },
+ {
+ "name": "-SubscriptionId",
+ "value": "[Path.subscriptionId]"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/src/Security/Security.Autorest/build-module.ps1 b/src/Security/Security.Autorest/build-module.ps1
new file mode 100644
index 000000000000..bd565f03461c
--- /dev/null
+++ b/src/Security/Security.Autorest/build-module.ps1
@@ -0,0 +1,180 @@
+# ----------------------------------------------------------------------------------
+# 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]$NotIsolated, [switch]$Run, [switch]$Test, [switch]$Docs, [switch]$Pack, [switch]$Code, [switch]$Release, [switch]$Debugger, [switch]$NoDocs, [switch]$UX)
+$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 $NotIsolated -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 -NotIsolated
+
+ 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($UX) {
+ . (Join-Path $PSScriptRoot 'generate-portal-ux.ps1')
+ if($LastExitCode -ne 0) {
+ # UX 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.Security.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.Security.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.Security.psd1'
+$guid = Get-ModuleGuid -Psd1Path $psd1
+$moduleName = 'Az.Security'
+$examplesFolder = Join-Path $PSScriptRoot 'examples'
+$null = New-Item -ItemType Directory -Force -Path $examplesFolder
+
+Write-Host -ForegroundColor Green 'Creating cmdlets for specified models...'
+$modelCmdlets = @(@{modelName="AwsEnvironment"; cmdletName=""}, @{modelName="AwsOrganizationalDataMaster"; cmdletName=""}, @{modelName="AwsOrganizationalDataMember"; cmdletName=""}, @{modelName="GcpProjectEnvironment"; cmdletName=""}, @{modelName="GcpOrganizationalDataOrganization"; cmdletName=""}, @{modelName="GcpOrganizationalDataMember"; cmdletName=""}, @{modelName="AzureDevOpsScopeEnvironment"; cmdletName=""}, @{modelName="GitLabScopeEnvironment"; cmdletName=""}, @{modelName="GitHubScopeEnvironment"; cmdletName=""}, @{modelName="CspmMonitorAwsOffering"; cmdletName=""}, @{modelName="CspmMonitorGcpOffering"; cmdletName=""}, @{modelName="CspmMonitorGithubOffering"; cmdletName=""}, @{modelName="CspmMonitorAzureDevOpsOffering"; cmdletName=""}, @{modelName="CspmMonitorGitLabOffering"; cmdletName=""}, @{modelName="DefenderCspmAwsOffering"; cmdletName=""}, @{modelName="DefenderCspmGcpOffering"; cmdletName=""}, @{modelName="DefenderForContainersAwsOffering"; cmdletName=""}, @{modelName="DefenderForContainersGcpOffering"; cmdletName=""}, @{modelName="DefenderForDatabasesAwsOffering"; cmdletName=""}, @{modelName="DefenderForDatabasesGcpOffering"; cmdletName=""}, @{modelName="DefenderForServersAwsOffering"; cmdletName=""}, @{modelName="DefenderForServersGcpOffering"; cmdletName=""}, @{modelName="InformationProtectionAwsOffering"; cmdletName=""}, @{modelName="ActionableRemediation"; cmdletName="New-AzSecurityConnectorActionableRemediationObject"})
+$modelCmdletFolder = Join-Path (Join-Path $PSScriptRoot './custom') 'autogen-model-cmdlets'
+if (Test-Path $modelCmdletFolder) {
+ $null = Remove-Item -Force -Recurse -Path $modelCmdletFolder
+}
+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: Security 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
+ $addComplexInterfaceInfo = ![System.Convert]::ToBoolean('true')
+ Export-ProxyCmdlet -ModuleName $moduleName -ModulePath $modulePaths -ExportsFolder $exportsFolder -InternalFolder $internalFolder -ModuleDescription $moduleDescription -DocsFolder $docsFolder -ExamplesFolder $examplesFolder -ModuleGuid $guid -AddComplexInterfaceInfo:$addComplexInterfaceInfo
+}
+
+Write-Host -ForegroundColor Green 'Creating format.ps1xml...'
+$formatPs1xml = Join-Path $PSScriptRoot './Az.Security.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
+
+if (Test-Path (Join-Path $PSScriptRoot 'generate-portal-ux.ps1'))
+{
+ Write-Host -ForegroundColor Green 'Creating ux metadata...'
+ . (Join-Path $PSScriptRoot 'generate-portal-ux.ps1')
+}
+
+Write-Host -ForegroundColor Green '-------------Done-------------'
diff --git a/src/Security/Security.Autorest/check-dependencies.ps1 b/src/Security/Security.Autorest/check-dependencies.ps1
new file mode 100644
index 000000000000..90ca9867ae40
--- /dev/null
+++ b/src/Security/Security.Autorest/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]$NotIsolated, [switch]$Accounts, [switch]$Pester, [switch]$Resources)
+$ErrorActionPreference = 'Stop'
+
+if(-not $NotIsolated) {
+ Write-Host -ForegroundColor Green 'Creating isolated process...'
+ $pwsh = [System.Diagnostics.Process]::GetCurrentProcess().Path
+ & "$pwsh" -NoExit -NoLogo -NoProfile -File $MyInvocation.MyCommand.Path @PSBoundParameters -NotIsolated
+ 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/Security/Security.Autorest/create-model-cmdlets.ps1 b/src/Security/Security.Autorest/create-model-cmdlets.ps1
new file mode 100644
index 000000000000..e7b7b2f56dac
--- /dev/null
+++ b/src/Security/Security.Autorest/create-model-cmdlets.ps1
@@ -0,0 +1,262 @@
+# ----------------------------------------------------------------------------------
+# 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([Hashtable[]]$Models)
+
+ if ($Models.Count -eq 0)
+ {
+ return
+ }
+
+ $ModelCsPath = Join-Path (Join-Path $PSScriptRoot 'generated\api') 'Models'
+ $OutputDir = Join-Path $PSScriptRoot 'custom\autogen-model-cmdlets'
+ $null = New-Item -ItemType Directory -Force -Path $OutputDir
+ if (''.length -gt 0) {
+ $ModuleName = ''
+ } else {
+ $ModuleName = 'Az.Security'
+ }
+ $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()
+ $classConstantMember = @{}
+ foreach ($Model in $Models)
+ {
+ $ModelName = $Model.modelName
+ $InterfaceNode = $Nodes | Where-Object { ($_.Keyword.value -eq 'interface') -and ($_.Identifier.value -eq "I$ModelName") }
+ $ClassNode = $Nodes | Where-Object { ($_.Keyword.value -eq 'class') -and ($_.Identifier.value -eq "$ModelName") }
+ $classConstantMember = @()
+ foreach ($class in $ClassNode) {
+ foreach ($member in $class.Members) {
+ $isConstant = $false
+ foreach ($attr in $member.AttributeLists) {
+ $memberName = $attr.Attributes.Name.ToString()
+ if ($memberName.EndsWith('.Constant')) {
+ $isConstant = $true
+ break
+ }
+ }
+ if (($member.Modifiers.ToString() -eq 'public') -and $isConstant) {
+ $classConstantMember += $member.Identifier.Value
+ }
+ }
+ }
+ if ($InterfaceNode.count -eq 0) {
+ continue
+ }
+ # through a queue, we iterate all the parent models.
+ $Queue = @($InterfaceNode)
+ $visited = @("I$ModelName")
+ $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 = $ModelName
+ $ObjectTypeWithNamespace = "${Namespace}.${ObjectType}"
+ # remove duplicated module name
+ if ($ObjectType.StartsWith('Security')) {
+ $ModulePrefix = ''
+ } else {
+ $ModulePrefix = 'Security'
+ }
+ $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)
+ {
+ if ($classConstantMember.Contains($Member.Identifier.Value)) {
+ # skip constant member
+ continue
+ }
+ $Arguments = $Member.AttributeLists.Attributes.ArgumentList.Arguments
+ $Required = $false
+ $Description = ""
+ $Readonly = $False
+ $mutability = @{Read = $true; Create = $true; Update = $true}
+ 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 ($Argument.NameEquals.Name.Identifier.Value -eq "Read")
+ {
+ $mutability.Read = $Argument.Expression.Token.Value
+ }
+ if ($Argument.NameEquals.Name.Identifier.Value -eq "Create")
+ {
+ $mutability.Create = $Argument.Expression.Token.Value
+ }
+ if ($Argument.NameEquals.Name.Identifier.Value -eq "Update")
+ {
+ $mutability.Update = $Argument.Expression.Token.Value
+ }
+ }
+ if ($Readonly)
+ {
+ continue
+ }
+ $Identifier = $Member.Identifier.Value
+ $Type = $Member.Type.ToString().replace('?', '').Split("::")[-1]
+ $Type = $Member.Type.ToString().replace('?', '').Split("::")[-1]
+ if ($Type.StartsWith("System.Collections.Generic.List"))
+ {
+ # if the type is a list, we need to convert it to array
+ $matched = $Type -match '\<(?.+)\>$'
+ if ($matched)
+ {
+ $Type = $matches.Name + '[]';
+ }
+ }
+ $ParameterDefinePropertyList = New-Object System.Collections.Generic.List[string]
+ if ($Required -and $mutability.Create -and $mutability.Update)
+ {
+ $ParameterDefinePropertyList.Add("Mandatory")
+ }
+ if ($Description -ne "")
+ {
+ $ParameterDefinePropertyList.Add("HelpMessage=`"${Description}.`"")
+ }
+ $ParameterDefineProperty = [System.String]::Join(", ", $ParameterDefinePropertyList)
+ # check whether completer is needed
+ $completer = '';
+ if(IsEnumType($Member)){
+ $completer += GetCompleter($Member)
+ }
+ $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 ""
+
+ $cmdletName = "New-Az${ModulePrefix}${ObjectType}Object"
+ if ('' -ne $Model.cmdletName) {
+ $cmdletName = $Model.cmdletName
+ }
+ $OutputPath = Join-Path -ChildPath "${cmdletName}.ps1" -Path $OutputDir
+ $cmdletNameInLowerCase = $cmdletName.ToLower()
+ $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://learn.microsoft.com/powershell/module/${ModuleName}/${cmdletNameInLowerCase}
+#>
+function ${cmdletName} {
+ [OutputType('${ObjectTypeWithNamespace}')]
+ [CmdletBinding(PositionalBinding=`$false)]
+ Param(
+${ParameterDefineScript}
+ )
+
+ process {
+ `$Object = [${ObjectTypeWithNamespace}]::New()
+${ParameterAssignScript}
+ return `$Object
+ }
+}
+"
+ Set-Content -Path $OutputPath -Value $Script
+ }
+}
+
+function IsEnumType {
+ param (
+ [Microsoft.CodeAnalysis.CSharp.Syntax.PropertyDeclarationSyntax]$property
+ )
+ $isEnum = $false
+ foreach ($attr in $property.AttributeLists) {
+ $attributeName = $attr.Attributes.Name.ToString()
+ if ($attributeName.Contains('ArgumentCompleter')) {
+ $isEnum = $true
+ break
+ }
+ }
+ return $isEnum;
+}
+
+function GetCompleter {
+ param (
+ [Microsoft.CodeAnalysis.CSharp.Syntax.PropertyDeclarationSyntax]$property
+ )
+ foreach ($attr in $property.AttributeLists) {
+ $attributeName = $attr.Attributes.Name.ToString()
+ if ($attributeName.Contains('ArgumentCompleter')) {
+ $attributeName = $attributeName.Split("::")[-1]
+ $possibleValues = [System.String]::Join(", ", $attr.Attributes.ArgumentList.Arguments)
+ $completer += "`n [${attributeName}(${possibleValues})]"
+ return $completer
+ }
+ }
+}
diff --git a/src/Security/Security.Autorest/custom/Az.Security.custom.psm1 b/src/Security/Security.Autorest/custom/Az.Security.custom.psm1
new file mode 100644
index 000000000000..e06d9e09deba
--- /dev/null
+++ b/src/Security/Security.Autorest/custom/Az.Security.custom.psm1
@@ -0,0 +1,17 @@
+# region Generated
+ # Load the private module dll
+ $null = Import-Module -PassThru -Name (Join-Path $PSScriptRoot '..\bin\Az.Security.private.dll')
+
+ # Load the internal module
+ $internalModulePath = Join-Path $PSScriptRoot '..\internal\Az.Security.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/Security/Security.Autorest/custom/README.md b/src/Security/Security.Autorest/custom/README.md
new file mode 100644
index 000000000000..9462ffd6b074
--- /dev/null
+++ b/src/Security/Security.Autorest/custom/README.md
@@ -0,0 +1,41 @@
+# Custom
+This directory contains custom implementation for non-generated cmdlets for the `Az.Security` 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.Security.custom.psm1`. This file should not be modified.
+
+## Info
+- Modifiable: yes
+- Generated: partial
+- Committed: yes
+- Packaged: yes
+
+## Details
+For `Az.Security` 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.Security.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.Security.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.Security`. 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.Security.DescriptionAttribute`
+ - Used in C# cmdlets to provide a high-level description of the cmdlet. This is propagated to reference documentation via [help comments](https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_comment_based_help) in the exported scripts.
+- `Microsoft.Azure.PowerShell.Cmdlets.Security.DoNotExportAttribute`
+ - Used in C# and script cmdlets to suppress creating an exported cmdlet at build-time. These cmdlets will *not be exposed* by `Az.Security`.
+- `Microsoft.Azure.PowerShell.Cmdlets.Security.InternalExportAttribute`
+ - Used in C# cmdlets to route exported cmdlets to the `..\internal`, which are *not exposed* by `Az.Security`. For more information, see [README.md](..\internal/README.md) in the `..\internal` folder.
+- `Microsoft.Azure.PowerShell.Cmdlets.Security.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/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityAwsEnvironmentObject.ps1 b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityAwsEnvironmentObject.ps1
new file mode 100644
index 000000000000..ed2ab1f6d1a2
--- /dev/null
+++ b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityAwsEnvironmentObject.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 AwsEnvironment.
+.Description
+Create an in-memory object for AwsEnvironment.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AwsEnvironment
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecurityawsenvironmentobject
+#>
+function New-AzSecurityAwsEnvironmentObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AwsEnvironment')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ [Parameter(HelpMessage="The AWS account's organizational data.")]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IAwsOrganizationalData]
+ $OrganizationalData,
+ [Parameter(HelpMessage="list of regions to scan.")]
+ [string[]]
+ $Region,
+ [Parameter(HelpMessage="Scan interval in hours (value should be between 1-hour to 24-hours).")]
+ [long]
+ $ScanInterval
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AwsEnvironment]::New()
+
+ if ($PSBoundParameters.ContainsKey('OrganizationalData')) {
+ $Object.OrganizationalData = $OrganizationalData
+ }
+ if ($PSBoundParameters.ContainsKey('Region')) {
+ $Object.Region = $Region
+ }
+ if ($PSBoundParameters.ContainsKey('ScanInterval')) {
+ $Object.ScanInterval = $ScanInterval
+ }
+ return $Object
+ }
+}
+
diff --git a/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityAwsOrganizationalDataMasterObject.ps1 b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityAwsOrganizationalDataMasterObject.ps1
new file mode 100644
index 000000000000..bc18f632d4c9
--- /dev/null
+++ b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityAwsOrganizationalDataMasterObject.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 AwsOrganizationalDataMaster.
+.Description
+Create an in-memory object for AwsOrganizationalDataMaster.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AwsOrganizationalDataMaster
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecurityawsorganizationaldatamasterobject
+#>
+function New-AzSecurityAwsOrganizationalDataMasterObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AwsOrganizationalDataMaster')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ [Parameter(HelpMessage="If the multi cloud account is of membership type organization, list of accounts excluded from offering.")]
+ [string[]]
+ $ExcludedAccountId,
+ [Parameter(HelpMessage="If the multi cloud account is of membership type organization, this will be the name of the onboarding stackset.")]
+ [string]
+ $StacksetName
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AwsOrganizationalDataMaster]::New()
+
+ if ($PSBoundParameters.ContainsKey('ExcludedAccountId')) {
+ $Object.ExcludedAccountId = $ExcludedAccountId
+ }
+ if ($PSBoundParameters.ContainsKey('StacksetName')) {
+ $Object.StacksetName = $StacksetName
+ }
+ return $Object
+ }
+}
+
diff --git a/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityAwsOrganizationalDataMemberObject.ps1 b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityAwsOrganizationalDataMemberObject.ps1
new file mode 100644
index 000000000000..bc6458ecd4af
--- /dev/null
+++ b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityAwsOrganizationalDataMemberObject.ps1
@@ -0,0 +1,47 @@
+
+# ----------------------------------------------------------------------------------
+# 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 AwsOrganizationalDataMember.
+.Description
+Create an in-memory object for AwsOrganizationalDataMember.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AwsOrganizationalDataMember
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecurityawsorganizationaldatamemberobject
+#>
+function New-AzSecurityAwsOrganizationalDataMemberObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AwsOrganizationalDataMember')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ [Parameter(HelpMessage="If the multi cloud account is not of membership type organization, this will be the ID of the account's parent.")]
+ [string]
+ $ParentHierarchyId
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AwsOrganizationalDataMember]::New()
+
+ if ($PSBoundParameters.ContainsKey('ParentHierarchyId')) {
+ $Object.ParentHierarchyId = $ParentHierarchyId
+ }
+ return $Object
+ }
+}
+
diff --git a/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityAzureDevOpsScopeEnvironmentObject.ps1 b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityAzureDevOpsScopeEnvironmentObject.ps1
new file mode 100644
index 000000000000..913c90709519
--- /dev/null
+++ b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityAzureDevOpsScopeEnvironmentObject.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.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for AzureDevOpsScopeEnvironment.
+.Description
+Create an in-memory object for AzureDevOpsScopeEnvironment.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AzureDevOpsScopeEnvironment
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecurityazuredevopsscopeenvironmentobject
+#>
+function New-AzSecurityAzureDevOpsScopeEnvironmentObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AzureDevOpsScopeEnvironment')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AzureDevOpsScopeEnvironment]::New()
+
+ return $Object
+ }
+}
+
diff --git a/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityConnectorActionableRemediationObject.ps1 b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityConnectorActionableRemediationObject.ps1
new file mode 100644
index 000000000000..9567f77c2ce8
--- /dev/null
+++ b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityConnectorActionableRemediationObject.ps1
@@ -0,0 +1,73 @@
+
+# ----------------------------------------------------------------------------------
+# 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 ActionableRemediation.
+.Description
+Create an in-memory object for ActionableRemediation.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ActionableRemediation
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecurityconnectoractionableremediationobject
+#>
+function New-AzSecurityConnectorActionableRemediationObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ActionableRemediation')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ [Parameter(HelpMessage="Repository branch configuration for PR Annotations.")]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ITargetBranchConfiguration]
+ $BranchConfiguration,
+ [Parameter(HelpMessage="Gets or sets list of categories and severity levels.")]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ICategoryConfiguration[]]
+ $CategoryConfiguration,
+ [Parameter(HelpMessage="Update Settings.
+
+ Enabled - Resource should inherit configurations from parent.
+ Disabled - Resource should not inherit configurations from parent.")]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.PSArgumentCompleterAttribute("Disabled", "Enabled")]
+ [string]
+ $InheritFromParentState,
+ [Parameter(HelpMessage="ActionableRemediation Setting.
+ None - the setting was never set.
+ Enabled - ActionableRemediation is enabled.
+ Disabled - ActionableRemediation is disabled.")]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.PSArgumentCompleterAttribute("None", "Disabled", "Enabled")]
+ [string]
+ $State
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ActionableRemediation]::New()
+
+ if ($PSBoundParameters.ContainsKey('BranchConfiguration')) {
+ $Object.BranchConfiguration = $BranchConfiguration
+ }
+ if ($PSBoundParameters.ContainsKey('CategoryConfiguration')) {
+ $Object.CategoryConfiguration = $CategoryConfiguration
+ }
+ if ($PSBoundParameters.ContainsKey('InheritFromParentState')) {
+ $Object.InheritFromParentState = $InheritFromParentState
+ }
+ if ($PSBoundParameters.ContainsKey('State')) {
+ $Object.State = $State
+ }
+ return $Object
+ }
+}
+
diff --git a/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityCspmMonitorAwsOfferingObject.ps1 b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityCspmMonitorAwsOfferingObject.ps1
new file mode 100644
index 000000000000..13c9f890a9a7
--- /dev/null
+++ b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityCspmMonitorAwsOfferingObject.ps1
@@ -0,0 +1,47 @@
+
+# ----------------------------------------------------------------------------------
+# 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 CspmMonitorAwsOffering.
+.Description
+Create an in-memory object for CspmMonitorAwsOffering.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CspmMonitorAwsOffering
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecuritycspmmonitorawsofferingobject
+#>
+function New-AzSecurityCspmMonitorAwsOfferingObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CspmMonitorAwsOffering')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ [Parameter(HelpMessage="The cloud role ARN in AWS for this feature.")]
+ [string]
+ $NativeCloudConnectionCloudRoleArn
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CspmMonitorAwsOffering]::New()
+
+ if ($PSBoundParameters.ContainsKey('NativeCloudConnectionCloudRoleArn')) {
+ $Object.NativeCloudConnectionCloudRoleArn = $NativeCloudConnectionCloudRoleArn
+ }
+ return $Object
+ }
+}
+
diff --git a/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityCspmMonitorAzureDevOpsOfferingObject.ps1 b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityCspmMonitorAzureDevOpsOfferingObject.ps1
new file mode 100644
index 000000000000..12d00a7d1b64
--- /dev/null
+++ b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityCspmMonitorAzureDevOpsOfferingObject.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.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for CspmMonitorAzureDevOpsOffering.
+.Description
+Create an in-memory object for CspmMonitorAzureDevOpsOffering.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CspmMonitorAzureDevOpsOffering
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecuritycspmmonitorazuredevopsofferingobject
+#>
+function New-AzSecurityCspmMonitorAzureDevOpsOfferingObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CspmMonitorAzureDevOpsOffering')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CspmMonitorAzureDevOpsOffering]::New()
+
+ return $Object
+ }
+}
+
diff --git a/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityCspmMonitorGcpOfferingObject.ps1 b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityCspmMonitorGcpOfferingObject.ps1
new file mode 100644
index 000000000000..5f403590faf7
--- /dev/null
+++ b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityCspmMonitorGcpOfferingObject.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 CspmMonitorGcpOffering.
+.Description
+Create an in-memory object for CspmMonitorGcpOffering.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CspmMonitorGcpOffering
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecuritycspmmonitorgcpofferingobject
+#>
+function New-AzSecurityCspmMonitorGcpOfferingObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CspmMonitorGcpOffering')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ [Parameter(HelpMessage="The service account email address in GCP for this offering.")]
+ [string]
+ $NativeCloudConnectionServiceAccountEmailAddress,
+ [Parameter(HelpMessage="The GCP workload identity provider id for the offering.")]
+ [string]
+ $NativeCloudConnectionWorkloadIdentityProviderId
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CspmMonitorGcpOffering]::New()
+
+ if ($PSBoundParameters.ContainsKey('NativeCloudConnectionServiceAccountEmailAddress')) {
+ $Object.NativeCloudConnectionServiceAccountEmailAddress = $NativeCloudConnectionServiceAccountEmailAddress
+ }
+ if ($PSBoundParameters.ContainsKey('NativeCloudConnectionWorkloadIdentityProviderId')) {
+ $Object.NativeCloudConnectionWorkloadIdentityProviderId = $NativeCloudConnectionWorkloadIdentityProviderId
+ }
+ return $Object
+ }
+}
+
diff --git a/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityCspmMonitorGitLabOfferingObject.ps1 b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityCspmMonitorGitLabOfferingObject.ps1
new file mode 100644
index 000000000000..6c965ecd30bb
--- /dev/null
+++ b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityCspmMonitorGitLabOfferingObject.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.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for CspmMonitorGitLabOffering.
+.Description
+Create an in-memory object for CspmMonitorGitLabOffering.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CspmMonitorGitLabOffering
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecuritycspmmonitorgitlabofferingobject
+#>
+function New-AzSecurityCspmMonitorGitLabOfferingObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CspmMonitorGitLabOffering')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CspmMonitorGitLabOffering]::New()
+
+ return $Object
+ }
+}
+
diff --git a/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityCspmMonitorGithubOfferingObject.ps1 b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityCspmMonitorGithubOfferingObject.ps1
new file mode 100644
index 000000000000..1044430598ff
--- /dev/null
+++ b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityCspmMonitorGithubOfferingObject.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.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for CspmMonitorGithubOffering.
+.Description
+Create an in-memory object for CspmMonitorGithubOffering.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CspmMonitorGithubOffering
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecuritycspmmonitorgithubofferingobject
+#>
+function New-AzSecurityCspmMonitorGithubOfferingObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CspmMonitorGithubOffering')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CspmMonitorGithubOffering]::New()
+
+ return $Object
+ }
+}
+
diff --git a/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityDefenderCspmAwsOfferingObject.ps1 b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityDefenderCspmAwsOfferingObject.ps1
new file mode 100644
index 000000000000..3210b252ea55
--- /dev/null
+++ b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityDefenderCspmAwsOfferingObject.ps1
@@ -0,0 +1,132 @@
+
+# ----------------------------------------------------------------------------------
+# 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 DefenderCspmAwsOffering.
+.Description
+Create an in-memory object for DefenderCspmAwsOffering.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmAwsOffering
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecuritydefendercspmawsofferingobject
+#>
+function New-AzSecurityDefenderCspmAwsOfferingObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmAwsOffering')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ [Parameter(HelpMessage="The cloud role ARN in AWS for CIEM discovery.")]
+ [string]
+ $CiemDiscoveryCloudRoleArn,
+ [Parameter(HelpMessage="the azure active directory app name used of authenticating against AWS.")]
+ [string]
+ $CiemOidcAzureActiveDirectoryAppName,
+ [Parameter(HelpMessage="The cloud role ARN in AWS for CIEM oidc connection.")]
+ [string]
+ $CiemOidcCloudRoleArn,
+ [Parameter(HelpMessage="The cloud role ARN in AWS for this feature.")]
+ [string]
+ $ConfigurationCloudRoleArn,
+ [Parameter(HelpMessage="VM tags that indicates that VM should not be scanned.")]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IDefenderCspmAwsOfferingVMScannersConfigurationExclusionTags]
+ $ConfigurationExclusionTag,
+ [Parameter(HelpMessage="The scanning mode for the VM scan.")]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.PSArgumentCompleterAttribute("Default")]
+ [string]
+ $ConfigurationScanningMode,
+ [Parameter(HelpMessage="The cloud role ARN in AWS for this feature.")]
+ [string]
+ $DataSensitivityDiscoveryCloudRoleArn,
+ [Parameter(HelpMessage="Is Microsoft Defender Data Sensitivity discovery enabled.")]
+ [bool]
+ $DataSensitivityDiscoveryEnabled,
+ [Parameter(HelpMessage="The cloud role ARN in AWS for this feature.")]
+ [string]
+ $DatabaseDspmCloudRoleArn,
+ [Parameter(HelpMessage="Is databases DSPM protection enabled.")]
+ [bool]
+ $DatabaseDspmEnabled,
+ [Parameter(HelpMessage="The cloud role ARN in AWS for this feature.")]
+ [string]
+ $MdcContainerAgentlessDiscoveryK8SCloudRoleArn,
+ [Parameter(HelpMessage="Is Microsoft Defender container agentless discovery K8s enabled.")]
+ [bool]
+ $MdcContainerAgentlessDiscoveryK8SEnabled,
+ [Parameter(HelpMessage="The cloud role ARN in AWS for this feature.")]
+ [string]
+ $MdcContainerImageAssessmentCloudRoleArn,
+ [Parameter(HelpMessage="Is Microsoft Defender container image assessment enabled.")]
+ [bool]
+ $MdcContainerImageAssessmentEnabled,
+ [Parameter(HelpMessage="Is Microsoft Defender for Server VM scanning enabled.")]
+ [bool]
+ $VMScannerEnabled
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmAwsOffering]::New()
+
+ if ($PSBoundParameters.ContainsKey('CiemDiscoveryCloudRoleArn')) {
+ $Object.CiemDiscoveryCloudRoleArn = $CiemDiscoveryCloudRoleArn
+ }
+ if ($PSBoundParameters.ContainsKey('CiemOidcAzureActiveDirectoryAppName')) {
+ $Object.CiemOidcAzureActiveDirectoryAppName = $CiemOidcAzureActiveDirectoryAppName
+ }
+ if ($PSBoundParameters.ContainsKey('CiemOidcCloudRoleArn')) {
+ $Object.CiemOidcCloudRoleArn = $CiemOidcCloudRoleArn
+ }
+ if ($PSBoundParameters.ContainsKey('ConfigurationCloudRoleArn')) {
+ $Object.ConfigurationCloudRoleArn = $ConfigurationCloudRoleArn
+ }
+ if ($PSBoundParameters.ContainsKey('ConfigurationExclusionTag')) {
+ $Object.ConfigurationExclusionTag = $ConfigurationExclusionTag
+ }
+ if ($PSBoundParameters.ContainsKey('ConfigurationScanningMode')) {
+ $Object.ConfigurationScanningMode = $ConfigurationScanningMode
+ }
+ if ($PSBoundParameters.ContainsKey('DataSensitivityDiscoveryCloudRoleArn')) {
+ $Object.DataSensitivityDiscoveryCloudRoleArn = $DataSensitivityDiscoveryCloudRoleArn
+ }
+ if ($PSBoundParameters.ContainsKey('DataSensitivityDiscoveryEnabled')) {
+ $Object.DataSensitivityDiscoveryEnabled = $DataSensitivityDiscoveryEnabled
+ }
+ if ($PSBoundParameters.ContainsKey('DatabaseDspmCloudRoleArn')) {
+ $Object.DatabaseDspmCloudRoleArn = $DatabaseDspmCloudRoleArn
+ }
+ if ($PSBoundParameters.ContainsKey('DatabaseDspmEnabled')) {
+ $Object.DatabaseDspmEnabled = $DatabaseDspmEnabled
+ }
+ if ($PSBoundParameters.ContainsKey('MdcContainerAgentlessDiscoveryK8SCloudRoleArn')) {
+ $Object.MdcContainerAgentlessDiscoveryK8SCloudRoleArn = $MdcContainerAgentlessDiscoveryK8SCloudRoleArn
+ }
+ if ($PSBoundParameters.ContainsKey('MdcContainerAgentlessDiscoveryK8SEnabled')) {
+ $Object.MdcContainerAgentlessDiscoveryK8SEnabled = $MdcContainerAgentlessDiscoveryK8SEnabled
+ }
+ if ($PSBoundParameters.ContainsKey('MdcContainerImageAssessmentCloudRoleArn')) {
+ $Object.MdcContainerImageAssessmentCloudRoleArn = $MdcContainerImageAssessmentCloudRoleArn
+ }
+ if ($PSBoundParameters.ContainsKey('MdcContainerImageAssessmentEnabled')) {
+ $Object.MdcContainerImageAssessmentEnabled = $MdcContainerImageAssessmentEnabled
+ }
+ if ($PSBoundParameters.ContainsKey('VMScannerEnabled')) {
+ $Object.VMScannerEnabled = $VMScannerEnabled
+ }
+ return $Object
+ }
+}
+
diff --git a/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityDefenderCspmGcpOfferingObject.ps1 b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityDefenderCspmGcpOfferingObject.ps1
new file mode 100644
index 000000000000..61a0b4d8d6d2
--- /dev/null
+++ b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityDefenderCspmGcpOfferingObject.ps1
@@ -0,0 +1,132 @@
+
+# ----------------------------------------------------------------------------------
+# 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 DefenderCspmGcpOffering.
+.Description
+Create an in-memory object for DefenderCspmGcpOffering.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmGcpOffering
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecuritydefendercspmgcpofferingobject
+#>
+function New-AzSecurityDefenderCspmGcpOfferingObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmGcpOffering')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ [Parameter(HelpMessage="the azure active directory app name used of authenticating against GCP workload identity federation.")]
+ [string]
+ $CiemDiscoveryAzureActiveDirectoryAppName,
+ [Parameter(HelpMessage="The service account email address in GCP for CIEM discovery offering.")]
+ [string]
+ $CiemDiscoveryServiceAccountEmailAddress,
+ [Parameter(HelpMessage="The GCP workload identity provider id for CIEM discovery offering.")]
+ [string]
+ $CiemDiscoveryWorkloadIdentityProviderId,
+ [Parameter(HelpMessage="VM tags that indicates that VM should not be scanned.")]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IDefenderCspmGcpOfferingVMScannersConfigurationExclusionTags]
+ $ConfigurationExclusionTag,
+ [Parameter(HelpMessage="The scanning mode for the VM scan.")]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.PSArgumentCompleterAttribute("Default")]
+ [string]
+ $ConfigurationScanningMode,
+ [Parameter(HelpMessage="Is Microsoft Defender Data Sensitivity discovery enabled.")]
+ [bool]
+ $DataSensitivityDiscoveryEnabled,
+ [Parameter(HelpMessage="The service account email address in GCP for this feature.")]
+ [string]
+ $DataSensitivityDiscoveryServiceAccountEmailAddress,
+ [Parameter(HelpMessage="The workload identity provider id in GCP for this feature.")]
+ [string]
+ $DataSensitivityDiscoveryWorkloadIdentityProviderId,
+ [Parameter(HelpMessage="Is Microsoft Defender container agentless discovery enabled.")]
+ [bool]
+ $MdcContainerAgentlessDiscoveryK8SEnabled,
+ [Parameter(HelpMessage="The service account email address in GCP for this feature.")]
+ [string]
+ $MdcContainerAgentlessDiscoveryK8SServiceAccountEmailAddress,
+ [Parameter(HelpMessage="The workload identity provider id in GCP for this feature.")]
+ [string]
+ $MdcContainerAgentlessDiscoveryK8SWorkloadIdentityProviderId,
+ [Parameter(HelpMessage="Is Microsoft Defender container image assessment enabled.")]
+ [bool]
+ $MdcContainerImageAssessmentEnabled,
+ [Parameter(HelpMessage="The service account email address in GCP for this feature.")]
+ [string]
+ $MdcContainerImageAssessmentServiceAccountEmailAddress,
+ [Parameter(HelpMessage="The workload identity provider id in GCP for this feature.")]
+ [string]
+ $MdcContainerImageAssessmentWorkloadIdentityProviderId,
+ [Parameter(HelpMessage="Is Microsoft Defender for Server VM scanning enabled.")]
+ [bool]
+ $VMScannerEnabled
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmGcpOffering]::New()
+
+ if ($PSBoundParameters.ContainsKey('CiemDiscoveryAzureActiveDirectoryAppName')) {
+ $Object.CiemDiscoveryAzureActiveDirectoryAppName = $CiemDiscoveryAzureActiveDirectoryAppName
+ }
+ if ($PSBoundParameters.ContainsKey('CiemDiscoveryServiceAccountEmailAddress')) {
+ $Object.CiemDiscoveryServiceAccountEmailAddress = $CiemDiscoveryServiceAccountEmailAddress
+ }
+ if ($PSBoundParameters.ContainsKey('CiemDiscoveryWorkloadIdentityProviderId')) {
+ $Object.CiemDiscoveryWorkloadIdentityProviderId = $CiemDiscoveryWorkloadIdentityProviderId
+ }
+ if ($PSBoundParameters.ContainsKey('ConfigurationExclusionTag')) {
+ $Object.ConfigurationExclusionTag = $ConfigurationExclusionTag
+ }
+ if ($PSBoundParameters.ContainsKey('ConfigurationScanningMode')) {
+ $Object.ConfigurationScanningMode = $ConfigurationScanningMode
+ }
+ if ($PSBoundParameters.ContainsKey('DataSensitivityDiscoveryEnabled')) {
+ $Object.DataSensitivityDiscoveryEnabled = $DataSensitivityDiscoveryEnabled
+ }
+ if ($PSBoundParameters.ContainsKey('DataSensitivityDiscoveryServiceAccountEmailAddress')) {
+ $Object.DataSensitivityDiscoveryServiceAccountEmailAddress = $DataSensitivityDiscoveryServiceAccountEmailAddress
+ }
+ if ($PSBoundParameters.ContainsKey('DataSensitivityDiscoveryWorkloadIdentityProviderId')) {
+ $Object.DataSensitivityDiscoveryWorkloadIdentityProviderId = $DataSensitivityDiscoveryWorkloadIdentityProviderId
+ }
+ if ($PSBoundParameters.ContainsKey('MdcContainerAgentlessDiscoveryK8SEnabled')) {
+ $Object.MdcContainerAgentlessDiscoveryK8SEnabled = $MdcContainerAgentlessDiscoveryK8SEnabled
+ }
+ if ($PSBoundParameters.ContainsKey('MdcContainerAgentlessDiscoveryK8SServiceAccountEmailAddress')) {
+ $Object.MdcContainerAgentlessDiscoveryK8SServiceAccountEmailAddress = $MdcContainerAgentlessDiscoveryK8SServiceAccountEmailAddress
+ }
+ if ($PSBoundParameters.ContainsKey('MdcContainerAgentlessDiscoveryK8SWorkloadIdentityProviderId')) {
+ $Object.MdcContainerAgentlessDiscoveryK8SWorkloadIdentityProviderId = $MdcContainerAgentlessDiscoveryK8SWorkloadIdentityProviderId
+ }
+ if ($PSBoundParameters.ContainsKey('MdcContainerImageAssessmentEnabled')) {
+ $Object.MdcContainerImageAssessmentEnabled = $MdcContainerImageAssessmentEnabled
+ }
+ if ($PSBoundParameters.ContainsKey('MdcContainerImageAssessmentServiceAccountEmailAddress')) {
+ $Object.MdcContainerImageAssessmentServiceAccountEmailAddress = $MdcContainerImageAssessmentServiceAccountEmailAddress
+ }
+ if ($PSBoundParameters.ContainsKey('MdcContainerImageAssessmentWorkloadIdentityProviderId')) {
+ $Object.MdcContainerImageAssessmentWorkloadIdentityProviderId = $MdcContainerImageAssessmentWorkloadIdentityProviderId
+ }
+ if ($PSBoundParameters.ContainsKey('VMScannerEnabled')) {
+ $Object.VMScannerEnabled = $VMScannerEnabled
+ }
+ return $Object
+ }
+}
+
diff --git a/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityDefenderForContainersAwsOfferingObject.ps1 b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityDefenderForContainersAwsOfferingObject.ps1
new file mode 100644
index 000000000000..0fc814a3119e
--- /dev/null
+++ b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityDefenderForContainersAwsOfferingObject.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 DefenderForContainersAwsOffering.
+.Description
+Create an in-memory object for DefenderForContainersAwsOffering.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForContainersAwsOffering
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecuritydefenderforcontainersawsofferingobject
+#>
+function New-AzSecurityDefenderForContainersAwsOfferingObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForContainersAwsOffering')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ [Parameter(HelpMessage="Is audit logs pipeline auto provisioning enabled.")]
+ [bool]
+ $AutoProvisioning,
+ [Parameter(HelpMessage="The cloud role ARN in AWS used by CloudWatch to transfer data into Kinesis.")]
+ [string]
+ $CloudWatchToKinesiCloudRoleArn,
+ [Parameter(HelpMessage="The cloud role ARN in AWS for this feature.")]
+ [string]
+ $ContainerVulnerabilityAssessmentCloudRoleArn,
+ [Parameter(HelpMessage="The cloud role ARN in AWS for this feature.")]
+ [string]
+ $ContainerVulnerabilityAssessmentTaskCloudRoleArn,
+ [Parameter(HelpMessage="Enable container vulnerability assessment feature.")]
+ [bool]
+ $EnableContainerVulnerabilityAssessment,
+ [Parameter(HelpMessage="The cloud role ARN in AWS used by Kinesis to transfer data into S3.")]
+ [string]
+ $KinesiToS3CloudRoleArn,
+ [Parameter(HelpMessage="The retention time in days of kube audit logs set on the CloudWatch log group.")]
+ [long]
+ $KubeAuditRetentionTime,
+ [Parameter(HelpMessage="The cloud role ARN in AWS for this feature used for reading data.")]
+ [string]
+ $KuberneteScubaReaderCloudRoleArn,
+ [Parameter(HelpMessage="The cloud role ARN in AWS for this feature used for provisioning resources.")]
+ [string]
+ $KuberneteServiceCloudRoleArn,
+ [Parameter(HelpMessage="The cloud role ARN in AWS for this feature.")]
+ [string]
+ $MdcContainerAgentlessDiscoveryK8SCloudRoleArn,
+ [Parameter(HelpMessage="Is Microsoft Defender container agentless discovery K8s enabled.")]
+ [bool]
+ $MdcContainerAgentlessDiscoveryK8SEnabled,
+ [Parameter(HelpMessage="The cloud role ARN in AWS for this feature.")]
+ [string]
+ $MdcContainerImageAssessmentCloudRoleArn,
+ [Parameter(HelpMessage="Is Microsoft Defender container image assessment enabled.")]
+ [bool]
+ $MdcContainerImageAssessmentEnabled,
+ [Parameter(HelpMessage="The externalId used by the data reader to prevent the confused deputy attack.")]
+ [string]
+ $ScubaExternalId
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForContainersAwsOffering]::New()
+
+ if ($PSBoundParameters.ContainsKey('AutoProvisioning')) {
+ $Object.AutoProvisioning = $AutoProvisioning
+ }
+ if ($PSBoundParameters.ContainsKey('CloudWatchToKinesiCloudRoleArn')) {
+ $Object.CloudWatchToKinesiCloudRoleArn = $CloudWatchToKinesiCloudRoleArn
+ }
+ if ($PSBoundParameters.ContainsKey('ContainerVulnerabilityAssessmentCloudRoleArn')) {
+ $Object.ContainerVulnerabilityAssessmentCloudRoleArn = $ContainerVulnerabilityAssessmentCloudRoleArn
+ }
+ if ($PSBoundParameters.ContainsKey('ContainerVulnerabilityAssessmentTaskCloudRoleArn')) {
+ $Object.ContainerVulnerabilityAssessmentTaskCloudRoleArn = $ContainerVulnerabilityAssessmentTaskCloudRoleArn
+ }
+ if ($PSBoundParameters.ContainsKey('EnableContainerVulnerabilityAssessment')) {
+ $Object.EnableContainerVulnerabilityAssessment = $EnableContainerVulnerabilityAssessment
+ }
+ if ($PSBoundParameters.ContainsKey('KinesiToS3CloudRoleArn')) {
+ $Object.KinesiToS3CloudRoleArn = $KinesiToS3CloudRoleArn
+ }
+ if ($PSBoundParameters.ContainsKey('KubeAuditRetentionTime')) {
+ $Object.KubeAuditRetentionTime = $KubeAuditRetentionTime
+ }
+ if ($PSBoundParameters.ContainsKey('KuberneteScubaReaderCloudRoleArn')) {
+ $Object.KuberneteScubaReaderCloudRoleArn = $KuberneteScubaReaderCloudRoleArn
+ }
+ if ($PSBoundParameters.ContainsKey('KuberneteServiceCloudRoleArn')) {
+ $Object.KuberneteServiceCloudRoleArn = $KuberneteServiceCloudRoleArn
+ }
+ if ($PSBoundParameters.ContainsKey('MdcContainerAgentlessDiscoveryK8SCloudRoleArn')) {
+ $Object.MdcContainerAgentlessDiscoveryK8SCloudRoleArn = $MdcContainerAgentlessDiscoveryK8SCloudRoleArn
+ }
+ if ($PSBoundParameters.ContainsKey('MdcContainerAgentlessDiscoveryK8SEnabled')) {
+ $Object.MdcContainerAgentlessDiscoveryK8SEnabled = $MdcContainerAgentlessDiscoveryK8SEnabled
+ }
+ if ($PSBoundParameters.ContainsKey('MdcContainerImageAssessmentCloudRoleArn')) {
+ $Object.MdcContainerImageAssessmentCloudRoleArn = $MdcContainerImageAssessmentCloudRoleArn
+ }
+ if ($PSBoundParameters.ContainsKey('MdcContainerImageAssessmentEnabled')) {
+ $Object.MdcContainerImageAssessmentEnabled = $MdcContainerImageAssessmentEnabled
+ }
+ if ($PSBoundParameters.ContainsKey('ScubaExternalId')) {
+ $Object.ScubaExternalId = $ScubaExternalId
+ }
+ return $Object
+ }
+}
+
diff --git a/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityDefenderForContainersGcpOfferingObject.ps1 b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityDefenderForContainersGcpOfferingObject.ps1
new file mode 100644
index 000000000000..a4494e05fa16
--- /dev/null
+++ b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityDefenderForContainersGcpOfferingObject.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 DefenderForContainersGcpOffering.
+.Description
+Create an in-memory object for DefenderForContainersGcpOffering.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForContainersGcpOffering
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecuritydefenderforcontainersgcpofferingobject
+#>
+function New-AzSecurityDefenderForContainersGcpOfferingObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForContainersGcpOffering')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ [Parameter(HelpMessage="Is audit logs data collection enabled.")]
+ [bool]
+ $AuditLogsAutoProvisioningFlag,
+ [Parameter(HelpMessage="The data collection service account email address in GCP for this offering.")]
+ [string]
+ $DataPipelineNativeCloudConnectionServiceAccountEmailAddress,
+ [Parameter(HelpMessage="The data collection GCP workload identity provider id for this offering.")]
+ [string]
+ $DataPipelineNativeCloudConnectionWorkloadIdentityProviderId,
+ [Parameter(HelpMessage="Is Microsoft Defender for Cloud Kubernetes agent auto provisioning enabled.")]
+ [bool]
+ $DefenderAgentAutoProvisioningFlag,
+ [Parameter(HelpMessage="Is Microsoft Defender container agentless discovery enabled.")]
+ [bool]
+ $MdcContainerAgentlessDiscoveryK8SEnabled,
+ [Parameter(HelpMessage="The service account email address in GCP for this feature.")]
+ [string]
+ $MdcContainerAgentlessDiscoveryK8SServiceAccountEmailAddress,
+ [Parameter(HelpMessage="The workload identity provider id in GCP for this feature.")]
+ [string]
+ $MdcContainerAgentlessDiscoveryK8SWorkloadIdentityProviderId,
+ [Parameter(HelpMessage="Is Microsoft Defender container image assessment enabled.")]
+ [bool]
+ $MdcContainerImageAssessmentEnabled,
+ [Parameter(HelpMessage="The service account email address in GCP for this feature.")]
+ [string]
+ $MdcContainerImageAssessmentServiceAccountEmailAddress,
+ [Parameter(HelpMessage="The workload identity provider id in GCP for this feature.")]
+ [string]
+ $MdcContainerImageAssessmentWorkloadIdentityProviderId,
+ [Parameter(HelpMessage="The service account email address in GCP for this offering.")]
+ [string]
+ $NativeCloudConnectionServiceAccountEmailAddress,
+ [Parameter(HelpMessage="The GCP workload identity provider id for this offering.")]
+ [string]
+ $NativeCloudConnectionWorkloadIdentityProviderId,
+ [Parameter(HelpMessage="Is Policy Kubernetes agent auto provisioning enabled.")]
+ [bool]
+ $PolicyAgentAutoProvisioningFlag
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForContainersGcpOffering]::New()
+
+ if ($PSBoundParameters.ContainsKey('AuditLogsAutoProvisioningFlag')) {
+ $Object.AuditLogsAutoProvisioningFlag = $AuditLogsAutoProvisioningFlag
+ }
+ if ($PSBoundParameters.ContainsKey('DataPipelineNativeCloudConnectionServiceAccountEmailAddress')) {
+ $Object.DataPipelineNativeCloudConnectionServiceAccountEmailAddress = $DataPipelineNativeCloudConnectionServiceAccountEmailAddress
+ }
+ if ($PSBoundParameters.ContainsKey('DataPipelineNativeCloudConnectionWorkloadIdentityProviderId')) {
+ $Object.DataPipelineNativeCloudConnectionWorkloadIdentityProviderId = $DataPipelineNativeCloudConnectionWorkloadIdentityProviderId
+ }
+ if ($PSBoundParameters.ContainsKey('DefenderAgentAutoProvisioningFlag')) {
+ $Object.DefenderAgentAutoProvisioningFlag = $DefenderAgentAutoProvisioningFlag
+ }
+ if ($PSBoundParameters.ContainsKey('MdcContainerAgentlessDiscoveryK8SEnabled')) {
+ $Object.MdcContainerAgentlessDiscoveryK8SEnabled = $MdcContainerAgentlessDiscoveryK8SEnabled
+ }
+ if ($PSBoundParameters.ContainsKey('MdcContainerAgentlessDiscoveryK8SServiceAccountEmailAddress')) {
+ $Object.MdcContainerAgentlessDiscoveryK8SServiceAccountEmailAddress = $MdcContainerAgentlessDiscoveryK8SServiceAccountEmailAddress
+ }
+ if ($PSBoundParameters.ContainsKey('MdcContainerAgentlessDiscoveryK8SWorkloadIdentityProviderId')) {
+ $Object.MdcContainerAgentlessDiscoveryK8SWorkloadIdentityProviderId = $MdcContainerAgentlessDiscoveryK8SWorkloadIdentityProviderId
+ }
+ if ($PSBoundParameters.ContainsKey('MdcContainerImageAssessmentEnabled')) {
+ $Object.MdcContainerImageAssessmentEnabled = $MdcContainerImageAssessmentEnabled
+ }
+ if ($PSBoundParameters.ContainsKey('MdcContainerImageAssessmentServiceAccountEmailAddress')) {
+ $Object.MdcContainerImageAssessmentServiceAccountEmailAddress = $MdcContainerImageAssessmentServiceAccountEmailAddress
+ }
+ if ($PSBoundParameters.ContainsKey('MdcContainerImageAssessmentWorkloadIdentityProviderId')) {
+ $Object.MdcContainerImageAssessmentWorkloadIdentityProviderId = $MdcContainerImageAssessmentWorkloadIdentityProviderId
+ }
+ if ($PSBoundParameters.ContainsKey('NativeCloudConnectionServiceAccountEmailAddress')) {
+ $Object.NativeCloudConnectionServiceAccountEmailAddress = $NativeCloudConnectionServiceAccountEmailAddress
+ }
+ if ($PSBoundParameters.ContainsKey('NativeCloudConnectionWorkloadIdentityProviderId')) {
+ $Object.NativeCloudConnectionWorkloadIdentityProviderId = $NativeCloudConnectionWorkloadIdentityProviderId
+ }
+ if ($PSBoundParameters.ContainsKey('PolicyAgentAutoProvisioningFlag')) {
+ $Object.PolicyAgentAutoProvisioningFlag = $PolicyAgentAutoProvisioningFlag
+ }
+ return $Object
+ }
+}
+
diff --git a/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityDefenderForDatabasesAwsOfferingObject.ps1 b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityDefenderForDatabasesAwsOfferingObject.ps1
new file mode 100644
index 000000000000..da51ecbb6ea9
--- /dev/null
+++ b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityDefenderForDatabasesAwsOfferingObject.ps1
@@ -0,0 +1,89 @@
+
+# ----------------------------------------------------------------------------------
+# 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 DefenderForDatabasesAwsOffering.
+.Description
+Create an in-memory object for DefenderForDatabasesAwsOffering.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForDatabasesAwsOffering
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecuritydefenderfordatabasesawsofferingobject
+#>
+function New-AzSecurityDefenderForDatabasesAwsOfferingObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForDatabasesAwsOffering')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ [Parameter(HelpMessage="The cloud role ARN in AWS for this feature.")]
+ [string]
+ $ArcAutoProvisioningCloudRoleArn,
+ [Parameter(HelpMessage="Is arc auto provisioning enabled.")]
+ [bool]
+ $ArcAutoProvisioningEnabled,
+ [Parameter(HelpMessage="Optional Arc private link scope resource id to link the Arc agent.")]
+ [string]
+ $ConfigurationPrivateLinkScope,
+ [Parameter(HelpMessage="Optional http proxy endpoint to use for the Arc agent.")]
+ [string]
+ $ConfigurationProxy,
+ [Parameter(HelpMessage="The cloud role ARN in AWS for this feature.")]
+ [string]
+ $DatabaseDspmCloudRoleArn,
+ [Parameter(HelpMessage="Is databases data security posture management (DSPM) protection enabled.")]
+ [bool]
+ $DatabaseDspmEnabled,
+ [Parameter(HelpMessage="The cloud role ARN in AWS for this feature.")]
+ [string]
+ $RdCloudRoleArn,
+ [Parameter(HelpMessage="Is RDS protection enabled.")]
+ [bool]
+ $RdEnabled
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForDatabasesAwsOffering]::New()
+
+ if ($PSBoundParameters.ContainsKey('ArcAutoProvisioningCloudRoleArn')) {
+ $Object.ArcAutoProvisioningCloudRoleArn = $ArcAutoProvisioningCloudRoleArn
+ }
+ if ($PSBoundParameters.ContainsKey('ArcAutoProvisioningEnabled')) {
+ $Object.ArcAutoProvisioningEnabled = $ArcAutoProvisioningEnabled
+ }
+ if ($PSBoundParameters.ContainsKey('ConfigurationPrivateLinkScope')) {
+ $Object.ConfigurationPrivateLinkScope = $ConfigurationPrivateLinkScope
+ }
+ if ($PSBoundParameters.ContainsKey('ConfigurationProxy')) {
+ $Object.ConfigurationProxy = $ConfigurationProxy
+ }
+ if ($PSBoundParameters.ContainsKey('DatabaseDspmCloudRoleArn')) {
+ $Object.DatabaseDspmCloudRoleArn = $DatabaseDspmCloudRoleArn
+ }
+ if ($PSBoundParameters.ContainsKey('DatabaseDspmEnabled')) {
+ $Object.DatabaseDspmEnabled = $DatabaseDspmEnabled
+ }
+ if ($PSBoundParameters.ContainsKey('RdCloudRoleArn')) {
+ $Object.RdCloudRoleArn = $RdCloudRoleArn
+ }
+ if ($PSBoundParameters.ContainsKey('RdEnabled')) {
+ $Object.RdEnabled = $RdEnabled
+ }
+ return $Object
+ }
+}
+
diff --git a/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityDefenderForDatabasesGcpOfferingObject.ps1 b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityDefenderForDatabasesGcpOfferingObject.ps1
new file mode 100644
index 000000000000..d61678f3208c
--- /dev/null
+++ b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityDefenderForDatabasesGcpOfferingObject.ps1
@@ -0,0 +1,71 @@
+
+# ----------------------------------------------------------------------------------
+# 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 DefenderForDatabasesGcpOffering.
+.Description
+Create an in-memory object for DefenderForDatabasesGcpOffering.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForDatabasesGcpOffering
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecuritydefenderfordatabasesgcpofferingobject
+#>
+function New-AzSecurityDefenderForDatabasesGcpOfferingObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForDatabasesGcpOffering')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ [Parameter(HelpMessage="Is arc auto provisioning enabled.")]
+ [bool]
+ $ArcAutoProvisioningEnabled,
+ [Parameter(HelpMessage="Optional Arc private link scope resource id to link the Arc agent.")]
+ [string]
+ $ConfigurationPrivateLinkScope,
+ [Parameter(HelpMessage="Optional http proxy endpoint to use for the Arc agent.")]
+ [string]
+ $ConfigurationProxy,
+ [Parameter(HelpMessage="The service account email address in GCP for this offering.")]
+ [string]
+ $DefenderForDatabaseArcAutoProvisioningServiceAccountEmailAddress,
+ [Parameter(HelpMessage="The GCP workload identity provider id for this offering.")]
+ [string]
+ $DefenderForDatabaseArcAutoProvisioningWorkloadIdentityProviderId
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForDatabasesGcpOffering]::New()
+
+ if ($PSBoundParameters.ContainsKey('ArcAutoProvisioningEnabled')) {
+ $Object.ArcAutoProvisioningEnabled = $ArcAutoProvisioningEnabled
+ }
+ if ($PSBoundParameters.ContainsKey('ConfigurationPrivateLinkScope')) {
+ $Object.ConfigurationPrivateLinkScope = $ConfigurationPrivateLinkScope
+ }
+ if ($PSBoundParameters.ContainsKey('ConfigurationProxy')) {
+ $Object.ConfigurationProxy = $ConfigurationProxy
+ }
+ if ($PSBoundParameters.ContainsKey('DefenderForDatabaseArcAutoProvisioningServiceAccountEmailAddress')) {
+ $Object.DefenderForDatabaseArcAutoProvisioningServiceAccountEmailAddress = $DefenderForDatabaseArcAutoProvisioningServiceAccountEmailAddress
+ }
+ if ($PSBoundParameters.ContainsKey('DefenderForDatabaseArcAutoProvisioningWorkloadIdentityProviderId')) {
+ $Object.DefenderForDatabaseArcAutoProvisioningWorkloadIdentityProviderId = $DefenderForDatabaseArcAutoProvisioningWorkloadIdentityProviderId
+ }
+ return $Object
+ }
+}
+
diff --git a/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityDefenderForServersAwsOfferingObject.ps1 b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityDefenderForServersAwsOfferingObject.ps1
new file mode 100644
index 000000000000..c7cdfe606db9
--- /dev/null
+++ b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityDefenderForServersAwsOfferingObject.ps1
@@ -0,0 +1,128 @@
+
+# ----------------------------------------------------------------------------------
+# 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 DefenderForServersAwsOffering.
+.Description
+Create an in-memory object for DefenderForServersAwsOffering.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersAwsOffering
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecuritydefenderforserversawsofferingobject
+#>
+function New-AzSecurityDefenderForServersAwsOfferingObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersAwsOffering')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ [Parameter(HelpMessage="The cloud role ARN in AWS for this feature.")]
+ [string]
+ $ArcAutoProvisioningCloudRoleArn,
+ [Parameter(HelpMessage="Is arc auto provisioning enabled.")]
+ [bool]
+ $ArcAutoProvisioningEnabled,
+ [Parameter(HelpMessage="The cloud role ARN in AWS for this feature.")]
+ [string]
+ $ConfigurationCloudRoleArn,
+ [Parameter(HelpMessage="VM tags that indicates that VM should not be scanned.")]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IDefenderForServersAwsOfferingVMScannersConfigurationExclusionTags]
+ $ConfigurationExclusionTag,
+ [Parameter(HelpMessage="Optional Arc private link scope resource id to link the Arc agent.")]
+ [string]
+ $ConfigurationPrivateLinkScope,
+ [Parameter(HelpMessage="Optional HTTP proxy endpoint to use for the Arc agent.")]
+ [string]
+ $ConfigurationProxy,
+ [Parameter(HelpMessage="The scanning mode for the VM scan.")]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.PSArgumentCompleterAttribute("Default")]
+ [string]
+ $ConfigurationScanningMode,
+ [Parameter(HelpMessage="The Vulnerability Assessment solution to be provisioned. Can be either 'TVM' or 'Qualys'.")]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.PSArgumentCompleterAttribute("Qualys", "TVM")]
+ [string]
+ $ConfigurationType,
+ [Parameter(HelpMessage="The cloud role ARN in AWS for this feature.")]
+ [string]
+ $DefenderForServerCloudRoleArn,
+ [Parameter(HelpMessage="configuration for Microsoft Defender for Endpoint autoprovisioning.")]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IAny]
+ $MdeAutoProvisioningConfiguration,
+ [Parameter(HelpMessage="Is Microsoft Defender for Endpoint auto provisioning enabled.")]
+ [bool]
+ $MdeAutoProvisioningEnabled,
+ [Parameter(HelpMessage="The available sub plans.")]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.PSArgumentCompleterAttribute("P1", "P2")]
+ [string]
+ $SubPlanType,
+ [Parameter(HelpMessage="Is Microsoft Defender for Server VM scanning enabled.")]
+ [bool]
+ $VMScannerEnabled,
+ [Parameter(HelpMessage="Is Vulnerability Assessment auto provisioning enabled.")]
+ [bool]
+ $VaAutoProvisioningEnabled
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersAwsOffering]::New()
+
+ if ($PSBoundParameters.ContainsKey('ArcAutoProvisioningCloudRoleArn')) {
+ $Object.ArcAutoProvisioningCloudRoleArn = $ArcAutoProvisioningCloudRoleArn
+ }
+ if ($PSBoundParameters.ContainsKey('ArcAutoProvisioningEnabled')) {
+ $Object.ArcAutoProvisioningEnabled = $ArcAutoProvisioningEnabled
+ }
+ if ($PSBoundParameters.ContainsKey('ConfigurationCloudRoleArn')) {
+ $Object.ConfigurationCloudRoleArn = $ConfigurationCloudRoleArn
+ }
+ if ($PSBoundParameters.ContainsKey('ConfigurationExclusionTag')) {
+ $Object.ConfigurationExclusionTag = $ConfigurationExclusionTag
+ }
+ if ($PSBoundParameters.ContainsKey('ConfigurationPrivateLinkScope')) {
+ $Object.ConfigurationPrivateLinkScope = $ConfigurationPrivateLinkScope
+ }
+ if ($PSBoundParameters.ContainsKey('ConfigurationProxy')) {
+ $Object.ConfigurationProxy = $ConfigurationProxy
+ }
+ if ($PSBoundParameters.ContainsKey('ConfigurationScanningMode')) {
+ $Object.ConfigurationScanningMode = $ConfigurationScanningMode
+ }
+ if ($PSBoundParameters.ContainsKey('ConfigurationType')) {
+ $Object.ConfigurationType = $ConfigurationType
+ }
+ if ($PSBoundParameters.ContainsKey('DefenderForServerCloudRoleArn')) {
+ $Object.DefenderForServerCloudRoleArn = $DefenderForServerCloudRoleArn
+ }
+ if ($PSBoundParameters.ContainsKey('MdeAutoProvisioningConfiguration')) {
+ $Object.MdeAutoProvisioningConfiguration = $MdeAutoProvisioningConfiguration
+ }
+ if ($PSBoundParameters.ContainsKey('MdeAutoProvisioningEnabled')) {
+ $Object.MdeAutoProvisioningEnabled = $MdeAutoProvisioningEnabled
+ }
+ if ($PSBoundParameters.ContainsKey('SubPlanType')) {
+ $Object.SubPlanType = $SubPlanType
+ }
+ if ($PSBoundParameters.ContainsKey('VMScannerEnabled')) {
+ $Object.VMScannerEnabled = $VMScannerEnabled
+ }
+ if ($PSBoundParameters.ContainsKey('VaAutoProvisioningEnabled')) {
+ $Object.VaAutoProvisioningEnabled = $VaAutoProvisioningEnabled
+ }
+ return $Object
+ }
+}
+
diff --git a/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityDefenderForServersGcpOfferingObject.ps1 b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityDefenderForServersGcpOfferingObject.ps1
new file mode 100644
index 000000000000..aeea241d47bd
--- /dev/null
+++ b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityDefenderForServersGcpOfferingObject.ps1
@@ -0,0 +1,122 @@
+
+# ----------------------------------------------------------------------------------
+# 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 DefenderForServersGcpOffering.
+.Description
+Create an in-memory object for DefenderForServersGcpOffering.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersGcpOffering
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecuritydefenderforserversgcpofferingobject
+#>
+function New-AzSecurityDefenderForServersGcpOfferingObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersGcpOffering')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ [Parameter(HelpMessage="Is arc auto provisioning enabled.")]
+ [bool]
+ $ArcAutoProvisioningEnabled,
+ [Parameter(HelpMessage="VM tags that indicate that VM should not be scanned.")]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IDefenderForServersGcpOfferingVMScannersConfigurationExclusionTags]
+ $ConfigurationExclusionTag,
+ [Parameter(HelpMessage="Optional Arc private link scope resource id to link the Arc agent.")]
+ [string]
+ $ConfigurationPrivateLinkScope,
+ [Parameter(HelpMessage="Optional HTTP proxy endpoint to use for the Arc agent.")]
+ [string]
+ $ConfigurationProxy,
+ [Parameter(HelpMessage="The scanning mode for the VM scan.")]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.PSArgumentCompleterAttribute("Default")]
+ [string]
+ $ConfigurationScanningMode,
+ [Parameter(HelpMessage="The Vulnerability Assessment solution to be provisioned. Can be either 'TVM' or 'Qualys'.")]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.PSArgumentCompleterAttribute("Qualys", "TVM")]
+ [string]
+ $ConfigurationType,
+ [Parameter(HelpMessage="The service account email address in GCP for this feature.")]
+ [string]
+ $DefenderForServerServiceAccountEmailAddress,
+ [Parameter(HelpMessage="The workload identity provider id in GCP for this feature.")]
+ [string]
+ $DefenderForServerWorkloadIdentityProviderId,
+ [Parameter(HelpMessage="configuration for Microsoft Defender for Endpoint autoprovisioning.")]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IAny]
+ $MdeAutoProvisioningConfiguration,
+ [Parameter(HelpMessage="Is Microsoft Defender for Endpoint auto provisioning enabled.")]
+ [bool]
+ $MdeAutoProvisioningEnabled,
+ [Parameter(HelpMessage="The available sub plans.")]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.PSArgumentCompleterAttribute("P1", "P2")]
+ [string]
+ $SubPlanType,
+ [Parameter(HelpMessage="Is Microsoft Defender for Server VM scanning enabled.")]
+ [bool]
+ $VMScannerEnabled,
+ [Parameter(HelpMessage="Is Vulnerability Assessment auto provisioning enabled.")]
+ [bool]
+ $VaAutoProvisioningEnabled
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersGcpOffering]::New()
+
+ if ($PSBoundParameters.ContainsKey('ArcAutoProvisioningEnabled')) {
+ $Object.ArcAutoProvisioningEnabled = $ArcAutoProvisioningEnabled
+ }
+ if ($PSBoundParameters.ContainsKey('ConfigurationExclusionTag')) {
+ $Object.ConfigurationExclusionTag = $ConfigurationExclusionTag
+ }
+ if ($PSBoundParameters.ContainsKey('ConfigurationPrivateLinkScope')) {
+ $Object.ConfigurationPrivateLinkScope = $ConfigurationPrivateLinkScope
+ }
+ if ($PSBoundParameters.ContainsKey('ConfigurationProxy')) {
+ $Object.ConfigurationProxy = $ConfigurationProxy
+ }
+ if ($PSBoundParameters.ContainsKey('ConfigurationScanningMode')) {
+ $Object.ConfigurationScanningMode = $ConfigurationScanningMode
+ }
+ if ($PSBoundParameters.ContainsKey('ConfigurationType')) {
+ $Object.ConfigurationType = $ConfigurationType
+ }
+ if ($PSBoundParameters.ContainsKey('DefenderForServerServiceAccountEmailAddress')) {
+ $Object.DefenderForServerServiceAccountEmailAddress = $DefenderForServerServiceAccountEmailAddress
+ }
+ if ($PSBoundParameters.ContainsKey('DefenderForServerWorkloadIdentityProviderId')) {
+ $Object.DefenderForServerWorkloadIdentityProviderId = $DefenderForServerWorkloadIdentityProviderId
+ }
+ if ($PSBoundParameters.ContainsKey('MdeAutoProvisioningConfiguration')) {
+ $Object.MdeAutoProvisioningConfiguration = $MdeAutoProvisioningConfiguration
+ }
+ if ($PSBoundParameters.ContainsKey('MdeAutoProvisioningEnabled')) {
+ $Object.MdeAutoProvisioningEnabled = $MdeAutoProvisioningEnabled
+ }
+ if ($PSBoundParameters.ContainsKey('SubPlanType')) {
+ $Object.SubPlanType = $SubPlanType
+ }
+ if ($PSBoundParameters.ContainsKey('VMScannerEnabled')) {
+ $Object.VMScannerEnabled = $VMScannerEnabled
+ }
+ if ($PSBoundParameters.ContainsKey('VaAutoProvisioningEnabled')) {
+ $Object.VaAutoProvisioningEnabled = $VaAutoProvisioningEnabled
+ }
+ return $Object
+ }
+}
+
diff --git a/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityGcpOrganizationalDataMemberObject.ps1 b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityGcpOrganizationalDataMemberObject.ps1
new file mode 100644
index 000000000000..acd2067cbf76
--- /dev/null
+++ b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityGcpOrganizationalDataMemberObject.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 GcpOrganizationalDataMember.
+.Description
+Create an in-memory object for GcpOrganizationalDataMember.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GcpOrganizationalDataMember
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecuritygcporganizationaldatamemberobject
+#>
+function New-AzSecurityGcpOrganizationalDataMemberObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GcpOrganizationalDataMember')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ [Parameter(HelpMessage="The GCP management project number from organizational onboarding.")]
+ [string]
+ $ManagementProjectNumber,
+ [Parameter(HelpMessage="If the multi cloud account is not of membership type organization, this will be the ID of the project's parent.")]
+ [string]
+ $ParentHierarchyId
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GcpOrganizationalDataMember]::New()
+
+ if ($PSBoundParameters.ContainsKey('ManagementProjectNumber')) {
+ $Object.ManagementProjectNumber = $ManagementProjectNumber
+ }
+ if ($PSBoundParameters.ContainsKey('ParentHierarchyId')) {
+ $Object.ParentHierarchyId = $ParentHierarchyId
+ }
+ return $Object
+ }
+}
+
diff --git a/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityGcpOrganizationalDataOrganizationObject.ps1 b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityGcpOrganizationalDataOrganizationObject.ps1
new file mode 100644
index 000000000000..f5f781fbd3aa
--- /dev/null
+++ b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityGcpOrganizationalDataOrganizationObject.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 GcpOrganizationalDataOrganization.
+.Description
+Create an in-memory object for GcpOrganizationalDataOrganization.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GcpOrganizationalDataOrganization
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecuritygcporganizationaldataorganizationobject
+#>
+function New-AzSecurityGcpOrganizationalDataOrganizationObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GcpOrganizationalDataOrganization')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ [Parameter(HelpMessage="If the multi cloud account is of membership type organization, list of accounts excluded from offering.")]
+ [string[]]
+ $ExcludedProjectNumber,
+ [Parameter(HelpMessage="The service account email address which represents the organization level permissions container.")]
+ [string]
+ $ServiceAccountEmailAddress,
+ [Parameter(HelpMessage="The GCP workload identity provider id which represents the permissions required to auto provision security connectors.")]
+ [string]
+ $WorkloadIdentityProviderId
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GcpOrganizationalDataOrganization]::New()
+
+ if ($PSBoundParameters.ContainsKey('ExcludedProjectNumber')) {
+ $Object.ExcludedProjectNumber = $ExcludedProjectNumber
+ }
+ if ($PSBoundParameters.ContainsKey('ServiceAccountEmailAddress')) {
+ $Object.ServiceAccountEmailAddress = $ServiceAccountEmailAddress
+ }
+ if ($PSBoundParameters.ContainsKey('WorkloadIdentityProviderId')) {
+ $Object.WorkloadIdentityProviderId = $WorkloadIdentityProviderId
+ }
+ return $Object
+ }
+}
+
diff --git a/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityGcpProjectEnvironmentObject.ps1 b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityGcpProjectEnvironmentObject.ps1
new file mode 100644
index 000000000000..9aa4f206b9bc
--- /dev/null
+++ b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityGcpProjectEnvironmentObject.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 GcpProjectEnvironment.
+.Description
+Create an in-memory object for GcpProjectEnvironment.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GcpProjectEnvironment
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecuritygcpprojectenvironmentobject
+#>
+function New-AzSecurityGcpProjectEnvironmentObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GcpProjectEnvironment')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ [Parameter(HelpMessage="The Gcp project's organizational data.")]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IGcpOrganizationalData]
+ $OrganizationalData,
+ [Parameter(HelpMessage="The GCP Project id.")]
+ [string]
+ $ProjectDetailProjectId,
+ [Parameter(HelpMessage="The unique GCP Project number.")]
+ [string]
+ $ProjectDetailProjectNumber,
+ [Parameter(HelpMessage="Scan interval in hours (value should be between 1-hour to 24-hours).")]
+ [long]
+ $ScanInterval
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GcpProjectEnvironment]::New()
+
+ if ($PSBoundParameters.ContainsKey('OrganizationalData')) {
+ $Object.OrganizationalData = $OrganizationalData
+ }
+ if ($PSBoundParameters.ContainsKey('ProjectDetailProjectId')) {
+ $Object.ProjectDetailProjectId = $ProjectDetailProjectId
+ }
+ if ($PSBoundParameters.ContainsKey('ProjectDetailProjectNumber')) {
+ $Object.ProjectDetailProjectNumber = $ProjectDetailProjectNumber
+ }
+ if ($PSBoundParameters.ContainsKey('ScanInterval')) {
+ $Object.ScanInterval = $ScanInterval
+ }
+ return $Object
+ }
+}
+
diff --git a/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityGitHubScopeEnvironmentObject.ps1 b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityGitHubScopeEnvironmentObject.ps1
new file mode 100644
index 000000000000..093dedd329ff
--- /dev/null
+++ b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityGitHubScopeEnvironmentObject.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.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for GitHubScopeEnvironment.
+.Description
+Create an in-memory object for GitHubScopeEnvironment.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitHubScopeEnvironment
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecuritygithubscopeenvironmentobject
+#>
+function New-AzSecurityGitHubScopeEnvironmentObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitHubScopeEnvironment')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitHubScopeEnvironment]::New()
+
+ return $Object
+ }
+}
+
diff --git a/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityGitLabScopeEnvironmentObject.ps1 b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityGitLabScopeEnvironmentObject.ps1
new file mode 100644
index 000000000000..52c3ee8ad9e6
--- /dev/null
+++ b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityGitLabScopeEnvironmentObject.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.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for GitLabScopeEnvironment.
+.Description
+Create an in-memory object for GitLabScopeEnvironment.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitLabScopeEnvironment
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecuritygitlabscopeenvironmentobject
+#>
+function New-AzSecurityGitLabScopeEnvironmentObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitLabScopeEnvironment')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitLabScopeEnvironment]::New()
+
+ return $Object
+ }
+}
+
diff --git a/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityInformationProtectionAwsOfferingObject.ps1 b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityInformationProtectionAwsOfferingObject.ps1
new file mode 100644
index 000000000000..66d698ab2101
--- /dev/null
+++ b/src/Security/Security.Autorest/custom/autogen-model-cmdlets/New-AzSecurityInformationProtectionAwsOfferingObject.ps1
@@ -0,0 +1,47 @@
+
+# ----------------------------------------------------------------------------------
+# 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 InformationProtectionAwsOffering.
+.Description
+Create an in-memory object for InformationProtectionAwsOffering.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.InformationProtectionAwsOffering
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecurityinformationprotectionawsofferingobject
+#>
+function New-AzSecurityInformationProtectionAwsOfferingObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.Security.Models.InformationProtectionAwsOffering')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ [Parameter(HelpMessage="The cloud role ARN in AWS for this feature.")]
+ [string]
+ $InformationProtectionCloudRoleArn
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.InformationProtectionAwsOffering]::New()
+
+ if ($PSBoundParameters.ContainsKey('InformationProtectionCloudRoleArn')) {
+ $Object.InformationProtectionCloudRoleArn = $InformationProtectionCloudRoleArn
+ }
+ return $Object
+ }
+}
+
diff --git a/src/Security/Security.Autorest/examples/Get-AzSecurityApiCollection.md b/src/Security/Security.Autorest/examples/Get-AzSecurityApiCollection.md
new file mode 100644
index 000000000000..c8a0a674ed87
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/Get-AzSecurityApiCollection.md
@@ -0,0 +1,48 @@
+### Example 1: Get a specific onboarded api collection resource
+```powershell
+Get-AzSecurityApiCollection -ResourceGroupName apicollectionstests -ServiceName "demoapimservice2" -ApiId "echo-api"
+```
+
+```output
+BaseUrl : https://demoapimservice2.azure-api.net/echo
+DiscoveredVia : /subscriptions/487bb485-b5b0-471e-9c0d-10717612f869/resourceGroups/apicollectionstests/providers/Microsoft.ApiManagement/service/demoapim
+ service2
+DisplayName : Echo API
+Id : /subscriptions/487bb485-b5b0-471e-9c0d-10717612f869/resourceGroups/apicollectionstests/providers/Microsoft.ApiManagement/service/demoapim
+ service2/providers/Microsoft.Security/apiCollections/echo-api
+Name : echo-api
+NumberOfApiEndpoint : 6
+NumberOfApiEndpointsWithSensitiveDataExposed : 0
+NumberOfExternalApiEndpoint : 0
+NumberOfInactiveApiEndpoint : 6
+NumberOfUnauthenticatedApiEndpoint : 0
+ProvisioningState : Succeeded
+ResourceGroupName : apicollectionstests
+SensitivityLabel :
+Type : microsoft.security/apicollections
+```
+
+### Example 2: List onboarded api collections by service name
+```powershell
+Get-AzSecurityApiCollection -ResourceGroupName "apicollectionstests" -ServiceName "demoapimservice2"
+```
+
+```output
+Name ResourceGroupName
+---- -----------------
+echo-api apicollectionstests
+echo-api-2 apicollectionstests
+```
+
+### Example 3: List onboarded api collections by subscription
+```powershell
+Get-AzSecurityApiCollection
+```
+
+```output
+Name ResourceGroupName
+---- -----------------
+echo-api apicollectionstests
+echo-api-2 apicollectionstests
+```
+
diff --git a/src/Security/Security.Autorest/examples/Get-AzSecurityConnector.md b/src/Security/Security.Autorest/examples/Get-AzSecurityConnector.md
new file mode 100644
index 000000000000..8cb81e982eb3
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/Get-AzSecurityConnector.md
@@ -0,0 +1,47 @@
+### Example 1: Get Security Connector resource by name
+```powershell
+Get-AzSecurityConnector -ResourceGroupName "dfdtest-sdk" -Name "dfdsdktests-azdo-01"
+```
+
+```output
+EnvironmentData : {
+ "environmentType": "AzureDevOpsScope"
+ }
+EnvironmentName : AzureDevOps
+Etag :
+HierarchyIdentifier : 4a8eb7f1-f533-48c5-b102-9b09e90906b7
+HierarchyIdentifierTrialEndDate :
+Id : /subscriptions/487bb485-b5b0-471e-9c0d-10717612f869/resourcegroups/dfdtest-sdk/providers/Microsoft.Security/securityConnectors/dfdsdktests-azdo-01
+Kind :
+Location : centralus
+Name : dfdsdktests-azdo-01
+Offering : {{
+ "offeringType": "CspmMonitorAzureDevOps"
+ }}
+ResourceGroupName : dfdtest-sdk
+SystemDataCreatedAt : 12/7/2023 6:38:36 AM
+SystemDataCreatedBy : c3d82ccb-fee1-430c-949e-6c0a217c00a8
+SystemDataCreatedByType : Application
+SystemDataLastModifiedAt : 2/14/2024 2:11:46 AM
+SystemDataLastModifiedBy : c3d82ccb-fee1-430c-949e-6c0a217c00a8
+SystemDataLastModifiedByType : Application
+Tag : {}
+Type : Microsoft.Security/securityconnectors
+```
+
+
+### Example 2: List Security Connectors by subscription
+```powershell
+Get-AzSecurityConnector
+```
+
+```output
+Name ResourceGroupName EnvironmentName Location HierarchyIdentifier
+---- ----------------- --------------- -------- -------------------
+dfdsdktests-azdo-01 dfdtest-sdk AzureDevOps centralus 4a8eb7f1-f533-48c5-b102-9b09e90906b7
+dfdsdktests-gl-01 dfdtest-sdk GitLab centralus 7a1f4efe-f8c6-48e7-b7ef-1b45994ed602
+dfdsdktests-gh-01 dfdtest-sdk Github centralus bc12ba4d-b89c-486e-85e1-d803e7d80525
+aws-sdktest01 securityconnectors-tests AWS CentralUS 891376984375
+gcp-sdktest01 securityconnectors-tests GCP CentralUS 843025268399
+```
+
diff --git a/src/Security/Security.Autorest/examples/Get-AzSecurityConnectorAzureDevOpsOrg.md b/src/Security/Security.Autorest/examples/Get-AzSecurityConnectorAzureDevOpsOrg.md
new file mode 100644
index 000000000000..12065283b013
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/Get-AzSecurityConnectorAzureDevOpsOrg.md
@@ -0,0 +1,48 @@
+### Example 1: Get discovered AzureDevOps organization by name
+```powershell
+Get-AzSecurityConnectorAzureDevOpsOrg -ResourceGroupName dfdtest-sdk -SecurityConnectorName dfdsdktests-azdo-01 -OrgName dfdsdktests
+```
+
+```output
+ActionableRemediation : {
+ "state": "Enabled",
+ "categoryConfigurations": [
+ {
+ "minimumSeverityLevel": "High",
+ "category": "IaC"
+ }
+ ],
+ "branchConfiguration": {
+ "branchNames": [ ],
+ "annotateDefaultBranch": "Enabled"
+ },
+ "inheritFromParentState": "Disabled"
+ }
+Id : /subscriptions/487bb485-b5b0-471e-9c0d-10717612f869/resourceGroups/dfdtest-sdk/providers/Microsoft.Security/securityConnectors/dfdsdktests-azdo-01/devops/default/azureDevOpsOrgs/dfdsdktests
+Name : dfdsdktests
+OnboardingState : Onboarded
+ProvisioningState : Succeeded
+ProvisioningStatusMessage : OK
+ProvisioningStatusUpdateTimeUtc : 2/23/2024 6:49:40 PM
+ResourceGroupName : dfdtest-sdk
+SystemDataCreatedAt :
+SystemDataCreatedBy :
+SystemDataCreatedByType :
+SystemDataLastModifiedAt :
+SystemDataLastModifiedBy :
+SystemDataLastModifiedByType :
+Type : Microsoft.Security/securityConnectors/devops/azureDevOpsOrgs
+```
+
+### Example 2: List discovered AzureDevOps organizations
+```powershell
+Get-AzSecurityConnectorAzureDevOpsOrg -ResourceGroupName dfdtest-sdk -SecurityConnectorName dfdsdktests-azdo-01
+```
+
+```output
+Name ResourceGroupName
+---- -----------------
+dfdsdktests dfdtest-sdk
+dfdsdktests2 dfdtest-sdk
+```
+
diff --git a/src/Security/Security.Autorest/examples/Get-AzSecurityConnectorAzureDevOpsOrgAvailable.md b/src/Security/Security.Autorest/examples/Get-AzSecurityConnectorAzureDevOpsOrgAvailable.md
new file mode 100644
index 000000000000..7e72c9660178
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/Get-AzSecurityConnectorAzureDevOpsOrgAvailable.md
@@ -0,0 +1,36 @@
+### Example 1: List available AzureDevOps organizations for onboarding
+```powershell
+Get-AzSecurityConnectorAzureDevOpsOrgAvailable -ResourceGroupName dfdtest-sdk -SecurityConnectorName dfdsdktests-azdo-01
+```
+
+```output
+ActionableRemediation : {
+ "state": "Enabled",
+ "categoryConfigurations": [
+ {
+ "minimumSeverityLevel": "High",
+ "category": "IaC"
+ }
+ ],
+ "branchConfiguration": {
+ "branchNames": [ ],
+ "annotateDefaultBranch": "Enabled"
+ },
+ "inheritFromParentState": "Disabled"
+ }
+Id : /subscriptions/487bb485-b5b0-471e-9c0d-10717612f869/resourceGroups/dfdtest-sdk/providers/Microsoft.Security/securityConnectors/dfdsdktests-azdo-01/devops/default/azureDevOpsOrgs/dfdsdktests
+Name : dfdsdktests
+OnboardingState : Onboarded
+ProvisioningState : Succeeded
+ProvisioningStatusMessage : OK
+ProvisioningStatusUpdateTimeUtc : 2/23/2024 6:49:40 PM
+ResourceGroupName : dfdtest-sdk
+SystemDataCreatedAt :
+SystemDataCreatedBy :
+SystemDataCreatedByType :
+SystemDataLastModifiedAt :
+SystemDataLastModifiedBy :
+SystemDataLastModifiedByType :
+Type : Microsoft.Security/securityConnectors/devops/azureDevOpsOrgs
+```
+
diff --git a/src/Security/Security.Autorest/examples/Get-AzSecurityConnectorAzureDevOpsProject.md b/src/Security/Security.Autorest/examples/Get-AzSecurityConnectorAzureDevOpsProject.md
new file mode 100644
index 000000000000..bc68361cc90d
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/Get-AzSecurityConnectorAzureDevOpsProject.md
@@ -0,0 +1,52 @@
+### Example 1: Get discovered AzureDevOps project by organization and project name
+```powershell
+Get-AzSecurityConnectorAzureDevOpsProject -ResourceGroupName dfdtest-sdk -SecurityConnectorName dfdsdktests-azdo-01 -OrgName dfdsdktests -ProjectName ContosoSDKDfd
+```
+
+```output
+ActionableRemediation : {
+ "state": "Enabled",
+ "categoryConfigurations": [
+ {
+ "minimumSeverityLevel": "High",
+ "category": "IaC"
+ }
+ ],
+ "branchConfiguration": {
+ "branchNames": [ ],
+ "annotateDefaultBranch": "Enabled"
+ },
+ "inheritFromParentState": "Disabled"
+ }
+Id : /subscriptions/487bb485-b5b0-471e-9c0d-10717612f869/resourceGroups/dfdtest-sdk/providers/Microsoft.Security/securityConnectors/dfdsdktests-azdo-01/devops/default/azureDevOpsOrgs/dfdsdktests/projects/Co
+ ntosoSDKDfd
+Name : ContosoSDKDfd
+OnboardingState : Onboarded
+ParentOrgName : dfdsdktests
+ProjectId : 161fb6f6-f2fe-4616-a627-293b788ff583
+ProvisioningState : Succeeded
+ProvisioningStatusMessage : OK
+ProvisioningStatusUpdateTimeUtc : 2/23/2024 6:52:43 PM
+ResourceGroupName : dfdtest-sdk
+SystemDataCreatedAt :
+SystemDataCreatedBy :
+SystemDataCreatedByType :
+SystemDataLastModifiedAt :
+SystemDataLastModifiedBy :
+SystemDataLastModifiedByType :
+Type : Microsoft.Security/securityConnectors/devops/azureDevOpsOrgs/projects
+```
+
+### Example 2: List discovered AzureDevOps projects
+```powershell
+Get-AzSecurityConnectorAzureDevOpsProject -ResourceGroupName dfdtest-sdk -SecurityConnectorName dfdsdktests-azdo-01 -OrgName dfdsdktests
+```
+
+```output
+Name ResourceGroupName
+---- -----------------
+ContosoSDKDfd dfdtest-sdk
+ContosoEnterprise dfdtest-sdk
+```
+
+
diff --git a/src/Security/Security.Autorest/examples/Get-AzSecurityConnectorAzureDevOpsRepo.md b/src/Security/Security.Autorest/examples/Get-AzSecurityConnectorAzureDevOpsRepo.md
new file mode 100644
index 000000000000..9e7ab407962f
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/Get-AzSecurityConnectorAzureDevOpsRepo.md
@@ -0,0 +1,55 @@
+### Example 1: Get discovered AzureDevOps repository by organization, project and repo name
+```powershell
+Get-AzSecurityConnectorAzureDevOpsRepo -ResourceGroupName dfdtest-sdk -SecurityConnectorName dfdsdktests-azdo-01 -OrgName dfdsdktests -ProjectName ContosoSDKDfd -RepoName TestApp0
+```
+
+```output
+ActionableRemediation : {
+ "state": "Enabled",
+ "categoryConfigurations": [
+ {
+ "minimumSeverityLevel": "High",
+ "category": "IaC"
+ }
+ ],
+ "branchConfiguration": {
+ "branchNames": [ ],
+ "annotateDefaultBranch": "Enabled"
+ },
+ "inheritFromParentState": "Enabled"
+ }
+Id : /subscriptions/487bb485-b5b0-471e-9c0d-10717612f869/resourceGroups/dfdtest-sdk/providers/Microsoft.Security/securityConnectors/dfdsdktests-azdo-01/devops/default/azureDevOpsOrgs/dfdsdktests/projects/Co
+ ntosoSDKDfd/repos/TestApp0
+Name : TestApp0
+OnboardingState : Onboarded
+ParentOrgName : dfdsdktests
+ParentProjectName : ContosoSDKDfd
+ProvisioningState : Succeeded
+ProvisioningStatusMessage : OK
+ProvisioningStatusUpdateTimeUtc : 2/23/2024 6:52:44 PM
+RepoId : 35cd4811-63c7-4043-8587-f0a9cf37709e
+RepoUrl : https://dev.azure.com/dfdsdktests/ContosoSDKDfd/_git/TestApp0
+ResourceGroupName : dfdtest-sdk
+SystemDataCreatedAt :
+SystemDataCreatedBy :
+SystemDataCreatedByType :
+SystemDataLastModifiedAt :
+SystemDataLastModifiedBy :
+SystemDataLastModifiedByType :
+Type : Microsoft.Security/securityConnectors/devops/azureDevOpsOrgs/projects/repos
+Visibility :
+```
+
+### Example 2: List discovered AzureDevOps repositories
+```powershell
+Get-AzSecurityConnectorAzureDevOpsRepo -ResourceGroupName dfdtest-sdk -SecurityConnectorName dfdsdktests-azdo-01 -OrgName dfdsdktests -ProjectName ContosoSDKDfd
+```
+
+```output
+Name ResourceGroupName
+---- -----------------
+ContosoSDKDfd dfdtest-sdk
+TestApp0 dfdtest-sdk
+TestApp2 dfdtest-sdk
+```
+
diff --git a/src/Security/Security.Autorest/examples/Get-AzSecurityConnectorDevOpsConfiguration.md b/src/Security/Security.Autorest/examples/Get-AzSecurityConnectorDevOpsConfiguration.md
new file mode 100644
index 000000000000..0e04e677ea92
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/Get-AzSecurityConnectorDevOpsConfiguration.md
@@ -0,0 +1,35 @@
+### Example 1: Get Security Connector DevOps Configuration
+```powershell
+Get-AzSecurityConnectorDevOpsConfiguration -ResourceGroupName dfdtest-sdk -SecurityConnectorName dfdsdktests-azdo-01
+```
+
+```output
+AuthorizationCode :
+AutoDiscovery : Disabled
+Id : /subscriptions/487bb485-b5b0-471e-9c0d-10717612f869/resourceGroups/dfdtest-sdk/providers/Microsoft.Security/securityConnectors/dfdsdktests-azdo-01/devops/default
+Name : default
+ProvisioningState : Succeeded
+ProvisioningStatusMessage : Resource creation successful.
+ProvisioningStatusUpdateTimeUtc :
+ResourceGroupName : dfdtest-sdk
+SystemDataCreatedAt :
+SystemDataCreatedBy :
+SystemDataCreatedByType :
+SystemDataLastModifiedAt :
+SystemDataLastModifiedBy :
+SystemDataLastModifiedByType :
+TopLevelInventoryList :
+Type : Microsoft.Security/securityConnectors/devops
+```
+
+### Example 2: Try to get non existing Security Connector DevOps Configuration
+```powershell
+Get-AzSecurityConnectorDevOpsConfiguration -ResourceGroupName securityconnectors-tests -SecurityConnectorName aws-sdktest01
+```
+
+```output
+Get-AzSecurityConnectorDevOpsConfiguration_Get: DevOps configuration was not found
+```
+
+
+
diff --git a/src/Security/Security.Autorest/examples/Get-AzSecurityConnectorGitHubOwner.md b/src/Security/Security.Autorest/examples/Get-AzSecurityConnectorGitHubOwner.md
new file mode 100644
index 000000000000..60b97698e19a
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/Get-AzSecurityConnectorGitHubOwner.md
@@ -0,0 +1,38 @@
+### Example 1: Get discovered GitHub owner by name
+```powershell
+Get-AzSecurityConnectorGitHubOwner -ResourceGroupName dfdtest-sdk -SecurityConnectorName dfdsdktests-gh-01 -OwnerName dfdsdktests
+```
+
+```output
+GitHubInternalId : 45003365
+Id : /subscriptions/487bb485-b5b0-471e-9c0d-10717612f869/resourceGroups/dfdtest-sdk/providers/Microsoft.Security/securityConnectors/dfdsdktests-gh-01/devops/default/gitHubOwners/dfdsdktests
+Name : dfdsdktests
+OnboardingState : Onboarded
+OwnerUrl : https://github.com/dfdsdktests
+ProvisioningState : Pending
+ProvisioningStatusMessage : Beginning provisioning of GitHub connector.
+ProvisioningStatusUpdateTimeUtc : 2/23/2024 8:46:22 PM
+ResourceGroupName : dfdtest-sdk
+SystemDataCreatedAt :
+SystemDataCreatedBy :
+SystemDataCreatedByType :
+SystemDataLastModifiedAt :
+SystemDataLastModifiedBy :
+SystemDataLastModifiedByType :
+Type : Microsoft.Security/securityConnectors/devops/gitHubOwners
+```
+
+### Example 2: List discovered GitHub owners
+```powershell
+Get-AzSecurityConnectorGitHubOwner -ResourceGroupName dfdtest-sdk -SecurityConnectorName dfdsdktests-gh-01
+```
+
+```output
+Name ResourceGroupName
+---- -----------------
+dfdsdktests dfdtest-sdk
+dfdsdktests2 dfdtest-sdk
+```
+
+
+
diff --git a/src/Security/Security.Autorest/examples/Get-AzSecurityConnectorGitHubOwnerAvailable.md b/src/Security/Security.Autorest/examples/Get-AzSecurityConnectorGitHubOwnerAvailable.md
new file mode 100644
index 000000000000..723544b7b664
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/Get-AzSecurityConnectorGitHubOwnerAvailable.md
@@ -0,0 +1,25 @@
+### Example 1: List available GitHub owners for onboarding
+```powershell
+Get-AzSecurityConnectorGitHubOwnerAvailable -ResourceGroupName dfdtest-sdk -SecurityConnectorName dfdsdktests-gh-01
+```
+
+```output
+GitHubInternalId : 45003365
+Id : /subscriptions/487bb485-b5b0-471e-9c0d-10717612f869/resourceGroups/dfdtest-sdk/providers/Microsoft.Security/securityConnectors/dfdsdktests-gh-01/devops/default/gitHubOwners/dfdsdktests
+Name : dfdsdktests
+OnboardingState : Onboarded
+OwnerUrl : https://github.com/dfdsdktests
+ProvisioningState : Pending
+ProvisioningStatusMessage : Beginning provisioning of GitHub connector.
+ProvisioningStatusUpdateTimeUtc : 2/23/2024 8:46:22 PM
+ResourceGroupName : dfdtest-sdk
+SystemDataCreatedAt :
+SystemDataCreatedBy :
+SystemDataCreatedByType :
+SystemDataLastModifiedAt :
+SystemDataLastModifiedBy :
+SystemDataLastModifiedByType :
+Type : Microsoft.Security/securityConnectors/devops/gitHubOwners
+```
+
+
diff --git a/src/Security/Security.Autorest/examples/Get-AzSecurityConnectorGitHubRepo.md b/src/Security/Security.Autorest/examples/Get-AzSecurityConnectorGitHubRepo.md
new file mode 100644
index 000000000000..06358065c811
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/Get-AzSecurityConnectorGitHubRepo.md
@@ -0,0 +1,43 @@
+### Example 1: Get discovered GitHub repository by name
+```powershell
+Get-AzSecurityConnectorGitHubRepo -ResourceGroupName dfdtest-sdk -SecurityConnectorName dfdsdktests-gh-01 -OwnerName dfdsdktests -RepoName TestApp0
+```
+
+```output
+Id : /subscriptions/487bb485-b5b0-471e-9c0d-10717612f869/resourceGroups/dfdtest-sdk/providers/Microsoft.Security/securityConnectors/dfdsdktests-gh-01/devops/default/gitHubOwners/dfdsdktests/repos/TestApp0
+Name : TestApp0
+OnboardingState : Onboarded
+ParentOwnerName : dfdsdktests
+ProvisioningState :
+ProvisioningStatusMessage :
+ProvisioningStatusUpdateTimeUtc : 2/23/2024 8:46:23 PM
+RepoFullName :
+RepoId : 728418798
+RepoName : TestApp0
+RepoUrl : https://github.com/dfdsdktests/TestApp0
+ResourceGroupName : dfdtest-sdk
+SystemDataCreatedAt :
+SystemDataCreatedBy :
+SystemDataCreatedByType :
+SystemDataLastModifiedAt :
+SystemDataLastModifiedBy :
+SystemDataLastModifiedByType :
+Type : Microsoft.Security/securityConnectors/devops/gitHubOwners/repos
+```
+
+
+### Example 2: List discovered GitHub repositories
+```powershell
+Get-AzSecurityConnectorGitHubRepo -ResourceGroupName dfdtest-sdk -SecurityConnectorName dfdsdktests-gh-01 -OwnerName dfdsdktests
+```
+
+```output
+
+Name ResourceGroupName
+---- -----------------
+TestApp0 dfdtest-sdk
+TestApp1 dfdtest-sdk
+```
+
+
+
diff --git a/src/Security/Security.Autorest/examples/Get-AzSecurityConnectorGitLabGroup.md b/src/Security/Security.Autorest/examples/Get-AzSecurityConnectorGitLabGroup.md
new file mode 100644
index 000000000000..d610749a2e8e
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/Get-AzSecurityConnectorGitLabGroup.md
@@ -0,0 +1,39 @@
+### Example 1: Get discovered GitLab group by name
+```powershell
+Get-AzSecurityConnectorGitLabGroup -ResourceGroupName dfdtest-sdk -SecurityConnectorName dfdsdktests-gl-01 -GroupFqName dfdsdktests
+```
+
+```output
+FullyQualifiedFriendlyName : Defender for DevOps SDK Tests
+FullyQualifiedName : dfdsdktests
+Id : /subscriptions/487bb485-b5b0-471e-9c0d-10717612f869/resourceGroups/dfdtest-sdk/providers/Microsoft.Security/securityConnectors/dfdsdktests-gl-01/devops/default/gitLabGroups/dfdsdktests
+Name : dfdsdktests
+OnboardingState : Onboarded
+ProvisioningState : Succeeded
+ProvisioningStatusMessage : Resource modification successful.
+ProvisioningStatusUpdateTimeUtc : 2/23/2024 10:42:28 PM
+ResourceGroupName : dfdtest-sdk
+SystemDataCreatedAt :
+SystemDataCreatedBy :
+SystemDataCreatedByType :
+SystemDataLastModifiedAt :
+SystemDataLastModifiedBy :
+SystemDataLastModifiedByType :
+Type : Microsoft.Security/securityConnectors/devops/gitLabGroups
+Url : https://gitlab.com/groups/dfdsdktests
+```
+
+### Example 2: List discovered GitLab groups
+```powershell
+Get-AzSecurityConnectorGitLabGroup -ResourceGroupName dfdtest-sdk -SecurityConnectorName dfdsdktests-gl-01
+```
+
+```output
+Name ResourceGroupName
+---- -----------------
+dfdsdktests dfdtest-sdk
+dfdsdktests2 dfdtest-sdk
+```
+
+
+
diff --git a/src/Security/Security.Autorest/examples/Get-AzSecurityConnectorGitLabGroupAvailable.md b/src/Security/Security.Autorest/examples/Get-AzSecurityConnectorGitLabGroupAvailable.md
new file mode 100644
index 000000000000..741b3485fad3
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/Get-AzSecurityConnectorGitLabGroupAvailable.md
@@ -0,0 +1,25 @@
+### Example 1: List available GitLab groups for onboarding
+```powershell
+Get-AzSecurityConnectorGitLabGroupAvailable -ResourceGroupName dfdtest-sdk -SecurityConnectorName dfdsdktests-gl-01
+```
+
+```output
+FullyQualifiedFriendlyName : Defender for DevOps SDK Tests
+FullyQualifiedName : dfdsdktests
+Id : /subscriptions/487bb485-b5b0-471e-9c0d-10717612f869/resourceGroups/dfdtest-sdk/providers/Microsoft.Security/securityConnectors/dfdsdktests-gl-01/devops/default/gitLabGroups/dfdsdktests
+Name : dfdsdktests
+OnboardingState : Onboarded
+ProvisioningState : Succeeded
+ProvisioningStatusMessage : Resource modification successful.
+ProvisioningStatusUpdateTimeUtc : 2/23/2024 10:42:28 PM
+ResourceGroupName : dfdtest-sdk
+SystemDataCreatedAt :
+SystemDataCreatedBy :
+SystemDataCreatedByType :
+SystemDataLastModifiedAt :
+SystemDataLastModifiedBy :
+SystemDataLastModifiedByType :
+Type : Microsoft.Security/securityConnectors/devops/gitLabGroups
+Url : https://gitlab.com/groups/dfdsdktests
+```
+
diff --git a/src/Security/Security.Autorest/examples/Get-AzSecurityConnectorGitLabProject.md b/src/Security/Security.Autorest/examples/Get-AzSecurityConnectorGitLabProject.md
new file mode 100644
index 000000000000..aba6413de1d4
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/Get-AzSecurityConnectorGitLabProject.md
@@ -0,0 +1,40 @@
+### Example 1: Get discovered GitLab project by name
+```powershell
+Get-AzSecurityConnectorGitLabProject -ResourceGroupName dfdtest-sdk -SecurityConnectorName dfdsdktests-gl-01 -GroupFqName dfdsdktests -ProjectName testapp0
+```
+
+```output
+FullyQualifiedFriendlyName : Defender for DevOps SDK Tests / TestApp0
+FullyQualifiedName : dfdsdktests$testapp0
+FullyQualifiedParentGroupName : dfdsdktests
+Id : /subscriptions/487bb485-b5b0-471e-9c0d-10717612f869/resourceGroups/dfdtest-sdk/providers/Microsoft.Security/securityConnectors/dfdsdktests-gl-01/devops/default/gitLabGroups/dfdsdktests/projects/testapp0
+Name : testapp0
+OnboardingState : Onboarded
+ProvisioningState : Succeeded
+ProvisioningStatusMessage : Resource modification successful.
+ProvisioningStatusUpdateTimeUtc : 1/1/1970 12:00:00 AM
+ResourceGroupName : dfdtest-sdk
+SystemDataCreatedAt :
+SystemDataCreatedBy :
+SystemDataCreatedByType :
+SystemDataLastModifiedAt :
+SystemDataLastModifiedBy :
+SystemDataLastModifiedByType :
+Type : Microsoft.Security/securityConnectors/devops/gitLabGroups/projects
+Url : https://gitlab.com/dfdsdktests/testapp0
+```
+
+### Example 2: List discovered GitLab projects
+```powershell
+Get-AzSecurityConnectorGitLabProject -ResourceGroupName dfdtest-sdk -SecurityConnectorName dfdsdktests-gl-01 -GroupFqName dfdsdktests
+```
+
+```output
+Name ResourceGroupName
+---- -----------------
+testapp10 dfdtest-sdk
+testapp11 dfdtest-sdk
+testapp0 dfdtest-sdk
+```
+
+
diff --git a/src/Security/Security.Autorest/examples/Get-AzSecurityConnectorGitLabSubgroup.md b/src/Security/Security.Autorest/examples/Get-AzSecurityConnectorGitLabSubgroup.md
new file mode 100644
index 000000000000..7f5d94c682d3
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/Get-AzSecurityConnectorGitLabSubgroup.md
@@ -0,0 +1,13 @@
+### Example 1: List discovered GitLab subgroups
+```powershell
+Get-AzSecurityConnectorGitLabSubgroup -ResourceGroupName dfdtest-sdk -SecurityConnectorName dfdsdktests-gl-01 -GroupFqName dfdsdktests
+```
+
+```output
+Name ResourceGroupName
+---- -----------------
+dfdsdktests$testsubgroup1$testsubgroupNested dfdtest-sdk
+dfdsdktests$testsubgroup1 dfdtest-sdk
+```
+
+
diff --git a/src/Security/Security.Autorest/examples/Invoke-AzSecurityApiCollectionApimOffboard.md b/src/Security/Security.Autorest/examples/Invoke-AzSecurityApiCollectionApimOffboard.md
new file mode 100644
index 000000000000..7509da52b520
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/Invoke-AzSecurityApiCollectionApimOffboard.md
@@ -0,0 +1,5 @@
+### Example 1: Offboard an Azure API Management API to Microsoft Defender for APIs.
+```powershell
+Invoke-AzSecurityApiCollectionApimOffboard -ResourceGroupName "apicollectionstests" -ServiceName "demoapimservice2" -ApiId "echo-api-2"
+```
+
diff --git a/src/Security/Security.Autorest/examples/Invoke-AzSecurityApiCollectionApimOnboard.md b/src/Security/Security.Autorest/examples/Invoke-AzSecurityApiCollectionApimOnboard.md
new file mode 100644
index 000000000000..bb574005a514
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/Invoke-AzSecurityApiCollectionApimOnboard.md
@@ -0,0 +1,23 @@
+### Example 1: Onboard an Azure API Management API to Microsoft Defender for APIs.
+```powershell
+Invoke-AzSecurityApiCollectionApimOnboard -ResourceGroupName "apicollectionstests" -ServiceName "demoapimservice2" -ApiId "echo-api-2"
+```
+
+```output
+BaseUrl : https://demoapimservice2.azure-api.net
+DiscoveredVia : /subscriptions/487bb485-b5b0-471e-9c0d-10717612f869/resourceGroups/apicollectionstests/providers/Microsoft.ApiManagement/service/demoapimservice2
+DisplayName : Echo API 2
+Id : /subscriptions/487bb485-b5b0-471e-9c0d-10717612f869/resourceGroups/apicollectionstests/providers/Microsoft.ApiManagement/service/demoapimservice2/providers/Microsoft.Security/apiCollections/ech
+ o-api-2
+Name : echo-api-2
+NumberOfApiEndpoint : 0
+NumberOfApiEndpointsWithSensitiveDataExposed : 0
+NumberOfExternalApiEndpoint : 0
+NumberOfInactiveApiEndpoint : 0
+NumberOfUnauthenticatedApiEndpoint : 0
+ProvisioningState : Succeeded
+ResourceGroupName : apicollectionstests
+SensitivityLabel :
+Type : microsoft.security/apicollections
+```
+
diff --git a/src/Security/Security.Autorest/examples/New-AzSecurityAwsEnvironmentObject.md b/src/Security/Security.Autorest/examples/New-AzSecurityAwsEnvironmentObject.md
new file mode 100644
index 000000000000..d3d5ee92cd07
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/New-AzSecurityAwsEnvironmentObject.md
@@ -0,0 +1,36 @@
+### Example 1: Create new AwsEnvironment object as member
+```powershell
+$member = New-AzSecurityAwsOrganizationalDataMemberObject -ParentHierarchyId "123"
+New-AzSecurityAwsEnvironmentObject -Region "Central US" -ScanInterval 24 -OrganizationalData $member
+```
+
+```output
+AccountName :
+EnvironmentType : AwsAccount
+OrganizationalData : {
+ "organizationMembershipType": "Member",
+ "parentHierarchyId": "123"
+ }
+Region : {Central US}
+ScanInterval : 24
+```
+
+
+### Example 2: Create new AwsEnvironment object as organization
+```powershell
+$organization = New-AzSecurityAwsOrganizationalDataMasterObject -StacksetName "myAwsStackSet" -ExcludedAccountId "123456789012"
+New-AzSecurityAwsEnvironmentObject -Region "Central US" -ScanInterval 24 -OrganizationalData $organization
+```
+
+```output
+AccountName :
+EnvironmentType : AwsAccount
+OrganizationalData : {
+ "organizationMembershipType": "Organization",
+ "stacksetName": "myAwsStackSet",
+ "excludedAccountIds": [ "123456789012" ]
+ }
+Region : {Central US}
+ScanInterval : 24
+```
+
diff --git a/src/Security/Security.Autorest/examples/New-AzSecurityAwsOrganizationalDataMasterObject.md b/src/Security/Security.Autorest/examples/New-AzSecurityAwsOrganizationalDataMasterObject.md
new file mode 100644
index 000000000000..2bb76ed09379
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/New-AzSecurityAwsOrganizationalDataMasterObject.md
@@ -0,0 +1,11 @@
+### Example 1: Create new AwsOrganizationalDataMaster object
+```powershell
+New-AzSecurityAwsOrganizationalDataMasterObject -StacksetName "myAwsStackSet" -ExcludedAccountId "123456789012"
+```
+
+```output
+ExcludedAccountId OrganizationMembershipType StacksetName
+----------------- -------------------------- ------------
+{123456789012} Organization myAwsStackSet
+```
+
diff --git a/src/Security/Security.Autorest/examples/New-AzSecurityAwsOrganizationalDataMemberObject.md b/src/Security/Security.Autorest/examples/New-AzSecurityAwsOrganizationalDataMemberObject.md
new file mode 100644
index 000000000000..4a82f31c316a
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/New-AzSecurityAwsOrganizationalDataMemberObject.md
@@ -0,0 +1,13 @@
+### Example 1: Create new AwsOrganizationalDataMember object
+```powershell
+New-AzSecurityAwsOrganizationalDataMemberObject -ParentHierarchyId "123"
+```
+
+```output
+OrganizationMembershipType ParentHierarchyId
+-------------------------- -----------------
+Member 123
+```
+
+
+
diff --git a/src/Security/Security.Autorest/examples/New-AzSecurityAzureDevOpsScopeEnvironmentObject.md b/src/Security/Security.Autorest/examples/New-AzSecurityAzureDevOpsScopeEnvironmentObject.md
new file mode 100644
index 000000000000..e29de8522f78
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/New-AzSecurityAzureDevOpsScopeEnvironmentObject.md
@@ -0,0 +1,13 @@
+### Example 1: Create new AzureDevOpsScopeEnvironment object
+```powershell
+New-AzSecurityAzureDevOpsScopeEnvironmentObject
+```
+
+```output
+EnvironmentType
+---------------
+AzureDevOpsScope
+```
+
+
+
diff --git a/src/Security/Security.Autorest/examples/New-AzSecurityConnector.md b/src/Security/Security.Autorest/examples/New-AzSecurityConnector.md
new file mode 100644
index 000000000000..a138fd11ebd6
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/New-AzSecurityConnector.md
@@ -0,0 +1,345 @@
+### Example 1: Create AWS security connector
+```powershell
+$account = "891376984375"
+$arnPrefix = "arn:aws:iam::$($account):role"
+
+$cspmMonitorOffering = New-AzSecurityCspmMonitorAwsOfferingObject -NativeCloudConnectionCloudRoleArn "$arnPrefix/CspmMonitorAws"
+
+$dcspmOffering = New-AzSecurityDefenderCspmAwsOfferingObject `
+ -VMScannerEnabled $true -ConfigurationScanningMode Default -ConfigurationCloudRoleArn "$arnPrefix/DefenderForCloud-AgentlessScanner" `
+ -DataSensitivityDiscoveryEnabled $true -DataSensitivityDiscoveryCloudRoleArn "$arnPrefix/SensitiveDataDiscovery" `
+ -DatabaseDspmEnabled $true -DatabaseDspmCloudRoleArn "$arnPrefix/DefenderForCloud-DataSecurityPostureDB" `
+ -CiemDiscoveryCloudRoleArn "$arnPrefix/DefenderForCloud-Ciem" -CiemOidcAzureActiveDirectoryAppName "mciem-aws-oidc-connector" -CiemOidcCloudRoleArn "$arnPrefix/DefenderForCloud-OidcCiem" `
+ -MdcContainerImageAssessmentEnabled $true -MdcContainerImageAssessmentCloudRoleArn "$arnPrefix/MDCContainersImageAssessmentRole" `
+ -MdcContainerAgentlessDiscoveryK8SEnabled $true -MdcContainerAgentlessDiscoveryK8SCloudRoleArn "$arnPrefix/MDCContainersAgentlessDiscoveryK8sRole"
+
+$defenderForContainersOffering = New-AzSecurityDefenderForContainersAwsOfferingObject `
+ -AutoProvisioning $true -KuberneteServiceCloudRoleArn "$arnPrefix/DefenderForCloud-Containers-K8s" -KuberneteScubaReaderCloudRoleArn "$arnPrefix/DefenderForCloud-DataCollection" `
+ -KinesiToS3CloudRoleArn "$arnPrefix/DefenderForCloud-Containers-K8s-kinesis-to-s3" -CloudWatchToKinesiCloudRoleArn "$arnPrefix/DefenderForCloud-Containers-K8s-cloudwatch-to-kinesis" `
+ -KubeAuditRetentionTime 30 -ScubaExternalId "a47ae0a2-7bf7-482a-897a-7a139d30736c" `
+ -MdcContainerAgentlessDiscoveryK8SEnabled $true -MdcContainerAgentlessDiscoveryK8SCloudRoleArn "$arnPrefix/MDCContainersAgentlessDiscoveryK8sRole" `
+ -MdcContainerImageAssessmentEnabled $true -MdcContainerImageAssessmentCloudRoleArn "$arnPrefix/MDCContainersImageAssessmentRole" `
+ -EnableContainerVulnerabilityAssessment $false
+
+$environment = New-AzSecurityAwsEnvironmentObject -ScanInterval 24
+
+New-AzSecurityConnector -Name "aws-sdktest01" -ResourceGroupName "securityConnectors-tests" `
+ -EnvironmentData $environment -EnvironmentName AWS -HierarchyIdentifier "$account" `
+ -Offering @($cspmMonitorOffering, $dcspmOffering, $defenderForContainersOffering) `
+ -Location "CentralUS"
+```
+
+```output
+EnvironmentData : {
+ "environmentType": "AwsAccount",
+ "regions": [ ],
+ "scanInterval": 24
+ }
+EnvironmentName : AWS
+Etag :
+HierarchyIdentifier : 891376984375
+HierarchyIdentifierTrialEndDate : 3/24/2024 12:00:00 AM
+Id : /subscriptions/487bb485-b5b0-471e-9c0d-10717612f869/resourcegroups/securityconnectors-tests/providers/Microsoft.Security/securityConnectors/aws-sdktes
+ t01
+Kind :
+Location : CentralUS
+Name : aws-sdktest01
+Offering : {{
+ "offeringType": "CspmMonitorAws",
+ "nativeCloudConnection": {
+ "cloudRoleArn": "arn:aws:iam::891376984375:role/CspmMonitorAws"
+ }
+ }, {
+ "offeringType": "DefenderCspmAws",
+ "vmScanners": {
+ "configuration": {
+ "cloudRoleArn": "arn:aws:iam::891376984375:role/DefenderForCloud-AgentlessScanner",
+ "scanningMode": "Default"
+ },
+ "enabled": true
+ },
+ "dataSensitivityDiscovery": {
+ "enabled": true,
+ "cloudRoleArn": "arn:aws:iam::891376984375:role/SensitiveDataDiscovery"
+ },
+ "databasesDspm": {
+ "enabled": true,
+ "cloudRoleArn": "arn:aws:iam::891376984375:role/DefenderForCloud-DataSecurityPostureDB"
+ },
+ "ciem": {
+ "ciemDiscovery": {
+ "cloudRoleArn": "arn:aws:iam::891376984375:role/DefenderForCloud-Ciem"
+ },
+ "ciemOidc": {
+ "cloudRoleArn": "arn:aws:iam::891376984375:role/DefenderForCloud-OidcCiem",
+ "azureActiveDirectoryAppName": "mciem-aws-oidc-connector"
+ }
+ },
+ "mdcContainersImageAssessment": {
+ "enabled": true,
+ "cloudRoleArn": "arn:aws:iam::891376984375:role/MDCContainersImageAssessmentRole"
+ },
+ "mdcContainersAgentlessDiscoveryK8s": {
+ "enabled": true,
+ "cloudRoleArn": "arn:aws:iam::891376984375:role/MDCContainersAgentlessDiscoveryK8sRole"
+ }
+ }, {
+ "offeringType": "DefenderForContainersAws",
+ "kubernetesService": {
+ "cloudRoleArn": "arn:aws:iam::891376984375:role/DefenderForCloud-Containers-K8s"
+ },
+ "kubernetesScubaReader": {
+ "cloudRoleArn": "arn:aws:iam::891376984375:role/DefenderForCloud-DataCollection"
+ },
+ "cloudWatchToKinesis": {
+ "cloudRoleArn": "arn:aws:iam::891376984375:role/DefenderForCloud-Containers-K8s-cloudwatch-to-kinesis"
+ },
+ "kinesisToS3": {
+ "cloudRoleArn": "arn:aws:iam::891376984375:role/DefenderForCloud-Containers-K8s-kinesis-to-s3"
+ },
+ "mdcContainersImageAssessment": {
+ "enabled": true,
+ "cloudRoleArn": "arn:aws:iam::891376984375:role/MDCContainersImageAssessmentRole"
+ },
+ "mdcContainersAgentlessDiscoveryK8s": {
+ "enabled": true,
+ "cloudRoleArn": "arn:aws:iam::891376984375:role/MDCContainersAgentlessDiscoveryK8sRole"
+ },
+ "enableContainerVulnerabilityAssessment": false,
+ "autoProvisioning": true,
+ "kubeAuditRetentionTime": 30,
+ "scubaExternalId": "a47ae0a2-7bf7-482a-897a-7a139d30736c"
+ }}
+ResourceGroupName : securityconnectors-tests
+SystemDataCreatedAt : 2/22/2024 11:45:53 PM
+SystemDataCreatedBy : c3d82ccb-fee1-430c-949e-6c0a217c00a8
+SystemDataCreatedByType : Application
+SystemDataLastModifiedAt : 2/22/2024 11:45:53 PM
+SystemDataLastModifiedBy : c3d82ccb-fee1-430c-949e-6c0a217c00a8
+SystemDataLastModifiedByType : Application
+Tag : {
+ }
+Type : Microsoft.Security/securityconnectors
+```
+
+### Example 2: Create GCP security connector
+```powershell
+$account = "843025268399"
+$emailSuffix = "myproject.iam.gserviceaccount.com"
+$cspmMonitorOffering = New-AzSecurityCspmMonitorGcpOfferingObject -NativeCloudConnectionServiceAccountEmailAddress "microsoft-defender-cspm@$emailSuffix" -NativeCloudConnectionWorkloadIdentityProviderId "cspm"
+
+$dcspmOffering = New-AzSecurityDefenderCspmGcpOfferingObject `
+ -VMScannerEnabled $true -ConfigurationScanningMode Default -ConfigurationExclusionTag @{key="value"} `
+ -MdcContainerAgentlessDiscoveryK8SEnabled $true -MdcContainerAgentlessDiscoveryK8SServiceAccountEmailAddress "mdc-containers-k8s-operator@$emailSuffix" -MdcContainerAgentlessDiscoveryK8SWorkloadIdentityProviderId "containers" `
+ -MdcContainerImageAssessmentEnabled $true -MdcContainerImageAssessmentServiceAccountEmailAddress "mdc-containers-artifact-assess@$emailSuffix" -MdcContainerImageAssessmentWorkloadIdentityProviderId "containers" `
+ -DataSensitivityDiscoveryEnabled $true -DataSensitivityDiscoveryServiceAccountEmailAddress "mdc-data-sec-posture-storage@$emailSuffix" -DataSensitivityDiscoveryWorkloadIdentityProviderId "data-security-posture-storage" `
+ -CiemDiscoveryServiceAccountEmailAddress "microsoft-defender-ciem@$emailSuffix" -CiemDiscoveryAzureActiveDirectoryAppName "mciem-gcp-oidc-app" -CiemDiscoveryWorkloadIdentityProviderId "ciem-discovery"
+
+$defenderForContainersOffering = New-AzSecurityDefenderForContainersGcpOfferingObject `
+ -NativeCloudConnectionServiceAccountEmailAddress "microsoft-defender-containers@$emailSuffix" -NativeCloudConnectionWorkloadIdentityProviderId "containers" `
+ -DataPipelineNativeCloudConnectionServiceAccountEmailAddress "ms-defender-containers-stream@$emailSuffix" -DataPipelineNativeCloudConnectionWorkloadIdentityProviderId "containers-streams" `
+ -AuditLogsAutoProvisioningFlag $true -DefenderAgentAutoProvisioningFlag $true -PolicyAgentAutoProvisioningFlag $true `
+ -MdcContainerAgentlessDiscoveryK8SEnabled $true -MdcContainerAgentlessDiscoveryK8SWorkloadIdentityProviderId "containers" -MdcContainerAgentlessDiscoveryK8SServiceAccountEmailAddress "mdc-containers-k8s-operator@$emailSuffix" `
+ -MdcContainerImageAssessmentEnabled $true -MdcContainerImageAssessmentWorkloadIdentityProviderId "containers" -MdcContainerImageAssessmentServiceAccountEmailAddress "mdc-containers-artifact-assess@$emailSuffix"
+
+$environment = New-AzSecurityGcpProjectEnvironmentObject -ScanInterval 24 -ProjectDetailProjectId "asc-sdk-samples" -ProjectDetailProjectNumber "$account"
+
+New-AzSecurityConnector -Name "gcp-sdktest01" -ResourceGroupName "securityConnectors-tests" -EnvironmentData $environment -EnvironmentName GCP -HierarchyIdentifier "$account" `
+ -Offering @($cspmMonitorOffering, $dcspmOffering, $defenderForContainersOffering) -Location "CentralUS"
+```
+
+```output
+EnvironmentData : {
+ "environmentType": "GcpProject",
+ "projectDetails": {
+ "projectNumber": "843025268399",
+ "projectId": "asc-sdk-samples"
+ },
+ "scanInterval": 24
+ }
+EnvironmentName : GCP
+Etag :
+HierarchyIdentifier : 843025268399
+HierarchyIdentifierTrialEndDate : 3/24/2024 12:00:00 AM
+Id : /subscriptions/487bb485-b5b0-471e-9c0d-10717612f869/resourcegroups/securityconnectors-tests/providers/Microsoft.Security/securityConnectors/gcp-sdktest01
+Kind :
+Location : CentralUS
+Name : gcp-sdktest01
+Offering : {{
+ "offeringType": "CspmMonitorGcp",
+ "nativeCloudConnection": {
+ "workloadIdentityProviderId": "cspm",
+ "serviceAccountEmailAddress": "microsoft-defender-cspm@myproject.iam.gserviceaccount.com"
+ }
+ }, {
+ "offeringType": "DefenderCspmGcp",
+ "ciemDiscovery": {
+ "workloadIdentityProviderId": "ciem-discovery",
+ "serviceAccountEmailAddress": "microsoft-defender-ciem@myproject.iam.gserviceaccount.com",
+ "azureActiveDirectoryAppName": "mciem-gcp-oidc-app"
+ },
+ "vmScanners": {
+ "configuration": {
+ "scanningMode": "Default",
+ "exclusionTags": {
+ "key": "value"
+ }
+ },
+ "enabled": true
+ },
+ "dataSensitivityDiscovery": {
+ "enabled": true,
+ "workloadIdentityProviderId": "data-security-posture-storage",
+ "serviceAccountEmailAddress": "mdc-data-sec-posture-storage@myproject.iam.gserviceaccount.com"
+ },
+ "mdcContainersImageAssessment": {
+ "enabled": true,
+ "workloadIdentityProviderId": "containers",
+ "serviceAccountEmailAddress": "mdc-containers-artifact-assess@myproject.iam.gserviceaccount.com"
+ },
+ "mdcContainersAgentlessDiscoveryK8s": {
+ "enabled": true,
+ "workloadIdentityProviderId": "containers",
+ "serviceAccountEmailAddress": "mdc-containers-k8s-operator@myproject.iam.gserviceaccount.com"
+ }
+ }, {
+ "offeringType": "DefenderForContainersGcp",
+ "nativeCloudConnection": {
+ "serviceAccountEmailAddress": "microsoft-defender-containers@myproject.iam.gserviceaccount.com",
+ "workloadIdentityProviderId": "containers"
+ },
+ "dataPipelineNativeCloudConnection": {
+ "serviceAccountEmailAddress": "ms-defender-containers-stream@myproject.iam.gserviceaccount.com",
+ "workloadIdentityProviderId": "containers-streams"
+ },
+ "mdcContainersImageAssessment": {
+ "enabled": true,
+ "workloadIdentityProviderId": "containers",
+ "serviceAccountEmailAddress": "mdc-containers-artifact-assess@myproject.iam.gserviceaccount.com"
+ },
+ "mdcContainersAgentlessDiscoveryK8s": {
+ "enabled": true,
+ "workloadIdentityProviderId": "containers",
+ "serviceAccountEmailAddress": "mdc-containers-k8s-operator@myproject.iam.gserviceaccount.com"
+ },
+ "auditLogsAutoProvisioningFlag": true,
+ "defenderAgentAutoProvisioningFlag": true,
+ "policyAgentAutoProvisioningFlag": true
+ }}
+ResourceGroupName : securityconnectors-tests
+SystemDataCreatedAt : 2/22/2024 11:45:53 PM
+SystemDataCreatedBy : c3d82ccb-fee1-430c-949e-6c0a217c00a8
+SystemDataCreatedByType : Application
+SystemDataLastModifiedAt : 2/22/2024 11:45:53 PM
+SystemDataLastModifiedBy : c3d82ccb-fee1-430c-949e-6c0a217c00a8
+SystemDataLastModifiedByType : Application
+Tag : {}
+Type : Microsoft.Security/securityconnectors
+```
+
+### Example 3: Create AzureDevOps security connector
+```powershell
+New-AzSecurityConnector -ResourceGroupName "securityConnectors-pwsh-tmp" -Name "ado-sdk-pwsh-test03" `
+ -EnvironmentName AzureDevOps -EnvironmentData (New-AzSecurityAzureDevOpsScopeEnvironmentObject) `
+ -HierarchyIdentifier ([guid]::NewGuid().ToString()) -Location "CentralUS" `
+ -Offering @(New-AzSecurityCspmMonitorAzureDevOpsOfferingObject)
+```
+
+```output
+EnvironmentData : {
+ "environmentType": "AzureDevOpsScope"
+ }
+EnvironmentName : AzureDevOps
+Etag :
+HierarchyIdentifier : 9dd01e19-8aaf-43a2-8dd4-1c5992f4df35
+HierarchyIdentifierTrialEndDate :
+Id : /subscriptions/487bb485-b5b0-471e-9c0d-10717612f869/resourcegroups/securityconnectors-pwsh-tmp/providers/Microsoft.Security/securityConnectors/ado-sdk-pwsh-test03
+Kind :
+Location : CentralUS
+Name : ado-sdk-pwsh-test03
+Offering : {{
+ "offeringType": "CspmMonitorAzureDevOps"
+ }}
+ResourceGroupName : securityconnectors-pwsh-tmp
+SystemDataCreatedAt : 2/24/2024 12:13:11 AM
+SystemDataCreatedBy : c3d82ccb-fee1-430c-949e-6c0a217c00a8
+SystemDataCreatedByType : Application
+SystemDataLastModifiedAt : 2/24/2024 12:13:11 AM
+SystemDataLastModifiedBy : c3d82ccb-fee1-430c-949e-6c0a217c00a8
+SystemDataLastModifiedByType : Application
+Tag : {
+ }
+Type : Microsoft.Security/securityconnectors
+```
+
+### Example 4: Create GitHub security connector
+```powershell
+New-AzSecurityConnector -ResourceGroupName "securityConnectors-pwsh-tmp" -Name "gh-sdk-pwsh-test03" `
+ -EnvironmentName GitHub -EnvironmentData (New-AzSecurityGitHubScopeEnvironmentObject) `
+ -HierarchyIdentifier ([guid]::NewGuid().ToString()) -Location "CentralUS" `
+ -Offering @(New-AzSecurityCspmMonitorGithubOfferingObject)
+```
+
+```output
+EnvironmentData : {
+ "environmentType": "GithubScope"
+ }
+EnvironmentName : Github
+Etag :
+HierarchyIdentifier : e8661d05-8003-46ae-b687-fa83746f44f3
+HierarchyIdentifierTrialEndDate :
+Id : /subscriptions/487bb485-b5b0-471e-9c0d-10717612f869/resourcegroups/securityconnectors-pwsh-tmp/providers/Microsoft.Security/securityConnectors/gh-sdk-pwsh-test03
+Kind :
+Location : CentralUS
+Name : gh-sdk-pwsh-test03
+Offering : {{
+ "offeringType": "CspmMonitorGithub"
+ }}
+ResourceGroupName : securityconnectors-pwsh-tmp
+SystemDataCreatedAt : 2/24/2024 12:55:33 AM
+SystemDataCreatedBy : c3d82ccb-fee1-430c-949e-6c0a217c00a8
+SystemDataCreatedByType : Application
+SystemDataLastModifiedAt : 2/24/2024 12:55:33 AM
+SystemDataLastModifiedBy : c3d82ccb-fee1-430c-949e-6c0a217c00a8
+SystemDataLastModifiedByType : Application
+Tag : {
+ }
+Type : Microsoft.Security/securityconnectors
+```
+
+### Example 5: Create GitLab security connector
+```powershell
+New-AzSecurityConnector -ResourceGroupName "securityConnectors-pwsh-tmp" -Name "gl-sdk-pwsh-test03" `
+ -EnvironmentName GitLab -EnvironmentData (New-AzSecurityGitLabScopeEnvironmentObject) `
+ -HierarchyIdentifier ([guid]::NewGuid().ToString()) -Location "CentralUS" `
+ -Offering @(New-AzSecurityCspmMonitorGitLabOfferingObject)
+```
+
+```output
+EnvironmentData : {
+ "environmentType": "GitLabScope"
+ }
+EnvironmentName : GitLab
+Etag :
+HierarchyIdentifier : e8661d05-8003-46ae-b687-fa83746f44f3
+HierarchyIdentifierTrialEndDate :
+Id : /subscriptions/487bb485-b5b0-471e-9c0d-10717612f869/resourcegroups/securityconnectors-pwsh-tmp/providers/Microsoft.Security/securityConnectors/gl-sdk-pwsh-test03
+Kind :
+Location : CentralUS
+Name : gl-sdk-pwsh-test03
+Offering : {{
+ "offeringType": "CspmMonitorGitLab"
+ }}
+ResourceGroupName : securityconnectors-pwsh-tmp
+SystemDataCreatedAt : 2/24/2024 12:55:33 AM
+SystemDataCreatedBy : c3d82ccb-fee1-430c-949e-6c0a217c00a8
+SystemDataCreatedByType : Application
+SystemDataLastModifiedAt : 2/24/2024 12:55:33 AM
+SystemDataLastModifiedBy : c3d82ccb-fee1-430c-949e-6c0a217c00a8
+SystemDataLastModifiedByType : Application
+Tag : {
+ }
+Type : Microsoft.Security/securityconnectors
+```
+
+
diff --git a/src/Security/Security.Autorest/examples/New-AzSecurityConnectorActionableRemediationObject.md b/src/Security/Security.Autorest/examples/New-AzSecurityConnectorActionableRemediationObject.md
new file mode 100644
index 000000000000..75ae99d380e2
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/New-AzSecurityConnectorActionableRemediationObject.md
@@ -0,0 +1,23 @@
+### Example 1: Create new ActionableRemediation object
+```powershell
+New-AzSecurityConnectorActionableRemediationObject -State Enabled -InheritFromParentState Disabled `
+ -BranchConfiguration @{AnnotateDefaultBranch="Enabled"; branchName=@("main", "hotfix")} -CategoryConfiguration @( @{category="First"; minimumSeverityLevel="High"}, @{category="Second"; minimumSeverityLevel="Low"})
+```
+
+```output
+BranchConfiguration : {
+ "branchNames": [ "main", "hotfix" ],
+ "annotateDefaultBranch": "Enabled"
+ }
+CategoryConfiguration : {{
+ "minimumSeverityLevel": "High",
+ "category": "First"
+ }, {
+ "minimumSeverityLevel": "Low",
+ "category": "Second"
+ }}
+InheritFromParentState : Disabled
+State : Enabled
+```
+
+
diff --git a/src/Security/Security.Autorest/examples/New-AzSecurityConnectorDevOpsConfiguration.md b/src/Security/Security.Autorest/examples/New-AzSecurityConnectorDevOpsConfiguration.md
new file mode 100644
index 000000000000..2230f7004fee
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/New-AzSecurityConnectorDevOpsConfiguration.md
@@ -0,0 +1,24 @@
+### Example 1: Create new DevOps Configuration for the security connector
+```powershell
+New-AzSecurityConnectorDevOpsConfiguration -ResourceGroupName "securityconnectors-pwsh-tmp" -SecurityConnectorName "ado-sdk-pwsh-test03" -AutoDiscovery Disabled -TopLevelInventoryList @("org1", "org2") -AuthorizationCode "myAuthorizationCode"
+```
+
+```output
+AuthorizationCode :
+AutoDiscovery : Disabled
+Id : /subscriptions/487bb485-b5b0-471e-9c0d-10717612f869/resourceGroups/securityconnectors-pwsh-tmp/providers/Microsoft.Security/securityConnectors/ado-sdk-pwsh-test03/devops/default
+Name : default
+ProvisioningState : Succeeded
+ProvisioningStatusMessage : Resource creation successful.
+ProvisioningStatusUpdateTimeUtc :
+ResourceGroupName : securityconnectors-pwsh-tmp
+SystemDataCreatedAt :
+SystemDataCreatedBy :
+SystemDataCreatedByType :
+SystemDataLastModifiedAt :
+SystemDataLastModifiedBy :
+SystemDataLastModifiedByType :
+TopLevelInventoryList :
+Type : Microsoft.Security/securityConnectors/devops
+```
+
diff --git a/src/Security/Security.Autorest/examples/New-AzSecurityCspmMonitorAwsOfferingObject.md b/src/Security/Security.Autorest/examples/New-AzSecurityCspmMonitorAwsOfferingObject.md
new file mode 100644
index 000000000000..9756a8f7ffc3
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/New-AzSecurityCspmMonitorAwsOfferingObject.md
@@ -0,0 +1,13 @@
+### Example 1: Create new CspmMonitorAwsOffering object
+```powershell
+New-AzSecurityCspmMonitorAwsOfferingObject -NativeCloudConnectionCloudRoleArn "arn:aws:iam::123456789012:role/CspmMonitorAws"
+```
+
+```output
+Description NativeCloudConnectionCloudRoleArn OfferingType
+----------- --------------------------------- ------------
+ arn:aws:iam::123456789012:role/CspmMonitorAws CspmMonitorAws
+```
+
+
+
diff --git a/src/Security/Security.Autorest/examples/New-AzSecurityCspmMonitorAzureDevOpsOfferingObject.md b/src/Security/Security.Autorest/examples/New-AzSecurityCspmMonitorAzureDevOpsOfferingObject.md
new file mode 100644
index 000000000000..db5e687db9ff
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/New-AzSecurityCspmMonitorAzureDevOpsOfferingObject.md
@@ -0,0 +1,12 @@
+### Example 1: Create new CspmMonitorAzureDevOpsOffering object
+```powershell
+New-AzSecurityCspmMonitorAzureDevOpsOfferingObject
+```
+
+```output
+Description OfferingType
+----------- ------------
+ CspmMonitorAzureDevOps
+```
+
+
diff --git a/src/Security/Security.Autorest/examples/New-AzSecurityCspmMonitorGcpOfferingObject.md b/src/Security/Security.Autorest/examples/New-AzSecurityCspmMonitorGcpOfferingObject.md
new file mode 100644
index 000000000000..64e821b0d554
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/New-AzSecurityCspmMonitorGcpOfferingObject.md
@@ -0,0 +1,13 @@
+### Example 1: Create new CspmMonitorGcpOffering object
+```powershell
+New-AzSecurityCspmMonitorGcpOfferingObject -NativeCloudConnectionServiceAccountEmailAddress "microsoft-defender-cspm@asc-sdk-samples.iam.gserviceaccount.com" -NativeCloudConnectionWorkloadIdentityProviderId "cspm"
+```
+
+```output
+Description NativeCloudConnectionServiceAccountEmailAddress NativeCloudConnectionWorkloadIdentityProviderId OfferingType
+----------- ----------------------------------------------- ----------------------------------------------- ------------
+ microsoft-defender-cspm@asc-sdk-samples.iam.gserviceaccount.com cspm CspmMonitorGcp
+```
+
+
+
diff --git a/src/Security/Security.Autorest/examples/New-AzSecurityCspmMonitorGitLabOfferingObject.md b/src/Security/Security.Autorest/examples/New-AzSecurityCspmMonitorGitLabOfferingObject.md
new file mode 100644
index 000000000000..e1a4157532e2
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/New-AzSecurityCspmMonitorGitLabOfferingObject.md
@@ -0,0 +1,13 @@
+### Example 1: Create new CspmMonitorGitLabOffering object
+```powershell
+New-AzSecurityCspmMonitorGitLabOfferingObject
+```
+
+```output
+Description OfferingType
+----------- ------------
+ CspmMonitorGitLab
+```
+
+
+
diff --git a/src/Security/Security.Autorest/examples/New-AzSecurityCspmMonitorGithubOfferingObject.md b/src/Security/Security.Autorest/examples/New-AzSecurityCspmMonitorGithubOfferingObject.md
new file mode 100644
index 000000000000..a938887cf13b
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/New-AzSecurityCspmMonitorGithubOfferingObject.md
@@ -0,0 +1,12 @@
+### Example 1: Create new CspmMonitorGithubOffering object
+```powershell
+New-AzSecurityCspmMonitorGithubOfferingObject
+```
+
+```output
+Description OfferingType
+----------- ------------
+ CspmMonitorGithub
+```
+
+
diff --git a/src/Security/Security.Autorest/examples/New-AzSecurityDefenderCspmAwsOfferingObject.md b/src/Security/Security.Autorest/examples/New-AzSecurityDefenderCspmAwsOfferingObject.md
new file mode 100644
index 000000000000..ef875cc2b584
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/New-AzSecurityDefenderCspmAwsOfferingObject.md
@@ -0,0 +1,36 @@
+### Example 1: Create new DefenderCspmAwsOffering object
+```powershell
+$arnPrefix = "arn:aws:iam::123456789012:role"
+New-AzSecurityDefenderCspmAwsOfferingObject `
+ -VMScannerEnabled $true -ConfigurationScanningMode Default -ConfigurationCloudRoleArn "$arnPrefix/DefenderForCloud-AgentlessScanner" -ConfigurationExclusionTag @{key="value"} `
+ -DataSensitivityDiscoveryEnabled $true -DataSensitivityDiscoveryCloudRoleArn "$arnPrefix/SensitiveDataDiscovery" `
+ -DatabaseDspmEnabled $true -DatabaseDspmCloudRoleArn "$arnPrefix/DefenderForCloud-DataSecurityPostureDB" `
+ -CiemDiscoveryCloudRoleArn "$arnPrefix/DefenderForCloud-Ciem" -CiemOidcAzureActiveDirectoryAppName "mciem-aws-oidc-connector" -CiemOidcCloudRoleArn "$arnPrefix/DefenderForCloud-OidcCiem" `
+ -MdcContainerImageAssessmentEnabled $true -MdcContainerImageAssessmentCloudRoleArn "$arnPrefix/MDCContainersImageAssessmentRole" `
+ -MdcContainerAgentlessDiscoveryK8SEnabled $true -MdcContainerAgentlessDiscoveryK8SCloudRoleArn "$arnPrefix/MDCContainersAgentlessDiscoveryK8sRole"
+```
+
+```output
+CiemDiscoveryCloudRoleArn : arn:aws:iam::123456789012:role/DefenderForCloud-Ciem
+CiemOidcAzureActiveDirectoryAppName : mciem-aws-oidc-connector
+CiemOidcCloudRoleArn : arn:aws:iam::123456789012:role/DefenderForCloud-OidcCiem
+ConfigurationCloudRoleArn : arn:aws:iam::123456789012:role/DefenderForCloud-AgentlessScanner
+ConfigurationExclusionTag : {
+ "key": "value"
+ }
+ConfigurationScanningMode : Default
+DataSensitivityDiscoveryCloudRoleArn : arn:aws:iam::123456789012:role/SensitiveDataDiscovery
+DataSensitivityDiscoveryEnabled : True
+DatabaseDspmCloudRoleArn : arn:aws:iam::123456789012:role/DefenderForCloud-DataSecurityPostureDB
+DatabaseDspmEnabled : True
+Description :
+MdcContainerAgentlessDiscoveryK8SCloudRoleArn : arn:aws:iam::123456789012:role/MDCContainersAgentlessDiscoveryK8sRole
+MdcContainerAgentlessDiscoveryK8SEnabled : True
+MdcContainerImageAssessmentCloudRoleArn : arn:aws:iam::123456789012:role/MDCContainersImageAssessmentRole
+MdcContainerImageAssessmentEnabled : True
+OfferingType : DefenderCspmAws
+VMScannerEnabled : True
+```
+
+
+
diff --git a/src/Security/Security.Autorest/examples/New-AzSecurityDefenderCspmGcpOfferingObject.md b/src/Security/Security.Autorest/examples/New-AzSecurityDefenderCspmGcpOfferingObject.md
new file mode 100644
index 000000000000..5342b639af98
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/New-AzSecurityDefenderCspmGcpOfferingObject.md
@@ -0,0 +1,33 @@
+### Example 1: Create new DefenderCspmGcpOffering object
+```powershell
+$emailSuffix = "myproject.iam.gserviceaccount.com"
+New-AzSecurityDefenderCspmGcpOfferingObject `
+ -VMScannerEnabled $true -ConfigurationScanningMode Default -ConfigurationExclusionTag @{key="value"} `
+ -MdcContainerAgentlessDiscoveryK8SEnabled $true -MdcContainerAgentlessDiscoveryK8SServiceAccountEmailAddress "mdc-containers-k8s-operator@$emailSuffix" -MdcContainerAgentlessDiscoveryK8SWorkloadIdentityProviderId "containers" `
+ -MdcContainerImageAssessmentEnabled $true -MdcContainerImageAssessmentServiceAccountEmailAddress "mdc-containers-artifact-assess@$emailSuffix" -MdcContainerImageAssessmentWorkloadIdentityProviderId "containers" `
+ -DataSensitivityDiscoveryEnabled $true -DataSensitivityDiscoveryServiceAccountEmailAddress "mdc-data-sec-posture-storage@$emailSuffix" -DataSensitivityDiscoveryWorkloadIdentityProviderId "data-security-posture-storage" `
+ -CiemDiscoveryServiceAccountEmailAddress "microsoft-defender-ciem@$emailSuffix" -CiemDiscoveryAzureActiveDirectoryAppName "mciem-gcp-oidc-app" -CiemDiscoveryWorkloadIdentityProviderId "ciem-discovery"
+```
+
+```output
+CiemDiscoveryAzureActiveDirectoryAppName : mciem-gcp-oidc-app
+CiemDiscoveryServiceAccountEmailAddress : microsoft-defender-ciem@myproject.iam.gserviceaccount.com
+CiemDiscoveryWorkloadIdentityProviderId : ciem-discovery
+ConfigurationExclusionTag : {
+ "key": "value"
+ }
+ConfigurationScanningMode : Default
+DataSensitivityDiscoveryEnabled : True
+DataSensitivityDiscoveryServiceAccountEmailAddress : mdc-data-sec-posture-storage@myproject.iam.gserviceaccount.com
+DataSensitivityDiscoveryWorkloadIdentityProviderId : data-security-posture-storage
+Description :
+MdcContainerAgentlessDiscoveryK8SEnabled : True
+MdcContainerAgentlessDiscoveryK8SServiceAccountEmailAddress : mdc-containers-k8s-operator@myproject.iam.gserviceaccount.com
+MdcContainerAgentlessDiscoveryK8SWorkloadIdentityProviderId : containers
+MdcContainerImageAssessmentEnabled : True
+MdcContainerImageAssessmentServiceAccountEmailAddress : mdc-containers-artifact-assess@myproject.iam.gserviceaccount.com
+MdcContainerImageAssessmentWorkloadIdentityProviderId : containers
+OfferingType : DefenderCspmGcp
+VMScannerEnabled : True
+```
+
diff --git a/src/Security/Security.Autorest/examples/New-AzSecurityDefenderForContainersAwsOfferingObject.md b/src/Security/Security.Autorest/examples/New-AzSecurityDefenderForContainersAwsOfferingObject.md
new file mode 100644
index 000000000000..942f10da412b
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/New-AzSecurityDefenderForContainersAwsOfferingObject.md
@@ -0,0 +1,33 @@
+### Example 1: Create new DefenderForContainersAwsOffering object
+```powershell
+$arnPrefix = "arn:aws:iam::123456789012:role"
+New-AzSecurityDefenderForContainersAwsOfferingObject `
+ -AutoProvisioning $true -KuberneteServiceCloudRoleArn "$arnPrefix/DefenderForCloud-Containers-K8s" -KuberneteScubaReaderCloudRoleArn "$arnPrefix/DefenderForCloud-DataCollection" `
+ -KinesiToS3CloudRoleArn "$arnPrefix/DefenderForCloud-Containers-K8s-kinesis-to-s3" -CloudWatchToKinesiCloudRoleArn "$arnPrefix/DefenderForCloud-Containers-K8s-cloudwatch-to-kinesis" `
+ -KubeAuditRetentionTime 30 -ScubaExternalId "a47ae0a2-7bf7-482a-897a-7a139d30736c" `
+ -MdcContainerAgentlessDiscoveryK8SEnabled $true -MdcContainerAgentlessDiscoveryK8SCloudRoleArn "$arnPrefix/MDCContainersAgentlessDiscoveryK8sRole" `
+ -MdcContainerImageAssessmentEnabled $true -MdcContainerImageAssessmentCloudRoleArn "$arnPrefix/MDCContainersImageAssessmentRole" `
+ -EnableContainerVulnerabilityAssessment $false
+```
+
+```output
+AutoProvisioning : True
+CloudWatchToKinesiCloudRoleArn : arn:aws:iam::123456789012:role/DefenderForCloud-Containers-K8s-cloudwatch-to-kinesis
+ContainerVulnerabilityAssessmentCloudRoleArn :
+ContainerVulnerabilityAssessmentTaskCloudRoleArn :
+Description :
+EnableContainerVulnerabilityAssessment : False
+KinesiToS3CloudRoleArn : arn:aws:iam::123456789012:role/DefenderForCloud-Containers-K8s-kinesis-to-s3
+KubeAuditRetentionTime : 30
+KuberneteScubaReaderCloudRoleArn : arn:aws:iam::123456789012:role/DefenderForCloud-DataCollection
+KuberneteServiceCloudRoleArn : arn:aws:iam::123456789012:role/DefenderForCloud-Containers-K8s
+MdcContainerAgentlessDiscoveryK8SCloudRoleArn : arn:aws:iam::123456789012:role/MDCContainersAgentlessDiscoveryK8sRole
+MdcContainerAgentlessDiscoveryK8SEnabled : True
+MdcContainerImageAssessmentCloudRoleArn : arn:aws:iam::123456789012:role/MDCContainersImageAssessmentRole
+MdcContainerImageAssessmentEnabled : True
+OfferingType : DefenderForContainersAws
+ScubaExternalId : a47ae0a2-7bf7-482a-897a-7a139d30736c
+```
+
+
+
diff --git a/src/Security/Security.Autorest/examples/New-AzSecurityDefenderForContainersGcpOfferingObject.md b/src/Security/Security.Autorest/examples/New-AzSecurityDefenderForContainersGcpOfferingObject.md
new file mode 100644
index 000000000000..165ec4ccc892
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/New-AzSecurityDefenderForContainersGcpOfferingObject.md
@@ -0,0 +1,29 @@
+### Example 1: Create new DefenderForContainersGcpOffering object
+```powershell
+$emailSuffix = "myproject.iam.gserviceaccount.com"
+New-AzSecurityDefenderForContainersGcpOfferingObject `
+ -NativeCloudConnectionServiceAccountEmailAddress "microsoft-defender-containers@$emailSuffix" -NativeCloudConnectionWorkloadIdentityProviderId "containers" `
+ -DataPipelineNativeCloudConnectionServiceAccountEmailAddress "ms-defender-containers-stream@$emailSuffix" -DataPipelineNativeCloudConnectionWorkloadIdentityProviderId "containers-streams" `
+ -AuditLogsAutoProvisioningFlag $true -DefenderAgentAutoProvisioningFlag $true -PolicyAgentAutoProvisioningFlag $true `
+ -MdcContainerAgentlessDiscoveryK8SEnabled $true -MdcContainerAgentlessDiscoveryK8SWorkloadIdentityProviderId "containers" -MdcContainerAgentlessDiscoveryK8SServiceAccountEmailAddress "mdc-containers-k8s-operator@$emailSuffix" `
+ -MdcContainerImageAssessmentEnabled $true -MdcContainerImageAssessmentWorkloadIdentityProviderId "containers" -MdcContainerImageAssessmentServiceAccountEmailAddress "mdc-containers-artifact-assess@$emailSuffix"
+```
+
+```output
+AuditLogsAutoProvisioningFlag : True
+DataPipelineNativeCloudConnectionServiceAccountEmailAddress : ms-defender-containers-stream@myproject.iam.gserviceaccount.com
+DataPipelineNativeCloudConnectionWorkloadIdentityProviderId : containers-streams
+DefenderAgentAutoProvisioningFlag : True
+Description :
+MdcContainerAgentlessDiscoveryK8SEnabled : True
+MdcContainerAgentlessDiscoveryK8SServiceAccountEmailAddress : mdc-containers-k8s-operator@myproject.iam.gserviceaccount.com
+MdcContainerAgentlessDiscoveryK8SWorkloadIdentityProviderId : containers
+MdcContainerImageAssessmentEnabled : True
+MdcContainerImageAssessmentServiceAccountEmailAddress : mdc-containers-artifact-assess@myproject.iam.gserviceaccount.com
+MdcContainerImageAssessmentWorkloadIdentityProviderId : containers
+NativeCloudConnectionServiceAccountEmailAddress : microsoft-defender-containers@myproject.iam.gserviceaccount.com
+NativeCloudConnectionWorkloadIdentityProviderId : containers
+OfferingType : DefenderForContainersGcp
+PolicyAgentAutoProvisioningFlag : True
+```
+
diff --git a/src/Security/Security.Autorest/examples/New-AzSecurityDefenderForDatabasesAwsOfferingObject.md b/src/Security/Security.Autorest/examples/New-AzSecurityDefenderForDatabasesAwsOfferingObject.md
new file mode 100644
index 000000000000..554da8762f42
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/New-AzSecurityDefenderForDatabasesAwsOfferingObject.md
@@ -0,0 +1,24 @@
+### Example 1: Create new DefenderForDatabasesAwsOffering object
+```powershell
+$arnPrefix = "arn:aws:iam::123456789012:role"
+New-AzSecurityDefenderForDatabasesAwsOfferingObject `
+ -ArcAutoProvisioningEnabled $true -ArcAutoProvisioningCloudRoleArn "$arnPrefix/DefenderForCloud-ArcAutoProvisioning" `
+ -DatabaseDspmEnabled $true -DatabaseDspmCloudRoleArn "$arnPrefix/DefenderForCloud-DataSecurityPostureDB"
+
+```
+
+```output
+ArcAutoProvisioningCloudRoleArn : arn:aws:iam::123456789012:role/DefenderForCloud-ArcAutoProvisioning
+ArcAutoProvisioningEnabled : True
+ConfigurationPrivateLinkScope :
+ConfigurationProxy :
+DatabaseDspmCloudRoleArn : arn:aws:iam::123456789012:role/DefenderForCloud-DataSecurityPostureDB
+DatabaseDspmEnabled : True
+Description :
+OfferingType : DefenderForDatabasesAws
+RdCloudRoleArn :
+RdEnabled :
+```
+
+
+
diff --git a/src/Security/Security.Autorest/examples/New-AzSecurityDefenderForDatabasesGcpOfferingObject.md b/src/Security/Security.Autorest/examples/New-AzSecurityDefenderForDatabasesGcpOfferingObject.md
new file mode 100644
index 000000000000..a856a2af305d
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/New-AzSecurityDefenderForDatabasesGcpOfferingObject.md
@@ -0,0 +1,20 @@
+### Example 1: Create new DefenderForDatabasesGcpOffering object
+```powershell
+$emailSuffix = "myproject.iam.gserviceaccount.com"
+New-AzSecurityDefenderForDatabasesGcpOfferingObject `
+ -ArcAutoProvisioningEnabled $true `
+ -DefenderForDatabaseArcAutoProvisioningServiceAccountEmailAddress "microsoft-databases-arc-ap@" -DefenderForDatabaseArcAutoProvisioningWorkloadIdentityProviderId "defender-for-databases-arc-ap"
+
+```
+
+```output
+ArcAutoProvisioningEnabled : True
+ConfigurationPrivateLinkScope :
+ConfigurationProxy :
+DefenderForDatabaseArcAutoProvisioningServiceAccountEmailAddress : microsoft-databases-arc-ap@
+DefenderForDatabaseArcAutoProvisioningWorkloadIdentityProviderId : defender-for-databases-arc-ap
+Description :
+OfferingType : DefenderForDatabasesGcp
+```
+
+
diff --git a/src/Security/Security.Autorest/examples/New-AzSecurityDefenderForServersAwsOfferingObject.md b/src/Security/Security.Autorest/examples/New-AzSecurityDefenderForServersAwsOfferingObject.md
new file mode 100644
index 000000000000..1f74745d7067
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/New-AzSecurityDefenderForServersAwsOfferingObject.md
@@ -0,0 +1,34 @@
+### Example 1: Create new DefenderForServersAwsOffering object
+```powershell
+$arnPrefix = "arn:aws:iam::123456789012:role"
+New-AzSecurityDefenderForServersAwsOfferingObject `
+ -DefenderForServerCloudRoleArn "$arnPrefix/DefenderForCloud-DefenderForServers" `
+ -ArcAutoProvisioningEnabled $true -ArcAutoProvisioningCloudRoleArn "$arnPrefix/DefenderForCloud-ArcAutoProvisioning" `
+ -MdeAutoProvisioningEnabled $true `
+ -VaAutoProvisioningEnabled $true -ConfigurationType TVM `
+ -VMScannerEnabled $true -ConfigurationCloudRoleArn "$arnPrefix/DefenderForCloud-AgentlessScanner" -ConfigurationScanningMode Default `
+ -SubPlanType P2
+```
+
+```output
+ArcAutoProvisioningCloudRoleArn : arn:aws:iam::123456789012:role/DefenderForCloud-ArcAutoProvisioning
+ArcAutoProvisioningEnabled : True
+ConfigurationCloudRoleArn : arn:aws:iam::123456789012:role/DefenderForCloud-AgentlessScanner
+ConfigurationExclusionTag : {
+ }
+ConfigurationPrivateLinkScope :
+ConfigurationProxy :
+ConfigurationScanningMode : Default
+ConfigurationType : TVM
+DefenderForServerCloudRoleArn : arn:aws:iam::123456789012:role/DefenderForCloud-DefenderForServers
+Description :
+MdeAutoProvisioningConfiguration : {
+ }
+MdeAutoProvisioningEnabled : True
+OfferingType : DefenderForServersAws
+SubPlanType : P2
+VMScannerEnabled : True
+VaAutoProvisioningEnabled : True
+```
+
+
diff --git a/src/Security/Security.Autorest/examples/New-AzSecurityDefenderForServersGcpOfferingObject.md b/src/Security/Security.Autorest/examples/New-AzSecurityDefenderForServersGcpOfferingObject.md
new file mode 100644
index 000000000000..07810bdabb00
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/New-AzSecurityDefenderForServersGcpOfferingObject.md
@@ -0,0 +1,30 @@
+### Example 1: Create new DefenderForServersGcpOffering object
+```powershell
+$emailSuffix = "myproject.iam.gserviceaccount.com"
+New-AzSecurityDefenderForServersGcpOfferingObject `
+ -DefenderForServerServiceAccountEmailAddress "microsoft-defender-for-servers@$emailSuffix" -DefenderForServerWorkloadIdentityProviderId "defender-for-servers" `
+ -ArcAutoProvisioningEnabled $true -MdeAutoProvisioningEnabled $true -VaAutoProvisioningEnabled $true -ConfigurationType TVM `
+ -VMScannerEnabled $true -ConfigurationScanningMode Default `
+ -SubPlanType P2
+```
+
+```output
+ArcAutoProvisioningEnabled : True
+ConfigurationExclusionTag : {
+ }
+ConfigurationPrivateLinkScope :
+ConfigurationProxy :
+ConfigurationScanningMode : Default
+ConfigurationType : TVM
+DefenderForServerServiceAccountEmailAddress : microsoft-defender-for-servers@myproject.iam.gserviceaccount.com
+DefenderForServerWorkloadIdentityProviderId : defender-for-servers
+Description :
+MdeAutoProvisioningConfiguration : {
+ }
+MdeAutoProvisioningEnabled : True
+OfferingType : DefenderForServersGcp
+SubPlanType : P2
+VMScannerEnabled : True
+VaAutoProvisioningEnabled : True
+```
+
diff --git a/src/Security/Security.Autorest/examples/New-AzSecurityGcpOrganizationalDataMemberObject.md b/src/Security/Security.Autorest/examples/New-AzSecurityGcpOrganizationalDataMemberObject.md
new file mode 100644
index 000000000000..5e8ba6075e39
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/New-AzSecurityGcpOrganizationalDataMemberObject.md
@@ -0,0 +1,12 @@
+### Example 1: Create new GcpOrganizationalDataMember object
+```powershell
+New-AzSecurityGcpOrganizationalDataMemberObject -ManagementProjectNumber "12345" -ParentHierarchyId "00000"
+```
+
+```output
+ManagementProjectNumber OrganizationMembershipType ParentHierarchyId
+----------------------- -------------------------- -----------------
+12345 Member 00000
+```
+
+
diff --git a/src/Security/Security.Autorest/examples/New-AzSecurityGcpOrganizationalDataOrganizationObject.md b/src/Security/Security.Autorest/examples/New-AzSecurityGcpOrganizationalDataOrganizationObject.md
new file mode 100644
index 000000000000..2bfd6340ed94
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/New-AzSecurityGcpOrganizationalDataOrganizationObject.md
@@ -0,0 +1,16 @@
+### Example 1: Create new GcpOrganizationalDataOrganization object
+```powershell
+New-AzSecurityGcpOrganizationalDataOrganizationObject -WorkloadIdentityProviderId "provider" -ServiceAccountEmailAddress "my@email.com" -ExcludedProjectNumber @(1,2)
+```
+
+```output
+ExcludedProjectNumber : {1, 2}
+OrganizationMembershipType : Organization
+OrganizationName :
+ServiceAccountEmailAddress : my@email.com
+WorkloadIdentityProviderId : provider
+```
+
+
+
+
diff --git a/src/Security/Security.Autorest/examples/New-AzSecurityGcpProjectEnvironmentObject.md b/src/Security/Security.Autorest/examples/New-AzSecurityGcpProjectEnvironmentObject.md
new file mode 100644
index 000000000000..243a44be826d
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/New-AzSecurityGcpProjectEnvironmentObject.md
@@ -0,0 +1,22 @@
+### Example 1: Create new GcpOrganizationalDataOrganization object
+```powershell
+$orgData = New-AzSecurityGcpOrganizationalDataOrganizationObject -WorkloadIdentityProviderId "provider" -ServiceAccountEmailAddress "my@email.com" -ExcludedProjectNumber @(1,2)
+New-AzSecurityGcpProjectEnvironmentObject -ProjectDetailProjectId "asc-sdk-samples" -ScanInterval 24 -OrganizationalData $orgData -ProjectDetailProjectNumber "1234"
+```
+
+```output
+EnvironmentType : GcpProject
+OrganizationalData : {
+ "organizationMembershipType": "Organization",
+ "excludedProjectNumbers": [ "1", "2" ],
+ "serviceAccountEmailAddress": "my@email.com",
+ "workloadIdentityProviderId": "provider"
+ }
+ProjectDetailProjectId : asc-sdk-samples
+ProjectDetailProjectName :
+ProjectDetailProjectNumber : 1234
+ProjectDetailWorkloadIdentityPoolId :
+ScanInterval : 24
+```
+
+
diff --git a/src/Security/Security.Autorest/examples/New-AzSecurityGitHubScopeEnvironmentObject.md b/src/Security/Security.Autorest/examples/New-AzSecurityGitHubScopeEnvironmentObject.md
new file mode 100644
index 000000000000..4908c2465ad4
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/New-AzSecurityGitHubScopeEnvironmentObject.md
@@ -0,0 +1,13 @@
+### Example 1: Create new GitHubScopeEnvironment object
+```powershell
+New-AzSecurityGitHubScopeEnvironmentObject
+```
+
+```output
+EnvironmentType
+---------------
+GithubScope
+```
+
+
+
diff --git a/src/Security/Security.Autorest/examples/New-AzSecurityGitLabScopeEnvironmentObject.md b/src/Security/Security.Autorest/examples/New-AzSecurityGitLabScopeEnvironmentObject.md
new file mode 100644
index 000000000000..cffd06b19c8c
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/New-AzSecurityGitLabScopeEnvironmentObject.md
@@ -0,0 +1,11 @@
+### Example 1: Create new GitLabScopeEnvironment object
+```powershell
+New-AzSecurityGitLabScopeEnvironmentObject
+```
+
+```output
+EnvironmentType
+---------------
+GitlabScope
+```
+
diff --git a/src/Security/Security.Autorest/examples/New-AzSecurityInformationProtectionAwsOfferingObject.md b/src/Security/Security.Autorest/examples/New-AzSecurityInformationProtectionAwsOfferingObject.md
new file mode 100644
index 000000000000..a5388db97142
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/New-AzSecurityInformationProtectionAwsOfferingObject.md
@@ -0,0 +1,11 @@
+### Example 1: Create new InformationProtectionAwsOffering object
+```powershell
+New-AzSecurityInformationProtectionAwsOfferingObject -InformationProtectionCloudRoleArn "arn:aws:iam::123456789012:role/myRole"
+```
+
+```output
+Description InformationProtectionCloudRoleArn OfferingType
+----------- --------------------------------- ------------
+ arn:aws:iam::123456789012:role/myRole InformationProtectionAws
+```
+
diff --git a/src/Security/Security.Autorest/examples/Remove-AzSecurityConnector.md b/src/Security/Security.Autorest/examples/Remove-AzSecurityConnector.md
new file mode 100644
index 000000000000..115ae8a102e8
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/Remove-AzSecurityConnector.md
@@ -0,0 +1,6 @@
+### Example 1: Remove security connector
+```powershell
+Remove-AzSecurityConnector -ResourceGroupName "securityconnectors-pwsh-tmp" -Name "ado-sdk-pwsh-test03"
+```
+
+
diff --git a/src/Security/Security.Autorest/examples/Remove-AzSecurityConnectorDevOpsConfiguration.md b/src/Security/Security.Autorest/examples/Remove-AzSecurityConnectorDevOpsConfiguration.md
new file mode 100644
index 000000000000..92432a984362
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/Remove-AzSecurityConnectorDevOpsConfiguration.md
@@ -0,0 +1,5 @@
+### Example 1: Remove DevOps Configuration for the security connector
+```powershell
+Remove-AzSecurityConnectorDevOpsConfiguration -ResourceGroupName "securityconnectors-pwsh-tmp" -SecurityConnectorName "ado-sdk-pwsh-test03"
+```
+
diff --git a/src/Security/Security.Autorest/examples/Update-AzSecurityConnector.md b/src/Security/Security.Autorest/examples/Update-AzSecurityConnector.md
new file mode 100644
index 000000000000..0f7f0acb872d
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/Update-AzSecurityConnector.md
@@ -0,0 +1,33 @@
+### Example 1: Update security connector
+```powershell
+Update-AzSecurityConnector -ResourceGroupName "securityConnectors-pwsh-tmp" -Name "ado-sdk-pwsh-test03" -Tag @{myTag="v1"}
+```
+
+```output
+EnvironmentData : {
+ "environmentType": "AzureDevOpsScope"
+ }
+EnvironmentName : AzureDevOps
+Etag :
+HierarchyIdentifier : 9dd01e19-8aaf-43a2-8dd4-1c5992f4df35
+HierarchyIdentifierTrialEndDate :
+Id : /subscriptions/487bb485-b5b0-471e-9c0d-10717612f869/resourcegroups/securityconnectors-pwsh-tmp/providers/Microsoft.Security/securityConnectors/ado-sdk-pwsh-test03
+Kind :
+Location : CentralUS
+Name : ado-sdk-pwsh-test03
+Offering : {{
+ "offeringType": "CspmMonitorAzureDevOps"
+ }}
+ResourceGroupName : securityconnectors-pwsh-tmp
+SystemDataCreatedAt : 2/24/2024 12:13:11 AM
+SystemDataCreatedBy : c3d82ccb-fee1-430c-949e-6c0a217c00a8
+SystemDataCreatedByType : Application
+SystemDataLastModifiedAt : 2/24/2024 12:24:02 AM
+SystemDataLastModifiedBy : c3d82ccb-fee1-430c-949e-6c0a217c00a8
+SystemDataLastModifiedByType : Application
+Tag : {
+ "myTag": "v1"
+ }
+Type : Microsoft.Security/securityconnectors
+```
+
diff --git a/src/Security/Security.Autorest/examples/Update-AzSecurityConnectorAzureDevOpsOrg.md b/src/Security/Security.Autorest/examples/Update-AzSecurityConnectorAzureDevOpsOrg.md
new file mode 100644
index 000000000000..42db0a7eebc5
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/Update-AzSecurityConnectorAzureDevOpsOrg.md
@@ -0,0 +1,39 @@
+### Example 1: Update discovered AzureDevOps organization configuration
+```powershell
+$config = New-AzSecurityConnectorActionableRemediationObject -State Enabled -InheritFromParentState Disabled -CategoryConfiguration @( @{category="IaC"; minimumSeverityLevel="High"})
+Update-AzSecurityConnectorAzureDevOpsOrg -ResourceGroupName "securityConnectors-pwsh-tmp" -SecurityConnectorName "ado-sdk-pwsh-test03" -OrgName "org1" -ActionableRemediation $config
+```
+
+```output
+ActionableRemediation : {
+ "state": "Enabled",
+ "categoryConfigurations": [
+ {
+ "minimumSeverityLevel": "High",
+ "category": "IaC"
+ }
+ ],
+ "branchConfiguration": {
+ "branchNames": [ ],
+ "annotateDefaultBranch": "Enabled"
+ },
+ "inheritFromParentState": "Disabled"
+ }
+Id : /subscriptions/487bb485-b5b0-471e-9c0d-10717612f869/resourceGroups/securityConnectors-pwsh-tmp/providers/Microsoft.Security/securityConnectors/ado-sdk-pwsh-test03/devops/default/azureDevOpsOrgs/org1
+Name : org1
+OnboardingState : Onboarded
+ProvisioningState : Succeeded
+ProvisioningStatusMessage : OK
+ProvisioningStatusUpdateTimeUtc : 2/24/2024 12:28:16 AM
+ResourceGroupName : securityConnectors-pwsh-tmp
+SystemDataCreatedAt :
+SystemDataCreatedBy :
+SystemDataCreatedByType :
+SystemDataLastModifiedAt :
+SystemDataLastModifiedBy :
+SystemDataLastModifiedByType :
+Type : Microsoft.Security/securityConnectors/devops/azureDevOpsOrgs
+```
+
+
+
diff --git a/src/Security/Security.Autorest/examples/Update-AzSecurityConnectorAzureDevOpsProject.md b/src/Security/Security.Autorest/examples/Update-AzSecurityConnectorAzureDevOpsProject.md
new file mode 100644
index 000000000000..87c9cb57c427
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/Update-AzSecurityConnectorAzureDevOpsProject.md
@@ -0,0 +1,42 @@
+### Example 1: Update discovered AzureDevOps project configuration
+```powershell
+$config = New-AzSecurityConnectorActionableRemediationObject -State Disabled -InheritFromParentState Disabled -CategoryConfiguration @( @{category="IaC"; minimumSeverityLevel="Low"})
+Update-AzSecurityConnectorAzureDevOpsProject -ResourceGroupName "securityConnectors-pwsh-tmp" -SecurityConnectorName "ado-sdk-pwsh-test03" -OrgName "org1" -ProjectName "Build" -ActionableRemediation $config
+```
+
+```output
+ActionableRemediation : {
+ "state": "Disabled",
+ "categoryConfigurations": [
+ {
+ "minimumSeverityLevel": "Low",
+ "category": "IaC"
+ }
+ ],
+ "branchConfiguration": {
+ "branchNames": [ ],
+ "annotateDefaultBranch": "Enabled"
+ },
+ "inheritFromParentState": "Disabled"
+ }
+Id : /subscriptions/487bb485-b5b0-471e-9c0d-10717612f869/resourceGroups/securityConnectors-pwsh-tmp/providers/Microsoft.Security/securityConnectors/ado-sdk-pwsh-test03/devops/default/azureDevOpsOrgs/org1/p
+ rojects/Build
+Name : Build
+OnboardingState : Onboarded
+ParentOrgName : org1
+ProjectId : 68b6a6ae-a3e4-41fa-b16e-bc4bbacd139a
+ProvisioningState : Succeeded
+ProvisioningStatusMessage : OK
+ProvisioningStatusUpdateTimeUtc : 2/24/2024 12:31:18 AM
+ResourceGroupName : securityConnectors-pwsh-tmp
+SystemDataCreatedAt :
+SystemDataCreatedBy :
+SystemDataCreatedByType :
+SystemDataLastModifiedAt :
+SystemDataLastModifiedBy :
+SystemDataLastModifiedByType :
+Type : Microsoft.Security/securityConnectors/devops/azureDevOpsOrgs/projects
+```
+
+
+
diff --git a/src/Security/Security.Autorest/examples/Update-AzSecurityConnectorAzureDevOpsRepo.md b/src/Security/Security.Autorest/examples/Update-AzSecurityConnectorAzureDevOpsRepo.md
new file mode 100644
index 000000000000..7defe2e75941
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/Update-AzSecurityConnectorAzureDevOpsRepo.md
@@ -0,0 +1,44 @@
+### Example 1: Update discovered AzureDevOps repository configuration
+```powershell
+$config = New-AzSecurityConnectorActionableRemediationObject -State Enabled -InheritFromParentState Disabled -CategoryConfiguration @( @{category="IaC"; minimumSeverityLevel="Low"} )
+Update-AzSecurityConnectorAzureDevOpsRepo -ResourceGroupName "securityConnectors-pwsh-tmp" -SecurityConnectorName "ado-sdk-pwsh-test03" -OrgName "org1" -ProjectName "Build" -RepoName "Build" -ActionableRemediation $config
+```
+
+```output
+ActionableRemediation : {
+ "state": "Enabled",
+ "categoryConfigurations": [
+ {
+ "minimumSeverityLevel": "Low",
+ "category": "IaC"
+ }
+ ],
+ "branchConfiguration": {
+ "branchNames": [ ],
+ "annotateDefaultBranch": "Enabled"
+ },
+ "inheritFromParentState": "Disabled"
+ }
+Id : /subscriptions/487bb485-b5b0-471e-9c0d-10717612f869/resourceGroups/securityConnectors-pwsh-tmp/providers/Microsoft.Security/securityConnectors/ado-sdk-pwsh-test03/devops/default/azureDevOpsOrgs/org1/p
+ rojects/Build/repos/Build
+Name : Build
+OnboardingState : Onboarded
+ParentOrgName : org1
+ParentProjectName : Build
+ProvisioningState : Succeeded
+ProvisioningStatusMessage : OK
+ProvisioningStatusUpdateTimeUtc : 2/24/2024 12:31:19 AM
+RepoId : 64d6ea8c-6030-44db-86a4-044f13a7f43e
+RepoUrl : https://dev.azure.com/org1/Build/_git/Build
+ResourceGroupName : securityConnectors-pwsh-tmp
+SystemDataCreatedAt :
+SystemDataCreatedBy :
+SystemDataCreatedByType :
+SystemDataLastModifiedAt :
+SystemDataLastModifiedBy :
+SystemDataLastModifiedByType :
+Type : Microsoft.Security/securityConnectors/devops/azureDevOpsOrgs/projects/repos
+Visibility :
+```
+
+
diff --git a/src/Security/Security.Autorest/examples/Update-AzSecurityConnectorDevOpsConfiguration.md b/src/Security/Security.Autorest/examples/Update-AzSecurityConnectorDevOpsConfiguration.md
new file mode 100644
index 000000000000..1c38eebc05ff
--- /dev/null
+++ b/src/Security/Security.Autorest/examples/Update-AzSecurityConnectorDevOpsConfiguration.md
@@ -0,0 +1,25 @@
+### Example 1: Update DevOps configuration
+```powershell
+Update-AzSecurityConnectorDevOpsConfiguration -ResourceGroupName "securityConnectors-pwsh-tmp" -SecurityConnectorName "ado-sdk-pwsh-test03" -AutoDiscovery Enabled
+```
+
+```output
+AuthorizationCode :
+AutoDiscovery : Enabled
+Id : /subscriptions/487bb485-b5b0-471e-9c0d-10717612f869/resourceGroups/securityConnectors-pwsh-tmp/providers/Microsoft.Security/securityConnectors/ado-sdk-pwsh-test03/devops/default
+Name : default
+ProvisioningState : Succeeded
+ProvisioningStatusMessage : Resource creation successful.
+ProvisioningStatusUpdateTimeUtc :
+ResourceGroupName : securityConnectors-pwsh-tmp
+SystemDataCreatedAt :
+SystemDataCreatedBy :
+SystemDataCreatedByType :
+SystemDataLastModifiedAt :
+SystemDataLastModifiedBy :
+SystemDataLastModifiedByType :
+TopLevelInventoryList :
+Type : Microsoft.Security/securityConnectors/devops
+```
+
+
diff --git a/src/Security/Security.Autorest/export-surface.ps1 b/src/Security/Security.Autorest/export-surface.ps1
new file mode 100644
index 000000000000..13d3a0865ef1
--- /dev/null
+++ b/src/Security/Security.Autorest/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]$NotIsolated, [switch]$IncludeGeneralParameters, [switch]$UseExpandedFormat)
+$ErrorActionPreference = 'Stop'
+
+$pwsh = [System.Diagnostics.Process]::GetCurrentProcess().Path
+if(-not $NotIsolated) {
+ Write-Host -ForegroundColor Green 'Creating isolated process...'
+ & "$pwsh" -NonInteractive -NoLogo -NoProfile -File $MyInvocation.MyCommand.Path @PSBoundParameters -NotIsolated
+ return
+}
+
+$dll = Join-Path $PSScriptRoot 'bin\Az.Security.private.dll'
+if(-not (Test-Path $dll)) {
+ Write-Error "Unable to find output assembly in '$binFolder'."
+}
+$null = Import-Module -Name $dll
+
+$moduleName = 'Az.Security'
+$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/Security/Security.Autorest/exports/Get-AzSecurityApiCollection.ps1 b/src/Security/Security.Autorest/exports/Get-AzSecurityApiCollection.ps1
new file mode 100644
index 000000000000..e05cadf22203
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/Get-AzSecurityApiCollection.ps1
@@ -0,0 +1,233 @@
+
+# ----------------------------------------------------------------------------------
+# 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
+Gets an Azure API Management API if it has been onboarded to Microsoft Defender for APIs.
+If an Azure API Management API is onboarded to Microsoft Defender for APIs, the system will monitor the operations within the Azure API Management API for intrusive behaviors and provide alerts for attacks that have been detected.
+.Description
+Gets an Azure API Management API if it has been onboarded to Microsoft Defender for APIs.
+If an Azure API Management API is onboarded to Microsoft Defender for APIs, the system will monitor the operations within the Azure API Management API for intrusive behaviors and provide alerts for attacks that have been detected.
+.Example
+Get-AzSecurityApiCollection -ResourceGroupName apicollectionstests -ServiceName "demoapimservice2" -ApiId "echo-api"
+.Example
+Get-AzSecurityApiCollection -ResourceGroupName "apicollectionstests" -ServiceName "demoapimservice2"
+.Example
+Get-AzSecurityApiCollection
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ISecurityIdentity
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IApiCollection
+.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
+ [ApiId ]: API revision identifier. Must be unique in the API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number.
+ [GroupFqName ]: The GitLab group fully-qualified name.
+ [Id ]: Resource identity path
+ [OperationResultId ]: The operation result Id.
+ [OrgName ]: The Azure DevOps organization name.
+ [OwnerName ]: The GitHub owner name.
+ [ProjectName ]: The project name.
+ [RepoName ]: The repository name.
+ [ResourceGroupName ]: The name of the resource group within the user's subscription. The name is case insensitive.
+ [SecurityConnectorName ]: The security connector name.
+ [ServiceName ]: The name of the API Management service.
+ [SubscriptionId ]: Azure subscription ID
+.Link
+https://learn.microsoft.com/powershell/module/az.security/get-azsecurityapicollection
+#>
+function Get-AzSecurityApiCollection {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IApiCollection])]
+[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
+param(
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # API revision identifier.
+ # Must be unique in the API Management service instance.
+ # Non-current revision has ;rev=n as a suffix where n is the revision number.
+ ${ApiId},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List1', Mandatory)]
+ [Parameter(ParameterSetName='List2', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List2', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The name of the API Management service.
+ ${ServiceName},
+
+ [Parameter(ParameterSetName='Get')]
+ [Parameter(ParameterSetName='List')]
+ [Parameter(ParameterSetName='List1')]
+ [Parameter(ParameterSetName='List2')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String[]]
+ # Azure subscription ID
+ ${SubscriptionId},
+
+ [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ISecurityIdentity]
+ # Identity Parameter
+ # .
+ ${InputObject},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait forNET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.private\Get-AzSecurityApiCollection_Get';
+ GetViaIdentity = 'Az.Security.private\Get-AzSecurityApiCollection_GetViaIdentity';
+ List = 'Az.Security.private\Get-AzSecurityApiCollection_List';
+ List1 = 'Az.Security.private\Get-AzSecurityApiCollection_List1';
+ List2 = 'Az.Security.private\Get-AzSecurityApiCollection_List2';
+ }
+ if (('Get', 'List', 'List1', 'List2') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/Get-AzSecurityConnector.ps1 b/src/Security/Security.Autorest/exports/Get-AzSecurityConnector.ps1
new file mode 100644
index 000000000000..523fb665ebac
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/Get-AzSecurityConnector.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
+Retrieves details of a specific security connector
+.Description
+Retrieves details of a specific security connector
+.Example
+Get-AzSecurityConnector -ResourceGroupName "dfdtest-sdk" -Name "dfdsdktests-azdo-01"
+.Example
+Get-AzSecurityConnector
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ISecurityIdentity
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ISecurityConnector
+.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
+ [ApiId ]: API revision identifier. Must be unique in the API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number.
+ [GroupFqName ]: The GitLab group fully-qualified name.
+ [Id ]: Resource identity path
+ [OperationResultId ]: The operation result Id.
+ [OrgName ]: The Azure DevOps organization name.
+ [OwnerName ]: The GitHub owner name.
+ [ProjectName ]: The project name.
+ [RepoName ]: The repository name.
+ [ResourceGroupName ]: The name of the resource group within the user's subscription. The name is case insensitive.
+ [SecurityConnectorName ]: The security connector name.
+ [ServiceName ]: The name of the API Management service.
+ [SubscriptionId ]: Azure subscription ID
+.Link
+https://learn.microsoft.com/powershell/module/az.security/get-azsecurityconnector
+#>
+function Get-AzSecurityConnector {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ISecurityConnector])]
+[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
+param(
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Alias('SecurityConnectorName')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The security connector name.
+ ${Name},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List1', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The name of the resource group within the user's subscription.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(ParameterSetName='Get')]
+ [Parameter(ParameterSetName='List')]
+ [Parameter(ParameterSetName='List1')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String[]]
+ # Azure subscription ID
+ ${SubscriptionId},
+
+ [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ISecurityIdentity]
+ # Identity Parameter
+ # .
+ ${InputObject},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait forNET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.private\Get-AzSecurityConnector_Get';
+ GetViaIdentity = 'Az.Security.private\Get-AzSecurityConnector_GetViaIdentity';
+ List = 'Az.Security.private\Get-AzSecurityConnector_List';
+ List1 = 'Az.Security.private\Get-AzSecurityConnector_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.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/Get-AzSecurityConnectorAzureDevOpsOrg.ps1 b/src/Security/Security.Autorest/exports/Get-AzSecurityConnectorAzureDevOpsOrg.ps1
new file mode 100644
index 000000000000..75e9cd6589dc
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/Get-AzSecurityConnectorAzureDevOpsOrg.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
+Returns a monitored Azure DevOps organization resource.
+.Description
+Returns a monitored Azure DevOps organization resource.
+.Example
+Get-AzSecurityConnectorAzureDevOpsOrg -ResourceGroupName dfdtest-sdk -SecurityConnectorName dfdsdktests-azdo-01 -OrgName dfdsdktests
+.Example
+Get-AzSecurityConnectorAzureDevOpsOrg -ResourceGroupName dfdtest-sdk -SecurityConnectorName dfdsdktests-azdo-01
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ISecurityIdentity
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IAzureDevOpsOrg
+.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
+ [ApiId ]: API revision identifier. Must be unique in the API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number.
+ [GroupFqName ]: The GitLab group fully-qualified name.
+ [Id ]: Resource identity path
+ [OperationResultId ]: The operation result Id.
+ [OrgName ]: The Azure DevOps organization name.
+ [OwnerName ]: The GitHub owner name.
+ [ProjectName ]: The project name.
+ [RepoName ]: The repository name.
+ [ResourceGroupName ]: The name of the resource group within the user's subscription. The name is case insensitive.
+ [SecurityConnectorName ]: The security connector name.
+ [ServiceName ]: The name of the API Management service.
+ [SubscriptionId ]: Azure subscription ID
+.Link
+https://learn.microsoft.com/powershell/module/az.security/get-azsecurityconnectorazuredevopsorg
+#>
+function Get-AzSecurityConnectorAzureDevOpsOrg {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IAzureDevOpsOrg])]
+[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
+param(
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The Azure DevOps organization name.
+ ${OrgName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The security connector name.
+ ${SecurityConnectorName},
+
+ [Parameter(ParameterSetName='Get')]
+ [Parameter(ParameterSetName='List')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String[]]
+ # Azure subscription ID
+ ${SubscriptionId},
+
+ [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ISecurityIdentity]
+ # Identity Parameter
+ # .
+ ${InputObject},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait forNET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.private\Get-AzSecurityConnectorAzureDevOpsOrg_Get';
+ GetViaIdentity = 'Az.Security.private\Get-AzSecurityConnectorAzureDevOpsOrg_GetViaIdentity';
+ List = 'Az.Security.private\Get-AzSecurityConnectorAzureDevOpsOrg_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.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/Get-AzSecurityConnectorAzureDevOpsOrgAvailable.ps1 b/src/Security/Security.Autorest/exports/Get-AzSecurityConnectorAzureDevOpsOrgAvailable.ps1
new file mode 100644
index 000000000000..67cca7c4621c
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/Get-AzSecurityConnectorAzureDevOpsOrgAvailable.ps1
@@ -0,0 +1,182 @@
+
+# ----------------------------------------------------------------------------------
+# 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
+Returns a list of all Azure DevOps organizations accessible by the user token consumed by the connector.
+.Description
+Returns a list of all Azure DevOps organizations accessible by the user token consumed by the connector.
+.Example
+Get-AzSecurityConnectorAzureDevOpsOrgAvailable -ResourceGroupName dfdtest-sdk -SecurityConnectorName dfdsdktests-azdo-01
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IAzureDevOpsOrgListResponse
+.Link
+https://learn.microsoft.com/powershell/module/az.security/get-azsecurityconnectorazuredevopsorgavailable
+#>
+function Get-AzSecurityConnectorAzureDevOpsOrgAvailable {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IAzureDevOpsOrgListResponse])]
+[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
+param(
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The security connector name.
+ ${SecurityConnectorName},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String[]]
+ # Azure subscription ID
+ ${SubscriptionId},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait forNET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.private\Get-AzSecurityConnectorAzureDevOpsOrgAvailable_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.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/Get-AzSecurityConnectorAzureDevOpsProject.ps1 b/src/Security/Security.Autorest/exports/Get-AzSecurityConnectorAzureDevOpsProject.ps1
new file mode 100644
index 000000000000..61415e64f4d3
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/Get-AzSecurityConnectorAzureDevOpsProject.ps1
@@ -0,0 +1,229 @@
+
+# ----------------------------------------------------------------------------------
+# 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
+Returns a monitored Azure DevOps project resource.
+.Description
+Returns a monitored Azure DevOps project resource.
+.Example
+Get-AzSecurityConnectorAzureDevOpsProject -ResourceGroupName dfdtest-sdk -SecurityConnectorName dfdsdktests-azdo-01 -OrgName dfdsdktests -ProjectName ContosoSDKDfd
+.Example
+Get-AzSecurityConnectorAzureDevOpsProject -ResourceGroupName dfdtest-sdk -SecurityConnectorName dfdsdktests-azdo-01 -OrgName dfdsdktests
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ISecurityIdentity
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IAzureDevOpsProject
+.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
+ [ApiId ]: API revision identifier. Must be unique in the API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number.
+ [GroupFqName ]: The GitLab group fully-qualified name.
+ [Id ]: Resource identity path
+ [OperationResultId ]: The operation result Id.
+ [OrgName ]: The Azure DevOps organization name.
+ [OwnerName ]: The GitHub owner name.
+ [ProjectName ]: The project name.
+ [RepoName ]: The repository name.
+ [ResourceGroupName ]: The name of the resource group within the user's subscription. The name is case insensitive.
+ [SecurityConnectorName ]: The security connector name.
+ [ServiceName ]: The name of the API Management service.
+ [SubscriptionId ]: Azure subscription ID
+.Link
+https://learn.microsoft.com/powershell/module/az.security/get-azsecurityconnectorazuredevopsproject
+#>
+function Get-AzSecurityConnectorAzureDevOpsProject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IAzureDevOpsProject])]
+[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
+param(
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The Azure DevOps organization name.
+ ${OrgName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The project name.
+ ${ProjectName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The security connector name.
+ ${SecurityConnectorName},
+
+ [Parameter(ParameterSetName='Get')]
+ [Parameter(ParameterSetName='List')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String[]]
+ # Azure subscription ID
+ ${SubscriptionId},
+
+ [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ISecurityIdentity]
+ # Identity Parameter
+ # .
+ ${InputObject},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait forNET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.private\Get-AzSecurityConnectorAzureDevOpsProject_Get';
+ GetViaIdentity = 'Az.Security.private\Get-AzSecurityConnectorAzureDevOpsProject_GetViaIdentity';
+ List = 'Az.Security.private\Get-AzSecurityConnectorAzureDevOpsProject_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.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/Get-AzSecurityConnectorAzureDevOpsRepo.ps1 b/src/Security/Security.Autorest/exports/Get-AzSecurityConnectorAzureDevOpsRepo.ps1
new file mode 100644
index 000000000000..93991b572dc7
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/Get-AzSecurityConnectorAzureDevOpsRepo.ps1
@@ -0,0 +1,236 @@
+
+# ----------------------------------------------------------------------------------
+# 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
+Returns a monitored Azure DevOps repository resource.
+.Description
+Returns a monitored Azure DevOps repository resource.
+.Example
+Get-AzSecurityConnectorAzureDevOpsRepo -ResourceGroupName dfdtest-sdk -SecurityConnectorName dfdsdktests-azdo-01 -OrgName dfdsdktests -ProjectName ContosoSDKDfd -RepoName TestApp0
+.Example
+Get-AzSecurityConnectorAzureDevOpsRepo -ResourceGroupName dfdtest-sdk -SecurityConnectorName dfdsdktests-azdo-01 -OrgName dfdsdktests -ProjectName ContosoSDKDfd
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ISecurityIdentity
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IAzureDevOpsRepository
+.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
+ [ApiId ]: API revision identifier. Must be unique in the API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number.
+ [GroupFqName ]: The GitLab group fully-qualified name.
+ [Id ]: Resource identity path
+ [OperationResultId ]: The operation result Id.
+ [OrgName ]: The Azure DevOps organization name.
+ [OwnerName ]: The GitHub owner name.
+ [ProjectName ]: The project name.
+ [RepoName ]: The repository name.
+ [ResourceGroupName ]: The name of the resource group within the user's subscription. The name is case insensitive.
+ [SecurityConnectorName ]: The security connector name.
+ [ServiceName ]: The name of the API Management service.
+ [SubscriptionId ]: Azure subscription ID
+.Link
+https://learn.microsoft.com/powershell/module/az.security/get-azsecurityconnectorazuredevopsrepo
+#>
+function Get-AzSecurityConnectorAzureDevOpsRepo {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IAzureDevOpsRepository])]
+[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
+param(
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The Azure DevOps organization name.
+ ${OrgName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The project name.
+ ${ProjectName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The repository name.
+ ${RepoName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The security connector name.
+ ${SecurityConnectorName},
+
+ [Parameter(ParameterSetName='Get')]
+ [Parameter(ParameterSetName='List')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String[]]
+ # Azure subscription ID
+ ${SubscriptionId},
+
+ [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ISecurityIdentity]
+ # Identity Parameter
+ # .
+ ${InputObject},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait forNET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.private\Get-AzSecurityConnectorAzureDevOpsRepo_Get';
+ GetViaIdentity = 'Az.Security.private\Get-AzSecurityConnectorAzureDevOpsRepo_GetViaIdentity';
+ List = 'Az.Security.private\Get-AzSecurityConnectorAzureDevOpsRepo_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.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/Get-AzSecurityConnectorDevOpsConfiguration.ps1 b/src/Security/Security.Autorest/exports/Get-AzSecurityConnectorDevOpsConfiguration.ps1
new file mode 100644
index 000000000000..fe82a1bb128b
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/Get-AzSecurityConnectorDevOpsConfiguration.ps1
@@ -0,0 +1,216 @@
+
+# ----------------------------------------------------------------------------------
+# 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
+Gets a DevOps Configuration.
+.Description
+Gets a DevOps Configuration.
+.Example
+Get-AzSecurityConnectorDevOpsConfiguration -ResourceGroupName dfdtest-sdk -SecurityConnectorName dfdsdktests-azdo-01
+.Example
+Get-AzSecurityConnectorDevOpsConfiguration -ResourceGroupName securityconnectors-tests -SecurityConnectorName aws-sdktest01
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ISecurityIdentity
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IDevOpsConfiguration
+.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
+ [ApiId ]: API revision identifier. Must be unique in the API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number.
+ [GroupFqName ]: The GitLab group fully-qualified name.
+ [Id ]: Resource identity path
+ [OperationResultId ]: The operation result Id.
+ [OrgName ]: The Azure DevOps organization name.
+ [OwnerName ]: The GitHub owner name.
+ [ProjectName ]: The project name.
+ [RepoName ]: The repository name.
+ [ResourceGroupName ]: The name of the resource group within the user's subscription. The name is case insensitive.
+ [SecurityConnectorName ]: The security connector name.
+ [ServiceName ]: The name of the API Management service.
+ [SubscriptionId ]: Azure subscription ID
+.Link
+https://learn.microsoft.com/powershell/module/az.security/get-azsecurityconnectordevopsconfiguration
+#>
+function Get-AzSecurityConnectorDevOpsConfiguration {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IDevOpsConfiguration])]
+[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)]
+param(
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The security connector name.
+ ${SecurityConnectorName},
+
+ [Parameter(ParameterSetName='Get')]
+ [Parameter(ParameterSetName='List')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String[]]
+ # Azure subscription ID
+ ${SubscriptionId},
+
+ [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ISecurityIdentity]
+ # Identity Parameter
+ # .
+ ${InputObject},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait forNET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.private\Get-AzSecurityConnectorDevOpsConfiguration_Get';
+ GetViaIdentity = 'Az.Security.private\Get-AzSecurityConnectorDevOpsConfiguration_GetViaIdentity';
+ List = 'Az.Security.private\Get-AzSecurityConnectorDevOpsConfiguration_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.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/Get-AzSecurityConnectorGitHubOwner.ps1 b/src/Security/Security.Autorest/exports/Get-AzSecurityConnectorGitHubOwner.ps1
new file mode 100644
index 000000000000..36ffea285b5f
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/Get-AzSecurityConnectorGitHubOwner.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
+Returns a monitored GitHub owner.
+.Description
+Returns a monitored GitHub owner.
+.Example
+Get-AzSecurityConnectorGitHubOwner -ResourceGroupName dfdtest-sdk -SecurityConnectorName dfdsdktests-gh-01 -OwnerName dfdsdktests
+.Example
+Get-AzSecurityConnectorGitHubOwner -ResourceGroupName dfdtest-sdk -SecurityConnectorName dfdsdktests-gh-01
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ISecurityIdentity
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IGitHubOwner
+.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
+ [ApiId ]: API revision identifier. Must be unique in the API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number.
+ [GroupFqName ]: The GitLab group fully-qualified name.
+ [Id ]: Resource identity path
+ [OperationResultId ]: The operation result Id.
+ [OrgName ]: The Azure DevOps organization name.
+ [OwnerName ]: The GitHub owner name.
+ [ProjectName ]: The project name.
+ [RepoName ]: The repository name.
+ [ResourceGroupName ]: The name of the resource group within the user's subscription. The name is case insensitive.
+ [SecurityConnectorName ]: The security connector name.
+ [ServiceName ]: The name of the API Management service.
+ [SubscriptionId ]: Azure subscription ID
+.Link
+https://learn.microsoft.com/powershell/module/az.security/get-azsecurityconnectorgithubowner
+#>
+function Get-AzSecurityConnectorGitHubOwner {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IGitHubOwner])]
+[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
+param(
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The GitHub owner name.
+ ${OwnerName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The security connector name.
+ ${SecurityConnectorName},
+
+ [Parameter(ParameterSetName='Get')]
+ [Parameter(ParameterSetName='List')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String[]]
+ # Azure subscription ID
+ ${SubscriptionId},
+
+ [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ISecurityIdentity]
+ # Identity Parameter
+ # .
+ ${InputObject},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait forNET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.private\Get-AzSecurityConnectorGitHubOwner_Get';
+ GetViaIdentity = 'Az.Security.private\Get-AzSecurityConnectorGitHubOwner_GetViaIdentity';
+ List = 'Az.Security.private\Get-AzSecurityConnectorGitHubOwner_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.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/Get-AzSecurityConnectorGitHubOwnerAvailable.ps1 b/src/Security/Security.Autorest/exports/Get-AzSecurityConnectorGitHubOwnerAvailable.ps1
new file mode 100644
index 000000000000..8279f58f3faf
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/Get-AzSecurityConnectorGitHubOwnerAvailable.ps1
@@ -0,0 +1,182 @@
+
+# ----------------------------------------------------------------------------------
+# 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
+Returns a list of all GitHub owners accessible by the user token consumed by the connector.
+.Description
+Returns a list of all GitHub owners accessible by the user token consumed by the connector.
+.Example
+Get-AzSecurityConnectorGitHubOwnerAvailable -ResourceGroupName dfdtest-sdk -SecurityConnectorName dfdsdktests-gh-01
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IGitHubOwnerListResponse
+.Link
+https://learn.microsoft.com/powershell/module/az.security/get-azsecurityconnectorgithubowneravailable
+#>
+function Get-AzSecurityConnectorGitHubOwnerAvailable {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IGitHubOwnerListResponse])]
+[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
+param(
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The security connector name.
+ ${SecurityConnectorName},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String[]]
+ # Azure subscription ID
+ ${SubscriptionId},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait forNET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.private\Get-AzSecurityConnectorGitHubOwnerAvailable_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.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/Get-AzSecurityConnectorGitHubRepo.ps1 b/src/Security/Security.Autorest/exports/Get-AzSecurityConnectorGitHubRepo.ps1
new file mode 100644
index 000000000000..b8fcd750d954
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/Get-AzSecurityConnectorGitHubRepo.ps1
@@ -0,0 +1,229 @@
+
+# ----------------------------------------------------------------------------------
+# 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
+Returns a monitored GitHub repository.
+.Description
+Returns a monitored GitHub repository.
+.Example
+Get-AzSecurityConnectorGitHubRepo -ResourceGroupName dfdtest-sdk -SecurityConnectorName dfdsdktests-gh-01 -OwnerName dfdsdktests -RepoName TestApp0
+.Example
+Get-AzSecurityConnectorGitHubRepo -ResourceGroupName dfdtest-sdk -SecurityConnectorName dfdsdktests-gh-01 -OwnerName dfdsdktests
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ISecurityIdentity
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IGitHubRepository
+.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
+ [ApiId ]: API revision identifier. Must be unique in the API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number.
+ [GroupFqName ]: The GitLab group fully-qualified name.
+ [Id ]: Resource identity path
+ [OperationResultId ]: The operation result Id.
+ [OrgName ]: The Azure DevOps organization name.
+ [OwnerName ]: The GitHub owner name.
+ [ProjectName ]: The project name.
+ [RepoName ]: The repository name.
+ [ResourceGroupName ]: The name of the resource group within the user's subscription. The name is case insensitive.
+ [SecurityConnectorName ]: The security connector name.
+ [ServiceName ]: The name of the API Management service.
+ [SubscriptionId ]: Azure subscription ID
+.Link
+https://learn.microsoft.com/powershell/module/az.security/get-azsecurityconnectorgithubrepo
+#>
+function Get-AzSecurityConnectorGitHubRepo {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IGitHubRepository])]
+[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
+param(
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The GitHub owner name.
+ ${OwnerName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The repository name.
+ ${RepoName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The security connector name.
+ ${SecurityConnectorName},
+
+ [Parameter(ParameterSetName='Get')]
+ [Parameter(ParameterSetName='List')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String[]]
+ # Azure subscription ID
+ ${SubscriptionId},
+
+ [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ISecurityIdentity]
+ # Identity Parameter
+ # .
+ ${InputObject},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait forNET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.private\Get-AzSecurityConnectorGitHubRepo_Get';
+ GetViaIdentity = 'Az.Security.private\Get-AzSecurityConnectorGitHubRepo_GetViaIdentity';
+ List = 'Az.Security.private\Get-AzSecurityConnectorGitHubRepo_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.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/Get-AzSecurityConnectorGitLabGroup.ps1 b/src/Security/Security.Autorest/exports/Get-AzSecurityConnectorGitLabGroup.ps1
new file mode 100644
index 000000000000..abd2deeddaaf
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/Get-AzSecurityConnectorGitLabGroup.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
+Returns a monitored GitLab Group resource for a given fully-qualified name.
+.Description
+Returns a monitored GitLab Group resource for a given fully-qualified name.
+.Example
+Get-AzSecurityConnectorGitLabGroup -ResourceGroupName dfdtest-sdk -SecurityConnectorName dfdsdktests-gl-01 -GroupFqName dfdsdktests
+.Example
+Get-AzSecurityConnectorGitLabGroup -ResourceGroupName dfdtest-sdk -SecurityConnectorName dfdsdktests-gl-01
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ISecurityIdentity
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IGitLabGroup
+.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
+ [ApiId ]: API revision identifier. Must be unique in the API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number.
+ [GroupFqName ]: The GitLab group fully-qualified name.
+ [Id ]: Resource identity path
+ [OperationResultId ]: The operation result Id.
+ [OrgName ]: The Azure DevOps organization name.
+ [OwnerName ]: The GitHub owner name.
+ [ProjectName ]: The project name.
+ [RepoName ]: The repository name.
+ [ResourceGroupName ]: The name of the resource group within the user's subscription. The name is case insensitive.
+ [SecurityConnectorName ]: The security connector name.
+ [ServiceName ]: The name of the API Management service.
+ [SubscriptionId ]: Azure subscription ID
+.Link
+https://learn.microsoft.com/powershell/module/az.security/get-azsecurityconnectorgitlabgroup
+#>
+function Get-AzSecurityConnectorGitLabGroup {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IGitLabGroup])]
+[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
+param(
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The GitLab group fully-qualified name.
+ ${GroupFqName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The security connector name.
+ ${SecurityConnectorName},
+
+ [Parameter(ParameterSetName='Get')]
+ [Parameter(ParameterSetName='List')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String[]]
+ # Azure subscription ID
+ ${SubscriptionId},
+
+ [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ISecurityIdentity]
+ # Identity Parameter
+ # .
+ ${InputObject},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait forNET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.private\Get-AzSecurityConnectorGitLabGroup_Get';
+ GetViaIdentity = 'Az.Security.private\Get-AzSecurityConnectorGitLabGroup_GetViaIdentity';
+ List = 'Az.Security.private\Get-AzSecurityConnectorGitLabGroup_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.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/Get-AzSecurityConnectorGitLabGroupAvailable.ps1 b/src/Security/Security.Autorest/exports/Get-AzSecurityConnectorGitLabGroupAvailable.ps1
new file mode 100644
index 000000000000..4201fee40ed2
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/Get-AzSecurityConnectorGitLabGroupAvailable.ps1
@@ -0,0 +1,182 @@
+
+# ----------------------------------------------------------------------------------
+# 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
+Returns a list of all GitLab groups accessible by the user token consumed by the connector.
+.Description
+Returns a list of all GitLab groups accessible by the user token consumed by the connector.
+.Example
+Get-AzSecurityConnectorGitLabGroupAvailable -ResourceGroupName dfdtest-sdk -SecurityConnectorName dfdsdktests-gl-01
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IGitLabGroupListResponse
+.Link
+https://learn.microsoft.com/powershell/module/az.security/get-azsecurityconnectorgitlabgroupavailable
+#>
+function Get-AzSecurityConnectorGitLabGroupAvailable {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IGitLabGroupListResponse])]
+[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
+param(
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The security connector name.
+ ${SecurityConnectorName},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String[]]
+ # Azure subscription ID
+ ${SubscriptionId},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait forNET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.private\Get-AzSecurityConnectorGitLabGroupAvailable_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.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/Get-AzSecurityConnectorGitLabProject.ps1 b/src/Security/Security.Autorest/exports/Get-AzSecurityConnectorGitLabProject.ps1
new file mode 100644
index 000000000000..1e88fa302c9c
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/Get-AzSecurityConnectorGitLabProject.ps1
@@ -0,0 +1,229 @@
+
+# ----------------------------------------------------------------------------------
+# 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
+Returns a monitored GitLab Project resource for a given fully-qualified group name and project name.
+.Description
+Returns a monitored GitLab Project resource for a given fully-qualified group name and project name.
+.Example
+Get-AzSecurityConnectorGitLabProject -ResourceGroupName dfdtest-sdk -SecurityConnectorName dfdsdktests-gl-01 -GroupFqName dfdsdktests -ProjectName testapp0
+.Example
+Get-AzSecurityConnectorGitLabProject -ResourceGroupName dfdtest-sdk -SecurityConnectorName dfdsdktests-gl-01 -GroupFqName dfdsdktests
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ISecurityIdentity
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IGitLabProject
+.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
+ [ApiId ]: API revision identifier. Must be unique in the API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number.
+ [GroupFqName ]: The GitLab group fully-qualified name.
+ [Id ]: Resource identity path
+ [OperationResultId ]: The operation result Id.
+ [OrgName ]: The Azure DevOps organization name.
+ [OwnerName ]: The GitHub owner name.
+ [ProjectName ]: The project name.
+ [RepoName ]: The repository name.
+ [ResourceGroupName ]: The name of the resource group within the user's subscription. The name is case insensitive.
+ [SecurityConnectorName ]: The security connector name.
+ [ServiceName ]: The name of the API Management service.
+ [SubscriptionId ]: Azure subscription ID
+.Link
+https://learn.microsoft.com/powershell/module/az.security/get-azsecurityconnectorgitlabproject
+#>
+function Get-AzSecurityConnectorGitLabProject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IGitLabProject])]
+[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
+param(
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The GitLab group fully-qualified name.
+ ${GroupFqName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The project name.
+ ${ProjectName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The security connector name.
+ ${SecurityConnectorName},
+
+ [Parameter(ParameterSetName='Get')]
+ [Parameter(ParameterSetName='List')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String[]]
+ # Azure subscription ID
+ ${SubscriptionId},
+
+ [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ISecurityIdentity]
+ # Identity Parameter
+ # .
+ ${InputObject},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait forNET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.private\Get-AzSecurityConnectorGitLabProject_Get';
+ GetViaIdentity = 'Az.Security.private\Get-AzSecurityConnectorGitLabProject_GetViaIdentity';
+ List = 'Az.Security.private\Get-AzSecurityConnectorGitLabProject_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.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/Get-AzSecurityConnectorGitLabSubgroup.ps1 b/src/Security/Security.Autorest/exports/Get-AzSecurityConnectorGitLabSubgroup.ps1
new file mode 100644
index 000000000000..6851570a7ac6
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/Get-AzSecurityConnectorGitLabSubgroup.ps1
@@ -0,0 +1,188 @@
+
+# ----------------------------------------------------------------------------------
+# 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
+Gets nested subgroups of given GitLab Group which are onboarded to the connector.
+.Description
+Gets nested subgroups of given GitLab Group which are onboarded to the connector.
+.Example
+Get-AzSecurityConnectorGitLabSubgroup -ResourceGroupName dfdtest-sdk -SecurityConnectorName dfdsdktests-gl-01 -GroupFqName dfdsdktests
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IGitLabGroupListResponse
+.Link
+https://learn.microsoft.com/powershell/module/az.security/get-azsecurityconnectorgitlabsubgroup
+#>
+function Get-AzSecurityConnectorGitLabSubgroup {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IGitLabGroupListResponse])]
+[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
+param(
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The GitLab group fully-qualified name.
+ ${GroupFqName},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The security connector name.
+ ${SecurityConnectorName},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String[]]
+ # Azure subscription ID
+ ${SubscriptionId},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait forNET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.private\Get-AzSecurityConnectorGitLabSubgroup_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.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/Invoke-AzSecurityApiCollectionApimOffboard.ps1 b/src/Security/Security.Autorest/exports/Invoke-AzSecurityApiCollectionApimOffboard.ps1
new file mode 100644
index 000000000000..12394b2561ea
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/Invoke-AzSecurityApiCollectionApimOffboard.ps1
@@ -0,0 +1,226 @@
+
+# ----------------------------------------------------------------------------------
+# 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
+Offboard an Azure API Management API from Microsoft Defender for APIs.
+The system will stop monitoring the operations within the Azure API Management API for intrusive behaviors.
+.Description
+Offboard an Azure API Management API from Microsoft Defender for APIs.
+The system will stop monitoring the operations within the Azure API Management API for intrusive behaviors.
+.Example
+Invoke-AzSecurityApiCollectionApimOffboard -ResourceGroupName "apicollectionstests" -ServiceName "demoapimservice2" -ApiId "echo-api-2"
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ISecurityIdentity
+.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
+ [ApiId ]: API revision identifier. Must be unique in the API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number.
+ [GroupFqName ]: The GitLab group fully-qualified name.
+ [Id ]: Resource identity path
+ [OperationResultId ]: The operation result Id.
+ [OrgName ]: The Azure DevOps organization name.
+ [OwnerName ]: The GitHub owner name.
+ [ProjectName ]: The project name.
+ [RepoName ]: The repository name.
+ [ResourceGroupName ]: The name of the resource group within the user's subscription. The name is case insensitive.
+ [SecurityConnectorName ]: The security connector name.
+ [ServiceName ]: The name of the API Management service.
+ [SubscriptionId ]: Azure subscription ID
+.Link
+https://learn.microsoft.com/powershell/module/az.security/invoke-azsecurityapicollectionapimoffboard
+#>
+function Invoke-AzSecurityApiCollectionApimOffboard {
+[OutputType([System.Boolean])]
+[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
+param(
+ [Parameter(ParameterSetName='Delete', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # API revision identifier.
+ # Must be unique in the API Management service instance.
+ # Non-current revision has ;rev=n as a suffix where n is the revision number.
+ ${ApiId},
+
+ [Parameter(ParameterSetName='Delete', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(ParameterSetName='Delete', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The name of the API Management service.
+ ${ServiceName},
+
+ [Parameter(ParameterSetName='Delete')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String]
+ # Azure subscription ID
+ ${SubscriptionId},
+
+ [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ISecurityIdentity]
+ # Identity Parameter
+ # .
+ ${InputObject},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait forNET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Returns true when the command succeeds
+ ${PassThru},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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 = @{
+ Delete = 'Az.Security.private\Invoke-AzSecurityApiCollectionApimOffboard_Delete';
+ DeleteViaIdentity = 'Az.Security.private\Invoke-AzSecurityApiCollectionApimOffboard_DeleteViaIdentity';
+ }
+ if (('Delete') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/Invoke-AzSecurityApiCollectionApimOnboard.ps1 b/src/Security/Security.Autorest/exports/Invoke-AzSecurityApiCollectionApimOnboard.ps1
new file mode 100644
index 000000000000..3b04afa2c9c0
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/Invoke-AzSecurityApiCollectionApimOnboard.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
+Onboard an Azure API Management API to Microsoft Defender for APIs.
+The system will start monitoring the operations within the Azure Management API for intrusive behaviors and provide alerts for attacks that have been detected.
+.Description
+Onboard an Azure API Management API to Microsoft Defender for APIs.
+The system will start monitoring the operations within the Azure Management API for intrusive behaviors and provide alerts for attacks that have been detected.
+.Example
+Invoke-AzSecurityApiCollectionApimOnboard -ResourceGroupName "apicollectionstests" -ServiceName "demoapimservice2" -ApiId "echo-api-2"
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ISecurityIdentity
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IApiCollection
+.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
+ [ApiId ]: API revision identifier. Must be unique in the API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number.
+ [GroupFqName ]: The GitLab group fully-qualified name.
+ [Id ]: Resource identity path
+ [OperationResultId ]: The operation result Id.
+ [OrgName ]: The Azure DevOps organization name.
+ [OwnerName ]: The GitHub owner name.
+ [ProjectName ]: The project name.
+ [RepoName ]: The repository name.
+ [ResourceGroupName ]: The name of the resource group within the user's subscription. The name is case insensitive.
+ [SecurityConnectorName ]: The security connector name.
+ [ServiceName ]: The name of the API Management service.
+ [SubscriptionId ]: Azure subscription ID
+.Link
+https://learn.microsoft.com/powershell/module/az.security/invoke-azsecurityapicollectionapimonboard
+#>
+function Invoke-AzSecurityApiCollectionApimOnboard {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IApiCollection])]
+[CmdletBinding(DefaultParameterSetName='Azure', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
+param(
+ [Parameter(ParameterSetName='Azure', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # API revision identifier.
+ # Must be unique in the API Management service instance.
+ # Non-current revision has ;rev=n as a suffix where n is the revision number.
+ ${ApiId},
+
+ [Parameter(ParameterSetName='Azure', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(ParameterSetName='Azure', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The name of the API Management service.
+ ${ServiceName},
+
+ [Parameter(ParameterSetName='Azure')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String]
+ # Azure subscription ID
+ ${SubscriptionId},
+
+ [Parameter(ParameterSetName='AzureViaIdentity', Mandatory, ValueFromPipeline)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ISecurityIdentity]
+ # Identity Parameter
+ # .
+ ${InputObject},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Run the command as a job
+ ${AsJob},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait forNET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Run the command asynchronously
+ ${NoWait},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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 = @{
+ Azure = 'Az.Security.private\Invoke-AzSecurityApiCollectionApimOnboard_Azure';
+ AzureViaIdentity = 'Az.Security.private\Invoke-AzSecurityApiCollectionApimOnboard_AzureViaIdentity';
+ }
+ if (('Azure') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/New-AzSecurityAwsEnvironmentObject.ps1 b/src/Security/Security.Autorest/exports/New-AzSecurityAwsEnvironmentObject.ps1
new file mode 100644
index 000000000000..77a63d7d3994
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/New-AzSecurityAwsEnvironmentObject.ps1
@@ -0,0 +1,141 @@
+
+# ----------------------------------------------------------------------------------
+# 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 AwsEnvironment.
+.Description
+Create an in-memory object for AwsEnvironment.
+.Example
+$member = New-AzSecurityAwsOrganizationalDataMemberObject -ParentHierarchyId "123"
+New-AzSecurityAwsEnvironmentObject -Region "Central US" -ScanInterval 24 -OrganizationalData $member
+.Example
+$organization = New-AzSecurityAwsOrganizationalDataMasterObject -StacksetName "myAwsStackSet" -ExcludedAccountId "123456789012"
+New-AzSecurityAwsEnvironmentObject -Region "Central US" -ScanInterval 24 -OrganizationalData $organization
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AwsEnvironment
+.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.
+
+ORGANIZATIONALDATA : The AWS account's organizational data.
+ OrganizationMembershipType : The multi cloud account's membership type in the organization
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecurityawsenvironmentobject
+#>
+function New-AzSecurityAwsEnvironmentObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AwsEnvironment])]
+[CmdletBinding(PositionalBinding=$false)]
+param(
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IAwsOrganizationalData]
+ # The AWS account's organizational data.
+ # .
+ ${OrganizationalData},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String[]]
+ # list of regions to scan.
+ ${Region},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.Int64]
+ # Scan interval in hours (value should be between 1-hour to 24-hours).
+ ${ScanInterval}
+)
+
+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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.custom\New-AzSecurityAwsEnvironmentObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/New-AzSecurityAwsOrganizationalDataMasterObject.ps1 b/src/Security/Security.Autorest/exports/New-AzSecurityAwsOrganizationalDataMasterObject.ps1
new file mode 100644
index 000000000000..da65c5f0360f
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/New-AzSecurityAwsOrganizationalDataMasterObject.ps1
@@ -0,0 +1,123 @@
+
+# ----------------------------------------------------------------------------------
+# 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 AwsOrganizationalDataMaster.
+.Description
+Create an in-memory object for AwsOrganizationalDataMaster.
+.Example
+New-AzSecurityAwsOrganizationalDataMasterObject -StacksetName "myAwsStackSet" -ExcludedAccountId "123456789012"
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AwsOrganizationalDataMaster
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecurityawsorganizationaldatamasterobject
+#>
+function New-AzSecurityAwsOrganizationalDataMasterObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AwsOrganizationalDataMaster])]
+[CmdletBinding(PositionalBinding=$false)]
+param(
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String[]]
+ # If the multi cloud account is of membership type organization, list of accounts excluded from offering.
+ ${ExcludedAccountId},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # If the multi cloud account is of membership type organization, this will be the name of the onboarding stackset.
+ ${StacksetName}
+)
+
+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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.custom\New-AzSecurityAwsOrganizationalDataMasterObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/New-AzSecurityAwsOrganizationalDataMemberObject.ps1 b/src/Security/Security.Autorest/exports/New-AzSecurityAwsOrganizationalDataMemberObject.ps1
new file mode 100644
index 000000000000..18cef3a47e4d
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/New-AzSecurityAwsOrganizationalDataMemberObject.ps1
@@ -0,0 +1,117 @@
+
+# ----------------------------------------------------------------------------------
+# 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 AwsOrganizationalDataMember.
+.Description
+Create an in-memory object for AwsOrganizationalDataMember.
+.Example
+New-AzSecurityAwsOrganizationalDataMemberObject -ParentHierarchyId "123"
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AwsOrganizationalDataMember
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecurityawsorganizationaldatamemberobject
+#>
+function New-AzSecurityAwsOrganizationalDataMemberObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AwsOrganizationalDataMember])]
+[CmdletBinding(PositionalBinding=$false)]
+param(
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # If the multi cloud account is not of membership type organization, this will be the ID of the account's parent.
+ ${ParentHierarchyId}
+)
+
+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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.custom\New-AzSecurityAwsOrganizationalDataMemberObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/New-AzSecurityAzureDevOpsScopeEnvironmentObject.ps1 b/src/Security/Security.Autorest/exports/New-AzSecurityAzureDevOpsScopeEnvironmentObject.ps1
new file mode 100644
index 000000000000..7f50f9d6d075
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/New-AzSecurityAzureDevOpsScopeEnvironmentObject.ps1
@@ -0,0 +1,111 @@
+
+# ----------------------------------------------------------------------------------
+# 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 AzureDevOpsScopeEnvironment.
+.Description
+Create an in-memory object for AzureDevOpsScopeEnvironment.
+.Example
+New-AzSecurityAzureDevOpsScopeEnvironmentObject
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AzureDevOpsScopeEnvironment
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecurityazuredevopsscopeenvironmentobject
+#>
+function New-AzSecurityAzureDevOpsScopeEnvironmentObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.AzureDevOpsScopeEnvironment])]
+[CmdletBinding(PositionalBinding=$false)]
+param()
+
+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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.custom\New-AzSecurityAzureDevOpsScopeEnvironmentObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/New-AzSecurityConnector.ps1 b/src/Security/Security.Autorest/exports/New-AzSecurityConnector.ps1
new file mode 100644
index 000000000000..39f6970e607f
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/New-AzSecurityConnector.ps1
@@ -0,0 +1,312 @@
+
+# ----------------------------------------------------------------------------------
+# 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 a security connector.
+If a security connector is already created and a subsequent request is issued for the same security connector id, then it will be updated.
+.Description
+Create a security connector.
+If a security connector is already created and a subsequent request is issued for the same security connector id, then it will be updated.
+.Example
+$account = "891376984375"
+$arnPrefix = "arn:aws:iam::$($account):role"
+
+$cspmMonitorOffering = New-AzSecurityCspmMonitorAwsOfferingObject -NativeCloudConnectionCloudRoleArn "$arnPrefix/CspmMonitorAws"
+
+$dcspmOffering = New-AzSecurityDefenderCspmAwsOfferingObject `
+ -VMScannerEnabled $true -ConfigurationScanningMode Default -ConfigurationCloudRoleArn "$arnPrefix/DefenderForCloud-AgentlessScanner" `
+ -DataSensitivityDiscoveryEnabled $true -DataSensitivityDiscoveryCloudRoleArn "$arnPrefix/SensitiveDataDiscovery" `
+ -DatabaseDspmEnabled $true -DatabaseDspmCloudRoleArn "$arnPrefix/DefenderForCloud-DataSecurityPostureDB" `
+ -CiemDiscoveryCloudRoleArn "$arnPrefix/DefenderForCloud-Ciem" -CiemOidcAzureActiveDirectoryAppName "mciem-aws-oidc-connector" -CiemOidcCloudRoleArn "$arnPrefix/DefenderForCloud-OidcCiem" `
+ -MdcContainerImageAssessmentEnabled $true -MdcContainerImageAssessmentCloudRoleArn "$arnPrefix/MDCContainersImageAssessmentRole" `
+ -MdcContainerAgentlessDiscoveryK8SEnabled $true -MdcContainerAgentlessDiscoveryK8SCloudRoleArn "$arnPrefix/MDCContainersAgentlessDiscoveryK8sRole"
+
+$defenderForContainersOffering = New-AzSecurityDefenderForContainersAwsOfferingObject `
+ -AutoProvisioning $true -KuberneteServiceCloudRoleArn "$arnPrefix/DefenderForCloud-Containers-K8s" -KuberneteScubaReaderCloudRoleArn "$arnPrefix/DefenderForCloud-DataCollection" `
+ -KinesiToS3CloudRoleArn "$arnPrefix/DefenderForCloud-Containers-K8s-kinesis-to-s3" -CloudWatchToKinesiCloudRoleArn "$arnPrefix/DefenderForCloud-Containers-K8s-cloudwatch-to-kinesis" `
+ -KubeAuditRetentionTime 30 -ScubaExternalId "a47ae0a2-7bf7-482a-897a-7a139d30736c" `
+ -MdcContainerAgentlessDiscoveryK8SEnabled $true -MdcContainerAgentlessDiscoveryK8SCloudRoleArn "$arnPrefix/MDCContainersAgentlessDiscoveryK8sRole" `
+ -MdcContainerImageAssessmentEnabled $true -MdcContainerImageAssessmentCloudRoleArn "$arnPrefix/MDCContainersImageAssessmentRole" `
+ -EnableContainerVulnerabilityAssessment $false
+
+$environment = New-AzSecurityAwsEnvironmentObject -ScanInterval 24
+
+New-AzSecurityConnector -Name "aws-sdktest01" -ResourceGroupName "securityConnectors-tests" `
+ -EnvironmentData $environment -EnvironmentName AWS -HierarchyIdentifier "$account" `
+ -Offering @($cspmMonitorOffering, $dcspmOffering, $defenderForContainersOffering) `
+ -Location "CentralUS"
+.Example
+$account = "843025268399"
+$emailSuffix = "myproject.iam.gserviceaccount.com"
+$cspmMonitorOffering = New-AzSecurityCspmMonitorGcpOfferingObject -NativeCloudConnectionServiceAccountEmailAddress "microsoft-defender-cspm@$emailSuffix" -NativeCloudConnectionWorkloadIdentityProviderId "cspm"
+
+$dcspmOffering = New-AzSecurityDefenderCspmGcpOfferingObject `
+ -VMScannerEnabled $true -ConfigurationScanningMode Default -ConfigurationExclusionTag @{key="value"} `
+ -MdcContainerAgentlessDiscoveryK8SEnabled $true -MdcContainerAgentlessDiscoveryK8SServiceAccountEmailAddress "mdc-containers-k8s-operator@$emailSuffix" -MdcContainerAgentlessDiscoveryK8SWorkloadIdentityProviderId "containers" `
+ -MdcContainerImageAssessmentEnabled $true -MdcContainerImageAssessmentServiceAccountEmailAddress "mdc-containers-artifact-assess@$emailSuffix" -MdcContainerImageAssessmentWorkloadIdentityProviderId "containers" `
+ -DataSensitivityDiscoveryEnabled $true -DataSensitivityDiscoveryServiceAccountEmailAddress "mdc-data-sec-posture-storage@$emailSuffix" -DataSensitivityDiscoveryWorkloadIdentityProviderId "data-security-posture-storage" `
+ -CiemDiscoveryServiceAccountEmailAddress "microsoft-defender-ciem@$emailSuffix" -CiemDiscoveryAzureActiveDirectoryAppName "mciem-gcp-oidc-app" -CiemDiscoveryWorkloadIdentityProviderId "ciem-discovery"
+
+$defenderForContainersOffering = New-AzSecurityDefenderForContainersGcpOfferingObject `
+ -NativeCloudConnectionServiceAccountEmailAddress "microsoft-defender-containers@$emailSuffix" -NativeCloudConnectionWorkloadIdentityProviderId "containers" `
+ -DataPipelineNativeCloudConnectionServiceAccountEmailAddress "ms-defender-containers-stream@$emailSuffix" -DataPipelineNativeCloudConnectionWorkloadIdentityProviderId "containers-streams" `
+ -AuditLogsAutoProvisioningFlag $true -DefenderAgentAutoProvisioningFlag $true -PolicyAgentAutoProvisioningFlag $true `
+ -MdcContainerAgentlessDiscoveryK8SEnabled $true -MdcContainerAgentlessDiscoveryK8SWorkloadIdentityProviderId "containers" -MdcContainerAgentlessDiscoveryK8SServiceAccountEmailAddress "mdc-containers-k8s-operator@$emailSuffix" `
+ -MdcContainerImageAssessmentEnabled $true -MdcContainerImageAssessmentWorkloadIdentityProviderId "containers" -MdcContainerImageAssessmentServiceAccountEmailAddress "mdc-containers-artifact-assess@$emailSuffix"
+
+$environment = New-AzSecurityGcpProjectEnvironmentObject -ScanInterval 24 -ProjectDetailProjectId "asc-sdk-samples" -ProjectDetailProjectNumber "$account"
+
+New-AzSecurityConnector -Name "gcp-sdktest01" -ResourceGroupName "securityConnectors-tests" -EnvironmentData $environment -EnvironmentName GCP -HierarchyIdentifier "$account" `
+ -Offering @($cspmMonitorOffering, $dcspmOffering, $defenderForContainersOffering) -Location "CentralUS"
+.Example
+New-AzSecurityConnector -ResourceGroupName "securityConnectors-pwsh-tmp" -Name "ado-sdk-pwsh-test03" `
+ -EnvironmentName AzureDevOps -EnvironmentData (New-AzSecurityAzureDevOpsScopeEnvironmentObject) `
+ -HierarchyIdentifier ([guid]::NewGuid().ToString()) -Location "CentralUS" `
+ -Offering @(New-AzSecurityCspmMonitorAzureDevOpsOfferingObject)
+.Example
+New-AzSecurityConnector -ResourceGroupName "securityConnectors-pwsh-tmp" -Name "gh-sdk-pwsh-test03" `
+ -EnvironmentName GitHub -EnvironmentData (New-AzSecurityGitHubScopeEnvironmentObject) `
+ -HierarchyIdentifier ([guid]::NewGuid().ToString()) -Location "CentralUS" `
+ -Offering @(New-AzSecurityCspmMonitorGithubOfferingObject)
+.Example
+New-AzSecurityConnector -ResourceGroupName "securityConnectors-pwsh-tmp" -Name "gl-sdk-pwsh-test03" `
+ -EnvironmentName GitLab -EnvironmentData (New-AzSecurityGitLabScopeEnvironmentObject) `
+ -HierarchyIdentifier ([guid]::NewGuid().ToString()) -Location "CentralUS" `
+ -Offering @(New-AzSecurityCspmMonitorGitLabOfferingObject)
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ISecurityConnector
+.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.
+
+ENVIRONMENTDATA : The security connector environment data.
+ EnvironmentType : The type of the environment data.
+
+OFFERING : A collection of offerings for the security connector.
+ OfferingType : The type of the security offering.
+.Link
+https://learn.microsoft.com/powershell/module/az.security/new-azsecurityconnector
+#>
+function New-AzSecurityConnector {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ISecurityConnector])]
+[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
+param(
+ [Parameter(Mandatory)]
+ [Alias('SecurityConnectorName')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The security connector name.
+ ${Name},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The name of the resource group within the user's subscription.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String]
+ # Azure subscription ID
+ ${SubscriptionId},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ISecurityConnectorEnvironment]
+ # The security connector environment data.
+ # .
+ ${EnvironmentData},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.PSArgumentCompleterAttribute("Azure", "AWS", "GCP", "Github", "AzureDevOps", "GitLab")]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The multi cloud resource's cloud name.
+ ${EnvironmentName},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # Entity tag is used for comparing two or more entities from the same requested resource.
+ ${Etag},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The multi cloud resource identifier (account id in case of AWS connector, project number in case of GCP connector).
+ ${HierarchyIdentifier},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # Kind of the resource
+ ${Kind},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # Location where the resource is stored
+ ${Location},
+
+ [Parameter()]
+ [AllowEmptyCollection()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ICloudOffering[]]
+ # A collection of offerings for the security connector.
+ # .
+ ${Offering},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ITags]))]
+ [System.Collections.Hashtable]
+ # A list of key value pairs that describe the resource.
+ ${Tag},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait forNET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.private\New-AzSecurityConnector_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.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/New-AzSecurityConnectorActionableRemediationObject.ps1 b/src/Security/Security.Autorest/exports/New-AzSecurityConnectorActionableRemediationObject.ps1
new file mode 100644
index 000000000000..aef5e26de4b4
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/New-AzSecurityConnectorActionableRemediationObject.ps1
@@ -0,0 +1,158 @@
+
+# ----------------------------------------------------------------------------------
+# 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 ActionableRemediation.
+.Description
+Create an in-memory object for ActionableRemediation.
+.Example
+New-AzSecurityConnectorActionableRemediationObject -State Enabled -InheritFromParentState Disabled `
+ -BranchConfiguration @{AnnotateDefaultBranch="Enabled"; branchName=@("main", "hotfix")} -CategoryConfiguration @( @{category="First"; minimumSeverityLevel="High"}, @{category="Second"; minimumSeverityLevel="Low"})
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ActionableRemediation
+.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.
+
+BRANCHCONFIGURATION : Repository branch configuration for PR Annotations.
+ [AnnotateDefaultBranch ]: Configuration of PR Annotations on default branch. Enabled - PR Annotations are enabled on the resource's default branch. Disabled - PR Annotations are disabled on the resource's default branch.
+ [BranchName >]: Gets or sets branches that should have annotations.
+
+CATEGORYCONFIGURATION : Gets or sets list of categories and severity levels.
+ [Category ]: Rule categories. Code - code scanning results. Artifact scanning results. Dependencies scanning results. IaC results. Secrets scanning results. Container scanning results.
+ [MinimumSeverityLevel ]: Gets or sets minimum severity level for a given category.
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecurityconnectoractionableremediationobject
+#>
+function New-AzSecurityConnectorActionableRemediationObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ActionableRemediation])]
+[CmdletBinding(PositionalBinding=$false)]
+param(
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ITargetBranchConfiguration]
+ # Repository branch configuration for PR Annotations.
+ # .
+ ${BranchConfiguration},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ICategoryConfiguration[]]
+ # Gets or sets list of categories and severity levels.
+ # .
+ ${CategoryConfiguration},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.PSArgumentCompleterAttribute("Disabled", "Enabled")]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # Update Settings.
+ #
+ # Enabled - Resource should inherit configurations from parent.
+ # Disabled - Resource should not inherit configurations from parent.
+ ${InheritFromParentState},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.PSArgumentCompleterAttribute("None", "Disabled", "Enabled")]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # ActionableRemediation Setting.
+ # None - the setting was never set.
+ # Enabled - ActionableRemediation is enabled.
+ # Disabled - ActionableRemediation is disabled.
+ ${State}
+)
+
+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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.custom\New-AzSecurityConnectorActionableRemediationObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/New-AzSecurityConnectorDevOpsConfiguration.ps1 b/src/Security/Security.Autorest/exports/New-AzSecurityConnectorDevOpsConfiguration.ps1
new file mode 100644
index 000000000000..c6226336c50b
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/New-AzSecurityConnectorDevOpsConfiguration.ps1
@@ -0,0 +1,215 @@
+
+# ----------------------------------------------------------------------------------
+# 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 a DevOps Configuration.
+.Description
+Create a DevOps Configuration.
+.Example
+New-AzSecurityConnectorDevOpsConfiguration -ResourceGroupName "securityconnectors-pwsh-tmp" -SecurityConnectorName "ado-sdk-pwsh-test03" -AutoDiscovery Disabled -TopLevelInventoryList @("org1", "org2") -AuthorizationCode "myAuthorizationCode"
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IDevOpsConfiguration
+.Link
+https://learn.microsoft.com/powershell/module/az.security/new-azsecurityconnectordevopsconfiguration
+#>
+function New-AzSecurityConnectorDevOpsConfiguration {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IDevOpsConfiguration])]
+[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
+param(
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The security connector name.
+ ${SecurityConnectorName},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String]
+ # Azure subscription ID
+ ${SubscriptionId},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # Gets or sets one-time OAuth code to exchange for refresh and access tokens.Only used during PUT/PATCH operations.
+ # The secret is cleared during GET.
+ ${AuthorizationCode},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.PSArgumentCompleterAttribute("Disabled", "Enabled", "NotApplicable")]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # AutoDiscovery states.
+ ${AutoDiscovery},
+
+ [Parameter()]
+ [AllowEmptyCollection()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String[]]
+ # List of top-level inventory to select when AutoDiscovery is disabled.This field is ignored when AutoDiscovery is enabled.
+ ${TopLevelInventoryList},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Run the command as a job
+ ${AsJob},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait forNET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Run the command asynchronously
+ ${NoWait},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.private\New-AzSecurityConnectorDevOpsConfiguration_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.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/New-AzSecurityCspmMonitorAwsOfferingObject.ps1 b/src/Security/Security.Autorest/exports/New-AzSecurityCspmMonitorAwsOfferingObject.ps1
new file mode 100644
index 000000000000..bcd943f61e34
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/New-AzSecurityCspmMonitorAwsOfferingObject.ps1
@@ -0,0 +1,117 @@
+
+# ----------------------------------------------------------------------------------
+# 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 CspmMonitorAwsOffering.
+.Description
+Create an in-memory object for CspmMonitorAwsOffering.
+.Example
+New-AzSecurityCspmMonitorAwsOfferingObject -NativeCloudConnectionCloudRoleArn "arn:aws:iam::123456789012:role/CspmMonitorAws"
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CspmMonitorAwsOffering
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecuritycspmmonitorawsofferingobject
+#>
+function New-AzSecurityCspmMonitorAwsOfferingObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CspmMonitorAwsOffering])]
+[CmdletBinding(PositionalBinding=$false)]
+param(
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The cloud role ARN in AWS for this feature.
+ ${NativeCloudConnectionCloudRoleArn}
+)
+
+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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.custom\New-AzSecurityCspmMonitorAwsOfferingObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/New-AzSecurityCspmMonitorAzureDevOpsOfferingObject.ps1 b/src/Security/Security.Autorest/exports/New-AzSecurityCspmMonitorAzureDevOpsOfferingObject.ps1
new file mode 100644
index 000000000000..01bd2869e20a
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/New-AzSecurityCspmMonitorAzureDevOpsOfferingObject.ps1
@@ -0,0 +1,111 @@
+
+# ----------------------------------------------------------------------------------
+# 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 CspmMonitorAzureDevOpsOffering.
+.Description
+Create an in-memory object for CspmMonitorAzureDevOpsOffering.
+.Example
+New-AzSecurityCspmMonitorAzureDevOpsOfferingObject
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CspmMonitorAzureDevOpsOffering
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecuritycspmmonitorazuredevopsofferingobject
+#>
+function New-AzSecurityCspmMonitorAzureDevOpsOfferingObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CspmMonitorAzureDevOpsOffering])]
+[CmdletBinding(PositionalBinding=$false)]
+param()
+
+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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.custom\New-AzSecurityCspmMonitorAzureDevOpsOfferingObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/New-AzSecurityCspmMonitorGcpOfferingObject.ps1 b/src/Security/Security.Autorest/exports/New-AzSecurityCspmMonitorGcpOfferingObject.ps1
new file mode 100644
index 000000000000..c6976b193297
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/New-AzSecurityCspmMonitorGcpOfferingObject.ps1
@@ -0,0 +1,123 @@
+
+# ----------------------------------------------------------------------------------
+# 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 CspmMonitorGcpOffering.
+.Description
+Create an in-memory object for CspmMonitorGcpOffering.
+.Example
+New-AzSecurityCspmMonitorGcpOfferingObject -NativeCloudConnectionServiceAccountEmailAddress "microsoft-defender-cspm@asc-sdk-samples.iam.gserviceaccount.com" -NativeCloudConnectionWorkloadIdentityProviderId "cspm"
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CspmMonitorGcpOffering
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecuritycspmmonitorgcpofferingobject
+#>
+function New-AzSecurityCspmMonitorGcpOfferingObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CspmMonitorGcpOffering])]
+[CmdletBinding(PositionalBinding=$false)]
+param(
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The service account email address in GCP for this offering.
+ ${NativeCloudConnectionServiceAccountEmailAddress},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The GCP workload identity provider id for the offering.
+ ${NativeCloudConnectionWorkloadIdentityProviderId}
+)
+
+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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.custom\New-AzSecurityCspmMonitorGcpOfferingObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/New-AzSecurityCspmMonitorGitLabOfferingObject.ps1 b/src/Security/Security.Autorest/exports/New-AzSecurityCspmMonitorGitLabOfferingObject.ps1
new file mode 100644
index 000000000000..e9e3b34050f6
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/New-AzSecurityCspmMonitorGitLabOfferingObject.ps1
@@ -0,0 +1,111 @@
+
+# ----------------------------------------------------------------------------------
+# 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 CspmMonitorGitLabOffering.
+.Description
+Create an in-memory object for CspmMonitorGitLabOffering.
+.Example
+New-AzSecurityCspmMonitorGitLabOfferingObject
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CspmMonitorGitLabOffering
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecuritycspmmonitorgitlabofferingobject
+#>
+function New-AzSecurityCspmMonitorGitLabOfferingObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CspmMonitorGitLabOffering])]
+[CmdletBinding(PositionalBinding=$false)]
+param()
+
+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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.custom\New-AzSecurityCspmMonitorGitLabOfferingObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/New-AzSecurityCspmMonitorGithubOfferingObject.ps1 b/src/Security/Security.Autorest/exports/New-AzSecurityCspmMonitorGithubOfferingObject.ps1
new file mode 100644
index 000000000000..c06f90533acd
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/New-AzSecurityCspmMonitorGithubOfferingObject.ps1
@@ -0,0 +1,111 @@
+
+# ----------------------------------------------------------------------------------
+# 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 CspmMonitorGithubOffering.
+.Description
+Create an in-memory object for CspmMonitorGithubOffering.
+.Example
+New-AzSecurityCspmMonitorGithubOfferingObject
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CspmMonitorGithubOffering
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecuritycspmmonitorgithubofferingobject
+#>
+function New-AzSecurityCspmMonitorGithubOfferingObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.CspmMonitorGithubOffering])]
+[CmdletBinding(PositionalBinding=$false)]
+param()
+
+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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.custom\New-AzSecurityCspmMonitorGithubOfferingObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/New-AzSecurityDefenderCspmAwsOfferingObject.ps1 b/src/Security/Security.Autorest/exports/New-AzSecurityDefenderCspmAwsOfferingObject.ps1
new file mode 100644
index 000000000000..0b4b30ea4c16
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/New-AzSecurityDefenderCspmAwsOfferingObject.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
+Create an in-memory object for DefenderCspmAwsOffering.
+.Description
+Create an in-memory object for DefenderCspmAwsOffering.
+.Example
+$arnPrefix = "arn:aws:iam::123456789012:role"
+New-AzSecurityDefenderCspmAwsOfferingObject `
+ -VMScannerEnabled $true -ConfigurationScanningMode Default -ConfigurationCloudRoleArn "$arnPrefix/DefenderForCloud-AgentlessScanner" -ConfigurationExclusionTag @{key="value"} `
+ -DataSensitivityDiscoveryEnabled $true -DataSensitivityDiscoveryCloudRoleArn "$arnPrefix/SensitiveDataDiscovery" `
+ -DatabaseDspmEnabled $true -DatabaseDspmCloudRoleArn "$arnPrefix/DefenderForCloud-DataSecurityPostureDB" `
+ -CiemDiscoveryCloudRoleArn "$arnPrefix/DefenderForCloud-Ciem" -CiemOidcAzureActiveDirectoryAppName "mciem-aws-oidc-connector" -CiemOidcCloudRoleArn "$arnPrefix/DefenderForCloud-OidcCiem" `
+ -MdcContainerImageAssessmentEnabled $true -MdcContainerImageAssessmentCloudRoleArn "$arnPrefix/MDCContainersImageAssessmentRole" `
+ -MdcContainerAgentlessDiscoveryK8SEnabled $true -MdcContainerAgentlessDiscoveryK8SCloudRoleArn "$arnPrefix/MDCContainersAgentlessDiscoveryK8sRole"
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmAwsOffering
+.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.
+
+CONFIGURATIONEXCLUSIONTAG : VM tags that indicates that VM should not be scanned.
+ [(Any) ]: This indicates any property can be added to this object.
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecuritydefendercspmawsofferingobject
+#>
+function New-AzSecurityDefenderCspmAwsOfferingObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmAwsOffering])]
+[CmdletBinding(PositionalBinding=$false)]
+param(
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The cloud role ARN in AWS for CIEM discovery.
+ ${CiemDiscoveryCloudRoleArn},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # the azure active directory app name used of authenticating against AWS.
+ ${CiemOidcAzureActiveDirectoryAppName},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The cloud role ARN in AWS for CIEM oidc connection.
+ ${CiemOidcCloudRoleArn},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The cloud role ARN in AWS for this feature.
+ ${ConfigurationCloudRoleArn},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IDefenderCspmAwsOfferingVMScannersConfigurationExclusionTags]
+ # VM tags that indicates that VM should not be scanned.
+ # .
+ ${ConfigurationExclusionTag},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.PSArgumentCompleterAttribute("Default")]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The scanning mode for the VM scan.
+ ${ConfigurationScanningMode},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The cloud role ARN in AWS for this feature.
+ ${DataSensitivityDiscoveryCloudRoleArn},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.Boolean]
+ # Is Microsoft Defender Data Sensitivity discovery enabled.
+ ${DataSensitivityDiscoveryEnabled},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The cloud role ARN in AWS for this feature.
+ ${DatabaseDspmCloudRoleArn},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.Boolean]
+ # Is databases DSPM protection enabled.
+ ${DatabaseDspmEnabled},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The cloud role ARN in AWS for this feature.
+ ${MdcContainerAgentlessDiscoveryK8SCloudRoleArn},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.Boolean]
+ # Is Microsoft Defender container agentless discovery K8s enabled.
+ ${MdcContainerAgentlessDiscoveryK8SEnabled},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The cloud role ARN in AWS for this feature.
+ ${MdcContainerImageAssessmentCloudRoleArn},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.Boolean]
+ # Is Microsoft Defender container image assessment enabled.
+ ${MdcContainerImageAssessmentEnabled},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.Boolean]
+ # Is Microsoft Defender for Server VM scanning enabled.
+ ${VMScannerEnabled}
+)
+
+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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.custom\New-AzSecurityDefenderCspmAwsOfferingObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/New-AzSecurityDefenderCspmGcpOfferingObject.ps1 b/src/Security/Security.Autorest/exports/New-AzSecurityDefenderCspmGcpOfferingObject.ps1
new file mode 100644
index 000000000000..86a1c9040f9e
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/New-AzSecurityDefenderCspmGcpOfferingObject.ps1
@@ -0,0 +1,216 @@
+
+# ----------------------------------------------------------------------------------
+# 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 DefenderCspmGcpOffering.
+.Description
+Create an in-memory object for DefenderCspmGcpOffering.
+.Example
+$emailSuffix = "myproject.iam.gserviceaccount.com"
+New-AzSecurityDefenderCspmGcpOfferingObject `
+ -VMScannerEnabled $true -ConfigurationScanningMode Default -ConfigurationExclusionTag @{key="value"} `
+ -MdcContainerAgentlessDiscoveryK8SEnabled $true -MdcContainerAgentlessDiscoveryK8SServiceAccountEmailAddress "mdc-containers-k8s-operator@$emailSuffix" -MdcContainerAgentlessDiscoveryK8SWorkloadIdentityProviderId "containers" `
+ -MdcContainerImageAssessmentEnabled $true -MdcContainerImageAssessmentServiceAccountEmailAddress "mdc-containers-artifact-assess@$emailSuffix" -MdcContainerImageAssessmentWorkloadIdentityProviderId "containers" `
+ -DataSensitivityDiscoveryEnabled $true -DataSensitivityDiscoveryServiceAccountEmailAddress "mdc-data-sec-posture-storage@$emailSuffix" -DataSensitivityDiscoveryWorkloadIdentityProviderId "data-security-posture-storage" `
+ -CiemDiscoveryServiceAccountEmailAddress "microsoft-defender-ciem@$emailSuffix" -CiemDiscoveryAzureActiveDirectoryAppName "mciem-gcp-oidc-app" -CiemDiscoveryWorkloadIdentityProviderId "ciem-discovery"
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmGcpOffering
+.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.
+
+CONFIGURATIONEXCLUSIONTAG : VM tags that indicates that VM should not be scanned.
+ [(Any) ]: This indicates any property can be added to this object.
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecuritydefendercspmgcpofferingobject
+#>
+function New-AzSecurityDefenderCspmGcpOfferingObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderCspmGcpOffering])]
+[CmdletBinding(PositionalBinding=$false)]
+param(
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # the azure active directory app name used of authenticating against GCP workload identity federation.
+ ${CiemDiscoveryAzureActiveDirectoryAppName},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The service account email address in GCP for CIEM discovery offering.
+ ${CiemDiscoveryServiceAccountEmailAddress},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The GCP workload identity provider id for CIEM discovery offering.
+ ${CiemDiscoveryWorkloadIdentityProviderId},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IDefenderCspmGcpOfferingVMScannersConfigurationExclusionTags]
+ # VM tags that indicates that VM should not be scanned.
+ # .
+ ${ConfigurationExclusionTag},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.PSArgumentCompleterAttribute("Default")]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The scanning mode for the VM scan.
+ ${ConfigurationScanningMode},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.Boolean]
+ # Is Microsoft Defender Data Sensitivity discovery enabled.
+ ${DataSensitivityDiscoveryEnabled},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The service account email address in GCP for this feature.
+ ${DataSensitivityDiscoveryServiceAccountEmailAddress},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The workload identity provider id in GCP for this feature.
+ ${DataSensitivityDiscoveryWorkloadIdentityProviderId},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.Boolean]
+ # Is Microsoft Defender container agentless discovery enabled.
+ ${MdcContainerAgentlessDiscoveryK8SEnabled},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The service account email address in GCP for this feature.
+ ${MdcContainerAgentlessDiscoveryK8SServiceAccountEmailAddress},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The workload identity provider id in GCP for this feature.
+ ${MdcContainerAgentlessDiscoveryK8SWorkloadIdentityProviderId},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.Boolean]
+ # Is Microsoft Defender container image assessment enabled.
+ ${MdcContainerImageAssessmentEnabled},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The service account email address in GCP for this feature.
+ ${MdcContainerImageAssessmentServiceAccountEmailAddress},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The workload identity provider id in GCP for this feature.
+ ${MdcContainerImageAssessmentWorkloadIdentityProviderId},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.Boolean]
+ # Is Microsoft Defender for Server VM scanning enabled.
+ ${VMScannerEnabled}
+)
+
+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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.custom\New-AzSecurityDefenderCspmGcpOfferingObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/New-AzSecurityDefenderForContainersAwsOfferingObject.ps1 b/src/Security/Security.Autorest/exports/New-AzSecurityDefenderForContainersAwsOfferingObject.ps1
new file mode 100644
index 000000000000..2c6f13c38779
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/New-AzSecurityDefenderForContainersAwsOfferingObject.ps1
@@ -0,0 +1,202 @@
+
+# ----------------------------------------------------------------------------------
+# 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 DefenderForContainersAwsOffering.
+.Description
+Create an in-memory object for DefenderForContainersAwsOffering.
+.Example
+$arnPrefix = "arn:aws:iam::123456789012:role"
+New-AzSecurityDefenderForContainersAwsOfferingObject `
+ -AutoProvisioning $true -KuberneteServiceCloudRoleArn "$arnPrefix/DefenderForCloud-Containers-K8s" -KuberneteScubaReaderCloudRoleArn "$arnPrefix/DefenderForCloud-DataCollection" `
+ -KinesiToS3CloudRoleArn "$arnPrefix/DefenderForCloud-Containers-K8s-kinesis-to-s3" -CloudWatchToKinesiCloudRoleArn "$arnPrefix/DefenderForCloud-Containers-K8s-cloudwatch-to-kinesis" `
+ -KubeAuditRetentionTime 30 -ScubaExternalId "a47ae0a2-7bf7-482a-897a-7a139d30736c" `
+ -MdcContainerAgentlessDiscoveryK8SEnabled $true -MdcContainerAgentlessDiscoveryK8SCloudRoleArn "$arnPrefix/MDCContainersAgentlessDiscoveryK8sRole" `
+ -MdcContainerImageAssessmentEnabled $true -MdcContainerImageAssessmentCloudRoleArn "$arnPrefix/MDCContainersImageAssessmentRole" `
+ -EnableContainerVulnerabilityAssessment $false
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForContainersAwsOffering
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecuritydefenderforcontainersawsofferingobject
+#>
+function New-AzSecurityDefenderForContainersAwsOfferingObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForContainersAwsOffering])]
+[CmdletBinding(PositionalBinding=$false)]
+param(
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.Boolean]
+ # Is audit logs pipeline auto provisioning enabled.
+ ${AutoProvisioning},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The cloud role ARN in AWS used by CloudWatch to transfer data into Kinesis.
+ ${CloudWatchToKinesiCloudRoleArn},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The cloud role ARN in AWS for this feature.
+ ${ContainerVulnerabilityAssessmentCloudRoleArn},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The cloud role ARN in AWS for this feature.
+ ${ContainerVulnerabilityAssessmentTaskCloudRoleArn},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.Boolean]
+ # Enable container vulnerability assessment feature.
+ ${EnableContainerVulnerabilityAssessment},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The cloud role ARN in AWS used by Kinesis to transfer data into S3.
+ ${KinesiToS3CloudRoleArn},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.Int64]
+ # The retention time in days of kube audit logs set on the CloudWatch log group.
+ ${KubeAuditRetentionTime},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The cloud role ARN in AWS for this feature used for reading data.
+ ${KuberneteScubaReaderCloudRoleArn},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The cloud role ARN in AWS for this feature used for provisioning resources.
+ ${KuberneteServiceCloudRoleArn},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The cloud role ARN in AWS for this feature.
+ ${MdcContainerAgentlessDiscoveryK8SCloudRoleArn},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.Boolean]
+ # Is Microsoft Defender container agentless discovery K8s enabled.
+ ${MdcContainerAgentlessDiscoveryK8SEnabled},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The cloud role ARN in AWS for this feature.
+ ${MdcContainerImageAssessmentCloudRoleArn},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.Boolean]
+ # Is Microsoft Defender container image assessment enabled.
+ ${MdcContainerImageAssessmentEnabled},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The externalId used by the data reader to prevent the confused deputy attack.
+ ${ScubaExternalId}
+)
+
+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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.custom\New-AzSecurityDefenderForContainersAwsOfferingObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/New-AzSecurityDefenderForContainersGcpOfferingObject.ps1 b/src/Security/Security.Autorest/exports/New-AzSecurityDefenderForContainersGcpOfferingObject.ps1
new file mode 100644
index 000000000000..125ac12e8dd8
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/New-AzSecurityDefenderForContainersGcpOfferingObject.ps1
@@ -0,0 +1,195 @@
+
+# ----------------------------------------------------------------------------------
+# 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 DefenderForContainersGcpOffering.
+.Description
+Create an in-memory object for DefenderForContainersGcpOffering.
+.Example
+$emailSuffix = "myproject.iam.gserviceaccount.com"
+New-AzSecurityDefenderForContainersGcpOfferingObject `
+ -NativeCloudConnectionServiceAccountEmailAddress "microsoft-defender-containers@$emailSuffix" -NativeCloudConnectionWorkloadIdentityProviderId "containers" `
+ -DataPipelineNativeCloudConnectionServiceAccountEmailAddress "ms-defender-containers-stream@$emailSuffix" -DataPipelineNativeCloudConnectionWorkloadIdentityProviderId "containers-streams" `
+ -AuditLogsAutoProvisioningFlag $true -DefenderAgentAutoProvisioningFlag $true -PolicyAgentAutoProvisioningFlag $true `
+ -MdcContainerAgentlessDiscoveryK8SEnabled $true -MdcContainerAgentlessDiscoveryK8SWorkloadIdentityProviderId "containers" -MdcContainerAgentlessDiscoveryK8SServiceAccountEmailAddress "mdc-containers-k8s-operator@$emailSuffix" `
+ -MdcContainerImageAssessmentEnabled $true -MdcContainerImageAssessmentWorkloadIdentityProviderId "containers" -MdcContainerImageAssessmentServiceAccountEmailAddress "mdc-containers-artifact-assess@$emailSuffix"
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForContainersGcpOffering
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecuritydefenderforcontainersgcpofferingobject
+#>
+function New-AzSecurityDefenderForContainersGcpOfferingObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForContainersGcpOffering])]
+[CmdletBinding(PositionalBinding=$false)]
+param(
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.Boolean]
+ # Is audit logs data collection enabled.
+ ${AuditLogsAutoProvisioningFlag},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The data collection service account email address in GCP for this offering.
+ ${DataPipelineNativeCloudConnectionServiceAccountEmailAddress},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The data collection GCP workload identity provider id for this offering.
+ ${DataPipelineNativeCloudConnectionWorkloadIdentityProviderId},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.Boolean]
+ # Is Microsoft Defender for Cloud Kubernetes agent auto provisioning enabled.
+ ${DefenderAgentAutoProvisioningFlag},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.Boolean]
+ # Is Microsoft Defender container agentless discovery enabled.
+ ${MdcContainerAgentlessDiscoveryK8SEnabled},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The service account email address in GCP for this feature.
+ ${MdcContainerAgentlessDiscoveryK8SServiceAccountEmailAddress},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The workload identity provider id in GCP for this feature.
+ ${MdcContainerAgentlessDiscoveryK8SWorkloadIdentityProviderId},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.Boolean]
+ # Is Microsoft Defender container image assessment enabled.
+ ${MdcContainerImageAssessmentEnabled},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The service account email address in GCP for this feature.
+ ${MdcContainerImageAssessmentServiceAccountEmailAddress},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The workload identity provider id in GCP for this feature.
+ ${MdcContainerImageAssessmentWorkloadIdentityProviderId},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The service account email address in GCP for this offering.
+ ${NativeCloudConnectionServiceAccountEmailAddress},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The GCP workload identity provider id for this offering.
+ ${NativeCloudConnectionWorkloadIdentityProviderId},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.Boolean]
+ # Is Policy Kubernetes agent auto provisioning enabled.
+ ${PolicyAgentAutoProvisioningFlag}
+)
+
+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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.custom\New-AzSecurityDefenderForContainersGcpOfferingObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/New-AzSecurityDefenderForDatabasesAwsOfferingObject.ps1 b/src/Security/Security.Autorest/exports/New-AzSecurityDefenderForDatabasesAwsOfferingObject.ps1
new file mode 100644
index 000000000000..858289e3cc13
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/New-AzSecurityDefenderForDatabasesAwsOfferingObject.ps1
@@ -0,0 +1,163 @@
+
+# ----------------------------------------------------------------------------------
+# 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 DefenderForDatabasesAwsOffering.
+.Description
+Create an in-memory object for DefenderForDatabasesAwsOffering.
+.Example
+$arnPrefix = "arn:aws:iam::123456789012:role"
+New-AzSecurityDefenderForDatabasesAwsOfferingObject `
+ -ArcAutoProvisioningEnabled $true -ArcAutoProvisioningCloudRoleArn "$arnPrefix/DefenderForCloud-ArcAutoProvisioning" `
+ -DatabaseDspmEnabled $true -DatabaseDspmCloudRoleArn "$arnPrefix/DefenderForCloud-DataSecurityPostureDB"
+
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForDatabasesAwsOffering
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecuritydefenderfordatabasesawsofferingobject
+#>
+function New-AzSecurityDefenderForDatabasesAwsOfferingObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForDatabasesAwsOffering])]
+[CmdletBinding(PositionalBinding=$false)]
+param(
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The cloud role ARN in AWS for this feature.
+ ${ArcAutoProvisioningCloudRoleArn},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.Boolean]
+ # Is arc auto provisioning enabled.
+ ${ArcAutoProvisioningEnabled},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # Optional Arc private link scope resource id to link the Arc agent.
+ ${ConfigurationPrivateLinkScope},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # Optional http proxy endpoint to use for the Arc agent.
+ ${ConfigurationProxy},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The cloud role ARN in AWS for this feature.
+ ${DatabaseDspmCloudRoleArn},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.Boolean]
+ # Is databases data security posture management (DSPM) protection enabled.
+ ${DatabaseDspmEnabled},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The cloud role ARN in AWS for this feature.
+ ${RdCloudRoleArn},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.Boolean]
+ # Is RDS protection enabled.
+ ${RdEnabled}
+)
+
+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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.custom\New-AzSecurityDefenderForDatabasesAwsOfferingObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/New-AzSecurityDefenderForDatabasesGcpOfferingObject.ps1 b/src/Security/Security.Autorest/exports/New-AzSecurityDefenderForDatabasesGcpOfferingObject.ps1
new file mode 100644
index 000000000000..ba0b35a83d62
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/New-AzSecurityDefenderForDatabasesGcpOfferingObject.ps1
@@ -0,0 +1,145 @@
+
+# ----------------------------------------------------------------------------------
+# 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 DefenderForDatabasesGcpOffering.
+.Description
+Create an in-memory object for DefenderForDatabasesGcpOffering.
+.Example
+$emailSuffix = "myproject.iam.gserviceaccount.com"
+New-AzSecurityDefenderForDatabasesGcpOfferingObject `
+ -ArcAutoProvisioningEnabled $true `
+ -DefenderForDatabaseArcAutoProvisioningServiceAccountEmailAddress "microsoft-databases-arc-ap@" -DefenderForDatabaseArcAutoProvisioningWorkloadIdentityProviderId "defender-for-databases-arc-ap"
+
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForDatabasesGcpOffering
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecuritydefenderfordatabasesgcpofferingobject
+#>
+function New-AzSecurityDefenderForDatabasesGcpOfferingObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForDatabasesGcpOffering])]
+[CmdletBinding(PositionalBinding=$false)]
+param(
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.Boolean]
+ # Is arc auto provisioning enabled.
+ ${ArcAutoProvisioningEnabled},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # Optional Arc private link scope resource id to link the Arc agent.
+ ${ConfigurationPrivateLinkScope},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # Optional http proxy endpoint to use for the Arc agent.
+ ${ConfigurationProxy},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The service account email address in GCP for this offering.
+ ${DefenderForDatabaseArcAutoProvisioningServiceAccountEmailAddress},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The GCP workload identity provider id for this offering.
+ ${DefenderForDatabaseArcAutoProvisioningWorkloadIdentityProviderId}
+)
+
+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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.custom\New-AzSecurityDefenderForDatabasesGcpOfferingObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/New-AzSecurityDefenderForServersAwsOfferingObject.ps1 b/src/Security/Security.Autorest/exports/New-AzSecurityDefenderForServersAwsOfferingObject.ps1
new file mode 100644
index 000000000000..ef38f9b04690
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/New-AzSecurityDefenderForServersAwsOfferingObject.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 an in-memory object for DefenderForServersAwsOffering.
+.Description
+Create an in-memory object for DefenderForServersAwsOffering.
+.Example
+$arnPrefix = "arn:aws:iam::123456789012:role"
+New-AzSecurityDefenderForServersAwsOfferingObject `
+ -DefenderForServerCloudRoleArn "$arnPrefix/DefenderForCloud-DefenderForServers" `
+ -ArcAutoProvisioningEnabled $true -ArcAutoProvisioningCloudRoleArn "$arnPrefix/DefenderForCloud-ArcAutoProvisioning" `
+ -MdeAutoProvisioningEnabled $true `
+ -VaAutoProvisioningEnabled $true -ConfigurationType TVM `
+ -VMScannerEnabled $true -ConfigurationCloudRoleArn "$arnPrefix/DefenderForCloud-AgentlessScanner" -ConfigurationScanningMode Default `
+ -SubPlanType P2
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersAwsOffering
+.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.
+
+CONFIGURATIONEXCLUSIONTAG : VM tags that indicates that VM should not be scanned.
+ [(Any) ]: This indicates any property can be added to this object.
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecuritydefenderforserversawsofferingobject
+#>
+function New-AzSecurityDefenderForServersAwsOfferingObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersAwsOffering])]
+[CmdletBinding(PositionalBinding=$false)]
+param(
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The cloud role ARN in AWS for this feature.
+ ${ArcAutoProvisioningCloudRoleArn},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.Boolean]
+ # Is arc auto provisioning enabled.
+ ${ArcAutoProvisioningEnabled},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The cloud role ARN in AWS for this feature.
+ ${ConfigurationCloudRoleArn},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IDefenderForServersAwsOfferingVMScannersConfigurationExclusionTags]
+ # VM tags that indicates that VM should not be scanned.
+ # .
+ ${ConfigurationExclusionTag},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # Optional Arc private link scope resource id to link the Arc agent.
+ ${ConfigurationPrivateLinkScope},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # Optional HTTP proxy endpoint to use for the Arc agent.
+ ${ConfigurationProxy},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.PSArgumentCompleterAttribute("Default")]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The scanning mode for the VM scan.
+ ${ConfigurationScanningMode},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.PSArgumentCompleterAttribute("Qualys", "TVM")]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The Vulnerability Assessment solution to be provisioned.
+ # Can be either 'TVM' or 'Qualys'.
+ ${ConfigurationType},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The cloud role ARN in AWS for this feature.
+ ${DefenderForServerCloudRoleArn},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IAny]
+ # configuration for Microsoft Defender for Endpoint autoprovisioning.
+ ${MdeAutoProvisioningConfiguration},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.Boolean]
+ # Is Microsoft Defender for Endpoint auto provisioning enabled.
+ ${MdeAutoProvisioningEnabled},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.PSArgumentCompleterAttribute("P1", "P2")]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The available sub plans.
+ ${SubPlanType},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.Boolean]
+ # Is Microsoft Defender for Server VM scanning enabled.
+ ${VMScannerEnabled},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.Boolean]
+ # Is Vulnerability Assessment auto provisioning enabled.
+ ${VaAutoProvisioningEnabled}
+)
+
+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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.custom\New-AzSecurityDefenderForServersAwsOfferingObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/New-AzSecurityDefenderForServersGcpOfferingObject.ps1 b/src/Security/Security.Autorest/exports/New-AzSecurityDefenderForServersGcpOfferingObject.ps1
new file mode 100644
index 000000000000..dc39ed54a34f
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/New-AzSecurityDefenderForServersGcpOfferingObject.ps1
@@ -0,0 +1,206 @@
+
+# ----------------------------------------------------------------------------------
+# 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 DefenderForServersGcpOffering.
+.Description
+Create an in-memory object for DefenderForServersGcpOffering.
+.Example
+$emailSuffix = "myproject.iam.gserviceaccount.com"
+New-AzSecurityDefenderForServersGcpOfferingObject `
+ -DefenderForServerServiceAccountEmailAddress "microsoft-defender-for-servers@$emailSuffix" -DefenderForServerWorkloadIdentityProviderId "defender-for-servers" `
+ -ArcAutoProvisioningEnabled $true -MdeAutoProvisioningEnabled $true -VaAutoProvisioningEnabled $true -ConfigurationType TVM `
+ -VMScannerEnabled $true -ConfigurationScanningMode Default `
+ -SubPlanType P2
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersGcpOffering
+.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.
+
+CONFIGURATIONEXCLUSIONTAG : VM tags that indicate that VM should not be scanned.
+ [(Any) ]: This indicates any property can be added to this object.
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecuritydefenderforserversgcpofferingobject
+#>
+function New-AzSecurityDefenderForServersGcpOfferingObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.DefenderForServersGcpOffering])]
+[CmdletBinding(PositionalBinding=$false)]
+param(
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.Boolean]
+ # Is arc auto provisioning enabled.
+ ${ArcAutoProvisioningEnabled},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IDefenderForServersGcpOfferingVMScannersConfigurationExclusionTags]
+ # VM tags that indicate that VM should not be scanned.
+ # .
+ ${ConfigurationExclusionTag},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # Optional Arc private link scope resource id to link the Arc agent.
+ ${ConfigurationPrivateLinkScope},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # Optional HTTP proxy endpoint to use for the Arc agent.
+ ${ConfigurationProxy},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.PSArgumentCompleterAttribute("Default")]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The scanning mode for the VM scan.
+ ${ConfigurationScanningMode},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.PSArgumentCompleterAttribute("Qualys", "TVM")]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The Vulnerability Assessment solution to be provisioned.
+ # Can be either 'TVM' or 'Qualys'.
+ ${ConfigurationType},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The service account email address in GCP for this feature.
+ ${DefenderForServerServiceAccountEmailAddress},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The workload identity provider id in GCP for this feature.
+ ${DefenderForServerWorkloadIdentityProviderId},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IAny]
+ # configuration for Microsoft Defender for Endpoint autoprovisioning.
+ ${MdeAutoProvisioningConfiguration},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.Boolean]
+ # Is Microsoft Defender for Endpoint auto provisioning enabled.
+ ${MdeAutoProvisioningEnabled},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.PSArgumentCompleterAttribute("P1", "P2")]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The available sub plans.
+ ${SubPlanType},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.Boolean]
+ # Is Microsoft Defender for Server VM scanning enabled.
+ ${VMScannerEnabled},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.Boolean]
+ # Is Vulnerability Assessment auto provisioning enabled.
+ ${VaAutoProvisioningEnabled}
+)
+
+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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.custom\New-AzSecurityDefenderForServersGcpOfferingObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/New-AzSecurityGcpOrganizationalDataMemberObject.ps1 b/src/Security/Security.Autorest/exports/New-AzSecurityGcpOrganizationalDataMemberObject.ps1
new file mode 100644
index 000000000000..c3bd0052150d
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/New-AzSecurityGcpOrganizationalDataMemberObject.ps1
@@ -0,0 +1,123 @@
+
+# ----------------------------------------------------------------------------------
+# 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 GcpOrganizationalDataMember.
+.Description
+Create an in-memory object for GcpOrganizationalDataMember.
+.Example
+New-AzSecurityGcpOrganizationalDataMemberObject -ManagementProjectNumber "12345" -ParentHierarchyId "00000"
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GcpOrganizationalDataMember
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecuritygcporganizationaldatamemberobject
+#>
+function New-AzSecurityGcpOrganizationalDataMemberObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GcpOrganizationalDataMember])]
+[CmdletBinding(PositionalBinding=$false)]
+param(
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The GCP management project number from organizational onboarding.
+ ${ManagementProjectNumber},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # If the multi cloud account is not of membership type organization, this will be the ID of the project's parent.
+ ${ParentHierarchyId}
+)
+
+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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.custom\New-AzSecurityGcpOrganizationalDataMemberObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/New-AzSecurityGcpOrganizationalDataOrganizationObject.ps1 b/src/Security/Security.Autorest/exports/New-AzSecurityGcpOrganizationalDataOrganizationObject.ps1
new file mode 100644
index 000000000000..6f1d1636fea7
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/New-AzSecurityGcpOrganizationalDataOrganizationObject.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 GcpOrganizationalDataOrganization.
+.Description
+Create an in-memory object for GcpOrganizationalDataOrganization.
+.Example
+New-AzSecurityGcpOrganizationalDataOrganizationObject -WorkloadIdentityProviderId "provider" -ServiceAccountEmailAddress "my@email.com" -ExcludedProjectNumber @(1,2)
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GcpOrganizationalDataOrganization
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecuritygcporganizationaldataorganizationobject
+#>
+function New-AzSecurityGcpOrganizationalDataOrganizationObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GcpOrganizationalDataOrganization])]
+[CmdletBinding(PositionalBinding=$false)]
+param(
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String[]]
+ # If the multi cloud account is of membership type organization, list of accounts excluded from offering.
+ ${ExcludedProjectNumber},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The service account email address which represents the organization level permissions container.
+ ${ServiceAccountEmailAddress},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The GCP workload identity provider id which represents the permissions required to auto provision security connectors.
+ ${WorkloadIdentityProviderId}
+)
+
+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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.custom\New-AzSecurityGcpOrganizationalDataOrganizationObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/New-AzSecurityGcpProjectEnvironmentObject.ps1 b/src/Security/Security.Autorest/exports/New-AzSecurityGcpProjectEnvironmentObject.ps1
new file mode 100644
index 000000000000..91f50e92c2f3
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/New-AzSecurityGcpProjectEnvironmentObject.ps1
@@ -0,0 +1,144 @@
+
+# ----------------------------------------------------------------------------------
+# 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 GcpProjectEnvironment.
+.Description
+Create an in-memory object for GcpProjectEnvironment.
+.Example
+$orgData = New-AzSecurityGcpOrganizationalDataOrganizationObject -WorkloadIdentityProviderId "provider" -ServiceAccountEmailAddress "my@email.com" -ExcludedProjectNumber @(1,2)
+New-AzSecurityGcpProjectEnvironmentObject -ProjectDetailProjectId "asc-sdk-samples" -ScanInterval 24 -OrganizationalData $orgData -ProjectDetailProjectNumber "1234"
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GcpProjectEnvironment
+.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.
+
+ORGANIZATIONALDATA : The Gcp project's organizational data.
+ OrganizationMembershipType : The multi cloud account's membership type in the organization
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecuritygcpprojectenvironmentobject
+#>
+function New-AzSecurityGcpProjectEnvironmentObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GcpProjectEnvironment])]
+[CmdletBinding(PositionalBinding=$false)]
+param(
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IGcpOrganizationalData]
+ # The Gcp project's organizational data.
+ # .
+ ${OrganizationalData},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The GCP Project id.
+ ${ProjectDetailProjectId},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The unique GCP Project number.
+ ${ProjectDetailProjectNumber},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.Int64]
+ # Scan interval in hours (value should be between 1-hour to 24-hours).
+ ${ScanInterval}
+)
+
+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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.custom\New-AzSecurityGcpProjectEnvironmentObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/New-AzSecurityGitHubScopeEnvironmentObject.ps1 b/src/Security/Security.Autorest/exports/New-AzSecurityGitHubScopeEnvironmentObject.ps1
new file mode 100644
index 000000000000..501ec9760f4a
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/New-AzSecurityGitHubScopeEnvironmentObject.ps1
@@ -0,0 +1,111 @@
+
+# ----------------------------------------------------------------------------------
+# 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 GitHubScopeEnvironment.
+.Description
+Create an in-memory object for GitHubScopeEnvironment.
+.Example
+New-AzSecurityGitHubScopeEnvironmentObject
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitHubScopeEnvironment
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecuritygithubscopeenvironmentobject
+#>
+function New-AzSecurityGitHubScopeEnvironmentObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitHubScopeEnvironment])]
+[CmdletBinding(PositionalBinding=$false)]
+param()
+
+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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.custom\New-AzSecurityGitHubScopeEnvironmentObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/New-AzSecurityGitLabScopeEnvironmentObject.ps1 b/src/Security/Security.Autorest/exports/New-AzSecurityGitLabScopeEnvironmentObject.ps1
new file mode 100644
index 000000000000..c0941917b88a
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/New-AzSecurityGitLabScopeEnvironmentObject.ps1
@@ -0,0 +1,111 @@
+
+# ----------------------------------------------------------------------------------
+# 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 GitLabScopeEnvironment.
+.Description
+Create an in-memory object for GitLabScopeEnvironment.
+.Example
+New-AzSecurityGitLabScopeEnvironmentObject
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitLabScopeEnvironment
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecuritygitlabscopeenvironmentobject
+#>
+function New-AzSecurityGitLabScopeEnvironmentObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.GitLabScopeEnvironment])]
+[CmdletBinding(PositionalBinding=$false)]
+param()
+
+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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.custom\New-AzSecurityGitLabScopeEnvironmentObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/New-AzSecurityInformationProtectionAwsOfferingObject.ps1 b/src/Security/Security.Autorest/exports/New-AzSecurityInformationProtectionAwsOfferingObject.ps1
new file mode 100644
index 000000000000..6bd70c3b75d0
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/New-AzSecurityInformationProtectionAwsOfferingObject.ps1
@@ -0,0 +1,117 @@
+
+# ----------------------------------------------------------------------------------
+# 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 InformationProtectionAwsOffering.
+.Description
+Create an in-memory object for InformationProtectionAwsOffering.
+.Example
+New-AzSecurityInformationProtectionAwsOfferingObject -InformationProtectionCloudRoleArn "arn:aws:iam::123456789012:role/myRole"
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.InformationProtectionAwsOffering
+.Link
+https://learn.microsoft.com/powershell/module/Az.Security/new-azsecurityinformationprotectionawsofferingobject
+#>
+function New-AzSecurityInformationProtectionAwsOfferingObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.InformationProtectionAwsOffering])]
+[CmdletBinding(PositionalBinding=$false)]
+param(
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Body')]
+ [System.String]
+ # The cloud role ARN in AWS for this feature.
+ ${InformationProtectionCloudRoleArn}
+)
+
+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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.custom\New-AzSecurityInformationProtectionAwsOfferingObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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/Security/Security.Autorest/exports/ProxyCmdletDefinitions.ps1 b/src/Security/Security.Autorest/exports/ProxyCmdletDefinitions.ps1
new file mode 100644
index 000000000000..1056c4bf17bf
--- /dev/null
+++ b/src/Security/Security.Autorest/exports/ProxyCmdletDefinitions.ps1
@@ -0,0 +1,8503 @@
+
+# ----------------------------------------------------------------------------------
+# 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
+Gets an Azure API Management API if it has been onboarded to Microsoft Defender for APIs.
+If an Azure API Management API is onboarded to Microsoft Defender for APIs, the system will monitor the operations within the Azure API Management API for intrusive behaviors and provide alerts for attacks that have been detected.
+.Description
+Gets an Azure API Management API if it has been onboarded to Microsoft Defender for APIs.
+If an Azure API Management API is onboarded to Microsoft Defender for APIs, the system will monitor the operations within the Azure API Management API for intrusive behaviors and provide alerts for attacks that have been detected.
+.Example
+Get-AzSecurityApiCollection -ResourceGroupName apicollectionstests -ServiceName "demoapimservice2" -ApiId "echo-api"
+.Example
+Get-AzSecurityApiCollection -ResourceGroupName "apicollectionstests" -ServiceName "demoapimservice2"
+.Example
+Get-AzSecurityApiCollection
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ISecurityIdentity
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IApiCollection
+.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
+ [ApiId ]: API revision identifier. Must be unique in the API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number.
+ [GroupFqName ]: The GitLab group fully-qualified name.
+ [Id ]: Resource identity path
+ [OperationResultId ]: The operation result Id.
+ [OrgName ]: The Azure DevOps organization name.
+ [OwnerName ]: The GitHub owner name.
+ [ProjectName ]: The project name.
+ [RepoName ]: The repository name.
+ [ResourceGroupName ]: The name of the resource group within the user's subscription. The name is case insensitive.
+ [SecurityConnectorName ]: The security connector name.
+ [ServiceName ]: The name of the API Management service.
+ [SubscriptionId ]: Azure subscription ID
+.Link
+https://learn.microsoft.com/powershell/module/az.security/get-azsecurityapicollection
+#>
+function Get-AzSecurityApiCollection {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IApiCollection])]
+[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
+param(
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # API revision identifier.
+ # Must be unique in the API Management service instance.
+ # Non-current revision has ;rev=n as a suffix where n is the revision number.
+ ${ApiId},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List1', Mandatory)]
+ [Parameter(ParameterSetName='List2', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List2', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The name of the API Management service.
+ ${ServiceName},
+
+ [Parameter(ParameterSetName='Get')]
+ [Parameter(ParameterSetName='List')]
+ [Parameter(ParameterSetName='List1')]
+ [Parameter(ParameterSetName='List2')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String[]]
+ # Azure subscription ID
+ ${SubscriptionId},
+
+ [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ISecurityIdentity]
+ # Identity Parameter
+ # .
+ ${InputObject},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait forNET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.private\Get-AzSecurityApiCollection_Get';
+ GetViaIdentity = 'Az.Security.private\Get-AzSecurityApiCollection_GetViaIdentity';
+ List = 'Az.Security.private\Get-AzSecurityApiCollection_List';
+ List1 = 'Az.Security.private\Get-AzSecurityApiCollection_List1';
+ List2 = 'Az.Security.private\Get-AzSecurityApiCollection_List2';
+ }
+ if (('Get', 'List', 'List1', 'List2') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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
+ }
+}
+}
+
+<#
+.Synopsis
+Returns a list of all Azure DevOps organizations accessible by the user token consumed by the connector.
+.Description
+Returns a list of all Azure DevOps organizations accessible by the user token consumed by the connector.
+.Example
+Get-AzSecurityConnectorAzureDevOpsOrgAvailable -ResourceGroupName dfdtest-sdk -SecurityConnectorName dfdsdktests-azdo-01
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IAzureDevOpsOrgListResponse
+.Link
+https://learn.microsoft.com/powershell/module/az.security/get-azsecurityconnectorazuredevopsorgavailable
+#>
+function Get-AzSecurityConnectorAzureDevOpsOrgAvailable {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IAzureDevOpsOrgListResponse])]
+[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
+param(
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [System.String]
+ # The security connector name.
+ ${SecurityConnectorName},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String[]]
+ # Azure subscription ID
+ ${SubscriptionId},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait forNET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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 = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.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.Security.private\Get-AzSecurityConnectorAzureDevOpsOrgAvailable_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.Security.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ if ($null -ne $MyInvocation.MyCommand -and [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets -notcontains $MyInvocation.MyCommand.Name -and [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ContainsPreviewAttribute($cmdInfo, $MyInvocation)){
+ [Microsoft.Azure.PowerShell.Cmdlets.Security.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PromptedPreviewMessageCmdlets.Enqueue($MyInvocation.MyCommand.Name)
+ }
+ $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.Security.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
+ }
+}
+}
+
+<#
+.Synopsis
+Returns a monitored Azure DevOps organization resource.
+.Description
+Returns a monitored Azure DevOps organization resource.
+.Example
+Get-AzSecurityConnectorAzureDevOpsOrg -ResourceGroupName dfdtest-sdk -SecurityConnectorName dfdsdktests-azdo-01 -OrgName dfdsdktests
+.Example
+Get-AzSecurityConnectorAzureDevOpsOrg -ResourceGroupName dfdtest-sdk -SecurityConnectorName dfdsdktests-azdo-01
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.ISecurityIdentity
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Security.Models.IAzureDevOpsOrg
+.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
+ [ApiId ]: API revision identifier. Must be unique in the API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number.
+ [GroupFqName ]: The GitLab group fully-qualified name.
+ [Id ]: Resource identity path
+ [OperationResultId ]: The operation result Id.
+ [OrgName