diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index eab8c36cbaad..dd356099d2eb 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -14212,7 +14212,7 @@ packages: dev: false file:projects/arm-security.tgz: - resolution: {integrity: sha512-N37vSXrSb3VaEpjLKwotn/eu7I2YHF6eK011ptpfTAdB6kLRxctaqGhlgTgrwvFrzspx+ynuGESVH4DuTrPlZg==, tarball: file:projects/arm-security.tgz} + resolution: {integrity: sha512-tLtY9L0XaIQbzJ6SmrVUwbC634QUlaokZQvplQ+rDiAvNEH0ylczWNEgKM95xE1mL3JBbHPBp2o2uf5KmOOXIg==, tarball: file:projects/arm-security.tgz} name: '@rush-temp/arm-security' version: 0.0.0 dependencies: @@ -14223,6 +14223,8 @@ packages: '@rollup/plugin-json': 4.1.0_rollup@2.79.0 '@rollup/plugin-multi-entry': 4.1.0_rollup@2.79.0 '@rollup/plugin-node-resolve': 13.3.0_rollup@2.79.0 + '@types/chai': 4.3.3 + chai: 4.3.6 cross-env: 7.0.3 mkdirp: 1.0.4 mocha: 7.2.0 @@ -14234,7 +14236,6 @@ packages: uglify-js: 3.17.0 transitivePeerDependencies: - '@types/node' - - encoding - supports-color dev: false diff --git a/sdk/security/arm-security/CHANGELOG.md b/sdk/security/arm-security/CHANGELOG.md index 18ccbd2091ee..73bb30f531e0 100644 --- a/sdk/security/arm-security/CHANGELOG.md +++ b/sdk/security/arm-security/CHANGELOG.md @@ -1,15 +1,314 @@ # Release History + +## 6.0.0-beta.1 (2022-09-13) + +**Features** -## 5.0.1 (Unreleased) - -### Features Added - -### Breaking Changes - -### Bugs Fixed + - Added operation group ApplicationOperations + - Added operation group Applications + - Added operation group GovernanceAssignments + - Added operation group GovernanceRuleOperations + - Added operation group GovernanceRules + - Added operation group SecurityConnectorApplication + - Added operation group SecurityConnectorApplications + - Added operation group SecurityConnectorGovernanceRule + - Added operation group SecurityConnectorGovernanceRules + - Added operation group SecurityConnectorGovernanceRulesExecuteStatus + - Added operation group SubscriptionGovernanceRulesExecuteStatus + - Added operation Alerts.beginSimulate + - Added operation Alerts.beginSimulateAndWait + - Added operation Alerts.updateResourceGroupLevelStateToInProgress + - Added operation Alerts.updateSubscriptionLevelStateToInProgress + - Added Interface AadExternalSecuritySolution + - Added Interface AadSolutionProperties + - Added Interface ActiveConnectionsNotInAllowedRange + - Added Interface AdaptiveApplicationControlGroup + - Added Interface AdaptiveNetworkHardening + - Added Interface AdvancedThreatProtectionSetting + - Added Interface Alert + - Added Interface AlertPropertiesSupportingEvidence + - Added Interface AlertSimulatorBundlesRequestProperties + - Added Interface AlertsSuppressionRule + - Added Interface AlertsUpdateResourceGroupLevelStateToInProgressOptionalParams + - Added Interface AlertsUpdateSubscriptionLevelStateToInProgressOptionalParams + - Added Interface AlertSyncSettings + - Added Interface AllowedConnectionsResource + - Added Interface AllowlistCustomAlertRule + - Added Interface AmqpC2DMessagesNotInAllowedRange + - Added Interface AmqpC2DRejectedMessagesNotInAllowedRange + - Added Interface AmqpD2CMessagesNotInAllowedRange + - Added Interface Application + - Added Interface ApplicationCondition + - Added Interface ApplicationCreateOrUpdateOptionalParams + - Added Interface ApplicationDeleteOptionalParams + - Added Interface ApplicationGetOptionalParams + - Added Interface ApplicationsList + - Added Interface ApplicationsListNextOptionalParams + - Added Interface ApplicationsListOptionalParams + - Added Interface AscLocation + - Added Interface AssessmentStatusResponse + - Added Interface AtaExternalSecuritySolution + - Added Interface AtaSolutionProperties + - Added Interface Automation + - Added Interface AutomationActionEventHub + - Added Interface AutomationActionLogicApp + - Added Interface AutomationActionWorkspace + - Added Interface AutoProvisioningSetting + - Added Interface AwAssumeRoleAuthenticationDetailsProperties + - Added Interface AwsCredsAuthenticationDetailsProperties + - Added Interface AWSEnvironmentData + - Added Interface AwsOrganizationalData + - Added Interface AwsOrganizationalDataMaster + - Added Interface AwsOrganizationalDataMember + - Added Interface AzureDevOpsScopeEnvironmentData + - Added Interface AzureResourceDetails + - Added Interface AzureResourceIdentifier + - Added Interface CefExternalSecuritySolution + - Added Interface CefSolutionProperties + - Added Interface Compliance + - Added Interface ComplianceResult + - Added Interface Condition + - Added Interface ConnectionFromIpNotAllowed + - Added Interface ConnectionToIpNotAllowed + - Added Interface ConnectorSetting + - Added Interface ContainerRegistryVulnerabilityProperties + - Added Interface CspmMonitorAwsOffering + - Added Interface CspmMonitorAzureDevOpsOffering + - Added Interface CspmMonitorGcpOffering + - Added Interface CspmMonitorGcpOfferingNativeCloudConnection + - Added Interface CspmMonitorGithubOffering + - Added Interface CustomAssessmentAutomation + - Added Interface CustomAssessmentAutomationRequest + - Added Interface CustomEntityStoreAssignment + - Added Interface DataExportSettings + - Added Interface DefenderFoDatabasesAwsOffering + - Added Interface DefenderFoDatabasesAwsOfferingArcAutoProvisioning + - Added Interface DefenderFoDatabasesAwsOfferingArcAutoProvisioningServicePrincipalSecretMetadata + - Added Interface DefenderForContainersAwsOffering + - Added Interface DefenderForContainersAwsOfferingContainerVulnerabilityAssessment + - Added Interface DefenderForContainersAwsOfferingContainerVulnerabilityAssessmentTask + - Added Interface DefenderForContainersGcpOffering + - Added Interface DefenderForContainersGcpOfferingDataPipelineNativeCloudConnection + - Added Interface DefenderForContainersGcpOfferingNativeCloudConnection + - Added Interface DefenderForDatabasesGcpOffering + - Added Interface DefenderForDatabasesGcpOfferingArcAutoProvisioning + - Added Interface DefenderForDatabasesGcpOfferingArcAutoProvisioningConfiguration + - Added Interface DefenderForDatabasesGcpOfferingDefenderForDatabasesArcAutoProvisioning + - Added Interface DefenderForServersAwsOffering + - Added Interface DefenderForServersAwsOfferingMdeAutoProvisioning + - Added Interface DefenderForServersAwsOfferingSubPlan + - Added Interface DefenderForServersAwsOfferingVaAutoProvisioning + - Added Interface DefenderForServersAwsOfferingVaAutoProvisioningConfiguration + - Added Interface DefenderForServersAwsOfferingVmScanners + - Added Interface DefenderForServersAwsOfferingVmScannersConfiguration + - Added Interface DefenderForServersGcpOffering + - Added Interface DefenderForServersGcpOfferingArcAutoProvisioning + - Added Interface DefenderForServersGcpOfferingArcAutoProvisioningConfiguration + - Added Interface DefenderForServersGcpOfferingDefenderForServers + - Added Interface DefenderForServersGcpOfferingMdeAutoProvisioning + - Added Interface DefenderForServersGcpOfferingSubPlan + - Added Interface DefenderForServersGcpOfferingVaAutoProvisioning + - Added Interface DefenderForServersGcpOfferingVaAutoProvisioningConfiguration + - Added Interface DenylistCustomAlertRule + - Added Interface DeviceSecurityGroup + - Added Interface DirectMethodInvokesNotInAllowedRange + - Added Interface DiscoveredSecuritySolution + - Added Interface EnvironmentData + - Added Interface ExecuteGovernanceRuleParams + - Added Interface ExecuteRuleStatus + - Added Interface ExternalSecuritySolution + - Added Interface FailedLocalLoginsNotInAllowedRange + - Added Interface FileUploadsNotInAllowedRange + - Added Interface GcpCredentialsDetailsProperties + - Added Interface GcpOrganizationalData + - Added Interface GcpOrganizationalDataMember + - Added Interface GcpOrganizationalDataOrganization + - Added Interface GcpProjectDetails + - Added Interface GcpProjectEnvironmentData + - Added Interface GithubScopeEnvironmentData + - Added Interface GovernanceAssignment + - Added Interface GovernanceAssignmentAdditionalData + - Added Interface GovernanceAssignmentsCreateOrUpdateOptionalParams + - Added Interface GovernanceAssignmentsDeleteOptionalParams + - Added Interface GovernanceAssignmentsGetOptionalParams + - Added Interface GovernanceAssignmentsList + - Added Interface GovernanceAssignmentsListNextOptionalParams + - Added Interface GovernanceAssignmentsListOptionalParams + - Added Interface GovernanceEmailNotification + - Added Interface GovernanceRule + - Added Interface GovernanceRuleEmailNotification + - Added Interface GovernanceRuleList + - Added Interface GovernanceRuleListNextOptionalParams + - Added Interface GovernanceRuleListOptionalParams + - Added Interface GovernanceRuleOwnerSource + - Added Interface GovernanceRulesCreateOrUpdateOptionalParams + - Added Interface GovernanceRulesDeleteOptionalParams + - Added Interface GovernanceRulesGetOptionalParams + - Added Interface GovernanceRulesRuleIdExecuteSingleSecurityConnectorHeaders + - Added Interface GovernanceRulesRuleIdExecuteSingleSecurityConnectorOptionalParams + - Added Interface GovernanceRulesRuleIdExecuteSingleSubscriptionHeaders + - Added Interface GovernanceRulesRuleIdExecuteSingleSubscriptionOptionalParams + - Added Interface HttpC2DMessagesNotInAllowedRange + - Added Interface HttpC2DRejectedMessagesNotInAllowedRange + - Added Interface HttpD2CMessagesNotInAllowedRange + - Added Interface InformationProtectionAwsOffering + - Added Interface InformationProtectionPolicy + - Added Interface IngestionSetting + - Added Interface IoTSecurityAggregatedAlert + - Added Interface IoTSecurityAggregatedRecommendation + - Added Interface IoTSecuritySolutionAnalyticsModel + - Added Interface IoTSecuritySolutionModel + - Added Interface JitNetworkAccessPolicy + - Added Interface ListCustomAlertRule + - Added Interface LocalUserNotAllowed + - Added Interface LogAnalyticsIdentifier + - Added Interface MdeOnboardingData + - Added Interface MqttC2DMessagesNotInAllowedRange + - Added Interface MqttC2DRejectedMessagesNotInAllowedRange + - Added Interface MqttD2CMessagesNotInAllowedRange + - Added Interface OnPremiseResourceDetails + - Added Interface OnPremiseSqlResourceDetails + - Added Interface Pricing + - Added Interface ProcessNotAllowed + - Added Interface QueuePurgesNotInAllowedRange + - Added Interface RegulatoryComplianceAssessment + - Added Interface RegulatoryComplianceControl + - Added Interface RegulatoryComplianceStandard + - Added Interface RemediationEta + - Added Interface RuleResults + - Added Interface Scan + - Added Interface ScanResult + - Added Interface SecureScoreControlDefinitionItem + - Added Interface SecureScoreControlDetails + - Added Interface SecureScoreItem + - Added Interface SecurityAssessment + - Added Interface SecurityAssessmentMetadata + - Added Interface SecurityAssessmentMetadataPropertiesResponse + - Added Interface SecurityAssessmentMetadataResponse + - Added Interface SecurityAssessmentProperties + - Added Interface SecurityAssessmentPropertiesResponse + - Added Interface SecurityAssessmentResponse + - Added Interface SecurityConnector + - Added Interface SecurityConnectorApplicationCreateOrUpdateOptionalParams + - Added Interface SecurityConnectorApplicationDeleteOptionalParams + - Added Interface SecurityConnectorApplicationGetOptionalParams + - Added Interface SecurityConnectorApplicationsListNextOptionalParams + - Added Interface SecurityConnectorApplicationsListOptionalParams + - Added Interface SecurityConnectorGovernanceRuleListNextOptionalParams + - Added Interface SecurityConnectorGovernanceRuleListOptionalParams + - Added Interface SecurityConnectorGovernanceRulesCreateOrUpdateOptionalParams + - Added Interface SecurityConnectorGovernanceRulesDeleteOptionalParams + - Added Interface SecurityConnectorGovernanceRulesExecuteStatusGetHeaders + - Added Interface SecurityConnectorGovernanceRulesExecuteStatusGetOptionalParams + - Added Interface SecurityConnectorGovernanceRulesGetOptionalParams + - Added Interface SecurityContact + - Added Interface SecurityContactPropertiesAlertNotifications + - Added Interface SecurityContactPropertiesNotificationsByRole + - Added Interface SecuritySolution + - Added Interface SecuritySolutionsReferenceData + - Added Interface SecuritySubAssessment + - Added Interface SecurityTask + - Added Interface ServerVulnerabilityAssessment + - Added Interface ServerVulnerabilityProperties + - Added Interface Setting + - Added Interface Software + - Added Interface SqlServerVulnerabilityProperties + - Added Interface SubscriptionGovernanceRulesExecuteStatusGetHeaders + - Added Interface SubscriptionGovernanceRulesExecuteStatusGetOptionalParams + - Added Interface ThresholdCustomAlertRule + - Added Interface TimeWindowCustomAlertRule + - Added Interface TopologyResource + - Added Interface TrackedResource + - Added Interface TwinUpdatesNotInAllowedRange + - Added Interface UnauthorizedOperationsNotInAllowedRange + - Added Interface UpdateIotSecuritySolutionData + - Added Interface WorkspaceSetting + - Added Type Alias ApplicationConditionOperator + - Added Type Alias ApplicationCreateOrUpdateResponse + - Added Type Alias ApplicationGetResponse + - Added Type Alias ApplicationsListNextResponse + - Added Type Alias ApplicationsListResponse + - Added Type Alias ApplicationSourceResourceType + - Added Type Alias AwsOrganizationalDataUnion + - Added Type Alias EnvironmentDataUnion + - Added Type Alias EnvironmentType + - Added Type Alias GcpOrganizationalDataUnion + - Added Type Alias GovernanceAssignmentsCreateOrUpdateResponse + - Added Type Alias GovernanceAssignmentsGetResponse + - Added Type Alias GovernanceAssignmentsListNextResponse + - Added Type Alias GovernanceAssignmentsListResponse + - Added Type Alias GovernanceRuleConditionOperator + - Added Type Alias GovernanceRuleListNextResponse + - Added Type Alias GovernanceRuleListResponse + - Added Type Alias GovernanceRuleOwnerSourceType + - Added Type Alias GovernanceRulesCreateOrUpdateResponse + - Added Type Alias GovernanceRulesGetResponse + - Added Type Alias GovernanceRuleSourceResourceType + - Added Type Alias GovernanceRulesRuleIdExecuteSingleSecurityConnectorResponse + - Added Type Alias GovernanceRulesRuleIdExecuteSingleSubscriptionResponse + - Added Type Alias GovernanceRuleType + - Added Type Alias MinimalSeverity + - Added Type Alias Roles + - Added Type Alias ScanningMode + - Added Type Alias SecurityConnectorApplicationCreateOrUpdateResponse + - Added Type Alias SecurityConnectorApplicationGetResponse + - Added Type Alias SecurityConnectorApplicationsListNextResponse + - Added Type Alias SecurityConnectorApplicationsListResponse + - Added Type Alias SecurityConnectorGovernanceRuleListNextResponse + - Added Type Alias SecurityConnectorGovernanceRuleListResponse + - Added Type Alias SecurityConnectorGovernanceRulesCreateOrUpdateResponse + - Added Type Alias SecurityConnectorGovernanceRulesExecuteStatusGetResponse + - Added Type Alias SecurityConnectorGovernanceRulesGetResponse + - Added Type Alias SubPlan + - Added Type Alias SubscriptionGovernanceRulesExecuteStatusGetResponse + - Added Type Alias Type + - Interface AlertsSimulateOptionalParams has a new optional parameter resumeFrom + - Interface AlertsSimulateOptionalParams has a new optional parameter updateIntervalInMs + - Interface DefenderForServersAwsOfferingArcAutoProvisioning has a new optional parameter cloudRoleArn + - Class SecurityCenter has a new parameter applicationOperations + - Class SecurityCenter has a new parameter applications + - Class SecurityCenter has a new parameter governanceAssignments + - Class SecurityCenter has a new parameter governanceRuleOperations + - Class SecurityCenter has a new parameter governanceRules + - Class SecurityCenter has a new parameter securityConnectorApplication + - Class SecurityCenter has a new parameter securityConnectorApplications + - Class SecurityCenter has a new parameter securityConnectorGovernanceRule + - Class SecurityCenter has a new parameter securityConnectorGovernanceRules + - Class SecurityCenter has a new parameter securityConnectorGovernanceRulesExecuteStatus + - Class SecurityCenter has a new parameter subscriptionGovernanceRulesExecuteStatus + - Added Enum KnownApplicationConditionOperator + - Added Enum KnownApplicationSourceResourceType + - Added Enum KnownEnvironmentType + - Added Enum KnownGovernanceRuleConditionOperator + - Added Enum KnownGovernanceRuleOwnerSourceType + - Added Enum KnownGovernanceRuleSourceResourceType + - Added Enum KnownGovernanceRuleType + - Added Enum KnownMinimalSeverity + - Added Enum KnownRoles + - Added Enum KnownScanningMode + - Added Enum KnownSubPlan + - Added Enum KnownType + - Enum KnownAlertStatus has a new value InProgress + - Enum KnownBundleType has a new value CosmosDbs + - Enum KnownCloudName has a new value AzureDevOps + - Enum KnownCloudName has a new value Github + - Enum KnownOfferingType has a new value CspmMonitorAzureDevOps + - Enum KnownOfferingType has a new value CspmMonitorGcp + - Enum KnownOfferingType has a new value CspmMonitorGithub + - Enum KnownOfferingType has a new value DefenderForContainersGcp + - Enum KnownOfferingType has a new value DefenderForDatabasesAws + - Enum KnownOfferingType has a new value DefenderForDatabasesGcp + - Enum KnownOfferingType has a new value DefenderForServersGcp + - Enum KnownSettingName has a new value WdatpUnifiedSolution -### Other Changes +**Breaking Changes** + - Removed operation Alerts.simulate + - Removed operation SecurityContacts.update + - Removed Enum KnownAlertNotifications + - Removed Enum KnownAlertsToAdmins + + ## 5.0.0 (2022-03-30) **Features** diff --git a/sdk/security/arm-security/README.md b/sdk/security/arm-security/README.md index b6c689c2d612..4245bf9b2134 100644 --- a/sdk/security/arm-security/README.md +++ b/sdk/security/arm-security/README.md @@ -1,6 +1,6 @@ -# Azure Service client library for JavaScript +# Azure SecurityCenter client library for JavaScript -This package contains an isomorphic SDK (runs both in Node.js and in browsers) for Azure Service client. +This package contains an isomorphic SDK (runs both in Node.js and in browsers) for Azure SecurityCenter client. API spec for Microsoft.Security (Azure Security Center) resource provider @@ -24,7 +24,7 @@ See our [support policy](https://github.com/Azure/azure-sdk-for-js/blob/main/SUP ### Install the `@azure/arm-security` package -Install the Azure Service client library for JavaScript with `npm`: +Install the Azure SecurityCenter client library for JavaScript with `npm`: ```bash npm install @azure/arm-security @@ -32,8 +32,8 @@ npm install @azure/arm-security ### Create and authenticate a `SecurityCenter` -To create a client object to access the Azure Service API, you will need the `endpoint` of your Azure Service resource and a `credential`. The Azure Service client can use Azure Active Directory credentials to authenticate. -You can find the endpoint for your Azure Service resource in the [Azure Portal][azure_portal]. +To create a client object to access the Azure SecurityCenter API, you will need the `endpoint` of your Azure SecurityCenter resource and a `credential`. The Azure SecurityCenter client can use Azure Active Directory credentials to authenticate. +You can find the endpoint for your Azure SecurityCenter resource in the [Azure Portal][azure_portal]. You can authenticate with Azure Active Directory using a credential from the [@azure/identity][azure_identity] library or [an existing AAD Token](https://github.com/Azure/azure-sdk-for-js/blob/master/sdk/identity/identity/samples/AzureIdentityExamples.md#authenticating-with-a-pre-fetched-access-token). @@ -43,7 +43,7 @@ To use the [DefaultAzureCredential][defaultazurecredential] provider shown below npm install @azure/identity ``` -You will also need to **register a new AAD application and grant access to Azure Service** by assigning the suitable role to your service principal (note: roles such as `"Owner"` will not grant the necessary permissions). +You will also need to **register a new AAD application and grant access to Azure SecurityCenter** by assigning the suitable role to your service principal (note: roles such as `"Owner"` will not grant the necessary permissions). Set the values of the client ID, tenant ID, and client secret of the AAD application as environment variables: `AZURE_CLIENT_ID`, `AZURE_TENANT_ID`, `AZURE_CLIENT_SECRET`. For more information about how to create an Azure AD Application check out [this guide](https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal). @@ -72,7 +72,7 @@ To use this client library in the browser, first you need to use a bundler. For ### SecurityCenter -`SecurityCenter` is the primary interface for developers using the Azure Service client library. Explore the methods on this client object to understand the different features of the Azure Service service that you can access. +`SecurityCenter` is the primary interface for developers using the Azure SecurityCenter client library. Explore the methods on this client object to understand the different features of the Azure SecurityCenter service that you can access. ## Troubleshooting diff --git a/sdk/security/arm-security/_meta.json b/sdk/security/arm-security/_meta.json index c47a1003ea69..b405a26c3cb3 100644 --- a/sdk/security/arm-security/_meta.json +++ b/sdk/security/arm-security/_meta.json @@ -1,8 +1,8 @@ { - "commit": "3c1da29166fe1306071c939ac1344b092bafd0ce", + "commit": "3bffe148db995d5af5bbb150a9716d4dff360342", "readme": "specification/security/resource-manager/readme.md", - "autorest_command": "autorest --version=3.7.3 --typescript --modelerfour.lenient-model-deduplication --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=D:\\work\\azure-sdk-for-js ..\\azure-rest-api-specs\\specification\\security\\resource-manager\\readme.md --use=@autorest/typescript@6.0.0-alpha.18.20220329.1 --generate-sample=true", + "autorest_command": "autorest --version=3.8.4 --typescript --modelerfour.lenient-model-deduplication --azure-arm --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=/mnt/vss/_work/1/s/azure-sdk-for-js ../azure-rest-api-specs/specification/security/resource-manager/readme.md --use=@autorest/typescript@6.0.0-rc.1", "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", - "release_tool": "@azure-tools/js-sdk-release-tools@2.2.1", - "use": "@autorest/typescript@6.0.0-alpha.18.20220329.1" + "release_tool": "@azure-tools/js-sdk-release-tools@2.4.2", + "use": "@autorest/typescript@6.0.0-rc.1" } \ No newline at end of file diff --git a/sdk/security/arm-security/package.json b/sdk/security/arm-security/package.json index 6966564a276c..6559065152da 100644 --- a/sdk/security/arm-security/package.json +++ b/sdk/security/arm-security/package.json @@ -3,7 +3,7 @@ "sdk-type": "mgmt", "author": "Microsoft Corporation", "description": "A generated SDK for SecurityCenter.", - "version": "5.0.1", + "version": "6.0.0-beta.1", "engines": { "node": ">=12.0.0" }, @@ -11,9 +11,9 @@ "@azure/core-lro": "^2.2.0", "@azure/abort-controller": "^1.0.0", "@azure/core-paging": "^1.2.0", - "@azure/core-client": "^1.0.0", + "@azure/core-client": "^1.5.0", "@azure/core-auth": "^1.3.0", - "@azure/core-rest-pipeline": "^1.1.0", + "@azure/core-rest-pipeline": "^1.8.0", "tslib": "^2.2.0" }, "keywords": [ @@ -40,9 +40,13 @@ "uglify-js": "^3.4.9", "rimraf": "^3.0.0", "@azure/identity": "^2.0.1", - "@azure-tools/test-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^2.0.0", + "@azure-tools/test-credential": "^1.0.0", "mocha": "^7.1.1", - "cross-env": "^7.0.2" + "@types/chai": "^4.2.8", + "chai": "^4.2.0", + "cross-env": "^7.0.2", + "@azure/dev-tool": "^1.0.0" }, "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/security/arm-security", "repository": { @@ -93,9 +97,8 @@ "unit-test:node": "cross-env TEST_MODE=playback npm run integration-test:node", "unit-test:browser": "echo skipped", "integration-test": "npm run integration-test:node && npm run integration-test:browser", - "integration-test:node": "mocha -r esm --require ts-node/register --timeout 1200000 --full-trace test/*.ts --reporter ../../../common/tools/mocha-multi-reporter.js", - "integration-test:browser": "echo skipped", - "docs": "echo skipped" + "integration-test:node": "dev-tool run test:node-ts-input -- --timeout 1200000 'test/*.ts'", + "integration-test:browser": "echo skipped" }, "sideEffects": false, "//metadata": { @@ -106,13 +109,5 @@ } ] }, - "autoPublish": true, - "//sampleConfiguration": { - "productName": "", - "productSlugs": [ - "azure" - ], - "disableDocsMs": true, - "apiRefLink": "https://docs.microsoft.com/javascript/api/@azure/arm-security?view=azure-node-preview" - } -} + "autoPublish": true +} \ No newline at end of file diff --git a/sdk/security/arm-security/review/arm-security.api.md b/sdk/security/arm-security/review/arm-security.api.md index 9cb47bc36105..58f8243ac136 100644 --- a/sdk/security/arm-security/review/arm-security.api.md +++ b/sdk/security/arm-security/review/arm-security.api.md @@ -19,32 +19,35 @@ export interface AadConnectivityStateAutoGenerated { } // @public -export type AadExternalSecuritySolution = ExternalSecuritySolution & { +export interface AadExternalSecuritySolution extends ExternalSecuritySolution { properties?: AadSolutionProperties; -}; +} // @public -export type AadSolutionProperties = ExternalSecuritySolutionProperties & AadConnectivityStateAutoGenerated & {}; +export interface AadSolutionProperties extends ExternalSecuritySolutionProperties, AadConnectivityStateAutoGenerated { +} // @public export type ActionType = string; // @public -export type ActiveConnectionsNotInAllowedRange = TimeWindowCustomAlertRule & { +export interface ActiveConnectionsNotInAllowedRange extends TimeWindowCustomAlertRule { ruleType: "ActiveConnectionsNotInAllowedRange"; -}; +} // @public (undocumented) -export type AdaptiveApplicationControlGroup = Resource & Location_2 & { +export interface AdaptiveApplicationControlGroup extends Resource, Location_2 { + readonly configurationStatus?: ConfigurationStatus; enforcementMode?: EnforcementMode; + readonly issues?: AdaptiveApplicationControlIssueSummary[]; + // (undocumented) + pathRecommendations?: PathRecommendation[]; protectionMode?: ProtectionMode; - readonly configurationStatus?: ConfigurationStatus; readonly recommendationStatus?: RecommendationStatus; - readonly issues?: AdaptiveApplicationControlIssueSummary[]; readonly sourceSystem?: SourceSystem; + // (undocumented) vmRecommendations?: VmRecommendation[]; - pathRecommendations?: PathRecommendation[]; -}; +} // @public export interface AdaptiveApplicationControlGroups { @@ -97,11 +100,11 @@ export interface AdaptiveApplicationControlsPutOptionalParams extends coreClient export type AdaptiveApplicationControlsPutResponse = AdaptiveApplicationControlGroup; // @public -export type AdaptiveNetworkHardening = Resource & { +export interface AdaptiveNetworkHardening extends Resource { + effectiveNetworkSecurityGroups?: EffectiveNetworkSecurityGroups[]; rules?: Rule[]; rulesCalculationTime?: Date; - effectiveNetworkSecurityGroups?: EffectiveNetworkSecurityGroups[]; -}; +} // @public (undocumented) export interface AdaptiveNetworkHardeningEnforceRequest { @@ -192,40 +195,44 @@ export interface AdvancedThreatProtectionGetOptionalParams extends coreClient.Op export type AdvancedThreatProtectionGetResponse = AdvancedThreatProtectionSetting; // @public -export type AdvancedThreatProtectionSetting = Resource & { +export interface AdvancedThreatProtectionSetting extends Resource { isEnabled?: boolean; -}; +} // @public -export type Alert = Resource & { - readonly alertType?: string; - readonly systemAlertId?: string; - readonly productComponentName?: string; +export interface Alert extends Resource { readonly alertDisplayName?: string; + readonly alertType?: string; + readonly alertUri?: string; + readonly compromisedEntity?: string; + readonly correlationKey?: string; readonly description?: string; - readonly severity?: AlertSeverity; - readonly intent?: Intent; - readonly startTimeUtc?: Date; readonly endTimeUtc?: Date; - readonly resourceIdentifiers?: ResourceIdentifierUnion[]; - readonly remediationSteps?: string[]; - readonly vendorName?: string; - readonly status?: AlertStatus; + readonly entities?: AlertEntity[]; readonly extendedLinks?: { [propertyName: string]: string; }[]; - readonly alertUri?: string; - readonly timeGeneratedUtc?: Date; - readonly productName?: string; - readonly processingEndTimeUtc?: Date; - readonly entities?: AlertEntity[]; - readonly isIncident?: boolean; - readonly correlationKey?: string; extendedProperties?: { [propertyName: string]: string; }; - readonly compromisedEntity?: string; -}; + readonly intent?: Intent; + readonly isIncident?: boolean; + readonly processingEndTimeUtc?: Date; + readonly productComponentName?: string; + readonly productName?: string; + readonly remediationSteps?: string[]; + readonly resourceIdentifiers?: ResourceIdentifierUnion[]; + readonly severity?: AlertSeverity; + readonly startTimeUtc?: Date; + readonly status?: AlertStatus; + readonly subTechniques?: string[]; + supportingEvidence?: AlertPropertiesSupportingEvidence; + readonly systemAlertId?: string; + readonly techniques?: string[]; + readonly timeGeneratedUtc?: Date; + readonly vendorName?: string; + readonly version?: string; +} // @public export interface AlertEntity { @@ -240,22 +247,28 @@ export interface AlertList { } // @public -export type AlertNotifications = string; +export interface AlertPropertiesSupportingEvidence { + [property: string]: any; + readonly type?: string; +} // @public export interface Alerts { - getResourceGroupLevel(ascLocation: string, alertName: string, resourceGroupName: string, options?: AlertsGetResourceGroupLevelOptionalParams): Promise; + beginSimulate(ascLocation: string, alertSimulatorRequestBody: AlertSimulatorRequestBody, options?: AlertsSimulateOptionalParams): Promise, void>>; + beginSimulateAndWait(ascLocation: string, alertSimulatorRequestBody: AlertSimulatorRequestBody, options?: AlertsSimulateOptionalParams): Promise; + getResourceGroupLevel(resourceGroupName: string, ascLocation: string, alertName: string, options?: AlertsGetResourceGroupLevelOptionalParams): Promise; getSubscriptionLevel(ascLocation: string, alertName: string, options?: AlertsGetSubscriptionLevelOptionalParams): Promise; list(options?: AlertsListOptionalParams): PagedAsyncIterableIterator; listByResourceGroup(resourceGroupName: string, options?: AlertsListByResourceGroupOptionalParams): PagedAsyncIterableIterator; listResourceGroupLevelByRegion(ascLocation: string, resourceGroupName: string, options?: AlertsListResourceGroupLevelByRegionOptionalParams): PagedAsyncIterableIterator; listSubscriptionLevelByRegion(ascLocation: string, options?: AlertsListSubscriptionLevelByRegionOptionalParams): PagedAsyncIterableIterator; - simulate(ascLocation: string, alertSimulatorRequestBody: AlertSimulatorRequestBody, options?: AlertsSimulateOptionalParams): Promise; - updateResourceGroupLevelStateToActivate(ascLocation: string, alertName: string, resourceGroupName: string, options?: AlertsUpdateResourceGroupLevelStateToActivateOptionalParams): Promise; - updateResourceGroupLevelStateToDismiss(ascLocation: string, alertName: string, resourceGroupName: string, options?: AlertsUpdateResourceGroupLevelStateToDismissOptionalParams): Promise; - updateResourceGroupLevelStateToResolve(ascLocation: string, alertName: string, resourceGroupName: string, options?: AlertsUpdateResourceGroupLevelStateToResolveOptionalParams): Promise; + updateResourceGroupLevelStateToActivate(resourceGroupName: string, ascLocation: string, alertName: string, options?: AlertsUpdateResourceGroupLevelStateToActivateOptionalParams): Promise; + updateResourceGroupLevelStateToDismiss(resourceGroupName: string, ascLocation: string, alertName: string, options?: AlertsUpdateResourceGroupLevelStateToDismissOptionalParams): Promise; + updateResourceGroupLevelStateToInProgress(resourceGroupName: string, ascLocation: string, alertName: string, options?: AlertsUpdateResourceGroupLevelStateToInProgressOptionalParams): Promise; + updateResourceGroupLevelStateToResolve(resourceGroupName: string, ascLocation: string, alertName: string, options?: AlertsUpdateResourceGroupLevelStateToResolveOptionalParams): Promise; updateSubscriptionLevelStateToActivate(ascLocation: string, alertName: string, options?: AlertsUpdateSubscriptionLevelStateToActivateOptionalParams): Promise; updateSubscriptionLevelStateToDismiss(ascLocation: string, alertName: string, options?: AlertsUpdateSubscriptionLevelStateToDismissOptionalParams): Promise; + updateSubscriptionLevelStateToInProgress(ascLocation: string, alertName: string, options?: AlertsUpdateSubscriptionLevelStateToInProgressOptionalParams): Promise; updateSubscriptionLevelStateToResolve(ascLocation: string, alertName: string, options?: AlertsUpdateSubscriptionLevelStateToResolveOptionalParams): Promise; } @@ -277,10 +290,10 @@ export interface AlertsGetSubscriptionLevelOptionalParams extends coreClient.Ope export type AlertsGetSubscriptionLevelResponse = Alert; // @public -export type AlertSimulatorBundlesRequestProperties = AlertSimulatorRequestProperties & { - kind: "Bundles"; +export interface AlertSimulatorBundlesRequestProperties extends AlertSimulatorRequestProperties { bundles?: BundleType[]; -}; + kind: "Bundles"; +} // @public export interface AlertSimulatorRequestBody { @@ -354,18 +367,20 @@ export type AlertsListSubscriptionLevelByRegionResponse = AlertList; // @public export interface AlertsSimulateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; } // @public -export type AlertsSuppressionRule = Resource & { +export interface AlertsSuppressionRule extends Resource { alertType?: string; - readonly lastModifiedUtc?: Date; + comment?: string; expirationDateUtc?: Date; + readonly lastModifiedUtc?: Date; reason?: string; state?: RuleState; - comment?: string; suppressionAlertsScope?: SuppressionAlertsScope; -}; +} // @public export interface AlertsSuppressionRules { @@ -419,9 +434,6 @@ export type AlertsSuppressionRulesUpdateResponse = AlertsSuppressionRule; // @public export type AlertStatus = string; -// @public -export type AlertsToAdmins = string; - // @public export interface AlertsUpdateResourceGroupLevelStateToActivateOptionalParams extends coreClient.OperationOptions { } @@ -430,6 +442,10 @@ export interface AlertsUpdateResourceGroupLevelStateToActivateOptionalParams ext export interface AlertsUpdateResourceGroupLevelStateToDismissOptionalParams extends coreClient.OperationOptions { } +// @public +export interface AlertsUpdateResourceGroupLevelStateToInProgressOptionalParams extends coreClient.OperationOptions { +} + // @public export interface AlertsUpdateResourceGroupLevelStateToResolveOptionalParams extends coreClient.OperationOptions { } @@ -442,14 +458,18 @@ export interface AlertsUpdateSubscriptionLevelStateToActivateOptionalParams exte export interface AlertsUpdateSubscriptionLevelStateToDismissOptionalParams extends coreClient.OperationOptions { } +// @public +export interface AlertsUpdateSubscriptionLevelStateToInProgressOptionalParams extends coreClient.OperationOptions { +} + // @public export interface AlertsUpdateSubscriptionLevelStateToResolveOptionalParams extends coreClient.OperationOptions { } // @public -export type AlertSyncSettings = Setting & { +export interface AlertSyncSettings extends Setting { enabled?: boolean; -}; +} // @public export interface AllowedConnections { @@ -500,39 +520,110 @@ export interface AllowedConnectionsListOptionalParams extends coreClient.Operati export type AllowedConnectionsListResponse = AllowedConnectionsList; // @public -export type AllowedConnectionsResource = Resource & Location_2 & { +export interface AllowedConnectionsResource extends Resource, Location_2 { readonly calculatedDateTime?: Date; readonly connectableResources?: ConnectableResource[]; -}; +} // @public -export type AllowlistCustomAlertRule = ListCustomAlertRule & { - ruleType: "AllowlistCustomAlertRule" | "ConnectionToIpNotAllowed" | "ConnectionFromIpNotAllowed" | "LocalUserNotAllowed" | "ProcessNotAllowed"; +export interface AllowlistCustomAlertRule extends ListCustomAlertRule { allowlistValues: string[]; -}; + ruleType: "AllowlistCustomAlertRule" | "ConnectionToIpNotAllowed" | "ConnectionFromIpNotAllowed" | "LocalUserNotAllowed" | "ProcessNotAllowed"; +} // @public (undocumented) export type AllowlistCustomAlertRuleUnion = AllowlistCustomAlertRule | ConnectionToIpNotAllowed | ConnectionFromIpNotAllowed | LocalUserNotAllowed | ProcessNotAllowed; // @public -export type AmqpC2DMessagesNotInAllowedRange = TimeWindowCustomAlertRule & { +export interface AmqpC2DMessagesNotInAllowedRange extends TimeWindowCustomAlertRule { ruleType: "AmqpC2DMessagesNotInAllowedRange"; -}; +} // @public -export type AmqpC2DRejectedMessagesNotInAllowedRange = TimeWindowCustomAlertRule & { +export interface AmqpC2DRejectedMessagesNotInAllowedRange extends TimeWindowCustomAlertRule { ruleType: "AmqpC2DRejectedMessagesNotInAllowedRange"; -}; +} // @public -export type AmqpD2CMessagesNotInAllowedRange = TimeWindowCustomAlertRule & { +export interface AmqpD2CMessagesNotInAllowedRange extends TimeWindowCustomAlertRule { ruleType: "AmqpD2CMessagesNotInAllowedRange"; -}; +} + +// @public +export interface Application extends Resource { + conditionSets?: Record[]; + description?: string; + displayName?: string; + sourceResourceType?: ApplicationSourceResourceType; +} + +// @public +export interface ApplicationCondition { + operator?: ApplicationConditionOperator; + property?: string; + value?: string; +} + +// @public +export type ApplicationConditionOperator = string; + +// @public +export interface ApplicationCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ApplicationCreateOrUpdateResponse = Application; + +// @public +export interface ApplicationDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface ApplicationGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ApplicationGetResponse = Application; + +// @public +export interface ApplicationOperations { + createOrUpdate(applicationId: string, application: Application, options?: ApplicationCreateOrUpdateOptionalParams): Promise; + delete(applicationId: string, options?: ApplicationDeleteOptionalParams): Promise; + get(applicationId: string, options?: ApplicationGetOptionalParams): Promise; +} + +// @public +export interface Applications { + list(options?: ApplicationsListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ApplicationsList { + readonly nextLink?: string; + readonly value?: Application[]; +} + +// @public +export interface ApplicationsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ApplicationsListNextResponse = ApplicationsList; + +// @public +export interface ApplicationsListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ApplicationsListResponse = ApplicationsList; + +// @public +export type ApplicationSourceResourceType = string; // @public -export type AscLocation = Resource & { +export interface AscLocation extends Resource { properties?: Record; -}; +} // @public export interface AscLocationList { @@ -663,23 +754,24 @@ export interface AssessmentStatus { export type AssessmentStatusCode = string; // @public -export type AssessmentStatusResponse = AssessmentStatus & { +export interface AssessmentStatusResponse extends AssessmentStatus { readonly firstEvaluationDate?: Date; readonly statusChangeDate?: Date; -}; +} // @public export type AssessmentType = string; // @public -export type AtaExternalSecuritySolution = ExternalSecuritySolution & { +export interface AtaExternalSecuritySolution extends ExternalSecuritySolution { properties?: AtaSolutionProperties; -}; +} // @public -export type AtaSolutionProperties = ExternalSecuritySolutionProperties & { +export interface AtaSolutionProperties extends ExternalSecuritySolutionProperties { + // (undocumented) lastEventReceived?: string; -}; +} // @public export interface AuthenticationDetailsProperties { @@ -698,13 +790,13 @@ export type AuthenticationProvisioningState = string; export type AuthenticationType = string; // @public -export type Automation = TrackedResource & { +export interface Automation extends TrackedResource { + actions?: AutomationActionUnion[]; description?: string; isEnabled?: boolean; scopes?: AutomationScope[]; sources?: AutomationSource[]; - actions?: AutomationActionUnion[]; -}; +} // @public export interface AutomationAction { @@ -712,28 +804,28 @@ export interface AutomationAction { } // @public -export type AutomationActionEventHub = AutomationAction & { +export interface AutomationActionEventHub extends AutomationAction { actionType: "EventHub"; + connectionString?: string; eventHubResourceId?: string; readonly sasPolicyName?: string; - connectionString?: string; -}; +} // @public -export type AutomationActionLogicApp = AutomationAction & { +export interface AutomationActionLogicApp extends AutomationAction { actionType: "LogicApp"; logicAppResourceId?: string; uri?: string; -}; +} // @public (undocumented) export type AutomationActionUnion = AutomationAction | AutomationActionLogicApp | AutomationActionEventHub | AutomationActionWorkspace; // @public -export type AutomationActionWorkspace = AutomationAction & { +export interface AutomationActionWorkspace extends AutomationAction { actionType: "Workspace"; workspaceResourceId?: string; -}; +} // @public export interface AutomationList { @@ -840,9 +932,9 @@ export interface AutomationValidationStatus { export type AutoProvision = string; // @public -export type AutoProvisioningSetting = Resource & { +export interface AutoProvisioningSetting extends Resource { autoProvision?: AutoProvision; -}; +} // @public export interface AutoProvisioningSettingList { @@ -886,32 +978,64 @@ export interface AutoProvisioningSettingsListOptionalParams extends coreClient.O export type AutoProvisioningSettingsListResponse = AutoProvisioningSettingList; // @public -export type AwAssumeRoleAuthenticationDetailsProperties = AuthenticationDetailsProperties & { - authenticationType: "awsAssumeRole"; +export interface AwAssumeRoleAuthenticationDetailsProperties extends AuthenticationDetailsProperties { readonly accountId?: string; + authenticationType: "awsAssumeRole"; awsAssumeRoleArn: string; awsExternalId: string; -}; +} // @public -export type AwsCredsAuthenticationDetailsProperties = AuthenticationDetailsProperties & { - authenticationType: "awsCreds"; +export interface AwsCredsAuthenticationDetailsProperties extends AuthenticationDetailsProperties { readonly accountId?: string; + authenticationType: "awsCreds"; awsAccessKeyId: string; awsSecretAccessKey: string; -}; +} // @public -export type AzureResourceDetails = ResourceDetails & { - source: "Azure"; +export interface AWSEnvironmentData extends EnvironmentData { + environmentType: "AwsAccount"; + organizationalData?: AwsOrganizationalDataUnion; +} + +// @public +export interface AwsOrganizationalData { + organizationMembershipType: "Organization" | "Member"; +} + +// @public +export interface AwsOrganizationalDataMaster extends AwsOrganizationalData { + excludedAccountIds?: string[]; + organizationMembershipType: "Organization"; + stacksetName?: string; +} + +// @public +export interface AwsOrganizationalDataMember extends AwsOrganizationalData { + organizationMembershipType: "Member"; + parentHierarchyId?: string; +} + +// @public (undocumented) +export type AwsOrganizationalDataUnion = AwsOrganizationalData | AwsOrganizationalDataMaster | AwsOrganizationalDataMember; + +// @public +export interface AzureDevOpsScopeEnvironmentData extends EnvironmentData { + environmentType: "AzureDevOpsScope"; +} + +// @public +export interface AzureResourceDetails extends ResourceDetails { readonly id?: string; -}; + source: "Azure"; +} // @public -export type AzureResourceIdentifier = ResourceIdentifier & { - type: "AzureResource"; +export interface AzureResourceIdentifier extends ResourceIdentifier { readonly azureResourceId?: string; -}; + type: "AzureResource"; +} // @public export interface AzureResourceLink { @@ -950,16 +1074,19 @@ export type BundleType = string; export type Categories = string; // @public -export type CefExternalSecuritySolution = ExternalSecuritySolution & { +export interface CefExternalSecuritySolution extends ExternalSecuritySolution { properties?: CefSolutionProperties; -}; +} // @public -export type CefSolutionProperties = ExternalSecuritySolutionProperties & { - hostname?: string; +export interface CefSolutionProperties extends ExternalSecuritySolutionProperties { + // (undocumented) agent?: string; + // (undocumented) + hostname?: string; + // (undocumented) lastEventReceived?: string; -}; +} // @public export interface CloudError { @@ -985,18 +1112,18 @@ export type CloudName = string; // @public export interface CloudOffering { readonly description?: string; - offeringType: "CspmMonitorAws" | "DefenderForContainersAws" | "DefenderForServersAws" | "InformationProtectionAws"; + offeringType: "CspmMonitorAws" | "DefenderForContainersAws" | "DefenderForServersAws" | "DefenderForDatabasesAws" | "InformationProtectionAws" | "CspmMonitorGcp" | "DefenderForServersGcp" | "DefenderForDatabasesGcp" | "DefenderForContainersGcp" | "CspmMonitorGithub" | "CspmMonitorAzureDevOps"; } // @public (undocumented) -export type CloudOfferingUnion = CloudOffering | CspmMonitorAwsOffering | DefenderForContainersAwsOffering | DefenderForServersAwsOffering | InformationProtectionAwsOffering; +export type CloudOfferingUnion = CloudOffering | CspmMonitorAwsOffering | DefenderForContainersAwsOffering | DefenderForServersAwsOffering | DefenderFoDatabasesAwsOffering | InformationProtectionAwsOffering | CspmMonitorGcpOffering | DefenderForServersGcpOffering | DefenderForDatabasesGcpOffering | DefenderForContainersGcpOffering | CspmMonitorGithubOffering | CspmMonitorAzureDevOpsOffering; // @public -export type Compliance = Resource & { +export interface Compliance extends Resource { + readonly assessmentResult?: ComplianceSegment[]; readonly assessmentTimestampUtcDate?: Date; readonly resourceCount?: number; - readonly assessmentResult?: ComplianceSegment[]; -}; +} // @public export interface ComplianceList { @@ -1005,9 +1132,9 @@ export interface ComplianceList { } // @public -export type ComplianceResult = Resource & { +export interface ComplianceResult extends Resource { readonly resourceStatus?: ResourceStatus; -}; +} // @public export interface ComplianceResultList { @@ -1075,6 +1202,13 @@ export interface CompliancesListOptionalParams extends coreClient.OperationOptio // @public export type CompliancesListResponse = ComplianceList; +// @public +export interface Condition { + operator?: GovernanceRuleConditionOperator; + property?: string; + value?: string; +} + // @public export type ConfigurationStatus = string; @@ -1098,9 +1232,9 @@ export interface ConnectedWorkspace { } // @public -export type ConnectionFromIpNotAllowed = AllowlistCustomAlertRule & { +export interface ConnectionFromIpNotAllowed extends AllowlistCustomAlertRule { ruleType: "ConnectionFromIpNotAllowed"; -}; +} // @public export interface ConnectionStrings { @@ -1108,9 +1242,9 @@ export interface ConnectionStrings { } // @public -export type ConnectionToIpNotAllowed = AllowlistCustomAlertRule & { +export interface ConnectionToIpNotAllowed extends AllowlistCustomAlertRule { ruleType: "ConnectionToIpNotAllowed"; -}; +} // @public type ConnectionType_2 = string; @@ -1136,10 +1270,10 @@ export interface ConnectorsDeleteOptionalParams extends coreClient.OperationOpti } // @public -export type ConnectorSetting = Resource & { - hybridComputeSettings?: HybridComputeSettingsProperties; +export interface ConnectorSetting extends Resource { authenticationDetails?: AuthenticationDetailsPropertiesUnion; -}; + hybridComputeSettings?: HybridComputeSettingsProperties; +} // @public export interface ConnectorSettingList { @@ -1169,19 +1303,19 @@ export interface ConnectorsListOptionalParams extends coreClient.OperationOption export type ConnectorsListResponse = ConnectorSettingList; // @public -export type ContainerRegistryVulnerabilityProperties = AdditionalData & { +export interface ContainerRegistryVulnerabilityProperties extends AdditionalData { assessedResourceType: "ContainerRegistryVulnerability"; - readonly type?: string; + readonly cve?: Cve[]; readonly cvss?: { [propertyName: string]: Cvss; }; + readonly imageDigest?: string; readonly patchable?: boolean; - readonly cve?: Cve[]; readonly publishedTime?: Date; - readonly vendorReferences?: VendorReference[]; readonly repositoryName?: string; - readonly imageDigest?: string; -}; + readonly type?: string; + readonly vendorReferences?: VendorReference[]; +} // @public export type ControlType = string; @@ -1190,16 +1324,38 @@ export type ControlType = string; export type CreatedByType = string; // @public -export type CspmMonitorAwsOffering = CloudOffering & { - offeringType: "CspmMonitorAws"; +export interface CspmMonitorAwsOffering extends CloudOffering { nativeCloudConnection?: CspmMonitorAwsOfferingNativeCloudConnection; -}; + offeringType: "CspmMonitorAws"; +} // @public export interface CspmMonitorAwsOfferingNativeCloudConnection { cloudRoleArn?: string; } +// @public +export interface CspmMonitorAzureDevOpsOffering extends CloudOffering { + offeringType: "CspmMonitorAzureDevOps"; +} + +// @public +export interface CspmMonitorGcpOffering extends CloudOffering { + nativeCloudConnection?: CspmMonitorGcpOfferingNativeCloudConnection; + offeringType: "CspmMonitorGcp"; +} + +// @public +export interface CspmMonitorGcpOfferingNativeCloudConnection { + serviceAccountEmailAddress?: string; + workloadIdentityProviderId?: string; +} + +// @public +export interface CspmMonitorGithubOffering extends CloudOffering { + offeringType: "CspmMonitorGithub"; +} + // @public export interface CustomAlertRule { readonly description?: string; @@ -1212,26 +1368,26 @@ export interface CustomAlertRule { export type CustomAlertRuleUnion = CustomAlertRule | ThresholdCustomAlertRuleUnion | ListCustomAlertRuleUnion; // @public -export type CustomAssessmentAutomation = Resource & { - readonly systemData?: SystemData; +export interface CustomAssessmentAutomation extends Resource { + assessmentKey?: string; compressedQuery?: string; - supportedCloud?: SupportedCloudEnum; - severity?: SeverityEnum; - displayName?: string; description?: string; + displayName?: string; remediationDescription?: string; - assessmentKey?: string; -}; + severity?: SeverityEnum; + supportedCloud?: SupportedCloudEnum; + readonly systemData?: SystemData; +} // @public -export type CustomAssessmentAutomationRequest = Resource & { +export interface CustomAssessmentAutomationRequest extends Resource { compressedQuery?: string; - supportedCloud?: SupportedCloudEnum; - severity?: SeverityEnum; - displayName?: string; description?: string; + displayName?: string; remediationDescription?: string; -}; + severity?: SeverityEnum; + supportedCloud?: SupportedCloudEnum; +} // @public export interface CustomAssessmentAutomations { @@ -1295,11 +1451,11 @@ export interface CustomAssessmentAutomationsListResult { } // @public -export type CustomEntityStoreAssignment = Resource & { - readonly systemData?: SystemData; - principal?: string; +export interface CustomEntityStoreAssignment extends Resource { entityStoreDatabaseLink?: string; -}; + principal?: string; + readonly systemData?: SystemData; +} // @public export interface CustomEntityStoreAssignmentRequest { @@ -1379,35 +1535,71 @@ export interface Cvss { } // @public -export type DataExportSettings = Setting & { +export interface DataExportSettings extends Setting { enabled?: boolean; -}; +} // @public export type DataSource = string; // @public -export type DefenderForContainersAwsOffering = CloudOffering & { - offeringType: "DefenderForContainersAws"; - kubernetesService?: DefenderForContainersAwsOfferingKubernetesService; - kubernetesScubaReader?: DefenderForContainersAwsOfferingKubernetesScubaReader; - cloudWatchToKinesis?: DefenderForContainersAwsOfferingCloudWatchToKinesis; - kinesisToS3?: DefenderForContainersAwsOfferingKinesisToS3; -}; - -// @public -export interface DefenderForContainersAwsOfferingCloudWatchToKinesis { - cloudRoleArn?: string; +export interface DefenderFoDatabasesAwsOffering extends CloudOffering { + arcAutoProvisioning?: DefenderFoDatabasesAwsOfferingArcAutoProvisioning; + offeringType: "DefenderForDatabasesAws"; } // @public -export interface DefenderForContainersAwsOfferingKinesisToS3 { +export interface DefenderFoDatabasesAwsOfferingArcAutoProvisioning { cloudRoleArn?: string; + enabled?: boolean; + servicePrincipalSecretMetadata?: DefenderFoDatabasesAwsOfferingArcAutoProvisioningServicePrincipalSecretMetadata; } // @public -export interface DefenderForContainersAwsOfferingKubernetesScubaReader { - cloudRoleArn?: string; +export interface DefenderFoDatabasesAwsOfferingArcAutoProvisioningServicePrincipalSecretMetadata { + expiryDate?: Date; + parameterNameInStore?: string; + parameterStoreRegion?: string; +} + +// @public +export interface DefenderForContainersAwsOffering extends CloudOffering { + autoProvisioning?: boolean; + cloudWatchToKinesis?: DefenderForContainersAwsOfferingCloudWatchToKinesis; + containerVulnerabilityAssessment?: DefenderForContainersAwsOfferingContainerVulnerabilityAssessment; + containerVulnerabilityAssessmentTask?: DefenderForContainersAwsOfferingContainerVulnerabilityAssessmentTask; + enableContainerVulnerabilityAssessment?: boolean; + kinesisToS3?: DefenderForContainersAwsOfferingKinesisToS3; + kubeAuditRetentionTime?: number; + kubernetesScubaReader?: DefenderForContainersAwsOfferingKubernetesScubaReader; + kubernetesService?: DefenderForContainersAwsOfferingKubernetesService; + offeringType: "DefenderForContainersAws"; + scubaExternalId?: string; +} + +// @public +export interface DefenderForContainersAwsOfferingCloudWatchToKinesis { + cloudRoleArn?: string; +} + +// @public +export interface DefenderForContainersAwsOfferingContainerVulnerabilityAssessment { + cloudRoleArn?: string; +} + +// @public +export interface DefenderForContainersAwsOfferingContainerVulnerabilityAssessmentTask { + cloudRoleArn?: string; +} + +// @public +export interface DefenderForContainersAwsOfferingKinesisToS3 { + cloudRoleArn?: string; +} + +// @public +export interface DefenderForContainersAwsOfferingKubernetesScubaReader { + cloudRoleArn?: string; } // @public @@ -1416,14 +1608,66 @@ export interface DefenderForContainersAwsOfferingKubernetesService { } // @public -export type DefenderForServersAwsOffering = CloudOffering & { - offeringType: "DefenderForServersAws"; - defenderForServers?: DefenderForServersAwsOfferingDefenderForServers; +export interface DefenderForContainersGcpOffering extends CloudOffering { + auditLogsAutoProvisioningFlag?: boolean; + dataPipelineNativeCloudConnection?: DefenderForContainersGcpOfferingDataPipelineNativeCloudConnection; + defenderAgentAutoProvisioningFlag?: boolean; + nativeCloudConnection?: DefenderForContainersGcpOfferingNativeCloudConnection; + offeringType: "DefenderForContainersGcp"; + policyAgentAutoProvisioningFlag?: boolean; +} + +// @public +export interface DefenderForContainersGcpOfferingDataPipelineNativeCloudConnection { + serviceAccountEmailAddress?: string; + workloadIdentityProviderId?: string; +} + +// @public +export interface DefenderForContainersGcpOfferingNativeCloudConnection { + serviceAccountEmailAddress?: string; + workloadIdentityProviderId?: string; +} + +// @public +export interface DefenderForDatabasesGcpOffering extends CloudOffering { + arcAutoProvisioning?: DefenderForDatabasesGcpOfferingArcAutoProvisioning; + defenderForDatabasesArcAutoProvisioning?: DefenderForDatabasesGcpOfferingDefenderForDatabasesArcAutoProvisioning; + offeringType: "DefenderForDatabasesGcp"; +} + +// @public +export interface DefenderForDatabasesGcpOfferingArcAutoProvisioning { + configuration?: DefenderForDatabasesGcpOfferingArcAutoProvisioningConfiguration; + enabled?: boolean; +} + +// @public +export interface DefenderForDatabasesGcpOfferingArcAutoProvisioningConfiguration { + agentOnboardingServiceAccountNumericId?: string; + clientId?: string; +} + +// @public +export interface DefenderForDatabasesGcpOfferingDefenderForDatabasesArcAutoProvisioning { + serviceAccountEmailAddress?: string; + workloadIdentityProviderId?: string; +} + +// @public +export interface DefenderForServersAwsOffering extends CloudOffering { arcAutoProvisioning?: DefenderForServersAwsOfferingArcAutoProvisioning; -}; + defenderForServers?: DefenderForServersAwsOfferingDefenderForServers; + mdeAutoProvisioning?: DefenderForServersAwsOfferingMdeAutoProvisioning; + offeringType: "DefenderForServersAws"; + subPlan?: DefenderForServersAwsOfferingSubPlan; + vaAutoProvisioning?: DefenderForServersAwsOfferingVaAutoProvisioning; + vmScanners?: DefenderForServersAwsOfferingVmScanners; +} // @public export interface DefenderForServersAwsOfferingArcAutoProvisioning { + cloudRoleArn?: string; enabled?: boolean; servicePrincipalSecretMetadata?: DefenderForServersAwsOfferingArcAutoProvisioningServicePrincipalSecretMetadata; } @@ -1441,18 +1685,103 @@ export interface DefenderForServersAwsOfferingDefenderForServers { } // @public -export type DenylistCustomAlertRule = ListCustomAlertRule & { - ruleType: "DenylistCustomAlertRule"; +export interface DefenderForServersAwsOfferingMdeAutoProvisioning { + configuration?: Record; + enabled?: boolean; +} + +// @public +export interface DefenderForServersAwsOfferingSubPlan { + type?: SubPlan; +} + +// @public +export interface DefenderForServersAwsOfferingVaAutoProvisioning { + configuration?: DefenderForServersAwsOfferingVaAutoProvisioningConfiguration; + enabled?: boolean; +} + +// @public +export interface DefenderForServersAwsOfferingVaAutoProvisioningConfiguration { + type?: Type; +} + +// @public +export interface DefenderForServersAwsOfferingVmScanners { + configuration?: DefenderForServersAwsOfferingVmScannersConfiguration; + enabled?: boolean; +} + +// @public +export interface DefenderForServersAwsOfferingVmScannersConfiguration { + cloudRoleArn?: string; + exclusionTags?: Record; + scanningMode?: ScanningMode; +} + +// @public +export interface DefenderForServersGcpOffering extends CloudOffering { + arcAutoProvisioning?: DefenderForServersGcpOfferingArcAutoProvisioning; + defenderForServers?: DefenderForServersGcpOfferingDefenderForServers; + mdeAutoProvisioning?: DefenderForServersGcpOfferingMdeAutoProvisioning; + offeringType: "DefenderForServersGcp"; + subPlan?: DefenderForServersGcpOfferingSubPlan; + vaAutoProvisioning?: DefenderForServersGcpOfferingVaAutoProvisioning; +} + +// @public +export interface DefenderForServersGcpOfferingArcAutoProvisioning { + configuration?: DefenderForServersGcpOfferingArcAutoProvisioningConfiguration; + enabled?: boolean; +} + +// @public +export interface DefenderForServersGcpOfferingArcAutoProvisioningConfiguration { + agentOnboardingServiceAccountNumericId?: string; + clientId?: string; +} + +// @public +export interface DefenderForServersGcpOfferingDefenderForServers { + serviceAccountEmailAddress?: string; + workloadIdentityProviderId?: string; +} + +// @public +export interface DefenderForServersGcpOfferingMdeAutoProvisioning { + configuration?: Record; + enabled?: boolean; +} + +// @public +export interface DefenderForServersGcpOfferingSubPlan { + type?: SubPlan; +} + +// @public +export interface DefenderForServersGcpOfferingVaAutoProvisioning { + configuration?: DefenderForServersGcpOfferingVaAutoProvisioningConfiguration; + enabled?: boolean; +} + +// @public +export interface DefenderForServersGcpOfferingVaAutoProvisioningConfiguration { + type?: Type; +} + +// @public +export interface DenylistCustomAlertRule extends ListCustomAlertRule { denylistValues: string[]; -}; + ruleType: "DenylistCustomAlertRule"; +} // @public -export type DeviceSecurityGroup = Resource & { - thresholdRules?: ThresholdCustomAlertRuleUnion[]; - timeWindowRules?: TimeWindowCustomAlertRuleUnion[]; +export interface DeviceSecurityGroup extends Resource { allowlistRules?: AllowlistCustomAlertRuleUnion[]; denylistRules?: DenylistCustomAlertRule[]; -}; + thresholdRules?: ThresholdCustomAlertRuleUnion[]; + timeWindowRules?: TimeWindowCustomAlertRuleUnion[]; +} // @public export interface DeviceSecurityGroupList { @@ -1504,17 +1833,17 @@ export type DeviceSecurityGroupsListResponse = DeviceSecurityGroupList; export type Direction = string; // @public -export type DirectMethodInvokesNotInAllowedRange = TimeWindowCustomAlertRule & { +export interface DirectMethodInvokesNotInAllowedRange extends TimeWindowCustomAlertRule { ruleType: "DirectMethodInvokesNotInAllowedRange"; -}; +} // @public (undocumented) -export type DiscoveredSecuritySolution = Resource & Location_2 & { - securityFamily: SecurityFamily; +export interface DiscoveredSecuritySolution extends Resource, Location_2 { offer: string; publisher: string; + securityFamily: SecurityFamily; sku: string; -}; +} // @public (undocumented) export interface DiscoveredSecuritySolutionList { @@ -1580,6 +1909,17 @@ export type EnforcementMode = string; // @public export type EnforcementSupport = string; +// @public +export interface EnvironmentData { + environmentType: "AwsAccount" | "GcpProject" | "GithubScope" | "AzureDevOpsScope"; +} + +// @public (undocumented) +export type EnvironmentDataUnion = EnvironmentData | AWSEnvironmentData | GcpProjectEnvironmentData | GithubScopeEnvironmentData | AzureDevOpsScopeEnvironmentData; + +// @public +export type EnvironmentType = string; + // @public export interface ErrorAdditionalInfo { readonly info?: Record; @@ -1595,6 +1935,16 @@ export interface ETag { type EventSource_2 = string; export { EventSource_2 as EventSource } +// @public +export interface ExecuteGovernanceRuleParams { + override?: boolean; +} + +// @public +export interface ExecuteRuleStatus { + readonly operationId?: string; +} + // @public export type ExpandControlsEnum = string; @@ -1605,7 +1955,8 @@ export type ExpandEnum = string; export type ExportData = string; // @public -export type ExternalSecuritySolution = Resource & ExternalSecuritySolutionKindAutoGenerated & Location_2 & {}; +export interface ExternalSecuritySolution extends Resource, ExternalSecuritySolutionKindAutoGenerated, Location_2 { +} // @public export type ExternalSecuritySolutionKind = string; @@ -1619,7 +1970,7 @@ export interface ExternalSecuritySolutionKindAutoGenerated { export interface ExternalSecuritySolutionList { readonly nextLink?: string; // (undocumented) - value?: ExternalSecuritySolutionUnion[]; + value?: ExternalSecuritySolution[]; } // @public @@ -1635,8 +1986,8 @@ export interface ExternalSecuritySolutionProperties { // @public export interface ExternalSecuritySolutions { get(resourceGroupName: string, ascLocation: string, externalSecuritySolutionsName: string, options?: ExternalSecuritySolutionsGetOptionalParams): Promise; - list(options?: ExternalSecuritySolutionsListOptionalParams): PagedAsyncIterableIterator; - listByHomeRegion(ascLocation: string, options?: ExternalSecuritySolutionsListByHomeRegionOptionalParams): PagedAsyncIterableIterator; + list(options?: ExternalSecuritySolutionsListOptionalParams): PagedAsyncIterableIterator; + listByHomeRegion(ascLocation: string, options?: ExternalSecuritySolutionsListByHomeRegionOptionalParams): PagedAsyncIterableIterator; } // @public @@ -1644,7 +1995,7 @@ export interface ExternalSecuritySolutionsGetOptionalParams extends coreClient.O } // @public -export type ExternalSecuritySolutionsGetResponse = ExternalSecuritySolutionUnion; +export type ExternalSecuritySolutionsGetResponse = ExternalSecuritySolution; // @public export interface ExternalSecuritySolutionsListByHomeRegionNextOptionalParams extends coreClient.OperationOptions { @@ -1665,61 +2016,292 @@ export interface ExternalSecuritySolutionsListNextOptionalParams extends coreCli } // @public -export type ExternalSecuritySolutionsListNextResponse = ExternalSecuritySolutionList; +export type ExternalSecuritySolutionsListNextResponse = ExternalSecuritySolutionList; + +// @public +export interface ExternalSecuritySolutionsListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ExternalSecuritySolutionsListResponse = ExternalSecuritySolutionList; + +// @public +export interface FailedLocalLoginsNotInAllowedRange extends TimeWindowCustomAlertRule { + ruleType: "FailedLocalLoginsNotInAllowedRange"; +} + +// @public +export type FileType = string; + +// @public +export interface FileUploadsNotInAllowedRange extends TimeWindowCustomAlertRule { + ruleType: "FileUploadsNotInAllowedRange"; +} + +// @public +export interface GcpCredentialsDetailsProperties extends AuthenticationDetailsProperties { + authenticationType: "gcpCredentials"; + authProviderX509CertUrl: string; + authUri: string; + clientEmail: string; + clientId: string; + clientX509CertUrl: string; + organizationId: string; + privateKey: string; + privateKeyId: string; + projectId: string; + tokenUri: string; + type: string; +} + +// @public +export interface GcpOrganizationalData { + organizationMembershipType: "Organization" | "Member"; +} + +// @public +export interface GcpOrganizationalDataMember extends GcpOrganizationalData { + managementProjectNumber?: string; + organizationMembershipType: "Member"; + parentHierarchyId?: string; +} + +// @public +export interface GcpOrganizationalDataOrganization extends GcpOrganizationalData { + excludedProjectNumbers?: string[]; + organizationMembershipType: "Organization"; + serviceAccountEmailAddress?: string; + workloadIdentityProviderId?: string; +} + +// @public (undocumented) +export type GcpOrganizationalDataUnion = GcpOrganizationalData | GcpOrganizationalDataOrganization | GcpOrganizationalDataMember; + +// @public +export interface GcpProjectDetails { + projectId?: string; + projectNumber?: string; + readonly workloadIdentityPoolId?: string; +} + +// @public +export interface GcpProjectEnvironmentData extends EnvironmentData { + environmentType: "GcpProject"; + organizationalData?: GcpOrganizationalDataUnion; + projectDetails?: GcpProjectDetails; +} + +// @public +export interface GithubScopeEnvironmentData extends EnvironmentData { + environmentType: "GithubScope"; +} + +// @public +export interface GovernanceAssignment extends Resource { + additionalData?: GovernanceAssignmentAdditionalData; + governanceEmailNotification?: GovernanceEmailNotification; + isGracePeriod?: boolean; + owner?: string; + remediationDueDate?: Date; + remediationEta?: RemediationEta; +} + +// @public +export interface GovernanceAssignmentAdditionalData { + ticketLink?: string; + ticketNumber?: number; + ticketStatus?: string; +} + +// @public +export interface GovernanceAssignments { + createOrUpdate(scope: string, assessmentName: string, assignmentKey: string, governanceAssignment: GovernanceAssignment, options?: GovernanceAssignmentsCreateOrUpdateOptionalParams): Promise; + delete(scope: string, assessmentName: string, assignmentKey: string, options?: GovernanceAssignmentsDeleteOptionalParams): Promise; + get(scope: string, assessmentName: string, assignmentKey: string, options?: GovernanceAssignmentsGetOptionalParams): Promise; + list(scope: string, assessmentName: string, options?: GovernanceAssignmentsListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface GovernanceAssignmentsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type GovernanceAssignmentsCreateOrUpdateResponse = GovernanceAssignment; + +// @public +export interface GovernanceAssignmentsDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface GovernanceAssignmentsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type GovernanceAssignmentsGetResponse = GovernanceAssignment; + +// @public +export interface GovernanceAssignmentsList { + readonly nextLink?: string; + readonly value?: GovernanceAssignment[]; +} + +// @public +export interface GovernanceAssignmentsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type GovernanceAssignmentsListNextResponse = GovernanceAssignmentsList; + +// @public +export interface GovernanceAssignmentsListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type GovernanceAssignmentsListResponse = GovernanceAssignmentsList; + +// @public +export interface GovernanceEmailNotification { + disableManagerEmailNotification?: boolean; + disableOwnerEmailNotification?: boolean; +} + +// @public +export interface GovernanceRule extends Resource { + conditionSets?: Record[]; + description?: string; + displayName?: string; + governanceEmailNotification?: GovernanceRuleEmailNotification; + isDisabled?: boolean; + isGracePeriod?: boolean; + ownerSource?: GovernanceRuleOwnerSource; + remediationTimeframe?: string; + rulePriority?: number; + ruleType?: GovernanceRuleType; + sourceResourceType?: GovernanceRuleSourceResourceType; +} + +// @public +export type GovernanceRuleConditionOperator = string; + +// @public +export interface GovernanceRuleEmailNotification { + disableManagerEmailNotification?: boolean; + disableOwnerEmailNotification?: boolean; +} + +// @public +export interface GovernanceRuleList { + readonly nextLink?: string; + readonly value?: GovernanceRule[]; +} + +// @public +export interface GovernanceRuleListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type GovernanceRuleListNextResponse = GovernanceRuleList; + +// @public +export interface GovernanceRuleListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type GovernanceRuleListResponse = GovernanceRuleList; + +// @public +export interface GovernanceRuleOperations { + list(options?: GovernanceRuleListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface GovernanceRuleOwnerSource { + type?: GovernanceRuleOwnerSourceType; + value?: string; +} + +// @public +export type GovernanceRuleOwnerSourceType = string; + +// @public +export interface GovernanceRules { + beginRuleIdExecuteSingleSecurityConnector(resourceGroupName: string, securityConnectorName: string, ruleId: string, options?: GovernanceRulesRuleIdExecuteSingleSecurityConnectorOptionalParams): Promise, GovernanceRulesRuleIdExecuteSingleSecurityConnectorResponse>>; + beginRuleIdExecuteSingleSecurityConnectorAndWait(resourceGroupName: string, securityConnectorName: string, ruleId: string, options?: GovernanceRulesRuleIdExecuteSingleSecurityConnectorOptionalParams): Promise; + beginRuleIdExecuteSingleSubscription(ruleId: string, options?: GovernanceRulesRuleIdExecuteSingleSubscriptionOptionalParams): Promise, GovernanceRulesRuleIdExecuteSingleSubscriptionResponse>>; + beginRuleIdExecuteSingleSubscriptionAndWait(ruleId: string, options?: GovernanceRulesRuleIdExecuteSingleSubscriptionOptionalParams): Promise; + createOrUpdate(ruleId: string, governanceRule: GovernanceRule, options?: GovernanceRulesCreateOrUpdateOptionalParams): Promise; + delete(ruleId: string, options?: GovernanceRulesDeleteOptionalParams): Promise; + get(ruleId: string, options?: GovernanceRulesGetOptionalParams): Promise; +} + +// @public +export interface GovernanceRulesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type GovernanceRulesCreateOrUpdateResponse = GovernanceRule; + +// @public +export interface GovernanceRulesDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface GovernanceRulesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type GovernanceRulesGetResponse = GovernanceRule; + +// @public +export type GovernanceRuleSourceResourceType = string; // @public -export interface ExternalSecuritySolutionsListOptionalParams extends coreClient.OperationOptions { +export interface GovernanceRulesRuleIdExecuteSingleSecurityConnectorHeaders { + location?: string; } // @public -export type ExternalSecuritySolutionsListResponse = ExternalSecuritySolutionList; +export interface GovernanceRulesRuleIdExecuteSingleSecurityConnectorOptionalParams extends coreClient.OperationOptions { + executeGovernanceRuleParams?: ExecuteGovernanceRuleParams; + resumeFrom?: string; + updateIntervalInMs?: number; +} -// @public (undocumented) -export type ExternalSecuritySolutionUnion = ExternalSecuritySolution | CefExternalSecuritySolution | AtaExternalSecuritySolution | AadExternalSecuritySolution; +// @public +export type GovernanceRulesRuleIdExecuteSingleSecurityConnectorResponse = GovernanceRulesRuleIdExecuteSingleSecurityConnectorHeaders; // @public -export type FailedLocalLoginsNotInAllowedRange = TimeWindowCustomAlertRule & { - ruleType: "FailedLocalLoginsNotInAllowedRange"; -}; +export interface GovernanceRulesRuleIdExecuteSingleSubscriptionHeaders { + location?: string; +} // @public -export type FileType = string; +export interface GovernanceRulesRuleIdExecuteSingleSubscriptionOptionalParams extends coreClient.OperationOptions { + executeGovernanceRuleParams?: ExecuteGovernanceRuleParams; + resumeFrom?: string; + updateIntervalInMs?: number; +} // @public -export type FileUploadsNotInAllowedRange = TimeWindowCustomAlertRule & { - ruleType: "FileUploadsNotInAllowedRange"; -}; +export type GovernanceRulesRuleIdExecuteSingleSubscriptionResponse = GovernanceRulesRuleIdExecuteSingleSubscriptionHeaders; // @public -export type GcpCredentialsDetailsProperties = AuthenticationDetailsProperties & { - authenticationType: "gcpCredentials"; - organizationId: string; - type: string; - projectId: string; - privateKeyId: string; - privateKey: string; - clientEmail: string; - clientId: string; - authUri: string; - tokenUri: string; - authProviderX509CertUrl: string; - clientX509CertUrl: string; -}; +export type GovernanceRuleType = string; // @public -export type HttpC2DMessagesNotInAllowedRange = TimeWindowCustomAlertRule & { +export interface HttpC2DMessagesNotInAllowedRange extends TimeWindowCustomAlertRule { ruleType: "HttpC2DMessagesNotInAllowedRange"; -}; +} // @public -export type HttpC2DRejectedMessagesNotInAllowedRange = TimeWindowCustomAlertRule & { +export interface HttpC2DRejectedMessagesNotInAllowedRange extends TimeWindowCustomAlertRule { ruleType: "HttpC2DRejectedMessagesNotInAllowedRange"; -}; +} // @public -export type HttpD2CMessagesNotInAllowedRange = TimeWindowCustomAlertRule & { +export interface HttpD2CMessagesNotInAllowedRange extends TimeWindowCustomAlertRule { ruleType: "HttpD2CMessagesNotInAllowedRange"; -}; +} // @public export type HybridComputeProvisioningState = string; @@ -1738,10 +2320,10 @@ export interface HybridComputeSettingsProperties { export type ImplementationEffort = string; // @public -export type InformationProtectionAwsOffering = CloudOffering & { - offeringType: "InformationProtectionAws"; +export interface InformationProtectionAwsOffering extends CloudOffering { informationProtection?: InformationProtectionAwsOfferingInformationProtection; -}; + offeringType: "InformationProtectionAws"; +} // @public export interface InformationProtectionAwsOfferingInformationProtection { @@ -1792,16 +2374,16 @@ export interface InformationProtectionPoliciesListOptionalParams extends coreCli export type InformationProtectionPoliciesListResponse = InformationProtectionPolicyList; // @public -export type InformationProtectionPolicy = Resource & { - readonly lastModifiedUtc?: Date; - readonly version?: string; - labels?: { - [propertyName: string]: SensitivityLabel; - }; +export interface InformationProtectionPolicy extends Resource { informationTypes?: { [propertyName: string]: InformationType; }; -}; + labels?: { + [propertyName: string]: SensitivityLabel; + }; + readonly lastModifiedUtc?: Date; + readonly version?: string; +} // @public export interface InformationProtectionPolicyList { @@ -1830,9 +2412,9 @@ export interface IngestionConnectionString { } // @public -export type IngestionSetting = Resource & { +export interface IngestionSetting extends Resource { properties?: Record; -}; +} // @public export interface IngestionSettingList { @@ -1905,21 +2487,21 @@ export interface IngestionSettingToken { export type Intent = string; // @public -export type IoTSecurityAggregatedAlert = Resource & TagsResource & { - readonly alertType?: string; - readonly alertDisplayName?: string; +export interface IoTSecurityAggregatedAlert extends Resource, TagsResource { + readonly actionTaken?: string; readonly aggregatedDateUtc?: Date; - readonly vendorName?: string; - readonly reportedSeverity?: ReportedSeverity; - readonly remediationSteps?: string; - readonly description?: string; + readonly alertDisplayName?: string; + readonly alertType?: string; readonly count?: number; + readonly description?: string; readonly effectedResourceType?: string; - readonly systemSource?: string; - readonly actionTaken?: string; readonly logAnalyticsQuery?: string; + readonly remediationSteps?: string; + readonly reportedSeverity?: ReportedSeverity; + readonly systemSource?: string; readonly topDevicesList?: IoTSecurityAggregatedAlertPropertiesTopDevicesListItem[]; -}; + readonly vendorName?: string; +} // @public export interface IoTSecurityAggregatedAlertList { @@ -1935,18 +2517,18 @@ export interface IoTSecurityAggregatedAlertPropertiesTopDevicesListItem { } // @public -export type IoTSecurityAggregatedRecommendation = Resource & TagsResource & { - recommendationName?: string; - readonly recommendationDisplayName?: string; +export interface IoTSecurityAggregatedRecommendation extends Resource, TagsResource { readonly description?: string; - readonly recommendationTypeId?: string; readonly detectedBy?: string; + readonly healthyDevices?: number; + readonly logAnalyticsQuery?: string; + readonly recommendationDisplayName?: string; + recommendationName?: string; + readonly recommendationTypeId?: string; readonly remediationSteps?: string; readonly reportedSeverity?: ReportedSeverity; - readonly healthyDevices?: number; readonly unhealthyDeviceCount?: number; - readonly logAnalyticsQuery?: string; -}; +} // @public export interface IoTSecurityAggregatedRecommendationList { @@ -2005,14 +2587,14 @@ export interface IotSecuritySolutionAnalyticsListOptionalParams extends coreClie export type IotSecuritySolutionAnalyticsListResponse = IoTSecuritySolutionAnalyticsModelList; // @public -export type IoTSecuritySolutionAnalyticsModel = Resource & { - readonly metrics?: IoTSeverityMetrics; - readonly unhealthyDeviceCount?: number; +export interface IoTSecuritySolutionAnalyticsModel extends Resource { readonly devicesMetrics?: IoTSecuritySolutionAnalyticsModelPropertiesDevicesMetricsItem[]; - topAlertedDevices?: IoTSecurityAlertedDevice[]; + readonly metrics?: IoTSeverityMetrics; mostPrevalentDeviceAlerts?: IoTSecurityDeviceAlert[]; mostPrevalentDeviceRecommendations?: IoTSecurityDeviceRecommendation[]; -}; + topAlertedDevices?: IoTSecurityAlertedDevice[]; + readonly unhealthyDeviceCount?: number; +} // @public export interface IoTSecuritySolutionAnalyticsModelList { @@ -2077,21 +2659,21 @@ export interface IotSecuritySolutionListBySubscriptionOptionalParams extends cor export type IotSecuritySolutionListBySubscriptionResponse = IoTSecuritySolutionsList; // @public -export type IoTSecuritySolutionModel = Resource & TagsResource & { - location?: string; - readonly systemData?: SystemData; - workspace?: string; +export interface IoTSecuritySolutionModel extends Resource, TagsResource { + additionalWorkspaces?: AdditionalWorkspacesProperties[]; + readonly autoDiscoveredResources?: string[]; + disabledDataSources?: DataSource[]; displayName?: string; - status?: SecuritySolutionStatus; export?: ExportData[]; - disabledDataSources?: DataSource[]; iotHubs?: string[]; - userDefinedResources?: UserDefinedResourcesProperties; - readonly autoDiscoveredResources?: string[]; + location?: string; recommendationsConfiguration?: RecommendationConfigurationProperties[]; + status?: SecuritySolutionStatus; + readonly systemData?: SystemData; unmaskedIpLoggingStatus?: UnmaskedIpLoggingStatus; - additionalWorkspaces?: AdditionalWorkspacesProperties[]; -}; + userDefinedResources?: UserDefinedResourcesProperties; + workspace?: string; +} // @public export interface IotSecuritySolutionsAnalyticsAggregatedAlert { @@ -2277,11 +2859,12 @@ export interface JitNetworkAccessPoliciesListOptionalParams extends coreClient.O export type JitNetworkAccessPoliciesListResponse = JitNetworkAccessPoliciesList; // @public (undocumented) -export type JitNetworkAccessPolicy = Resource & KindAutoGenerated & Location_2 & { - virtualMachines: JitNetworkAccessPolicyVirtualMachine[]; - requests?: JitNetworkAccessRequest[]; +export interface JitNetworkAccessPolicy extends Resource, KindAutoGenerated, Location_2 { readonly provisioningState?: string; -}; + // (undocumented) + requests?: JitNetworkAccessRequest[]; + virtualMachines: JitNetworkAccessPolicyVirtualMachine[]; +} // @public (undocumented) export interface JitNetworkAccessPolicyInitiatePort { @@ -2358,60 +2941,39 @@ export interface KindAutoGenerated { // @public export enum KnownAadConnectivityState { - // (undocumented) Connected = "Connected", - // (undocumented) Discovered = "Discovered", - // (undocumented) NotLicensed = "NotLicensed" } // @public export enum KnownActionType { - // (undocumented) EventHub = "EventHub", - // (undocumented) LogicApp = "LogicApp", - // (undocumented) Workspace = "Workspace" } // @public export enum KnownAdaptiveApplicationControlIssue { - // (undocumented) ExecutableViolationsAudited = "ExecutableViolationsAudited", - // (undocumented) MsiAndScriptViolationsAudited = "MsiAndScriptViolationsAudited", - // (undocumented) MsiAndScriptViolationsBlocked = "MsiAndScriptViolationsBlocked", - // (undocumented) RulesViolatedManually = "RulesViolatedManually", - // (undocumented) ViolationsAudited = "ViolationsAudited", - // (undocumented) ViolationsBlocked = "ViolationsBlocked" } // @public export enum KnownAdditionalWorkspaceDataType { - // (undocumented) Alerts = "Alerts", - // (undocumented) RawEvents = "RawEvents" } // @public export enum KnownAdditionalWorkspaceType { - // (undocumented) Sentinel = "Sentinel" } -// @public -export enum KnownAlertNotifications { - Off = "Off", - On = "On" -} - // @public export enum KnownAlertSeverity { High = "High", @@ -2424,22 +2986,25 @@ export enum KnownAlertSeverity { export enum KnownAlertStatus { Active = "Active", Dismissed = "Dismissed", + InProgress = "InProgress", Resolved = "Resolved" } // @public -export enum KnownAlertsToAdmins { - Off = "Off", - On = "On" +export enum KnownApplicationConditionOperator { + Contains = "Contains", + In = "In" +} + +// @public +export enum KnownApplicationSourceResourceType { + Assessments = "Assessments" } // @public export enum KnownAssessedResourceType { - // (undocumented) ContainerRegistryVulnerability = "ContainerRegistryVulnerability", - // (undocumented) ServerVulnerability = "ServerVulnerability", - // (undocumented) SqlServerVulnerability = "SqlServerVulnerability" } @@ -2481,67 +3046,47 @@ export enum KnownAutoProvision { // @public export enum KnownBundleType { - // (undocumented) AppServices = "AppServices", - // (undocumented) + CosmosDbs = "CosmosDbs", DNS = "DNS", - // (undocumented) KeyVaults = "KeyVaults", - // (undocumented) KubernetesService = "KubernetesService", - // (undocumented) ResourceManager = "ResourceManager", - // (undocumented) SqlServers = "SqlServers", - // (undocumented) StorageAccounts = "StorageAccounts", - // (undocumented) VirtualMachines = "VirtualMachines" } // @public export enum KnownCategories { - // (undocumented) Compute = "Compute", - // (undocumented) Data = "Data", - // (undocumented) IdentityAndAccess = "IdentityAndAccess", - // (undocumented) IoT = "IoT", - // (undocumented) Networking = "Networking" } // @public export enum KnownCloudName { - // (undocumented) AWS = "AWS", - // (undocumented) Azure = "Azure", - // (undocumented) - GCP = "GCP" + AzureDevOps = "AzureDevOps", + GCP = "GCP", + Github = "Github" } // @public export enum KnownConfigurationStatus { - // (undocumented) Configured = "Configured", - // (undocumented) Failed = "Failed", - // (undocumented) InProgress = "InProgress", - // (undocumented) NoStatus = "NoStatus", - // (undocumented) NotConfigured = "NotConfigured" } // @public export enum KnownConnectionType { - // (undocumented) External = "External", - // (undocumented) Internal = "Internal" } @@ -2553,13 +3098,9 @@ export enum KnownControlType { // @public export enum KnownCreatedByType { - // (undocumented) Application = "Application", - // (undocumented) Key = "Key", - // (undocumented) ManagedIdentity = "ManagedIdentity", - // (undocumented) User = "User" } @@ -2570,69 +3111,53 @@ export enum KnownDataSource { // @public export enum KnownDirection { - // (undocumented) Inbound = "Inbound", - // (undocumented) Outbound = "Outbound" } // @public export enum KnownEndOfSupportStatus { - // (undocumented) NoLongerSupported = "noLongerSupported", - // (undocumented) None = "None", - // (undocumented) UpcomingNoLongerSupported = "upcomingNoLongerSupported", - // (undocumented) UpcomingVersionNoLongerSupported = "upcomingVersionNoLongerSupported", - // (undocumented) VersionNoLongerSupported = "versionNoLongerSupported" } // @public export enum KnownEnforcementMode { - // (undocumented) Audit = "Audit", - // (undocumented) Enforce = "Enforce", - // (undocumented) None = "None" } // @public export enum KnownEnforcementSupport { - // (undocumented) NotSupported = "NotSupported", - // (undocumented) Supported = "Supported", - // (undocumented) Unknown = "Unknown" } +// @public +export enum KnownEnvironmentType { + AwsAccount = "AwsAccount", + AzureDevOpsScope = "AzureDevOpsScope", + GcpProject = "GcpProject", + GithubScope = "GithubScope" +} + // @public export enum KnownEventSource { - // (undocumented) Alerts = "Alerts", - // (undocumented) Assessments = "Assessments", - // (undocumented) AssessmentsSnapshot = "AssessmentsSnapshot", - // (undocumented) RegulatoryComplianceAssessment = "RegulatoryComplianceAssessment", - // (undocumented) RegulatoryComplianceAssessmentSnapshot = "RegulatoryComplianceAssessmentSnapshot", - // (undocumented) SecureScoreControls = "SecureScoreControls", - // (undocumented) SecureScoreControlsSnapshot = "SecureScoreControlsSnapshot", - // (undocumented) SecureScores = "SecureScores", - // (undocumented) SecureScoresSnapshot = "SecureScoresSnapshot", - // (undocumented) SubAssessments = "SubAssessments", - // (undocumented) SubAssessmentsSnapshot = "SubAssessmentsSnapshot" } @@ -2654,30 +3179,44 @@ export enum KnownExportData { // @public export enum KnownExternalSecuritySolutionKind { - // (undocumented) AAD = "AAD", - // (undocumented) ATA = "ATA", - // (undocumented) CEF = "CEF" } // @public export enum KnownFileType { - // (undocumented) Dll = "Dll", - // (undocumented) Exe = "Exe", - // (undocumented) Executable = "Executable", - // (undocumented) Msi = "Msi", - // (undocumented) Script = "Script", - // (undocumented) Unknown = "Unknown" } +// @public +export enum KnownGovernanceRuleConditionOperator { + Equals = "Equals", + In = "In" +} + +// @public +export enum KnownGovernanceRuleOwnerSourceType { + ByTag = "ByTag", + Manually = "Manually" +} + +// @public +export enum KnownGovernanceRuleSourceResourceType { + Assessments = "Assessments" +} + +// @public +export enum KnownGovernanceRuleType { + Integrated = "Integrated", + ServiceNow = "ServiceNow" +} + // @public export enum KnownHybridComputeProvisioningState { Expired = "Expired", @@ -2687,19 +3226,14 @@ export enum KnownHybridComputeProvisioningState { // @public export enum KnownImplementationEffort { - // (undocumented) High = "High", - // (undocumented) Low = "Low", - // (undocumented) Moderate = "Moderate" } // @public export enum KnownInformationProtectionPolicyName { - // (undocumented) Custom = "custom", - // (undocumented) Effective = "effective" } @@ -2728,15 +3262,25 @@ export enum KnownKind { Bundles = "Bundles" } +// @public +export enum KnownMinimalSeverity { + High = "High", + Low = "Low", + Medium = "Medium" +} + // @public export enum KnownOfferingType { - // (undocumented) CspmMonitorAws = "CspmMonitorAws", - // (undocumented) + CspmMonitorAzureDevOps = "CspmMonitorAzureDevOps", + CspmMonitorGcp = "CspmMonitorGcp", + CspmMonitorGithub = "CspmMonitorGithub", DefenderForContainersAws = "DefenderForContainersAws", - // (undocumented) + DefenderForContainersGcp = "DefenderForContainersGcp", + DefenderForDatabasesAws = "DefenderForDatabasesAws", + DefenderForDatabasesGcp = "DefenderForDatabasesGcp", DefenderForServersAws = "DefenderForServersAws", - // (undocumented) + DefenderForServersGcp = "DefenderForServersGcp", InformationProtectionAws = "InformationProtectionAws" } @@ -2755,9 +3299,7 @@ export enum KnownOperator { // @public export enum KnownOrganizationMembershipType { - // (undocumented) Member = "Member", - // (undocumented) Organization = "Organization" } @@ -2777,63 +3319,44 @@ export enum KnownPricingTier { // @public export enum KnownPropertyType { - // (undocumented) Boolean = "Boolean", - // (undocumented) Integer = "Integer", - // (undocumented) Number = "Number", - // (undocumented) String = "String" } // @public export enum KnownProtocol { - // (undocumented) All = "*", - // (undocumented) TCP = "TCP", - // (undocumented) UDP = "UDP" } // @public export enum KnownProvisioningState { - // (undocumented) Failed = "Failed", - // (undocumented) Succeeded = "Succeeded", - // (undocumented) Updating = "Updating" } // @public export enum KnownRecommendationAction { - // (undocumented) Add = "Add", - // (undocumented) Recommended = "Recommended", - // (undocumented) Remove = "Remove" } // @public export enum KnownRecommendationConfigStatus { - // (undocumented) Disabled = "Disabled", - // (undocumented) Enabled = "Enabled" } // @public export enum KnownRecommendationStatus { - // (undocumented) NoStatus = "NoStatus", - // (undocumented) NotAvailable = "NotAvailable", - // (undocumented) NotRecommended = "NotRecommended", - // (undocumented) Recommended = "Recommended" } @@ -2859,21 +3382,15 @@ export enum KnownRecommendationType { // @public export enum KnownReportedSeverity { - // (undocumented) High = "High", - // (undocumented) Informational = "Informational", - // (undocumented) Low = "Low", - // (undocumented) Medium = "Medium" } // @public export enum KnownResourceIdentifierType { - // (undocumented) AzureResource = "AzureResource", - // (undocumented) LogAnalytics = "LogAnalytics" } @@ -2885,6 +3402,14 @@ export enum KnownResourceStatus { OffByPolicy = "OffByPolicy" } +// @public +export enum KnownRoles { + AccountAdmin = "AccountAdmin", + Contributor = "Contributor", + Owner = "Owner", + ServiceAdmin = "ServiceAdmin" +} + // @public export enum KnownRuleSeverity { High = "High", @@ -2909,6 +3434,11 @@ export enum KnownRuleType { PositiveList = "PositiveList" } +// @public +export enum KnownScanningMode { + Default = "Default" +} + // @public export enum KnownScanState { Failed = "Failed", @@ -2925,77 +3455,54 @@ export enum KnownScanTriggerType { // @public export enum KnownSecurityFamily { - // (undocumented) Ngfw = "Ngfw", - // (undocumented) SaasWaf = "SaasWaf", - // (undocumented) Va = "Va", - // (undocumented) Waf = "Waf" } // @public export enum KnownSecuritySolutionStatus { - // (undocumented) Disabled = "Disabled", - // (undocumented) Enabled = "Enabled" } // @public export enum KnownServerVulnerabilityAssessmentPropertiesProvisioningState { - // (undocumented) Canceled = "Canceled", - // (undocumented) Deprovisioning = "Deprovisioning", - // (undocumented) Failed = "Failed", - // (undocumented) Provisioning = "Provisioning", - // (undocumented) Succeeded = "Succeeded" } // @public export enum KnownSettingKind { - // (undocumented) AlertSuppressionSetting = "AlertSuppressionSetting", - // (undocumented) AlertSyncSettings = "AlertSyncSettings", - // (undocumented) DataExportSettings = "DataExportSettings" } // @public export enum KnownSettingName { - // (undocumented) Mcas = "MCAS", - // (undocumented) Sentinel = "Sentinel", - // (undocumented) Wdatp = "WDATP", - // (undocumented) - WdatpExcludeLinuxPublicPreview = "WDATP_EXCLUDE_LINUX_PUBLIC_PREVIEW" + WdatpExcludeLinuxPublicPreview = "WDATP_EXCLUDE_LINUX_PUBLIC_PREVIEW", + WdatpUnifiedSolution = "WDATP_UNIFIED_SOLUTION" } // @public export enum KnownSeverity { - // (undocumented) High = "High", - // (undocumented) Low = "Low", - // (undocumented) Medium = "Medium" } // @public export enum KnownSeverityEnum { - // (undocumented) High = "High", - // (undocumented) Low = "Low", - // (undocumented) Medium = "Medium" } @@ -3008,15 +3515,10 @@ export enum KnownSource { // @public export enum KnownSourceSystem { - // (undocumented) AzureAppLocker = "Azure_AppLocker", - // (undocumented) AzureAuditD = "Azure_AuditD", - // (undocumented) NonAzureAppLocker = "NonAzure_AppLocker", - // (undocumented) NonAzureAuditD = "NonAzure_AuditD", - // (undocumented) None = "None" } @@ -3030,19 +3532,14 @@ export enum KnownState { // @public export enum KnownStatus { - // (undocumented) Initiated = "Initiated", - // (undocumented) Revoked = "Revoked" } // @public export enum KnownStatusReason { - // (undocumented) Expired = "Expired", - // (undocumented) NewerRequestInitiated = "NewerRequestInitiated", - // (undocumented) UserRequested = "UserRequested" } @@ -3053,300 +3550,177 @@ export enum KnownSubAssessmentStatusCode { Unhealthy = "Unhealthy" } +// @public +export enum KnownSubPlan { + P1 = "P1", + P2 = "P2" +} + // @public export enum KnownSupportedCloudEnum { - // (undocumented) AWS = "AWS", - // (undocumented) GCP = "GCP" } // @public export enum KnownTactics { - // (undocumented) Collection = "Collection", - // (undocumented) CommandAndControl = "Command and Control", - // (undocumented) CredentialAccess = "Credential Access", - // (undocumented) DefenseEvasion = "Defense Evasion", - // (undocumented) Discovery = "Discovery", - // (undocumented) Execution = "Execution", - // (undocumented) Exfiltration = "Exfiltration", - // (undocumented) Impact = "Impact", - // (undocumented) InitialAccess = "Initial Access", - // (undocumented) LateralMovement = "Lateral Movement", - // (undocumented) Persistence = "Persistence", - // (undocumented) PrivilegeEscalation = "Privilege Escalation", - // (undocumented) Reconnaissance = "Reconnaissance", - // (undocumented) ResourceDevelopment = "Resource Development" } // @public export enum KnownTaskUpdateActionType { - // (undocumented) Activate = "Activate", - // (undocumented) Close = "Close", - // (undocumented) Dismiss = "Dismiss", - // (undocumented) Resolve = "Resolve", - // (undocumented) Start = "Start" } // @public export enum KnownTechniques { - // (undocumented) AbuseElevationControlMechanism = "Abuse Elevation Control Mechanism", - // (undocumented) AccessTokenManipulation = "Access Token Manipulation", - // (undocumented) AccountDiscovery = "Account Discovery", - // (undocumented) AccountManipulation = "Account Manipulation", - // (undocumented) ActiveScanning = "Active Scanning", - // (undocumented) ApplicationLayerProtocol = "Application Layer Protocol", - // (undocumented) AudioCapture = "Audio Capture", - // (undocumented) BootOrLogonAutostartExecution = "Boot or Logon Autostart Execution", - // (undocumented) BootOrLogonInitializationScripts = "Boot or Logon Initialization Scripts", - // (undocumented) BruteForce = "Brute Force", - // (undocumented) CloudInfrastructureDiscovery = "Cloud Infrastructure Discovery", - // (undocumented) CloudServiceDashboard = "Cloud Service Dashboard", - // (undocumented) CloudServiceDiscovery = "Cloud Service Discovery", - // (undocumented) CommandAndScriptingInterpreter = "Command and Scripting Interpreter", - // (undocumented) CompromiseClientSoftwareBinary = "Compromise Client Software Binary", - // (undocumented) CompromiseInfrastructure = "Compromise Infrastructure", - // (undocumented) ContainerAndResourceDiscovery = "Container and Resource Discovery", - // (undocumented) CreateAccount = "Create Account", - // (undocumented) CreateOrModifySystemProcess = "Create or Modify System Process", - // (undocumented) CredentialsFromPasswordStores = "Credentials from Password Stores", - // (undocumented) DataDestruction = "Data Destruction", - // (undocumented) DataEncryptedForImpact = "Data Encrypted for Impact", - // (undocumented) DataFromCloudStorageObject = "Data from Cloud Storage Object", - // (undocumented) DataFromConfigurationRepository = "Data from Configuration Repository", - // (undocumented) DataFromInformationRepositories = "Data from Information Repositories", - // (undocumented) DataFromLocalSystem = "Data from Local System", - // (undocumented) DataManipulation = "Data Manipulation", - // (undocumented) DataStaged = "Data Staged", - // (undocumented) Defacement = "Defacement", - // (undocumented) DeobfuscateDecodeFilesOrInformation = "Deobfuscate/Decode Files or Information", - // (undocumented) DiskWipe = "Disk Wipe", - // (undocumented) DomainTrustDiscovery = "Domain Trust Discovery", - // (undocumented) DriveByCompromise = "Drive-by Compromise", - // (undocumented) DynamicResolution = "Dynamic Resolution", - // (undocumented) EndpointDenialOfService = "Endpoint Denial of Service", - // (undocumented) EventTriggeredExecution = "Event Triggered Execution", - // (undocumented) ExfiltrationOverAlternativeProtocol = "Exfiltration Over Alternative Protocol", - // (undocumented) ExploitationForClientExecution = "Exploitation for Client Execution", - // (undocumented) ExploitationForCredentialAccess = "Exploitation for Credential Access", - // (undocumented) ExploitationForDefenseEvasion = "Exploitation for Defense Evasion", - // (undocumented) ExploitationForPrivilegeEscalation = "Exploitation for Privilege Escalation", - // (undocumented) ExploitationOfRemoteServices = "Exploitation of Remote Services", - // (undocumented) ExploitPublicFacingApplication = "Exploit Public-Facing Application", - // (undocumented) ExternalRemoteServices = "External Remote Services", - // (undocumented) FallbackChannels = "Fallback Channels", - // (undocumented) FileAndDirectoryDiscovery = "File and Directory Discovery", - // (undocumented) FileAndDirectoryPermissionsModification = "File and Directory Permissions Modification", - // (undocumented) GatherVictimNetworkInformation = "Gather Victim Network Information", - // (undocumented) HideArtifacts = "Hide Artifacts", - // (undocumented) HijackExecutionFlow = "Hijack Execution Flow", - // (undocumented) ImpairDefenses = "Impair Defenses", - // (undocumented) ImplantContainerImage = "Implant Container Image", - // (undocumented) IndicatorRemovalOnHost = "Indicator Removal on Host", - // (undocumented) IndirectCommandExecution = "Indirect Command Execution", - // (undocumented) IngressToolTransfer = "Ingress Tool Transfer", - // (undocumented) InputCapture = "Input Capture", - // (undocumented) InterProcessCommunication = "Inter-Process Communication", - // (undocumented) LateralToolTransfer = "Lateral Tool Transfer", - // (undocumented) ManInTheMiddle = "Man-in-the-Middle", - // (undocumented) Masquerading = "Masquerading", - // (undocumented) ModifyAuthenticationProcess = "Modify Authentication Process", - // (undocumented) ModifyRegistry = "Modify Registry", - // (undocumented) NetworkDenialOfService = "Network Denial of Service", - // (undocumented) NetworkServiceScanning = "Network Service Scanning", - // (undocumented) NetworkSniffing = "Network Sniffing", - // (undocumented) NonApplicationLayerProtocol = "Non-Application Layer Protocol", - // (undocumented) NonStandardPort = "Non-Standard Port", - // (undocumented) ObfuscatedFilesOrInformation = "Obfuscated Files or Information", - // (undocumented) ObtainCapabilities = "Obtain Capabilities", - // (undocumented) OfficeApplicationStartup = "Office Application Startup", - // (undocumented) OSCredentialDumping = "OS Credential Dumping", - // (undocumented) PermissionGroupsDiscovery = "Permission Groups Discovery", - // (undocumented) Phishing = "Phishing", - // (undocumented) PreOSBoot = "Pre-OS Boot", - // (undocumented) ProcessDiscovery = "Process Discovery", - // (undocumented) ProcessInjection = "Process Injection", - // (undocumented) ProtocolTunneling = "Protocol Tunneling", - // (undocumented) Proxy = "Proxy", - // (undocumented) QueryRegistry = "Query Registry", - // (undocumented) RemoteAccessSoftware = "Remote Access Software", - // (undocumented) RemoteServices = "Remote Services", - // (undocumented) RemoteServiceSessionHijacking = "Remote Service Session Hijacking", - // (undocumented) RemoteSystemDiscovery = "Remote System Discovery", - // (undocumented) ResourceHijacking = "Resource Hijacking", - // (undocumented) ScheduledTaskJob = "Scheduled Task/Job", - // (undocumented) ScreenCapture = "Screen Capture", - // (undocumented) SearchVictimOwnedWebsites = "Search Victim-Owned Websites", - // (undocumented) ServerSoftwareComponent = "Server Software Component", - // (undocumented) ServiceStop = "Service Stop", - // (undocumented) SignedBinaryProxyExecution = "Signed Binary Proxy Execution", - // (undocumented) SoftwareDeploymentTools = "Software Deployment Tools", - // (undocumented) SQLStoredProcedures = "SQL Stored Procedures", - // (undocumented) StealOrForgeKerberosTickets = "Steal or Forge Kerberos Tickets", - // (undocumented) SubvertTrustControls = "Subvert Trust Controls", - // (undocumented) SupplyChainCompromise = "Supply Chain Compromise", - // (undocumented) SystemInformationDiscovery = "System Information Discovery", - // (undocumented) TaintSharedContent = "Taint Shared Content", - // (undocumented) TrafficSignaling = "Traffic Signaling", - // (undocumented) TransferDataToCloudAccount = "Transfer Data to Cloud Account", - // (undocumented) TrustedRelationship = "Trusted Relationship", - // (undocumented) UnsecuredCredentials = "Unsecured Credentials", - // (undocumented) UserExecution = "User Execution", - // (undocumented) ValidAccounts = "Valid Accounts", - // (undocumented) WindowsManagementInstrumentation = "Windows Management Instrumentation" } // @public export enum KnownThreats { - // (undocumented) AccountBreach = "accountBreach", - // (undocumented) DataExfiltration = "dataExfiltration", - // (undocumented) DataSpillage = "dataSpillage", - // (undocumented) DenialOfService = "denialOfService", - // (undocumented) ElevationOfPrivilege = "elevationOfPrivilege", - // (undocumented) MaliciousInsider = "maliciousInsider", - // (undocumented) MissingCoverage = "missingCoverage", - // (undocumented) ThreatResistance = "threatResistance" } // @public export enum KnownTransportProtocol { - // (undocumented) TCP = "TCP", - // (undocumented) UDP = "UDP" } +// @public +export enum KnownType { + Qualys = "Qualys", + TVM = "TVM" +} + // @public export enum KnownUnmaskedIpLoggingStatus { Disabled = "Disabled", @@ -3355,11 +3729,8 @@ export enum KnownUnmaskedIpLoggingStatus { // @public export enum KnownUserImpact { - // (undocumented) High = "High", - // (undocumented) Low = "Low", - // (undocumented) Moderate = "Moderate" } @@ -3370,18 +3741,18 @@ export enum KnownValueType { } // @public -export type ListCustomAlertRule = CustomAlertRule & { +export interface ListCustomAlertRule extends CustomAlertRule { ruleType: "ListCustomAlertRule" | "AllowlistCustomAlertRule" | "DenylistCustomAlertRule" | "ConnectionToIpNotAllowed" | "ConnectionFromIpNotAllowed" | "LocalUserNotAllowed" | "ProcessNotAllowed"; readonly valueType?: ValueType; -}; +} // @public (undocumented) export type ListCustomAlertRuleUnion = ListCustomAlertRule | AllowlistCustomAlertRuleUnion | DenylistCustomAlertRule; // @public -export type LocalUserNotAllowed = AllowlistCustomAlertRule & { +export interface LocalUserNotAllowed extends AllowlistCustomAlertRule { ruleType: "LocalUserNotAllowed"; -}; +} // @public interface Location_2 { @@ -3417,19 +3788,19 @@ export interface LocationsListOptionalParams extends coreClient.OperationOptions export type LocationsListResponse = AscLocationList; // @public -export type LogAnalyticsIdentifier = ResourceIdentifier & { +export interface LogAnalyticsIdentifier extends ResourceIdentifier { + readonly agentId?: string; type: "LogAnalytics"; readonly workspaceId?: string; - readonly workspaceSubscriptionId?: string; readonly workspaceResourceGroup?: string; - readonly agentId?: string; -}; + readonly workspaceSubscriptionId?: string; +} // @public -export type MdeOnboardingData = Resource & { - onboardingPackageWindows?: Uint8Array; +export interface MdeOnboardingData extends Resource { onboardingPackageLinux?: Uint8Array; -}; + onboardingPackageWindows?: Uint8Array; +} // @public export interface MdeOnboardingDataList { @@ -3457,41 +3828,44 @@ export interface MdeOnboardingsListOptionalParams extends coreClient.OperationOp export type MdeOnboardingsListResponse = MdeOnboardingDataList; // @public -export type MqttC2DMessagesNotInAllowedRange = TimeWindowCustomAlertRule & { +export type MinimalSeverity = string; + +// @public +export interface MqttC2DMessagesNotInAllowedRange extends TimeWindowCustomAlertRule { ruleType: "MqttC2DMessagesNotInAllowedRange"; -}; +} // @public -export type MqttC2DRejectedMessagesNotInAllowedRange = TimeWindowCustomAlertRule & { +export interface MqttC2DRejectedMessagesNotInAllowedRange extends TimeWindowCustomAlertRule { ruleType: "MqttC2DRejectedMessagesNotInAllowedRange"; -}; +} // @public -export type MqttD2CMessagesNotInAllowedRange = TimeWindowCustomAlertRule & { +export interface MqttD2CMessagesNotInAllowedRange extends TimeWindowCustomAlertRule { ruleType: "MqttD2CMessagesNotInAllowedRange"; -}; +} // @public export type OfferingType = string; // @public -export type OnPremiseResourceDetails = ResourceDetails & { +export interface OnPremiseResourceDetails extends ResourceDetails { + machineName: string; source: "OnPremise" | "OnPremiseSql"; - workspaceId: string; - vmuuid: string; sourceComputerId: string; - machineName: string; -}; + vmuuid: string; + workspaceId: string; +} // @public (undocumented) export type OnPremiseResourceDetailsUnion = OnPremiseResourceDetails | OnPremiseSqlResourceDetails; // @public -export type OnPremiseSqlResourceDetails = OnPremiseResourceDetails & { - source: "OnPremiseSql"; - serverName: string; +export interface OnPremiseSqlResourceDetails extends OnPremiseResourceDetails { databaseName: string; -}; + serverName: string; + source: "OnPremiseSql"; +} // @public export interface Operation { @@ -3558,11 +3932,13 @@ export interface PathRecommendation { export type PermissionProperty = string; // @public -export type Pricing = Resource & { +export interface Pricing extends Resource { + readonly deprecated?: boolean; + readonly freeTrialRemainingTime?: string; pricingTier?: PricingTier; + readonly replacedBy?: string[]; subPlan?: string; - readonly freeTrialRemainingTime?: string; -}; +} // @public export interface PricingList { @@ -3601,9 +3977,9 @@ export type PricingsUpdateResponse = Pricing; export type PricingTier = string; // @public -export type ProcessNotAllowed = AllowlistCustomAlertRule & { +export interface ProcessNotAllowed extends AllowlistCustomAlertRule { ruleType: "ProcessNotAllowed"; -}; +} // @public export type PropertyType = string; @@ -3644,9 +4020,9 @@ export interface QueryCheck { } // @public -export type QueuePurgesNotInAllowedRange = TimeWindowCustomAlertRule & { +export interface QueuePurgesNotInAllowedRange extends TimeWindowCustomAlertRule { ruleType: "QueuePurgesNotInAllowedRange"; -}; +} // @public export type Rank = "None" | "Low" | "Medium" | "High" | "Critical"; @@ -3671,16 +4047,16 @@ export type RecommendationStatus = string; export type RecommendationType = string; // @public -export type RegulatoryComplianceAssessment = Resource & { - readonly description?: string; - readonly assessmentType?: string; +export interface RegulatoryComplianceAssessment extends Resource { readonly assessmentDetailsLink?: string; - state?: State; - readonly passedResources?: number; + readonly assessmentType?: string; + readonly description?: string; readonly failedResources?: number; + readonly passedResources?: number; readonly skippedResources?: number; + state?: State; readonly unsupportedResources?: number; -}; +} // @public export interface RegulatoryComplianceAssessmentList { @@ -3719,13 +4095,13 @@ export interface RegulatoryComplianceAssessmentsListOptionalParams extends coreC export type RegulatoryComplianceAssessmentsListResponse = RegulatoryComplianceAssessmentList; // @public -export type RegulatoryComplianceControl = Resource & { +export interface RegulatoryComplianceControl extends Resource { readonly description?: string; - state?: State; - readonly passedAssessments?: number; readonly failedAssessments?: number; + readonly passedAssessments?: number; readonly skippedAssessments?: number; -}; + state?: State; +} // @public export interface RegulatoryComplianceControlList { @@ -3763,13 +4139,13 @@ export interface RegulatoryComplianceControlsListOptionalParams extends coreClie export type RegulatoryComplianceControlsListResponse = RegulatoryComplianceControlList; // @public -export type RegulatoryComplianceStandard = Resource & { - state?: State; - readonly passedControls?: number; +export interface RegulatoryComplianceStandard extends Resource { readonly failedControls?: number; + readonly passedControls?: number; readonly skippedControls?: number; + state?: State; readonly unsupportedControls?: number; -}; +} // @public export interface RegulatoryComplianceStandardList { @@ -3815,6 +4191,12 @@ export interface Remediation { scripts?: string[]; } +// @public +export interface RemediationEta { + eta: Date; + justification: string; +} + // @public export type ReportedSeverity = string; @@ -3847,6 +4229,9 @@ export type ResourceIdentifierUnion = ResourceIdentifier | AzureResourceIdentifi // @public export type ResourceStatus = string; +// @public +export type Roles = string; + // @public export interface Rule { destinationPort?: number; @@ -3857,9 +4242,9 @@ export interface Rule { } // @public -export type RuleResults = Resource & { +export interface RuleResults extends Resource { properties?: RuleResultsProperties; -}; +} // @public export interface RuleResultsInput { @@ -3898,9 +4283,12 @@ export type RuleStatus = string; export type RuleType = string; // @public -export type Scan = Resource & { +export interface Scan extends Resource { properties?: ScanProperties; -}; +} + +// @public +export type ScanningMode = string; // @public export interface ScanProperties { @@ -3921,9 +4309,9 @@ export interface ScanProperties { } // @public -export type ScanResult = Resource & { +export interface ScanResult extends Resource { properties?: ScanResultProperties; -}; +} // @public export interface ScanResultProperties { @@ -3959,13 +4347,13 @@ export interface ScopeElement { } // @public -export type SecureScoreControlDefinitionItem = Resource & { - readonly displayName?: string; +export interface SecureScoreControlDefinitionItem extends Resource { + readonly assessmentDefinitions?: AzureResourceLink[]; readonly description?: string; + readonly displayName?: string; readonly maxScore?: number; readonly source?: SecureScoreControlDefinitionSource; - readonly assessmentDefinitions?: AzureResourceLink[]; -}; +} // @public export interface SecureScoreControlDefinitionList { @@ -4013,17 +4401,17 @@ export interface SecureScoreControlDefinitionSource { } // @public -export type SecureScoreControlDetails = Resource & { +export interface SecureScoreControlDetails extends Resource { + readonly current?: number; + definition?: SecureScoreControlDefinitionItem; readonly displayName?: string; readonly healthyResourceCount?: number; - readonly unhealthyResourceCount?: number; - readonly notApplicableResourceCount?: number; - readonly weight?: number; - definition?: SecureScoreControlDefinitionItem; readonly max?: number; - readonly current?: number; + readonly notApplicableResourceCount?: number; readonly percentage?: number; -}; + readonly unhealthyResourceCount?: number; + readonly weight?: number; +} // @public export interface SecureScoreControlList { @@ -4077,13 +4465,13 @@ export interface SecureScoreControlsListOptionalParams extends coreClient.Operat export type SecureScoreControlsListResponse = SecureScoreControlList; // @public -export type SecureScoreItem = Resource & { +export interface SecureScoreItem extends Resource { + readonly current?: number; readonly displayName?: string; - readonly weight?: number; readonly max?: number; - readonly current?: number; readonly percentage?: number; -}; + readonly weight?: number; +} // @public export interface SecureScores { @@ -4119,17 +4507,17 @@ export interface SecureScoresListOptionalParams extends coreClient.OperationOpti export type SecureScoresListResponse = SecureScoresList; // @public -export type SecurityAssessment = Resource & { - resourceDetails?: ResourceDetailsUnion; - readonly displayName?: string; +export interface SecurityAssessment extends Resource { additionalData?: { [propertyName: string]: string; }; + readonly displayName?: string; readonly links?: AssessmentLinks; metadata?: SecurityAssessmentMetadataProperties; partnersData?: SecurityAssessmentPartnerData; + resourceDetails?: ResourceDetailsUnion; status?: AssessmentStatus; -}; +} // @public export interface SecurityAssessmentList { @@ -4138,20 +4526,22 @@ export interface SecurityAssessmentList { } // @public -export type SecurityAssessmentMetadata = Resource & { +export interface SecurityAssessmentMetadata extends Resource { + assessmentType?: AssessmentType; + // (undocumented) + categories?: Categories[]; + description?: string; displayName?: string; + implementationEffort?: ImplementationEffort; + partnerData?: SecurityAssessmentMetadataPartnerData; readonly policyDefinitionId?: string; - description?: string; + preview?: boolean; remediationDescription?: string; - categories?: Categories[]; severity?: Severity; - userImpact?: UserImpact; - implementationEffort?: ImplementationEffort; + // (undocumented) threats?: Threats[]; - preview?: boolean; - assessmentType?: AssessmentType; - partnerData?: SecurityAssessmentMetadataPartnerData; -}; + userImpact?: UserImpact; +} // @public export interface SecurityAssessmentMetadataPartnerData { @@ -4179,12 +4569,16 @@ export interface SecurityAssessmentMetadataProperties { } // @public -export type SecurityAssessmentMetadataPropertiesResponse = SecurityAssessmentMetadataProperties & { - publishDates?: SecurityAssessmentMetadataPropertiesResponsePublishDates; +export interface SecurityAssessmentMetadataPropertiesResponse extends SecurityAssessmentMetadataProperties { + // (undocumented) plannedDeprecationDate?: string; + // (undocumented) + publishDates?: SecurityAssessmentMetadataPropertiesResponsePublishDates; + // (undocumented) tactics?: Tactics[]; + // (undocumented) techniques?: Techniques[]; -}; +} // @public (undocumented) export interface SecurityAssessmentMetadataPropertiesResponsePublishDates { @@ -4195,24 +4589,30 @@ export interface SecurityAssessmentMetadataPropertiesResponsePublishDates { } // @public -export type SecurityAssessmentMetadataResponse = Resource & { - displayName?: string; - readonly policyDefinitionId?: string; - description?: string; - remediationDescription?: string; +export interface SecurityAssessmentMetadataResponse extends Resource { + assessmentType?: AssessmentType; + // (undocumented) categories?: Categories[]; - severity?: Severity; - userImpact?: UserImpact; + description?: string; + displayName?: string; implementationEffort?: ImplementationEffort; - threats?: Threats[]; - preview?: boolean; - assessmentType?: AssessmentType; partnerData?: SecurityAssessmentMetadataPartnerData; - publishDates?: SecurityAssessmentMetadataPropertiesResponsePublishDates; + // (undocumented) plannedDeprecationDate?: string; + readonly policyDefinitionId?: string; + preview?: boolean; + // (undocumented) + publishDates?: SecurityAssessmentMetadataPropertiesResponsePublishDates; + remediationDescription?: string; + severity?: Severity; + // (undocumented) tactics?: Tactics[]; + // (undocumented) techniques?: Techniques[]; -}; + // (undocumented) + threats?: Threats[]; + userImpact?: UserImpact; +} // @public export interface SecurityAssessmentMetadataResponseList { @@ -4227,9 +4627,9 @@ export interface SecurityAssessmentPartnerData { } // @public -export type SecurityAssessmentProperties = SecurityAssessmentPropertiesBase & { +export interface SecurityAssessmentProperties extends SecurityAssessmentPropertiesBase { status: AssessmentStatus; -}; +} // @public export interface SecurityAssessmentPropertiesBase { @@ -4244,22 +4644,22 @@ export interface SecurityAssessmentPropertiesBase { } // @public -export type SecurityAssessmentPropertiesResponse = SecurityAssessmentPropertiesBase & { +export interface SecurityAssessmentPropertiesResponse extends SecurityAssessmentPropertiesBase { status: AssessmentStatusResponse; -}; +} // @public -export type SecurityAssessmentResponse = Resource & { - resourceDetails?: ResourceDetailsUnion; - readonly displayName?: string; +export interface SecurityAssessmentResponse extends Resource { additionalData?: { [propertyName: string]: string; }; + readonly displayName?: string; readonly links?: AssessmentLinks; metadata?: SecurityAssessmentMetadataProperties; partnersData?: SecurityAssessmentPartnerData; + resourceDetails?: ResourceDetailsUnion; status?: AssessmentStatusResponse; -}; +} // @public (undocumented) export class SecurityCenter extends coreClient.ServiceClient { @@ -4279,6 +4679,10 @@ export class SecurityCenter extends coreClient.ServiceClient { // (undocumented) allowedConnections: AllowedConnections; // (undocumented) + applicationOperations: ApplicationOperations; + // (undocumented) + applications: Applications; + // (undocumented) assessments: Assessments; // (undocumented) assessmentsMetadata: AssessmentsMetadata; @@ -4303,6 +4707,12 @@ export class SecurityCenter extends coreClient.ServiceClient { // (undocumented) externalSecuritySolutions: ExternalSecuritySolutions; // (undocumented) + governanceAssignments: GovernanceAssignments; + // (undocumented) + governanceRuleOperations: GovernanceRuleOperations; + // (undocumented) + governanceRules: GovernanceRules; + // (undocumented) informationProtectionPolicies: InformationProtectionPolicies; // (undocumented) ingestionSettings: IngestionSettings; @@ -4337,6 +4747,16 @@ export class SecurityCenter extends coreClient.ServiceClient { // (undocumented) secureScores: SecureScores; // (undocumented) + securityConnectorApplication: SecurityConnectorApplication; + // (undocumented) + securityConnectorApplications: SecurityConnectorApplications; + // (undocumented) + securityConnectorGovernanceRule: SecurityConnectorGovernanceRule; + // (undocumented) + securityConnectorGovernanceRules: SecurityConnectorGovernanceRules; + // (undocumented) + securityConnectorGovernanceRulesExecuteStatus: SecurityConnectorGovernanceRulesExecuteStatus; + // (undocumented) securityConnectors: SecurityConnectors; // (undocumented) securityContacts: SecurityContacts; @@ -4359,6 +4779,8 @@ export class SecurityCenter extends coreClient.ServiceClient { // (undocumented) subAssessments: SubAssessments; // (undocumented) + subscriptionGovernanceRulesExecuteStatus: SubscriptionGovernanceRulesExecuteStatus; + // (undocumented) subscriptionId: string; // (undocumented) tasks: Tasks; @@ -4375,22 +4797,123 @@ export interface SecurityCenterOptionalParams extends coreClient.ServiceClientOp } // @public -export type SecurityConnector = TrackedResource & { - readonly systemData?: SystemData; +export interface SecurityConnector extends TrackedResource { + environmentData?: EnvironmentDataUnion; + environmentName?: CloudName; hierarchyIdentifier?: string; - cloudName?: CloudName; + readonly hierarchyIdentifierTrialEndDate?: Date; offerings?: CloudOfferingUnion[]; - organizationalData?: SecurityConnectorPropertiesOrganizationalData; -}; + readonly systemData?: SystemData; +} // @public -export interface SecurityConnectorPropertiesOrganizationalData { - excludedAccountIds?: string[]; - organizationMembershipType?: OrganizationMembershipType; - parentHierarchyId?: string; - stacksetName?: string; +export interface SecurityConnectorApplication { + createOrUpdate(resourceGroupName: string, securityConnectorName: string, applicationId: string, application: Application, options?: SecurityConnectorApplicationCreateOrUpdateOptionalParams): Promise; + delete(resourceGroupName: string, securityConnectorName: string, applicationId: string, options?: SecurityConnectorApplicationDeleteOptionalParams): Promise; + get(resourceGroupName: string, securityConnectorName: string, applicationId: string, options?: SecurityConnectorApplicationGetOptionalParams): Promise; +} + +// @public +export interface SecurityConnectorApplicationCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SecurityConnectorApplicationCreateOrUpdateResponse = Application; + +// @public +export interface SecurityConnectorApplicationDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface SecurityConnectorApplicationGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SecurityConnectorApplicationGetResponse = Application; + +// @public +export interface SecurityConnectorApplications { + list(resourceGroupName: string, securityConnectorName: string, options?: SecurityConnectorApplicationsListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface SecurityConnectorApplicationsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SecurityConnectorApplicationsListNextResponse = ApplicationsList; + +// @public +export interface SecurityConnectorApplicationsListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SecurityConnectorApplicationsListResponse = ApplicationsList; + +// @public +export interface SecurityConnectorGovernanceRule { + list(resourceGroupName: string, securityConnectorName: string, options?: SecurityConnectorGovernanceRuleListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface SecurityConnectorGovernanceRuleListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SecurityConnectorGovernanceRuleListNextResponse = GovernanceRuleList; + +// @public +export interface SecurityConnectorGovernanceRuleListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SecurityConnectorGovernanceRuleListResponse = GovernanceRuleList; + +// @public +export interface SecurityConnectorGovernanceRules { + createOrUpdate(resourceGroupName: string, securityConnectorName: string, ruleId: string, governanceRule: GovernanceRule, options?: SecurityConnectorGovernanceRulesCreateOrUpdateOptionalParams): Promise; + delete(resourceGroupName: string, securityConnectorName: string, ruleId: string, options?: SecurityConnectorGovernanceRulesDeleteOptionalParams): Promise; + get(resourceGroupName: string, securityConnectorName: string, ruleId: string, options?: SecurityConnectorGovernanceRulesGetOptionalParams): Promise; +} + +// @public +export interface SecurityConnectorGovernanceRulesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SecurityConnectorGovernanceRulesCreateOrUpdateResponse = GovernanceRule; + +// @public +export interface SecurityConnectorGovernanceRulesDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface SecurityConnectorGovernanceRulesExecuteStatus { + beginGet(resourceGroupName: string, securityConnectorName: string, ruleId: string, operationId: string, options?: SecurityConnectorGovernanceRulesExecuteStatusGetOptionalParams): Promise, SecurityConnectorGovernanceRulesExecuteStatusGetResponse>>; + beginGetAndWait(resourceGroupName: string, securityConnectorName: string, ruleId: string, operationId: string, options?: SecurityConnectorGovernanceRulesExecuteStatusGetOptionalParams): Promise; +} + +// @public +export interface SecurityConnectorGovernanceRulesExecuteStatusGetHeaders { + location?: string; +} + +// @public +export interface SecurityConnectorGovernanceRulesExecuteStatusGetOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type SecurityConnectorGovernanceRulesExecuteStatusGetResponse = ExecuteRuleStatus; + +// @public +export interface SecurityConnectorGovernanceRulesGetOptionalParams extends coreClient.OperationOptions { } +// @public +export type SecurityConnectorGovernanceRulesGetResponse = GovernanceRule; + // @public export interface SecurityConnectors { createOrUpdate(resourceGroupName: string, securityConnectorName: string, securityConnector: SecurityConnector, options?: SecurityConnectorsCreateOrUpdateOptionalParams): Promise; @@ -4461,12 +4984,12 @@ export interface SecurityConnectorsUpdateOptionalParams extends coreClient.Opera export type SecurityConnectorsUpdateResponse = SecurityConnector; // @public -export type SecurityContact = Resource & { - email?: string; +export interface SecurityContact extends Resource { + alertNotifications?: SecurityContactPropertiesAlertNotifications; + emails?: string; + notificationsByRole?: SecurityContactPropertiesNotificationsByRole; phone?: string; - alertNotifications?: AlertNotifications; - alertsToAdmins?: AlertsToAdmins; -}; +} // @public export interface SecurityContactList { @@ -4474,13 +4997,24 @@ export interface SecurityContactList { readonly value?: SecurityContact[]; } +// @public +export interface SecurityContactPropertiesAlertNotifications { + minimalSeverity?: MinimalSeverity; + state?: State; +} + +// @public +export interface SecurityContactPropertiesNotificationsByRole { + roles?: Roles[]; + state?: State; +} + // @public export interface SecurityContacts { create(securityContactName: string, securityContact: SecurityContact, options?: SecurityContactsCreateOptionalParams): Promise; delete(securityContactName: string, options?: SecurityContactsDeleteOptionalParams): Promise; get(securityContactName: string, options?: SecurityContactsGetOptionalParams): Promise; list(options?: SecurityContactsListOptionalParams): PagedAsyncIterableIterator; - update(securityContactName: string, securityContact: SecurityContact, options?: SecurityContactsUpdateOptionalParams): Promise; } // @public @@ -4515,23 +5049,16 @@ export interface SecurityContactsListOptionalParams extends coreClient.Operation // @public export type SecurityContactsListResponse = SecurityContactList; -// @public -export interface SecurityContactsUpdateOptionalParams extends coreClient.OperationOptions { -} - -// @public -export type SecurityContactsUpdateResponse = SecurityContact; - // @public export type SecurityFamily = string; // @public (undocumented) -export type SecuritySolution = Resource & Location_2 & { - securityFamily?: SecurityFamily; +export interface SecuritySolution extends Resource, Location_2 { + protectionStatus?: string; provisioningState?: ProvisioningState; + securityFamily?: SecurityFamily; template?: string; - protectionStatus?: string; -}; +} // @public (undocumented) export interface SecuritySolutionList { @@ -4568,15 +5095,15 @@ export interface SecuritySolutionsListOptionalParams extends coreClient.Operatio export type SecuritySolutionsListResponse = SecuritySolutionList; // @public (undocumented) -export type SecuritySolutionsReferenceData = Resource & Location_2 & { - securityFamily: SecurityFamily; +export interface SecuritySolutionsReferenceData extends Resource, Location_2 { alertVendorName: string; packageInfoUrl: string; productName: string; publisher: string; publisherDisplayName: string; + securityFamily: SecurityFamily; template: string; -}; +} // @public (undocumented) export interface SecuritySolutionsReferenceDataList { @@ -4608,18 +5135,18 @@ export interface SecuritySolutionsReferenceDataOperations { export type SecuritySolutionStatus = string; // @public -export type SecuritySubAssessment = Resource & { - readonly idPropertiesId?: string; - readonly displayName?: string; - status?: SubAssessmentStatus; - readonly remediation?: string; - readonly impact?: string; +export interface SecuritySubAssessment extends Resource { + additionalData?: AdditionalDataUnion; readonly category?: string; readonly description?: string; - readonly timeGenerated?: Date; + readonly displayName?: string; + readonly idPropertiesId?: string; + readonly impact?: string; + readonly remediation?: string; resourceDetails?: ResourceDetailsUnion; - additionalData?: AdditionalDataUnion; -}; + status?: SubAssessmentStatus; + readonly timeGenerated?: Date; +} // @public export interface SecuritySubAssessmentList { @@ -4628,13 +5155,13 @@ export interface SecuritySubAssessmentList { } // @public -export type SecurityTask = Resource & { - readonly state?: string; +export interface SecurityTask extends Resource { readonly creationTimeUtc?: Date; - securityTaskParameters?: SecurityTaskParameters; readonly lastStateChangeTimeUtc?: Date; + securityTaskParameters?: SecurityTaskParameters; + readonly state?: string; readonly subState?: string; -}; +} // @public export interface SecurityTaskList { @@ -4658,9 +5185,9 @@ export interface SensitivityLabel { } // @public -export type ServerVulnerabilityAssessment = Resource & { +export interface ServerVulnerabilityAssessment extends Resource { readonly provisioningState?: ServerVulnerabilityAssessmentPropertiesProvisioningState; -}; +} // @public export interface ServerVulnerabilityAssessmentCreateOrUpdateOptionalParams extends coreClient.OperationOptions { @@ -4708,18 +5235,18 @@ export interface ServerVulnerabilityAssessmentsList { } // @public -export type ServerVulnerabilityProperties = AdditionalData & { +export interface ServerVulnerabilityProperties extends AdditionalData { assessedResourceType: "ServerVulnerabilityAssessment"; - readonly type?: string; + readonly cve?: Cve[]; readonly cvss?: { [propertyName: string]: Cvss; }; readonly patchable?: boolean; - readonly cve?: Cve[]; - readonly threat?: string; readonly publishedTime?: Date; + readonly threat?: string; + readonly type?: string; readonly vendorReferences?: VendorReference[]; -}; +} // @public export interface ServicePrincipalProperties { @@ -4728,9 +5255,9 @@ export interface ServicePrincipalProperties { } // @public -export type Setting = Resource & { +export interface Setting extends Resource { kind: SettingKind; -}; +} // @public export type SettingKind = string; @@ -4789,17 +5316,17 @@ export type Severity = string; export type SeverityEnum = string; // @public -export type Software = Resource & { +export interface Software extends Resource { deviceId?: string; + endOfSupportDate?: string; + endOfSupportStatus?: EndOfSupportStatus; + firstSeenAt?: string; + numberOfKnownVulnerabilities?: number; osPlatform?: string; - vendor?: string; softwareName?: string; + vendor?: string; version?: string; - endOfSupportStatus?: EndOfSupportStatus; - endOfSupportDate?: string; - numberOfKnownVulnerabilities?: number; - firstSeenAt?: string; -}; +} // @public export interface SoftwareInventories { @@ -4857,11 +5384,11 @@ export type Source = string; export type SourceSystem = string; // @public -export type SqlServerVulnerabilityProperties = AdditionalData & { +export interface SqlServerVulnerabilityProperties extends AdditionalData { assessedResourceType: "SqlServerVulnerability"; - readonly type?: string; readonly query?: string; -}; + readonly type?: string; +} // @public export interface SqlVulnerabilityAssessmentBaselineRules { @@ -5008,6 +5535,29 @@ export interface SubAssessmentStatus { // @public export type SubAssessmentStatusCode = string; +// @public +export type SubPlan = string; + +// @public +export interface SubscriptionGovernanceRulesExecuteStatus { + beginGet(ruleId: string, operationId: string, options?: SubscriptionGovernanceRulesExecuteStatusGetOptionalParams): Promise, SubscriptionGovernanceRulesExecuteStatusGetResponse>>; + beginGetAndWait(ruleId: string, operationId: string, options?: SubscriptionGovernanceRulesExecuteStatusGetOptionalParams): Promise; +} + +// @public +export interface SubscriptionGovernanceRulesExecuteStatusGetHeaders { + location?: string; +} + +// @public +export interface SubscriptionGovernanceRulesExecuteStatusGetOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type SubscriptionGovernanceRulesExecuteStatusGetResponse = ExecuteRuleStatus; + // @public export type SupportedCloudEnum = string; @@ -5134,20 +5684,20 @@ export type Techniques = string; export type Threats = string; // @public -export type ThresholdCustomAlertRule = CustomAlertRule & { - ruleType: "ThresholdCustomAlertRule" | "TimeWindowCustomAlertRule" | "ActiveConnectionsNotInAllowedRange" | "AmqpC2DMessagesNotInAllowedRange" | "MqttC2DMessagesNotInAllowedRange" | "HttpC2DMessagesNotInAllowedRange" | "AmqpC2DRejectedMessagesNotInAllowedRange" | "MqttC2DRejectedMessagesNotInAllowedRange" | "HttpC2DRejectedMessagesNotInAllowedRange" | "AmqpD2CMessagesNotInAllowedRange" | "MqttD2CMessagesNotInAllowedRange" | "HttpD2CMessagesNotInAllowedRange" | "DirectMethodInvokesNotInAllowedRange" | "FailedLocalLoginsNotInAllowedRange" | "FileUploadsNotInAllowedRange" | "QueuePurgesNotInAllowedRange" | "TwinUpdatesNotInAllowedRange" | "UnauthorizedOperationsNotInAllowedRange"; - minThreshold: number; +export interface ThresholdCustomAlertRule extends CustomAlertRule { maxThreshold: number; -}; + minThreshold: number; + ruleType: "ThresholdCustomAlertRule" | "TimeWindowCustomAlertRule" | "ActiveConnectionsNotInAllowedRange" | "AmqpC2DMessagesNotInAllowedRange" | "MqttC2DMessagesNotInAllowedRange" | "HttpC2DMessagesNotInAllowedRange" | "AmqpC2DRejectedMessagesNotInAllowedRange" | "MqttC2DRejectedMessagesNotInAllowedRange" | "HttpC2DRejectedMessagesNotInAllowedRange" | "AmqpD2CMessagesNotInAllowedRange" | "MqttD2CMessagesNotInAllowedRange" | "HttpD2CMessagesNotInAllowedRange" | "DirectMethodInvokesNotInAllowedRange" | "FailedLocalLoginsNotInAllowedRange" | "FileUploadsNotInAllowedRange" | "QueuePurgesNotInAllowedRange" | "TwinUpdatesNotInAllowedRange" | "UnauthorizedOperationsNotInAllowedRange"; +} // @public (undocumented) export type ThresholdCustomAlertRuleUnion = ThresholdCustomAlertRule | TimeWindowCustomAlertRuleUnion; // @public -export type TimeWindowCustomAlertRule = ThresholdCustomAlertRule & { +export interface TimeWindowCustomAlertRule extends ThresholdCustomAlertRule { ruleType: "TimeWindowCustomAlertRule" | "ActiveConnectionsNotInAllowedRange" | "AmqpC2DMessagesNotInAllowedRange" | "MqttC2DMessagesNotInAllowedRange" | "HttpC2DMessagesNotInAllowedRange" | "AmqpC2DRejectedMessagesNotInAllowedRange" | "MqttC2DRejectedMessagesNotInAllowedRange" | "HttpC2DRejectedMessagesNotInAllowedRange" | "AmqpD2CMessagesNotInAllowedRange" | "MqttD2CMessagesNotInAllowedRange" | "HttpD2CMessagesNotInAllowedRange" | "DirectMethodInvokesNotInAllowedRange" | "FailedLocalLoginsNotInAllowedRange" | "FileUploadsNotInAllowedRange" | "QueuePurgesNotInAllowedRange" | "TwinUpdatesNotInAllowedRange" | "UnauthorizedOperationsNotInAllowedRange"; timeWindowSize: string; -}; +} // @public (undocumented) export type TimeWindowCustomAlertRuleUnion = TimeWindowCustomAlertRule | ActiveConnectionsNotInAllowedRange | AmqpC2DMessagesNotInAllowedRange | MqttC2DMessagesNotInAllowedRange | HttpC2DMessagesNotInAllowedRange | AmqpC2DRejectedMessagesNotInAllowedRange | MqttC2DRejectedMessagesNotInAllowedRange | HttpC2DRejectedMessagesNotInAllowedRange | AmqpD2CMessagesNotInAllowedRange | MqttD2CMessagesNotInAllowedRange | HttpD2CMessagesNotInAllowedRange | DirectMethodInvokesNotInAllowedRange | FailedLocalLoginsNotInAllowedRange | FileUploadsNotInAllowedRange | QueuePurgesNotInAllowedRange | TwinUpdatesNotInAllowedRange | UnauthorizedOperationsNotInAllowedRange; @@ -5201,10 +5751,10 @@ export interface TopologyListOptionalParams extends coreClient.OperationOptions export type TopologyListResponse = TopologyList; // @public (undocumented) -export type TopologyResource = Resource & Location_2 & { +export interface TopologyResource extends Resource, Location_2 { readonly calculatedDateTime?: Date; readonly topologyResources?: TopologySingleResource[]; -}; +} // @public (undocumented) export interface TopologySingleResource { @@ -5229,29 +5779,33 @@ export interface TopologySingleResourceParent { } // @public -export type TrackedResource = Resource & AzureTrackedResourceLocation & KindAutoGenerated & ETag & Tags & {}; +export interface TrackedResource extends Resource, AzureTrackedResourceLocation, KindAutoGenerated, ETag, Tags { +} // @public export type TransportProtocol = string; // @public -export type TwinUpdatesNotInAllowedRange = TimeWindowCustomAlertRule & { +export interface TwinUpdatesNotInAllowedRange extends TimeWindowCustomAlertRule { ruleType: "TwinUpdatesNotInAllowedRange"; -}; +} + +// @public +export type Type = string; // @public -export type UnauthorizedOperationsNotInAllowedRange = TimeWindowCustomAlertRule & { +export interface UnauthorizedOperationsNotInAllowedRange extends TimeWindowCustomAlertRule { ruleType: "UnauthorizedOperationsNotInAllowedRange"; -}; +} // @public export type UnmaskedIpLoggingStatus = string; // @public (undocumented) -export type UpdateIotSecuritySolutionData = TagsResource & { - userDefinedResources?: UserDefinedResourcesProperties; +export interface UpdateIotSecuritySolutionData extends TagsResource { recommendationsConfiguration?: RecommendationConfigurationProperties[]; -}; + userDefinedResources?: UserDefinedResourcesProperties; +} // @public export interface UserDefinedResourcesProperties { @@ -5299,10 +5853,10 @@ export interface VmRecommendation { } // @public -export type WorkspaceSetting = Resource & { - workspaceId?: string; +export interface WorkspaceSetting extends Resource { scope?: string; -}; + workspaceId?: string; +} // @public export interface WorkspaceSettingList { diff --git a/sdk/security/arm-security/src/models/index.ts b/sdk/security/arm-security/src/models/index.ts index d1c8614ffa3d..3f5371b12ec0 100644 --- a/sdk/security/arm-security/src/models/index.ts +++ b/sdk/security/arm-security/src/models/index.ts @@ -43,12 +43,28 @@ export type CloudOfferingUnion = | CspmMonitorAwsOffering | DefenderForContainersAwsOffering | DefenderForServersAwsOffering - | InformationProtectionAwsOffering; -export type ExternalSecuritySolutionUnion = - | ExternalSecuritySolution - | CefExternalSecuritySolution - | AtaExternalSecuritySolution - | AadExternalSecuritySolution; + | DefenderFoDatabasesAwsOffering + | InformationProtectionAwsOffering + | CspmMonitorGcpOffering + | DefenderForServersGcpOffering + | DefenderForDatabasesGcpOffering + | DefenderForContainersGcpOffering + | CspmMonitorGithubOffering + | CspmMonitorAzureDevOpsOffering; +export type EnvironmentDataUnion = + | EnvironmentData + | AWSEnvironmentData + | GcpProjectEnvironmentData + | GithubScopeEnvironmentData + | AzureDevOpsScopeEnvironmentData; +export type AwsOrganizationalDataUnion = + | AwsOrganizationalData + | AwsOrganizationalDataMaster + | AwsOrganizationalDataMember; +export type GcpOrganizationalDataUnion = + | GcpOrganizationalData + | GcpOrganizationalDataOrganization + | GcpOrganizationalDataMember; export type SettingUnion = Setting | DataExportSettings | AlertSyncSettings; export type ThresholdCustomAlertRuleUnion = | ThresholdCustomAlertRule @@ -651,6 +667,22 @@ export interface SecurityContactList { readonly nextLink?: string; } +/** Defines whether to send email notifications about new security alerts */ +export interface SecurityContactPropertiesAlertNotifications { + /** Defines if email notifications will be sent about new security alerts */ + state?: State; + /** Defines the minimal alert severity which will be sent as email notifications */ + minimalSeverity?: MinimalSeverity; +} + +/** Defines whether to send email notifications from Microsoft Defender for Cloud to persons with specific RBAC roles on the subscription. */ +export interface SecurityContactPropertiesNotificationsByRole { + /** Defines whether to send email notifications from AMicrosoft Defender for Cloud to persons with specific RBAC roles on the subscription. */ + state?: State; + /** Defines which RBAC roles will get email notifications from Microsoft Defender for Cloud. List of allowed RBAC roles: */ + roles?: Roles[]; +} + /** List of workspace settings response */ export interface WorkspaceSettingList { /** List of workspace settings */ @@ -971,7 +1003,7 @@ export interface SecurityAssessmentPartnerData { secret: string; } -/** Represents a list of machine groups and set of rules that are recommended by Azure Security Center to be allowed */ +/** Represents a list of VM/server groups and set of rules that are Recommended by Microsoft Defender for Cloud to be allowed */ export interface AdaptiveApplicationControlGroups { value?: AdaptiveApplicationControlGroup[]; } @@ -1310,7 +1342,7 @@ export interface SecuritySolutionsReferenceDataList { } export interface ExternalSecuritySolutionList { - value?: ExternalSecuritySolutionUnion[]; + value?: ExternalSecuritySolution[]; /** * The URI to fetch the next page. * NOTE: This property will not be serialized. It can only be populated by the server. @@ -1648,6 +1680,17 @@ export interface AlertEntity { readonly type?: string; } +/** Changing set of properties depending on the supportingEvidence type. */ +export interface AlertPropertiesSupportingEvidence { + /** Describes unknown properties. The value of an unknown property can be of "any" type. */ + [property: string]: any; + /** + * Type of the supportingEvidence + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly type?: string; +} + /** Alert Simulator request body. */ export interface AlertSimulatorRequestBody { /** Alert Simulator request body data. */ @@ -1744,7 +1787,14 @@ export interface CloudOffering { | "CspmMonitorAws" | "DefenderForContainersAws" | "DefenderForServersAws" - | "InformationProtectionAws"; + | "DefenderForDatabasesAws" + | "InformationProtectionAws" + | "CspmMonitorGcp" + | "DefenderForServersGcp" + | "DefenderForDatabasesGcp" + | "DefenderForContainersGcp" + | "CspmMonitorGithub" + | "CspmMonitorAzureDevOps"; /** * The offering description. * NOTE: This property will not be serialized. It can only be populated by the server. @@ -1752,16 +1802,113 @@ export interface CloudOffering { readonly description?: string; } -/** The multi cloud account's organizational data */ -export interface SecurityConnectorPropertiesOrganizationalData { - /** The multi cloud account's membership type in the organization */ - organizationMembershipType?: OrganizationMembershipType; - /** If the multi cloud account is not of membership type organization, this will be the ID of the account's parent */ - parentHierarchyId?: string; - /** If the multi cloud account is of membership type organization, this will be the name of the onboarding stackset */ - stacksetName?: string; - /** If the multi cloud account is of membership type organization, list of accounts excluded from offering */ - excludedAccountIds?: string[]; +/** The security connector environment data. */ +export interface EnvironmentData { + /** Polymorphic discriminator, which specifies the different types this object can be */ + environmentType: + | "AwsAccount" + | "GcpProject" + | "GithubScope" + | "AzureDevOpsScope"; +} + +/** Page of a security governanceRules list */ +export interface GovernanceRuleList { + /** + * Collection of governanceRules in this page + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly value?: GovernanceRule[]; + /** + * The URI to fetch the next page + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly nextLink?: string; +} + +/** Describe the owner source of governance rule */ +export interface GovernanceRuleOwnerSource { + /** The owner type for the governance rule owner source */ + type?: GovernanceRuleOwnerSourceType; + /** The source value e.g. tag key like owner name or email address */ + value?: string; +} + +/** The governance email weekly notification configuration. */ +export interface GovernanceRuleEmailNotification { + /** Defines whether manager email notifications are disabled. */ + disableManagerEmailNotification?: boolean; + /** Defines whether owner email notifications are disabled. */ + disableOwnerEmailNotification?: boolean; +} + +/** Governance rule execution parameters */ +export interface ExecuteGovernanceRuleParams { + /** Describe if governance rule should be override */ + override?: boolean; +} + +/** Execute status of Security GovernanceRule over a given scope */ +export interface ExecuteRuleStatus { + /** + * Unique key for the execution of GovernanceRule + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly operationId?: string; +} + +/** Page of a security governance assignments list */ +export interface GovernanceAssignmentsList { + /** + * Collection of governance assignments in this page + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly value?: GovernanceAssignment[]; + /** + * The URI to fetch the next page + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly nextLink?: string; +} + +/** The ETA (estimated time of arrival) for remediation */ +export interface RemediationEta { + /** ETA for remediation. */ + eta: Date; + /** Justification for change of Eta. */ + justification: string; +} + +/** The governance email weekly notification configuration. */ +export interface GovernanceEmailNotification { + /** Exclude manager from weekly email notification. */ + disableManagerEmailNotification?: boolean; + /** Exclude owner from weekly email notification. */ + disableOwnerEmailNotification?: boolean; +} + +/** Describe the additional data of GovernanceAssignment - optional */ +export interface GovernanceAssignmentAdditionalData { + /** Ticket number associated with this GovernanceAssignment */ + ticketNumber?: number; + /** Ticket link associated with this GovernanceAssignment - for example: https://snow.com */ + ticketLink?: string; + /** The ticket status associated with this GovernanceAssignment - for example: Active */ + ticketStatus?: string; +} + +/** Page of a security applications list */ +export interface ApplicationsList { + /** + * Collection of applications in this page + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly value?: Application[]; + /** + * The URI to fetch the next page + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly nextLink?: string; } /** CVSS details */ @@ -1842,6 +1989,31 @@ export interface SecureScoreControlScore { readonly percentage?: number; } +/** The awsOrganization data */ +export interface AwsOrganizationalData { + /** Polymorphic discriminator, which specifies the different types this object can be */ + organizationMembershipType: "Organization" | "Member"; +} + +/** The gcpOrganization data */ +export interface GcpOrganizationalData { + /** Polymorphic discriminator, which specifies the different types this object can be */ + organizationMembershipType: "Organization" | "Member"; +} + +/** The details about the project represented by the security connector */ +export interface GcpProjectDetails { + /** The unique GCP Project number */ + projectNumber?: string; + /** The GCP Project id */ + projectId?: string; + /** + * The GCP workload identity federation pool id + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly workloadIdentityPoolId?: string; +} + /** The native cloud connection configuration */ export interface CspmMonitorAwsOfferingNativeCloudConnection { /** The cloud role ARN in AWS for this feature */ @@ -1850,24 +2022,36 @@ export interface CspmMonitorAwsOfferingNativeCloudConnection { /** The kubernetes service connection configuration */ export interface DefenderForContainersAwsOfferingKubernetesService { - /** The cloud role ARN in AWS for this feature */ + /** The cloud role ARN in AWS for this feature used for provisioning resources */ cloudRoleArn?: string; } /** The kubernetes to scuba connection configuration */ export interface DefenderForContainersAwsOfferingKubernetesScubaReader { - /** The cloud role ARN in AWS for this feature */ + /** The cloud role ARN in AWS for this feature used for reading data */ cloudRoleArn?: string; } /** The cloudwatch to kinesis connection configuration */ export interface DefenderForContainersAwsOfferingCloudWatchToKinesis { - /** The cloud role ARN in AWS for this feature */ + /** The cloud role ARN in AWS used by CloudWatch to transfer data into Kinesis */ cloudRoleArn?: string; } /** The kinesis to s3 connection configuration */ export interface DefenderForContainersAwsOfferingKinesisToS3 { + /** The cloud role ARN in AWS used by Kinesis to transfer data into S3 */ + cloudRoleArn?: string; +} + +/** The container vulnerability assessment configuration */ +export interface DefenderForContainersAwsOfferingContainerVulnerabilityAssessment { + /** The cloud role ARN in AWS for this feature */ + cloudRoleArn?: string; +} + +/** The container vulnerability assessment task configuration */ +export interface DefenderForContainersAwsOfferingContainerVulnerabilityAssessmentTask { /** The cloud role ARN in AWS for this feature */ cloudRoleArn?: string; } @@ -1882,6 +2066,8 @@ export interface DefenderForServersAwsOfferingDefenderForServers { export interface DefenderForServersAwsOfferingArcAutoProvisioning { /** Is arc auto provisioning enabled */ enabled?: boolean; + /** The cloud role ARN in AWS for this feature */ + cloudRoleArn?: string; /** Metadata of Service Principal secret for autoprovisioning */ servicePrincipalSecretMetadata?: DefenderForServersAwsOfferingArcAutoProvisioningServicePrincipalSecretMetadata; } @@ -1896,22 +2082,208 @@ export interface DefenderForServersAwsOfferingArcAutoProvisioningServicePrincipa parameterNameInStore?: string; } +/** The Vulnerability Assessment autoprovisioning configuration */ +export interface DefenderForServersAwsOfferingVaAutoProvisioning { + /** Is Vulnerability Assessment auto provisioning enabled */ + enabled?: boolean; + /** configuration for Vulnerability Assessment autoprovisioning */ + configuration?: DefenderForServersAwsOfferingVaAutoProvisioningConfiguration; +} + +/** configuration for Vulnerability Assessment autoprovisioning */ +export interface DefenderForServersAwsOfferingVaAutoProvisioningConfiguration { + /** The Vulnerability Assessment solution to be provisioned. Can be either 'TVM' or 'Qualys' */ + type?: Type; +} + +/** The Microsoft Defender for Endpoint autoprovisioning configuration */ +export interface DefenderForServersAwsOfferingMdeAutoProvisioning { + /** Is Microsoft Defender for Endpoint auto provisioning enabled */ + enabled?: boolean; + /** configuration for Microsoft Defender for Endpoint autoprovisioning */ + configuration?: Record; +} + +/** configuration for the servers offering subPlan */ +export interface DefenderForServersAwsOfferingSubPlan { + /** The available sub plans */ + type?: SubPlan; +} + +/** The Microsoft Defender for Server VM scanning configuration */ +export interface DefenderForServersAwsOfferingVmScanners { + /** Is Microsoft Defender for Server VM scanning enabled */ + enabled?: boolean; + /** configuration for Microsoft Defender for Server VM scanning */ + configuration?: DefenderForServersAwsOfferingVmScannersConfiguration; +} + +/** configuration for Microsoft Defender for Server VM scanning */ +export interface DefenderForServersAwsOfferingVmScannersConfiguration { + /** The cloud role ARN in AWS for this feature */ + cloudRoleArn?: string; + /** The scanning mode for the vm scan. */ + scanningMode?: ScanningMode; + /** VM tags that indicates that VM should not be scanned */ + exclusionTags?: Record; +} + +/** The ARC autoprovisioning configuration */ +export interface DefenderFoDatabasesAwsOfferingArcAutoProvisioning { + /** Is arc auto provisioning enabled */ + enabled?: boolean; + /** The cloud role ARN in AWS for this feature */ + cloudRoleArn?: string; + /** Metadata of Service Principal secret for autoprovisioning */ + servicePrincipalSecretMetadata?: DefenderFoDatabasesAwsOfferingArcAutoProvisioningServicePrincipalSecretMetadata; +} + +/** Metadata of Service Principal secret for autoprovisioning */ +export interface DefenderFoDatabasesAwsOfferingArcAutoProvisioningServicePrincipalSecretMetadata { + /** expiration date of service principal secret */ + expiryDate?: Date; + /** region of parameter store where secret is kept */ + parameterStoreRegion?: string; + /** name of secret resource in parameter store */ + parameterNameInStore?: string; +} + /** The native cloud connection configuration */ export interface InformationProtectionAwsOfferingInformationProtection { /** The cloud role ARN in AWS for this feature */ cloudRoleArn?: string; } +/** The native cloud connection configuration */ +export interface CspmMonitorGcpOfferingNativeCloudConnection { + /** The GCP workload identity provider id for the offering */ + workloadIdentityProviderId?: string; + /** The service account email address in GCP for this offering */ + serviceAccountEmailAddress?: string; +} + +/** The Defender for servers connection configuration */ +export interface DefenderForServersGcpOfferingDefenderForServers { + /** The workload identity provider id in GCP for this feature */ + workloadIdentityProviderId?: string; + /** The service account email address in GCP for this feature */ + serviceAccountEmailAddress?: string; +} + +/** The ARC autoprovisioning configuration */ +export interface DefenderForServersGcpOfferingArcAutoProvisioning { + /** Is arc auto provisioning enabled */ + enabled?: boolean; + /** Configuration for ARC autoprovisioning */ + configuration?: DefenderForServersGcpOfferingArcAutoProvisioningConfiguration; +} + +/** Configuration for ARC autoprovisioning */ +export interface DefenderForServersGcpOfferingArcAutoProvisioningConfiguration { + /** The Azure service principal client id for agent onboarding */ + clientId?: string; + /** The agent onboarding service account numeric id */ + agentOnboardingServiceAccountNumericId?: string; +} + +/** The Vulnerability Assessment autoprovisioning configuration */ +export interface DefenderForServersGcpOfferingVaAutoProvisioning { + /** Is Vulnerability Assessment auto provisioning enabled */ + enabled?: boolean; + /** configuration for Vulnerability Assessment autoprovisioning */ + configuration?: DefenderForServersGcpOfferingVaAutoProvisioningConfiguration; +} + +/** configuration for Vulnerability Assessment autoprovisioning */ +export interface DefenderForServersGcpOfferingVaAutoProvisioningConfiguration { + /** The Vulnerability Assessment solution to be provisioned. Can be either 'TVM' or 'Qualys' */ + type?: Type; +} + +/** The Microsoft Defender for Endpoint autoprovisioning configuration */ +export interface DefenderForServersGcpOfferingMdeAutoProvisioning { + /** Is Microsoft Defender for Endpoint auto provisioning enabled */ + enabled?: boolean; + /** configuration for Microsoft Defender for Endpoint autoprovisioning */ + configuration?: Record; +} + +/** configuration for the servers offering subPlan */ +export interface DefenderForServersGcpOfferingSubPlan { + /** The available sub plans */ + type?: SubPlan; +} + +/** The ARC autoprovisioning configuration */ +export interface DefenderForDatabasesGcpOfferingArcAutoProvisioning { + /** Is arc auto provisioning enabled */ + enabled?: boolean; + /** Configuration for ARC autoprovisioning */ + configuration?: DefenderForDatabasesGcpOfferingArcAutoProvisioningConfiguration; +} + +/** Configuration for ARC autoprovisioning */ +export interface DefenderForDatabasesGcpOfferingArcAutoProvisioningConfiguration { + /** The Azure service principal client id for agent onboarding */ + clientId?: string; + /** The agent onboarding service account numeric id */ + agentOnboardingServiceAccountNumericId?: string; +} + +/** The native cloud connection configuration */ +export interface DefenderForDatabasesGcpOfferingDefenderForDatabasesArcAutoProvisioning { + /** The service account email address in GCP for this offering */ + serviceAccountEmailAddress?: string; + /** The GCP workload identity provider id for this offering */ + workloadIdentityProviderId?: string; +} + +/** The native cloud connection configuration */ +export interface DefenderForContainersGcpOfferingNativeCloudConnection { + /** The service account email address in GCP for this offering */ + serviceAccountEmailAddress?: string; + /** The GCP workload identity provider id for this offering */ + workloadIdentityProviderId?: string; +} + +/** The native cloud connection configuration */ +export interface DefenderForContainersGcpOfferingDataPipelineNativeCloudConnection { + /** The data collection service account email address in GCP for this offering */ + serviceAccountEmailAddress?: string; + /** The data collection GCP workload identity provider id for this offering */ + workloadIdentityProviderId?: string; +} + +/** Governance rule's condition */ +export interface Condition { + /** The governance rule Condition's Property, e.g. Severity or AssessmentKey, see examples */ + property?: string; + /** The governance rule Condition's Value like severity Low, High or assessments keys, see examples */ + value?: string; + /** The governance rule Condition's Operator, for example Equals for severity or In for list of assessments, see examples */ + operator?: GovernanceRuleConditionOperator; +} + +/** Application's condition */ +export interface ApplicationCondition { + /** The application Condition's Property, e.g. ID, see examples */ + property?: string; + /** The application Condition's Value like IDs that contain some string, see examples */ + value?: string; + /** The application Condition's Operator, for example Contains for id or In for list of possible IDs, see examples */ + operator?: ApplicationConditionOperator; +} + /** The resource of the configuration or data needed to onboard the machine to MDE */ -export type MdeOnboardingData = Resource & { +export interface MdeOnboardingData extends Resource { /** The onboarding package used to onboard Windows machines to MDE, coded in base64. This can also be used for onboarding using the dedicated VM Extension */ onboardingPackageWindows?: Uint8Array; /** The onboarding package used to onboard Linux machines to MDE, coded in base64. This can also be used for onboarding using the dedicated VM Extension */ onboardingPackageLinux?: Uint8Array; -}; +} /** Custom Assessment Automation */ -export type CustomAssessmentAutomation = Resource & { +export interface CustomAssessmentAutomation extends Resource { /** * Azure Resource Manager metadata containing createdBy and modifiedBy information. * NOTE: This property will not be serialized. It can only be populated by the server. @@ -1931,10 +2303,10 @@ export type CustomAssessmentAutomation = Resource & { remediationDescription?: string; /** The assessment metadata key used when an assessment is generated for this assessment automation. */ assessmentKey?: string; -}; +} /** Custom Assessment Automation request */ -export type CustomAssessmentAutomationRequest = Resource & { +export interface CustomAssessmentAutomationRequest extends Resource { /** Base 64 encoded KQL query representing the assessment automation results required. */ compressedQuery?: string; /** Relevant cloud for the custom assessment automation. */ @@ -1947,10 +2319,10 @@ export type CustomAssessmentAutomationRequest = Resource & { description?: string; /** The remediation description to relate to the assessments generated by this assessment automation. */ remediationDescription?: string; -}; +} /** Custom entity store assignment */ -export type CustomEntityStoreAssignment = Resource & { +export interface CustomEntityStoreAssignment extends Resource { /** * Azure Resource Manager metadata containing createdBy and modifiedBy information. * NOTE: This property will not be serialized. It can only be populated by the server. @@ -1960,20 +2332,20 @@ export type CustomEntityStoreAssignment = Resource & { principal?: string; /** The link to entity store database. */ entityStoreDatabaseLink?: string; -}; +} /** a compliance result */ -export type ComplianceResult = Resource & { +export interface ComplianceResult extends Resource { /** * The status of the resource regarding a single assessment * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly resourceStatus?: ResourceStatus; -}; +} -/** Azure Security Center is provided in two pricing tiers: free and standard, with the standard tier available with a trial period. The standard tier offers advanced security capabilities, while the free tier offers basic security features. */ -export type Pricing = Resource & { - /** The pricing tier value. Azure Security Center is provided in two pricing tiers: free and standard, with the standard tier available with a trial period. The standard tier offers advanced security capabilities, while the free tier offers basic security features. */ +/** Microsoft Defender for Cloud is provided in two pricing tiers: free and standard, with the standard tier available with a trial period. The standard tier offers advanced security capabilities, while the free tier offers basic security features. */ +export interface Pricing extends Resource { + /** The pricing tier value. Microsoft Defender for Cloud is provided in two pricing tiers: free and standard, with the standard tier available with a trial period. The standard tier offers advanced security capabilities, while the free tier offers basic security features. */ pricingTier?: PricingTier; /** The sub-plan selected for a Standard pricing configuration, when more than one sub-plan is available. Each sub-plan enables a set of security features. When not specified, full plan is applied. */ subPlan?: string; @@ -1982,16 +2354,26 @@ export type Pricing = Resource & { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly freeTrialRemainingTime?: string; -}; + /** + * Optional. True if the plan is deprecated. If there are replacing plans they will appear in `replacedBy` property + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly deprecated?: boolean; + /** + * Optional. List of plans that replace this plan. This property exists only if this plan is deprecated. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly replacedBy?: string[]; +} /** The Advanced Threat Protection resource. */ -export type AdvancedThreatProtectionSetting = Resource & { +export interface AdvancedThreatProtectionSetting extends Resource { /** Indicates whether Advanced Threat Protection is enabled. */ isEnabled?: boolean; -}; +} /** The device security group resource */ -export type DeviceSecurityGroup = Resource & { +export interface DeviceSecurityGroup extends Resource { /** The list of custom alert threshold rules. */ thresholdRules?: ThresholdCustomAlertRuleUnion[]; /** The list of custom alert time-window rules. */ @@ -2000,47 +2382,46 @@ export type DeviceSecurityGroup = Resource & { allowlistRules?: AllowlistCustomAlertRuleUnion[]; /** The deny-list custom alert rules. */ denylistRules?: DenylistCustomAlertRule[]; -}; +} /** IoT Security solution configuration and resource information. */ -export type IoTSecuritySolutionModel = Resource & - TagsResource & { - /** The resource location. */ - location?: string; - /** - * Azure Resource Manager metadata containing createdBy and modifiedBy information. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly systemData?: SystemData; - /** Workspace resource ID */ - workspace?: string; - /** Resource display name. */ - displayName?: string; - /** Status of the IoT Security solution. */ - status?: SecuritySolutionStatus; - /** List of additional options for exporting to workspace data. */ - export?: ExportData[]; - /** Disabled data sources. Disabling these data sources compromises the system. */ - disabledDataSources?: DataSource[]; - /** IoT Hub resource IDs */ - iotHubs?: string[]; - /** Properties of the IoT Security solution's user defined resources. */ - userDefinedResources?: UserDefinedResourcesProperties; - /** - * List of resources that were automatically discovered as relevant to the security solution. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly autoDiscoveredResources?: string[]; - /** List of the configuration status for each recommendation type. */ - recommendationsConfiguration?: RecommendationConfigurationProperties[]; - /** Unmasked IP address logging status */ - unmaskedIpLoggingStatus?: UnmaskedIpLoggingStatus; - /** List of additional workspaces */ - additionalWorkspaces?: AdditionalWorkspacesProperties[]; - }; +export interface IoTSecuritySolutionModel extends Resource, TagsResource { + /** The resource location. */ + location?: string; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; + /** Workspace resource ID */ + workspace?: string; + /** Resource display name. */ + displayName?: string; + /** Status of the IoT Security solution. */ + status?: SecuritySolutionStatus; + /** List of additional options for exporting to workspace data. */ + export?: ExportData[]; + /** Disabled data sources. Disabling these data sources compromises the system. */ + disabledDataSources?: DataSource[]; + /** IoT Hub resource IDs */ + iotHubs?: string[]; + /** Properties of the IoT Security solution's user defined resources. */ + userDefinedResources?: UserDefinedResourcesProperties; + /** + * List of resources that were automatically discovered as relevant to the security solution. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly autoDiscoveredResources?: string[]; + /** List of the configuration status for each recommendation type. */ + recommendationsConfiguration?: RecommendationConfigurationProperties[]; + /** Unmasked IP address logging status */ + unmaskedIpLoggingStatus?: UnmaskedIpLoggingStatus; + /** List of additional workspaces */ + additionalWorkspaces?: AdditionalWorkspacesProperties[]; +} /** Security analytics of your IoT Security solution */ -export type IoTSecuritySolutionAnalyticsModel = Resource & { +export interface IoTSecuritySolutionAnalyticsModel extends Resource { /** * Security analytics of your IoT Security solution. * NOTE: This property will not be serialized. It can only be populated by the server. @@ -2062,138 +2443,138 @@ export type IoTSecuritySolutionAnalyticsModel = Resource & { mostPrevalentDeviceAlerts?: IoTSecurityDeviceAlert[]; /** List of the 3 most prevalent device recommendations. */ mostPrevalentDeviceRecommendations?: IoTSecurityDeviceRecommendation[]; -}; +} /** Security Solution Aggregated Alert information */ -export type IoTSecurityAggregatedAlert = Resource & - TagsResource & { - /** - * Name of the alert type. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly alertType?: string; - /** - * Display name of the alert type. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly alertDisplayName?: string; - /** - * Date of detection. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly aggregatedDateUtc?: Date; - /** - * Name of the organization that raised the alert. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly vendorName?: string; - /** - * Assessed alert severity. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly reportedSeverity?: ReportedSeverity; - /** - * Recommended steps for remediation. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly remediationSteps?: string; - /** - * Description of the suspected vulnerability and meaning. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly description?: string; - /** - * Number of alerts occurrences within the aggregated time window. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly count?: number; - /** - * Azure resource ID of the resource that received the alerts. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly effectedResourceType?: string; - /** - * The type of the alerted resource (Azure, Non-Azure). - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly systemSource?: string; - /** - * IoT Security solution alert response. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly actionTaken?: string; - /** - * Log analytics query for getting the list of affected devices/alerts. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly logAnalyticsQuery?: string; - /** - * 10 devices with the highest number of occurrences of this alert type, on this day. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly topDevicesList?: IoTSecurityAggregatedAlertPropertiesTopDevicesListItem[]; - }; +export interface IoTSecurityAggregatedAlert extends Resource, TagsResource { + /** + * Name of the alert type. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly alertType?: string; + /** + * Display name of the alert type. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly alertDisplayName?: string; + /** + * Date of detection. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly aggregatedDateUtc?: Date; + /** + * Name of the organization that raised the alert. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly vendorName?: string; + /** + * Assessed alert severity. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly reportedSeverity?: ReportedSeverity; + /** + * Recommended steps for remediation. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly remediationSteps?: string; + /** + * Description of the suspected vulnerability and meaning. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly description?: string; + /** + * Number of alerts occurrences within the aggregated time window. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly count?: number; + /** + * Azure resource ID of the resource that received the alerts. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly effectedResourceType?: string; + /** + * The type of the alerted resource (Azure, Non-Azure). + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemSource?: string; + /** + * IoT Security solution alert response. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly actionTaken?: string; + /** + * Log analytics query for getting the list of affected devices/alerts. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly logAnalyticsQuery?: string; + /** + * 10 devices with the highest number of occurrences of this alert type, on this day. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly topDevicesList?: IoTSecurityAggregatedAlertPropertiesTopDevicesListItem[]; +} /** IoT Security solution recommendation information. */ -export type IoTSecurityAggregatedRecommendation = Resource & - TagsResource & { - /** Name of the recommendation. */ - recommendationName?: string; - /** - * Display name of the recommendation type. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly recommendationDisplayName?: string; - /** - * Description of the suspected vulnerability and meaning. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly description?: string; - /** - * Recommendation-type GUID. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly recommendationTypeId?: string; - /** - * Name of the organization that made the recommendation. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly detectedBy?: string; - /** - * Recommended steps for remediation - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly remediationSteps?: string; - /** - * Assessed recommendation severity. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly reportedSeverity?: ReportedSeverity; - /** - * Number of healthy devices within the IoT Security solution. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly healthyDevices?: number; - /** - * Number of unhealthy devices within the IoT Security solution. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly unhealthyDeviceCount?: number; - /** - * Log analytics query for getting the list of affected devices/alerts. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly logAnalyticsQuery?: string; - }; +export interface IoTSecurityAggregatedRecommendation + extends Resource, + TagsResource { + /** Name of the recommendation. */ + recommendationName?: string; + /** + * Display name of the recommendation type. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly recommendationDisplayName?: string; + /** + * Description of the suspected vulnerability and meaning. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly description?: string; + /** + * Recommendation-type GUID. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly recommendationTypeId?: string; + /** + * Name of the organization that made the recommendation. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly detectedBy?: string; + /** + * Recommended steps for remediation + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly remediationSteps?: string; + /** + * Assessed recommendation severity. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly reportedSeverity?: ReportedSeverity; + /** + * Number of healthy devices within the IoT Security solution. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly healthyDevices?: number; + /** + * Number of unhealthy devices within the IoT Security solution. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly unhealthyDeviceCount?: number; + /** + * Log analytics query for getting the list of affected devices/alerts. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly logAnalyticsQuery?: string; +} /** The ASC location of the subscription is in the "name" field */ -export type AscLocation = Resource & { - /** Any object */ +export interface AscLocation extends Resource { + /** An empty set of properties */ properties?: Record; -}; +} /** Security task that we recommend to do in order to strengthen security */ -export type SecurityTask = Resource & { +export interface SecurityTask extends Resource { /** * State of the task (Active, Resolved etc.) * NOTE: This property will not be serialized. It can only be populated by the server. @@ -2216,16 +2597,16 @@ export type SecurityTask = Resource & { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly subState?: string; -}; +} /** Auto provisioning setting */ -export type AutoProvisioningSetting = Resource & { +export interface AutoProvisioningSetting extends Resource { /** Describes what kind of security agent provisioning action to take */ autoProvision?: AutoProvision; -}; +} /** Compliance of a scope */ -export type Compliance = Resource & { +export interface Compliance extends Resource { /** * The timestamp when the Compliance calculation was conducted. * NOTE: This property will not be serialized. It can only be populated by the server. @@ -2241,10 +2622,10 @@ export type Compliance = Resource & { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly assessmentResult?: ComplianceSegment[]; -}; +} /** Information protection policy. */ -export type InformationProtectionPolicy = Resource & { +export interface InformationProtectionPolicy extends Resource { /** * Describes the last UTC time the policy was modified. * NOTE: This property will not be serialized. It can only be populated by the server. @@ -2259,30 +2640,30 @@ export type InformationProtectionPolicy = Resource & { labels?: { [propertyName: string]: SensitivityLabel }; /** The sensitivity information types. */ informationTypes?: { [propertyName: string]: InformationType }; -}; +} -/** Contact details for security issues */ -export type SecurityContact = Resource & { - /** The email of this security contact */ - email?: string; - /** The phone number of this security contact */ +/** Contact details and configurations for notifications coming from Microsoft Defender for Cloud. */ +export interface SecurityContact extends Resource { + /** List of email addresses which will get notifications from Microsoft Defender for Cloud by the configurations defined in this security contact. */ + emails?: string; + /** The security contact's phone number */ phone?: string; - /** Whether to send security alerts notifications to the security contact */ - alertNotifications?: AlertNotifications; - /** Whether to send security alerts notifications to subscription admins */ - alertsToAdmins?: AlertsToAdmins; -}; + /** Defines whether to send email notifications about new security alerts */ + alertNotifications?: SecurityContactPropertiesAlertNotifications; + /** Defines whether to send email notifications from Microsoft Defender for Cloud to persons with specific RBAC roles on the subscription. */ + notificationsByRole?: SecurityContactPropertiesNotificationsByRole; +} /** Configures where to store the OMS agent data for workspaces under a scope */ -export type WorkspaceSetting = Resource & { +export interface WorkspaceSetting extends Resource { /** The full Azure ID of the workspace to save the data in */ workspaceId?: string; /** All the VMs in this scope will send their security data to the mentioned workspace unless overridden by a setting with more specific scope */ scope?: string; -}; +} /** Regulatory compliance standard details and state */ -export type RegulatoryComplianceStandard = Resource & { +export interface RegulatoryComplianceStandard extends Resource { /** Aggregative state based on the standard's supported controls states */ state?: State; /** @@ -2305,10 +2686,10 @@ export type RegulatoryComplianceStandard = Resource & { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly unsupportedControls?: number; -}; +} /** Regulatory compliance control details and state */ -export type RegulatoryComplianceControl = Resource & { +export interface RegulatoryComplianceControl extends Resource { /** * The description of the regulatory compliance control * NOTE: This property will not be serialized. It can only be populated by the server. @@ -2331,10 +2712,10 @@ export type RegulatoryComplianceControl = Resource & { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly skippedAssessments?: number; -}; +} /** Regulatory compliance assessment details and state */ -export type RegulatoryComplianceAssessment = Resource & { +export interface RegulatoryComplianceAssessment extends Resource { /** * The description of the regulatory compliance assessment * NOTE: This property will not be serialized. It can only be populated by the server. @@ -2372,10 +2753,10 @@ export type RegulatoryComplianceAssessment = Resource & { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly unsupportedResources?: number; -}; +} /** Security sub-assessment on a resource */ -export type SecuritySubAssessment = Resource & { +export interface SecuritySubAssessment extends Resource { /** * Vulnerability ID * NOTE: This property will not be serialized. It can only be populated by the server. @@ -2417,17 +2798,18 @@ export type SecuritySubAssessment = Resource & { resourceDetails?: ResourceDetailsUnion; /** Details of the sub-assessment */ additionalData?: AdditionalDataUnion; -}; +} /** Describes an Azure tracked resource. */ -export type TrackedResource = Resource & - AzureTrackedResourceLocation & - KindAutoGenerated & - ETag & - Tags & {}; +export interface TrackedResource + extends Resource, + AzureTrackedResourceLocation, + KindAutoGenerated, + ETag, + Tags {} /** Describes the suppression rule */ -export type AlertsSuppressionRule = Resource & { +export interface AlertsSuppressionRule extends Resource { /** Type of the alert to automatically suppress. For all alert types, use '*' */ alertType?: string; /** @@ -2445,19 +2827,19 @@ export type AlertsSuppressionRule = Resource & { comment?: string; /** The suppression conditions */ suppressionAlertsScope?: SuppressionAlertsScope; -}; +} /** Describes the server vulnerability assessment details on a resource */ -export type ServerVulnerabilityAssessment = Resource & { +export interface ServerVulnerabilityAssessment extends Resource { /** * The provisioningState of the vulnerability assessment capability on the VM * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly provisioningState?: ServerVulnerabilityAssessmentPropertiesProvisioningState; -}; +} /** Security assessment metadata response */ -export type SecurityAssessmentMetadataResponse = Resource & { +export interface SecurityAssessmentMetadataResponse extends Resource { /** User friendly display name of the assessment */ displayName?: string; /** @@ -2487,10 +2869,10 @@ export type SecurityAssessmentMetadataResponse = Resource & { plannedDeprecationDate?: string; tactics?: Tactics[]; techniques?: Techniques[]; -}; +} /** Security assessment on a resource - response format */ -export type SecurityAssessmentResponse = Resource & { +export interface SecurityAssessmentResponse extends Resource { /** Details of the resource that was assessed */ resourceDetails?: ResourceDetailsUnion; /** @@ -2511,10 +2893,10 @@ export type SecurityAssessmentResponse = Resource & { partnersData?: SecurityAssessmentPartnerData; /** The result of the assessment */ status?: AssessmentStatusResponse; -}; +} /** Security assessment on a resource */ -export type SecurityAssessment = Resource & { +export interface SecurityAssessment extends Resource { /** Details of the resource that was assessed */ resourceDetails?: ResourceDetailsUnion; /** @@ -2535,124 +2917,121 @@ export type SecurityAssessment = Resource & { partnersData?: SecurityAssessmentPartnerData; /** The result of the assessment */ status?: AssessmentStatus; -}; - -export type AdaptiveApplicationControlGroup = Resource & - Location & { - /** The application control policy enforcement/protection mode of the machine group */ - enforcementMode?: EnforcementMode; - /** The protection mode of the collection/file types. Exe/Msi/Script are used for Windows, Executable is used for Linux. */ - protectionMode?: ProtectionMode; - /** - * The configuration status of the machines group or machine or rule - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly configurationStatus?: ConfigurationStatus; - /** - * The initial recommendation status of the machine group or machine - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly recommendationStatus?: RecommendationStatus; - /** NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly issues?: AdaptiveApplicationControlIssueSummary[]; - /** - * The source type of the machine group - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly sourceSystem?: SourceSystem; - vmRecommendations?: VmRecommendation[]; - pathRecommendations?: PathRecommendation[]; - }; +} + +export interface AdaptiveApplicationControlGroup extends Resource, Location { + /** The application control policy enforcement/protection mode of the machine group */ + enforcementMode?: EnforcementMode; + /** The protection mode of the collection/file types. Exe/Msi/Script are used for Windows, Executable is used for Linux. */ + protectionMode?: ProtectionMode; + /** + * The configuration status of the machines group or machine or rule + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly configurationStatus?: ConfigurationStatus; + /** + * The initial recommendation status of the machine group or machine + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly recommendationStatus?: RecommendationStatus; + /** NOTE: This property will not be serialized. It can only be populated by the server. */ + readonly issues?: AdaptiveApplicationControlIssueSummary[]; + /** + * The source type of the machine group + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly sourceSystem?: SourceSystem; + vmRecommendations?: VmRecommendation[]; + pathRecommendations?: PathRecommendation[]; +} /** The resource whose properties describes the Adaptive Network Hardening settings for some Azure resource */ -export type AdaptiveNetworkHardening = Resource & { +export interface AdaptiveNetworkHardening extends Resource { /** The security rules which are recommended to be effective on the VM */ rules?: Rule[]; /** The UTC time on which the rules were calculated */ rulesCalculationTime?: Date; /** The Network Security Groups effective on the network interfaces of the protected resource */ effectiveNetworkSecurityGroups?: EffectiveNetworkSecurityGroups[]; -}; +} /** The resource whose properties describes the allowed traffic between Azure resources */ -export type AllowedConnectionsResource = Resource & - Location & { - /** - * The UTC time on which the allowed connections resource was calculated - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly calculatedDateTime?: Date; - /** - * List of connectable resources - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly connectableResources?: ConnectableResource[]; - }; - -export type TopologyResource = Resource & - Location & { - /** - * The UTC time on which the topology was calculated - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly calculatedDateTime?: Date; - /** - * Azure resources which are part of this topology resource - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly topologyResources?: TopologySingleResource[]; - }; - -export type JitNetworkAccessPolicy = Resource & - KindAutoGenerated & - Location & { - /** Configurations for Microsoft.Compute/virtualMachines resource type. */ - virtualMachines: JitNetworkAccessPolicyVirtualMachine[]; - requests?: JitNetworkAccessRequest[]; - /** - * Gets the provisioning state of the Just-in-Time policy. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly provisioningState?: string; - }; - -export type DiscoveredSecuritySolution = Resource & - Location & { - /** The security family of the discovered solution */ - securityFamily: SecurityFamily; - /** The security solutions' image offer */ - offer: string; - /** The security solutions' image publisher */ - publisher: string; - /** The security solutions' image sku */ - sku: string; - }; - -export type SecuritySolutionsReferenceData = Resource & - Location & { - /** The security family of the security solution */ - securityFamily: SecurityFamily; - /** The security solutions' vendor name */ - alertVendorName: string; - /** The security solutions' package info url */ - packageInfoUrl: string; - /** The security solutions' product name */ - productName: string; - /** The security solutions' publisher */ - publisher: string; - /** The security solutions' publisher display name */ - publisherDisplayName: string; - /** The security solutions' template */ - template: string; - }; - -/** Represents a security solution external to Azure Security Center which sends information to an OMS workspace and whose data is displayed by Azure Security Center. */ -export type ExternalSecuritySolution = Resource & - ExternalSecuritySolutionKindAutoGenerated & - Location & {}; +export interface AllowedConnectionsResource extends Resource, Location { + /** + * The UTC time on which the allowed connections resource was calculated + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly calculatedDateTime?: Date; + /** + * List of connectable resources + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly connectableResources?: ConnectableResource[]; +} + +export interface TopologyResource extends Resource, Location { + /** + * The UTC time on which the topology was calculated + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly calculatedDateTime?: Date; + /** + * Azure resources which are part of this topology resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly topologyResources?: TopologySingleResource[]; +} + +export interface JitNetworkAccessPolicy + extends Resource, + KindAutoGenerated, + Location { + /** Configurations for Microsoft.Compute/virtualMachines resource type. */ + virtualMachines: JitNetworkAccessPolicyVirtualMachine[]; + requests?: JitNetworkAccessRequest[]; + /** + * Gets the provisioning state of the Just-in-Time policy. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: string; +} + +export interface DiscoveredSecuritySolution extends Resource, Location { + /** The security family of the discovered solution */ + securityFamily: SecurityFamily; + /** The security solutions' image offer */ + offer: string; + /** The security solutions' image publisher */ + publisher: string; + /** The security solutions' image sku */ + sku: string; +} + +export interface SecuritySolutionsReferenceData extends Resource, Location { + /** The security family of the security solution */ + securityFamily: SecurityFamily; + /** The security solutions' vendor name */ + alertVendorName: string; + /** The security solutions' package info url */ + packageInfoUrl: string; + /** The security solutions' product name */ + productName: string; + /** The security solutions' publisher */ + publisher: string; + /** The security solutions' publisher display name */ + publisherDisplayName: string; + /** The security solutions' template */ + template: string; +} + +/** Represents a security solution external to Microsoft Defender for Cloud which sends information to an OMS workspace and whose data is displayed by Microsoft Defender for Cloud. */ +export interface ExternalSecuritySolution + extends Resource, + ExternalSecuritySolutionKindAutoGenerated, + Location {} /** Secure score item data model */ -export type SecureScoreItem = Resource & { +export interface SecureScoreItem extends Resource { /** * The initiative’s name * NOTE: This property will not be serialized. It can only be populated by the server. @@ -2678,10 +3057,10 @@ export type SecureScoreItem = Resource & { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly percentage?: number; -}; +} /** Information about the security control. */ -export type SecureScoreControlDefinitionItem = Resource & { +export interface SecureScoreControlDefinitionItem extends Resource { /** * User friendly display name of the control * NOTE: This property will not be serialized. It can only be populated by the server. @@ -2707,10 +3086,10 @@ export type SecureScoreControlDefinitionItem = Resource & { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly assessmentDefinitions?: AzureResourceLink[]; -}; +} /** Details of the security control, its score, and the health status of the relevant resources. */ -export type SecureScoreControlDetails = Resource & { +export interface SecureScoreControlDetails extends Resource { /** * User friendly display name of the control * NOTE: This property will not be serialized. It can only be populated by the server. @@ -2753,48 +3132,52 @@ export type SecureScoreControlDetails = Resource & { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly percentage?: number; -}; - -export type SecuritySolution = Resource & - Location & { - /** The security family of the security solution */ - securityFamily?: SecurityFamily; - /** The security family provisioning State */ - provisioningState?: ProvisioningState; - /** The security solutions' template */ - template?: string; - /** The security solutions' status */ - protectionStatus?: string; - }; +} + +export interface SecuritySolution extends Resource, Location { + /** The security family of the security solution */ + securityFamily?: SecurityFamily; + /** The security family provisioning State */ + provisioningState?: ProvisioningState; + /** The security solutions' template */ + template?: string; + /** The security solutions' status */ + protectionStatus?: string; +} /** The connector setting */ -export type ConnectorSetting = Resource & { +export interface ConnectorSetting extends Resource { /** Settings for hybrid compute management. These settings are relevant only for Arc autoProvision (Hybrid Compute). */ hybridComputeSettings?: HybridComputeSettingsProperties; /** Settings for authentication management, these settings are relevant only for the cloud connector. */ authenticationDetails?: AuthenticationDetailsPropertiesUnion; -}; +} /** A vulnerability assessment scan record. */ -export type Scan = Resource & { +export interface Scan extends Resource { /** A vulnerability assessment scan record properties. */ properties?: ScanProperties; -}; +} /** A vulnerability assessment scan result for a single rule. */ -export type ScanResult = Resource & { +export interface ScanResult extends Resource { /** A vulnerability assessment scan result properties for a single rule. */ properties?: ScanResultProperties; -}; +} /** Rule results. */ -export type RuleResults = Resource & { +export interface RuleResults extends Resource { /** Rule results properties. */ properties?: RuleResultsProperties; -}; +} /** Security alert */ -export type Alert = Resource & { +export interface Alert extends Resource { + /** + * Schema version. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly version?: string; /** * Unique identifier for the detection logic (all alert instances from the same detection logic will have the same alertType). * NOTE: This property will not be serialized. It can only be populated by the server. @@ -2907,22 +3290,34 @@ export type Alert = Resource & { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly compromisedEntity?: string; -}; + /** + * kill chain related techniques behind the alert. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly techniques?: string[]; + /** + * Kill chain related sub-techniques behind the alert. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly subTechniques?: string[]; + /** Changing set of properties depending on the supportingEvidence type. */ + supportingEvidence?: AlertPropertiesSupportingEvidence; +} /** The kind of the security setting */ -export type Setting = Resource & { +export interface Setting extends Resource { /** the kind of the settings string */ kind: SettingKind; -}; +} /** Configures how to correlate scan data and logs with resources associated with the subscription. */ -export type IngestionSetting = Resource & { +export interface IngestionSetting extends Resource { /** Ingestion setting data */ properties?: Record; -}; +} /** Represents a software data */ -export type Software = Resource & { +export interface Software extends Resource { /** Unique identifier for the virtual machine in the service. */ deviceId?: string; /** Platform of the operating system running on the device. */ @@ -2941,10 +3336,64 @@ export type Software = Resource & { numberOfKnownVulnerabilities?: number; /** First time that the software was seen in the device. */ firstSeenAt?: string; -}; +} + +/** Security GovernanceRule over a given scope */ +export interface GovernanceRule extends Resource { + /** display name of the governanceRule */ + displayName?: string; + /** description of the governanceRule */ + description?: string; + /** Governance rule remediation timeframe - this is the time that will affect on the grace-period duration e.g. 7.00:00:00 - means 7 days */ + remediationTimeframe?: string; + /** Defines whether there is a grace period on the governance rule */ + isGracePeriod?: boolean; + /** The governance rule priority, priority to the lower number. Rules with the same priority on the same subscription will not be allowed */ + rulePriority?: number; + /** Defines whether the rule is active/inactive */ + isDisabled?: boolean; + /** The rule type of the governance rule, defines the source of the rule e.g. Integrated */ + ruleType?: GovernanceRuleType; + /** The governance rule source, what the rule affects, e.g. Assessments */ + sourceResourceType?: GovernanceRuleSourceResourceType; + /** The governance rule conditionSets - see examples */ + conditionSets?: Record[]; + /** The Owner source for the governance rule - e.g. Manually by user@contoso.com - see example */ + ownerSource?: GovernanceRuleOwnerSource; + /** The email notifications settings for the governance rule, states whether to disable notifications for mangers and owners */ + governanceEmailNotification?: GovernanceRuleEmailNotification; +} + +/** Security GovernanceAssignment over a given scope */ +export interface GovernanceAssignment extends Resource { + /** The Owner for the governance assignment - e.g. user@contoso.com - see example */ + owner?: string; + /** The remediation due-date - after this date Secure Score will be affected (in case of active grace-period) */ + remediationDueDate?: Date; + /** The ETA (estimated time of arrival) for remediation (optional), see example */ + remediationEta?: RemediationEta; + /** Defines whether there is a grace period on the governance assignment */ + isGracePeriod?: boolean; + /** The email notifications settings for the governance rule, states whether to disable notifications for mangers and owners */ + governanceEmailNotification?: GovernanceEmailNotification; + /** The additional data for the governance assignment - e.g. links to ticket (optional), see example */ + additionalData?: GovernanceAssignmentAdditionalData; +} + +/** Security Application over a given scope */ +export interface Application extends Resource { + /** display name of the application */ + displayName?: string; + /** description of the application */ + description?: string; + /** The application source, what it affects, e.g. Assessments */ + sourceResourceType?: ApplicationSourceResourceType; + /** The application conditionSets - see examples */ + conditionSets?: Record[]; +} /** Security assessment metadata */ -export type SecurityAssessmentMetadata = Resource & { +export interface SecurityAssessmentMetadata extends Resource { /** User friendly display name of the assessment */ displayName?: string; /** @@ -2970,10 +3419,10 @@ export type SecurityAssessmentMetadata = Resource & { assessmentType?: AssessmentType; /** Describes the partner that created the assessment */ partnerData?: SecurityAssessmentMetadataPartnerData; -}; +} /** A custom alert rule that checks if a value (depends on the custom alert type) is within the given range. */ -export type ThresholdCustomAlertRule = CustomAlertRule & { +export interface ThresholdCustomAlertRule extends CustomAlertRule { /** Polymorphic discriminator, which specifies the different types this object can be */ ruleType: | "ThresholdCustomAlertRule" @@ -2998,10 +3447,10 @@ export type ThresholdCustomAlertRule = CustomAlertRule & { minThreshold: number; /** The maximum threshold. */ maxThreshold: number; -}; +} /** A List custom alert rule. */ -export type ListCustomAlertRule = CustomAlertRule & { +export interface ListCustomAlertRule extends CustomAlertRule { /** Polymorphic discriminator, which specifies the different types this object can be */ ruleType: | "ListCustomAlertRule" @@ -3016,17 +3465,17 @@ export type ListCustomAlertRule = CustomAlertRule & { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly valueType?: ValueType; -}; +} -export type UpdateIotSecuritySolutionData = TagsResource & { +export interface UpdateIotSecuritySolutionData extends TagsResource { /** Properties of the IoT Security solution's user defined resources. */ userDefinedResources?: UserDefinedResourcesProperties; /** List of the configuration status for each recommendation type. */ recommendationsConfiguration?: RecommendationConfigurationProperties[]; -}; +} /** Details of the Azure resource that was assessed */ -export type AzureResourceDetails = ResourceDetails & { +export interface AzureResourceDetails extends ResourceDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ source: "Azure"; /** @@ -3034,10 +3483,10 @@ export type AzureResourceDetails = ResourceDetails & { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly id?: string; -}; +} /** Details of the On Premise resource that was assessed */ -export type OnPremiseResourceDetails = ResourceDetails & { +export interface OnPremiseResourceDetails extends ResourceDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ source: "OnPremise" | "OnPremiseSql"; /** Azure resource Id of the workspace the machine is attached to */ @@ -3048,10 +3497,10 @@ export type OnPremiseResourceDetails = ResourceDetails & { sourceComputerId: string; /** The name of the machine */ machineName: string; -}; +} /** Details of the resource that was assessed */ -export type SqlServerVulnerabilityProperties = AdditionalData & { +export interface SqlServerVulnerabilityProperties extends AdditionalData { /** Polymorphic discriminator, which specifies the different types this object can be */ assessedResourceType: "SqlServerVulnerability"; /** @@ -3064,10 +3513,11 @@ export type SqlServerVulnerabilityProperties = AdditionalData & { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly query?: string; -}; +} /** Additional context fields for container registry Vulnerability assessment */ -export type ContainerRegistryVulnerabilityProperties = AdditionalData & { +export interface ContainerRegistryVulnerabilityProperties + extends AdditionalData { /** Polymorphic discriminator, which specifies the different types this object can be */ assessedResourceType: "ContainerRegistryVulnerability"; /** @@ -3107,10 +3557,10 @@ export type ContainerRegistryVulnerabilityProperties = AdditionalData & { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly imageDigest?: string; -}; +} /** Additional context fields for server vulnerability assessment */ -export type ServerVulnerabilityProperties = AdditionalData & { +export interface ServerVulnerabilityProperties extends AdditionalData { /** Polymorphic discriminator, which specifies the different types this object can be */ assessedResourceType: "ServerVulnerabilityAssessment"; /** @@ -3145,20 +3595,20 @@ export type ServerVulnerabilityProperties = AdditionalData & { readonly publishedTime?: Date; /** NOTE: This property will not be serialized. It can only be populated by the server. */ readonly vendorReferences?: VendorReference[]; -}; +} -/** The logic app action that should be triggered. To learn more about Security Center's Workflow Automation capabilities, visit https://aka.ms/ASCWorkflowAutomationLearnMore */ -export type AutomationActionLogicApp = AutomationAction & { +/** The logic app action that should be triggered. To learn more about Microsoft Defender for Cloud's Workflow Automation capabilities, visit https://aka.ms/ASCWorkflowAutomationLearnMore */ +export interface AutomationActionLogicApp extends AutomationAction { /** Polymorphic discriminator, which specifies the different types this object can be */ actionType: "LogicApp"; /** The triggered Logic App Azure Resource ID. This can also reside on other subscriptions, given that you have permissions to trigger the Logic App */ logicAppResourceId?: string; /** The Logic App trigger URI endpoint (it will not be included in any response). */ uri?: string; -}; +} -/** The target Event Hub to which event data will be exported. To learn more about Security Center continuous export capabilities, visit https://aka.ms/ASCExportLearnMore */ -export type AutomationActionEventHub = AutomationAction & { +/** The target Event Hub to which event data will be exported. To learn more about Microsoft Defender for Cloud continuous export capabilities, visit https://aka.ms/ASCExportLearnMore */ +export interface AutomationActionEventHub extends AutomationAction { /** Polymorphic discriminator, which specifies the different types this object can be */ actionType: "EventHub"; /** The target Event Hub Azure Resource ID. */ @@ -3170,26 +3620,27 @@ export type AutomationActionEventHub = AutomationAction & { readonly sasPolicyName?: string; /** The target Event Hub connection string (it will not be included in any response). */ connectionString?: string; -}; +} -/** The Log Analytics Workspace to which event data will be exported. Security alerts data will reside in the 'SecurityAlert' table and the assessments data will reside in the 'SecurityRecommendation' table (under the 'Security'/'SecurityCenterFree' solutions). Note that in order to view the data in the workspace, the Security Center Log Analytics free/standard solution needs to be enabled on that workspace. To learn more about Security Center continuous export capabilities, visit https://aka.ms/ASCExportLearnMore */ -export type AutomationActionWorkspace = AutomationAction & { +/** The Log Analytics Workspace to which event data will be exported. Security alerts data will reside in the 'SecurityAlert' table and the assessments data will reside in the 'SecurityRecommendation' table (under the 'Security'/'SecurityCenterFree' solutions). Note that in order to view the data in the workspace, the Security Center Log Analytics free/standard solution needs to be enabled on that workspace. To learn more about Microsoft Defender for Cloud continuous export capabilities, visit https://aka.ms/ASCExportLearnMore */ +export interface AutomationActionWorkspace extends AutomationAction { /** Polymorphic discriminator, which specifies the different types this object can be */ actionType: "Workspace"; /** The fully qualified Log Analytics Workspace Azure Resource ID. */ workspaceResourceId?: string; -}; +} /** Describes properties of an assessment metadata response. */ -export type SecurityAssessmentMetadataPropertiesResponse = SecurityAssessmentMetadataProperties & { +export interface SecurityAssessmentMetadataPropertiesResponse + extends SecurityAssessmentMetadataProperties { publishDates?: SecurityAssessmentMetadataPropertiesResponsePublishDates; plannedDeprecationDate?: string; tactics?: Tactics[]; techniques?: Techniques[]; -}; +} /** The result of the assessment */ -export type AssessmentStatusResponse = AssessmentStatus & { +export interface AssessmentStatusResponse extends AssessmentStatus { /** * The time that the assessment was created and first evaluated. Returned as UTC time in ISO 8601 format * NOTE: This property will not be serialized. It can only be populated by the server. @@ -3200,22 +3651,25 @@ export type AssessmentStatusResponse = AssessmentStatus & { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly statusChangeDate?: Date; -}; +} /** Describes properties of an assessment. */ -export type SecurityAssessmentPropertiesResponse = SecurityAssessmentPropertiesBase & { +export interface SecurityAssessmentPropertiesResponse + extends SecurityAssessmentPropertiesBase { /** The result of the assessment */ status: AssessmentStatusResponse; -}; +} /** Describes properties of an assessment. */ -export type SecurityAssessmentProperties = SecurityAssessmentPropertiesBase & { +export interface SecurityAssessmentProperties + extends SecurityAssessmentPropertiesBase { /** The result of the assessment */ status: AssessmentStatus; -}; +} /** AWS cloud account connector based credentials, the credentials is composed of access key ID and secret key, for more details, refer to Creating an IAM User in Your AWS Account (write only) */ -export type AwsCredsAuthenticationDetailsProperties = AuthenticationDetailsProperties & { +export interface AwsCredsAuthenticationDetailsProperties + extends AuthenticationDetailsProperties { /** Polymorphic discriminator, which specifies the different types this object can be */ authenticationType: "awsCreds"; /** @@ -3227,10 +3681,11 @@ export type AwsCredsAuthenticationDetailsProperties = AuthenticationDetailsPrope awsAccessKeyId: string; /** Secret key element of the AWS credential object (write only) */ awsSecretAccessKey: string; -}; +} /** AWS cloud account connector based assume role, the role enables delegating access to your AWS resources. The role is composed of role Amazon Resource Name (ARN) and external ID. For more details, refer to Creating a Role to Delegate Permissions to an IAM User (write only) */ -export type AwAssumeRoleAuthenticationDetailsProperties = AuthenticationDetailsProperties & { +export interface AwAssumeRoleAuthenticationDetailsProperties + extends AuthenticationDetailsProperties { /** Polymorphic discriminator, which specifies the different types this object can be */ authenticationType: "awsAssumeRole"; /** @@ -3242,10 +3697,11 @@ export type AwAssumeRoleAuthenticationDetailsProperties = AuthenticationDetailsP awsAssumeRoleArn: string; /** A unique identifier that is required when you assume a role in another account. */ awsExternalId: string; -}; +} /** GCP cloud account connector based service to service credentials, the credentials are composed of the organization ID and a JSON API key (write only) */ -export type GcpCredentialsDetailsProperties = AuthenticationDetailsProperties & { +export interface GcpCredentialsDetailsProperties + extends AuthenticationDetailsProperties { /** Polymorphic discriminator, which specifies the different types this object can be */ authenticationType: "gcpCredentials"; /** The organization ID of the GCP cloud account */ @@ -3270,10 +3726,10 @@ export type GcpCredentialsDetailsProperties = AuthenticationDetailsProperties & authProviderX509CertUrl: string; /** Client x509 certificate URL field of the API key (write only) */ clientX509CertUrl: string; -}; +} /** Azure resource identifier. */ -export type AzureResourceIdentifier = ResourceIdentifier & { +export interface AzureResourceIdentifier extends ResourceIdentifier { /** Polymorphic discriminator, which specifies the different types this object can be */ type: "AzureResource"; /** @@ -3281,10 +3737,10 @@ export type AzureResourceIdentifier = ResourceIdentifier & { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly azureResourceId?: string; -}; +} /** Represents a Log Analytics workspace scope identifier. */ -export type LogAnalyticsIdentifier = ResourceIdentifier & { +export interface LogAnalyticsIdentifier extends ResourceIdentifier { /** Polymorphic discriminator, which specifies the different types this object can be */ type: "LogAnalytics"; /** @@ -3307,26 +3763,27 @@ export type LogAnalyticsIdentifier = ResourceIdentifier & { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly agentId?: string; -}; +} /** Simulate alerts according to this bundles. */ -export type AlertSimulatorBundlesRequestProperties = AlertSimulatorRequestProperties & { +export interface AlertSimulatorBundlesRequestProperties + extends AlertSimulatorRequestProperties { /** Polymorphic discriminator, which specifies the different types this object can be */ kind: "Bundles"; /** Bundles list. */ bundles?: BundleType[]; -}; +} -/** The CSPM monitoring for AWS offering configurations */ -export type CspmMonitorAwsOffering = CloudOffering & { +/** The CSPM monitoring for AWS offering */ +export interface CspmMonitorAwsOffering extends CloudOffering { /** Polymorphic discriminator, which specifies the different types this object can be */ offeringType: "CspmMonitorAws"; /** The native cloud connection configuration */ nativeCloudConnection?: CspmMonitorAwsOfferingNativeCloudConnection; -}; +} -/** The Defender for Containers AWS offering configurations */ -export type DefenderForContainersAwsOffering = CloudOffering & { +/** The Defender for Containers AWS offering */ +export interface DefenderForContainersAwsOffering extends CloudOffering { /** Polymorphic discriminator, which specifies the different types this object can be */ offeringType: "DefenderForContainersAws"; /** The kubernetes service connection configuration */ @@ -3337,44 +3794,208 @@ export type DefenderForContainersAwsOffering = CloudOffering & { cloudWatchToKinesis?: DefenderForContainersAwsOfferingCloudWatchToKinesis; /** The kinesis to s3 connection configuration */ kinesisToS3?: DefenderForContainersAwsOfferingKinesisToS3; -}; - -/** The Defender for Servers AWS offering configurations */ -export type DefenderForServersAwsOffering = CloudOffering & { + /** The container vulnerability assessment configuration */ + containerVulnerabilityAssessment?: DefenderForContainersAwsOfferingContainerVulnerabilityAssessment; + /** The container vulnerability assessment task configuration */ + containerVulnerabilityAssessmentTask?: DefenderForContainersAwsOfferingContainerVulnerabilityAssessmentTask; + /** Enable container vulnerability assessment feature */ + enableContainerVulnerabilityAssessment?: boolean; + /** Is audit logs pipeline auto provisioning enabled */ + autoProvisioning?: boolean; + /** The retention time in days of kube audit logs set on the CloudWatch log group */ + kubeAuditRetentionTime?: number; + /** The externalId used by the data reader to prevent the confused deputy attack */ + scubaExternalId?: string; +} + +/** The Defender for Servers AWS offering */ +export interface DefenderForServersAwsOffering extends CloudOffering { /** Polymorphic discriminator, which specifies the different types this object can be */ offeringType: "DefenderForServersAws"; /** The Defender for servers connection configuration */ defenderForServers?: DefenderForServersAwsOfferingDefenderForServers; /** The ARC autoprovisioning configuration */ arcAutoProvisioning?: DefenderForServersAwsOfferingArcAutoProvisioning; -}; + /** The Vulnerability Assessment autoprovisioning configuration */ + vaAutoProvisioning?: DefenderForServersAwsOfferingVaAutoProvisioning; + /** The Microsoft Defender for Endpoint autoprovisioning configuration */ + mdeAutoProvisioning?: DefenderForServersAwsOfferingMdeAutoProvisioning; + /** configuration for the servers offering subPlan */ + subPlan?: DefenderForServersAwsOfferingSubPlan; + /** The Microsoft Defender for Server VM scanning configuration */ + vmScanners?: DefenderForServersAwsOfferingVmScanners; +} + +/** The Defender for Databases AWS offering */ +export interface DefenderFoDatabasesAwsOffering extends CloudOffering { + /** Polymorphic discriminator, which specifies the different types this object can be */ + offeringType: "DefenderForDatabasesAws"; + /** The ARC autoprovisioning configuration */ + arcAutoProvisioning?: DefenderFoDatabasesAwsOfferingArcAutoProvisioning; +} -/** The information protection for AWS offering configurations */ -export type InformationProtectionAwsOffering = CloudOffering & { +/** The information protection for AWS offering */ +export interface InformationProtectionAwsOffering extends CloudOffering { /** Polymorphic discriminator, which specifies the different types this object can be */ offeringType: "InformationProtectionAws"; /** The native cloud connection configuration */ informationProtection?: InformationProtectionAwsOfferingInformationProtection; -}; +} + +/** The CSPM monitoring for GCP offering */ +export interface CspmMonitorGcpOffering extends CloudOffering { + /** Polymorphic discriminator, which specifies the different types this object can be */ + offeringType: "CspmMonitorGcp"; + /** The native cloud connection configuration */ + nativeCloudConnection?: CspmMonitorGcpOfferingNativeCloudConnection; +} + +/** The Defender for Servers GCP offering configurations */ +export interface DefenderForServersGcpOffering extends CloudOffering { + /** Polymorphic discriminator, which specifies the different types this object can be */ + offeringType: "DefenderForServersGcp"; + /** The Defender for servers connection configuration */ + defenderForServers?: DefenderForServersGcpOfferingDefenderForServers; + /** The ARC autoprovisioning configuration */ + arcAutoProvisioning?: DefenderForServersGcpOfferingArcAutoProvisioning; + /** The Vulnerability Assessment autoprovisioning configuration */ + vaAutoProvisioning?: DefenderForServersGcpOfferingVaAutoProvisioning; + /** The Microsoft Defender for Endpoint autoprovisioning configuration */ + mdeAutoProvisioning?: DefenderForServersGcpOfferingMdeAutoProvisioning; + /** configuration for the servers offering subPlan */ + subPlan?: DefenderForServersGcpOfferingSubPlan; +} + +/** The Defender for Databases GCP offering configurations */ +export interface DefenderForDatabasesGcpOffering extends CloudOffering { + /** Polymorphic discriminator, which specifies the different types this object can be */ + offeringType: "DefenderForDatabasesGcp"; + /** The ARC autoprovisioning configuration */ + arcAutoProvisioning?: DefenderForDatabasesGcpOfferingArcAutoProvisioning; + /** The native cloud connection configuration */ + defenderForDatabasesArcAutoProvisioning?: DefenderForDatabasesGcpOfferingDefenderForDatabasesArcAutoProvisioning; +} + +/** The containers GCP offering */ +export interface DefenderForContainersGcpOffering extends CloudOffering { + /** Polymorphic discriminator, which specifies the different types this object can be */ + offeringType: "DefenderForContainersGcp"; + /** The native cloud connection configuration */ + nativeCloudConnection?: DefenderForContainersGcpOfferingNativeCloudConnection; + /** The native cloud connection configuration */ + dataPipelineNativeCloudConnection?: DefenderForContainersGcpOfferingDataPipelineNativeCloudConnection; + /** Is audit logs data collection enabled */ + auditLogsAutoProvisioningFlag?: boolean; + /** Is Microsoft Defender for Cloud Kubernetes agent auto provisioning enabled */ + defenderAgentAutoProvisioningFlag?: boolean; + /** Is Policy Kubernetes agent auto provisioning enabled */ + policyAgentAutoProvisioningFlag?: boolean; +} + +/** The CSPM monitoring for github offering */ +export interface CspmMonitorGithubOffering extends CloudOffering { + /** Polymorphic discriminator, which specifies the different types this object can be */ + offeringType: "CspmMonitorGithub"; +} + +/** The CSPM monitoring for AzureDevOps offering */ +export interface CspmMonitorAzureDevOpsOffering extends CloudOffering { + /** Polymorphic discriminator, which specifies the different types this object can be */ + offeringType: "CspmMonitorAzureDevOps"; +} + +/** The aws connector environment data */ +export interface AWSEnvironmentData extends EnvironmentData { + /** Polymorphic discriminator, which specifies the different types this object can be */ + environmentType: "AwsAccount"; + /** The AWS account's organizational data */ + organizationalData?: AwsOrganizationalDataUnion; +} + +/** The GCP project connector environment data */ +export interface GcpProjectEnvironmentData extends EnvironmentData { + /** Polymorphic discriminator, which specifies the different types this object can be */ + environmentType: "GcpProject"; + /** The Gcp project's organizational data */ + organizationalData?: GcpOrganizationalDataUnion; + /** The Gcp project's details */ + projectDetails?: GcpProjectDetails; +} + +/** The github scope connector's environment data */ +export interface GithubScopeEnvironmentData extends EnvironmentData { + /** Polymorphic discriminator, which specifies the different types this object can be */ + environmentType: "GithubScope"; +} + +/** The AzureDevOps scope connector's environment data */ +export interface AzureDevOpsScopeEnvironmentData extends EnvironmentData { + /** Polymorphic discriminator, which specifies the different types this object can be */ + environmentType: "AzureDevOpsScope"; +} /** The external security solution properties for CEF solutions */ -export type CefSolutionProperties = ExternalSecuritySolutionProperties & { +export interface CefSolutionProperties + extends ExternalSecuritySolutionProperties { hostname?: string; agent?: string; lastEventReceived?: string; -}; +} /** The external security solution properties for ATA solutions */ -export type AtaSolutionProperties = ExternalSecuritySolutionProperties & { +export interface AtaSolutionProperties + extends ExternalSecuritySolutionProperties { lastEventReceived?: string; -}; +} /** The external security solution properties for AAD solutions */ -export type AadSolutionProperties = ExternalSecuritySolutionProperties & - AadConnectivityStateAutoGenerated & {}; +export interface AadSolutionProperties + extends ExternalSecuritySolutionProperties, + AadConnectivityStateAutoGenerated {} + +/** The awsOrganization data for the master account */ +export interface AwsOrganizationalDataMaster extends AwsOrganizationalData { + /** Polymorphic discriminator, which specifies the different types this object can be */ + organizationMembershipType: "Organization"; + /** If the multi cloud account is of membership type organization, this will be the name of the onboarding stackset */ + stacksetName?: string; + /** If the multi cloud account is of membership type organization, list of accounts excluded from offering */ + excludedAccountIds?: string[]; +} + +/** The awsOrganization data for the member account */ +export interface AwsOrganizationalDataMember extends AwsOrganizationalData { + /** Polymorphic discriminator, which specifies the different types this object can be */ + organizationMembershipType: "Member"; + /** If the multi cloud account is not of membership type organization, this will be the ID of the account's parent */ + parentHierarchyId?: string; +} + +/** The gcpOrganization data for the parent account */ +export interface GcpOrganizationalDataOrganization + extends GcpOrganizationalData { + /** Polymorphic discriminator, which specifies the different types this object can be */ + organizationMembershipType: "Organization"; + /** If the multi cloud account is of membership type organization, list of accounts excluded from offering */ + excludedProjectNumbers?: string[]; + /** The service account email address which represents the organization level permissions container. */ + serviceAccountEmailAddress?: string; + /** The GCP workload identity provider id which represents the permissions required to auto provision security connectors */ + workloadIdentityProviderId?: string; +} + +/** The gcpOrganization data for the member account */ +export interface GcpOrganizationalDataMember extends GcpOrganizationalData { + /** Polymorphic discriminator, which specifies the different types this object can be */ + organizationMembershipType: "Member"; + /** If the multi cloud account is not of membership type organization, this will be the ID of the project's parent */ + parentHierarchyId?: string; + /** The GCP management project number from organizational onboarding */ + managementProjectNumber?: string; +} /** The security automation resource. */ -export type Automation = TrackedResource & { +export interface Automation extends TrackedResource { /** The security automation description. */ description?: string; /** Indicates whether the security automation is enabled. */ @@ -3385,57 +4006,62 @@ export type Automation = TrackedResource & { sources?: AutomationSource[]; /** A collection of the actions which are triggered if all the configured rules evaluations, within at least one rule set, are true. */ actions?: AutomationActionUnion[]; -}; +} /** The security connector resource. */ -export type SecurityConnector = TrackedResource & { +export interface SecurityConnector extends TrackedResource { /** * Azure Resource Manager metadata containing createdBy and modifiedBy information. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly systemData?: SystemData; - /** The multi cloud resource identifier (account id in case of AWS connector). */ + /** The multi cloud resource identifier (account id in case of AWS connector, project number in case of GCP connector). */ hierarchyIdentifier?: string; + /** + * The date on which the trial period will end, if applicable. Trial period exists for 30 days after upgrading to payed offerings. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly hierarchyIdentifierTrialEndDate?: Date; /** The multi cloud resource's cloud name. */ - cloudName?: CloudName; + environmentName?: CloudName; /** A collection of offerings for the security connector. */ offerings?: CloudOfferingUnion[]; - /** The multi cloud account's organizational data */ - organizationalData?: SecurityConnectorPropertiesOrganizationalData; -}; + /** The security connector environment data. */ + environmentData?: EnvironmentDataUnion; +} /** Represents a security solution which sends CEF logs to an OMS workspace */ -export type CefExternalSecuritySolution = ExternalSecuritySolution & { +export interface CefExternalSecuritySolution extends ExternalSecuritySolution { /** The external security solution properties for CEF solutions */ properties?: CefSolutionProperties; -}; +} /** Represents an ATA security solution which sends logs to an OMS workspace */ -export type AtaExternalSecuritySolution = ExternalSecuritySolution & { +export interface AtaExternalSecuritySolution extends ExternalSecuritySolution { /** The external security solution properties for ATA solutions */ properties?: AtaSolutionProperties; -}; +} /** Represents an AAD identity protection solution which sends logs to an OMS workspace. */ -export type AadExternalSecuritySolution = ExternalSecuritySolution & { +export interface AadExternalSecuritySolution extends ExternalSecuritySolution { /** The external security solution properties for AAD solutions */ properties?: AadSolutionProperties; -}; +} /** Represents a data export setting */ -export type DataExportSettings = Setting & { +export interface DataExportSettings extends Setting { /** Is the data export setting enabled */ enabled?: boolean; -}; +} /** Represents an alert sync setting */ -export type AlertSyncSettings = Setting & { +export interface AlertSyncSettings extends Setting { /** Is the alert sync setting enabled */ enabled?: boolean; -}; +} /** A custom alert rule that checks if the number of activities (depends on the custom alert type) in a time window is within the given range. */ -export type TimeWindowCustomAlertRule = ThresholdCustomAlertRule & { +export interface TimeWindowCustomAlertRule extends ThresholdCustomAlertRule { /** Polymorphic discriminator, which specifies the different types this object can be */ ruleType: | "TimeWindowCustomAlertRule" @@ -3457,10 +4083,10 @@ export type TimeWindowCustomAlertRule = ThresholdCustomAlertRule & { | "UnauthorizedOperationsNotInAllowedRange"; /** The time window size in iso8601 format. */ timeWindowSize: string; -}; +} /** A custom alert rule that checks if a value (depends on the custom alert type) is allowed. */ -export type AllowlistCustomAlertRule = ListCustomAlertRule & { +export interface AllowlistCustomAlertRule extends ListCustomAlertRule { /** Polymorphic discriminator, which specifies the different types this object can be */ ruleType: | "AllowlistCustomAlertRule" @@ -3470,151 +4096,195 @@ export type AllowlistCustomAlertRule = ListCustomAlertRule & { | "ProcessNotAllowed"; /** The values to allow. The format of the values depends on the rule type. */ allowlistValues: string[]; -}; +} /** A custom alert rule that checks if a value (depends on the custom alert type) is denied. */ -export type DenylistCustomAlertRule = ListCustomAlertRule & { +export interface DenylistCustomAlertRule extends ListCustomAlertRule { /** Polymorphic discriminator, which specifies the different types this object can be */ ruleType: "DenylistCustomAlertRule"; /** The values to deny. The format of the values depends on the rule type. */ denylistValues: string[]; -}; +} /** Details of the On Premise Sql resource that was assessed */ -export type OnPremiseSqlResourceDetails = OnPremiseResourceDetails & { +export interface OnPremiseSqlResourceDetails extends OnPremiseResourceDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ source: "OnPremiseSql"; /** The Sql server name installed on the machine */ serverName: string; /** The Sql database name installed on the machine */ databaseName: string; -}; +} /** Number of active connections is not in allowed range. */ -export type ActiveConnectionsNotInAllowedRange = TimeWindowCustomAlertRule & { +export interface ActiveConnectionsNotInAllowedRange + extends TimeWindowCustomAlertRule { /** Polymorphic discriminator, which specifies the different types this object can be */ ruleType: "ActiveConnectionsNotInAllowedRange"; -}; +} /** Number of cloud to device messages (AMQP protocol) is not in allowed range. */ -export type AmqpC2DMessagesNotInAllowedRange = TimeWindowCustomAlertRule & { +export interface AmqpC2DMessagesNotInAllowedRange + extends TimeWindowCustomAlertRule { /** Polymorphic discriminator, which specifies the different types this object can be */ ruleType: "AmqpC2DMessagesNotInAllowedRange"; -}; +} /** Number of cloud to device messages (MQTT protocol) is not in allowed range. */ -export type MqttC2DMessagesNotInAllowedRange = TimeWindowCustomAlertRule & { +export interface MqttC2DMessagesNotInAllowedRange + extends TimeWindowCustomAlertRule { /** Polymorphic discriminator, which specifies the different types this object can be */ ruleType: "MqttC2DMessagesNotInAllowedRange"; -}; +} /** Number of cloud to device messages (HTTP protocol) is not in allowed range. */ -export type HttpC2DMessagesNotInAllowedRange = TimeWindowCustomAlertRule & { +export interface HttpC2DMessagesNotInAllowedRange + extends TimeWindowCustomAlertRule { /** Polymorphic discriminator, which specifies the different types this object can be */ ruleType: "HttpC2DMessagesNotInAllowedRange"; -}; +} /** Number of rejected cloud to device messages (AMQP protocol) is not in allowed range. */ -export type AmqpC2DRejectedMessagesNotInAllowedRange = TimeWindowCustomAlertRule & { +export interface AmqpC2DRejectedMessagesNotInAllowedRange + extends TimeWindowCustomAlertRule { /** Polymorphic discriminator, which specifies the different types this object can be */ ruleType: "AmqpC2DRejectedMessagesNotInAllowedRange"; -}; +} /** Number of rejected cloud to device messages (MQTT protocol) is not in allowed range. */ -export type MqttC2DRejectedMessagesNotInAllowedRange = TimeWindowCustomAlertRule & { +export interface MqttC2DRejectedMessagesNotInAllowedRange + extends TimeWindowCustomAlertRule { /** Polymorphic discriminator, which specifies the different types this object can be */ ruleType: "MqttC2DRejectedMessagesNotInAllowedRange"; -}; +} /** Number of rejected cloud to device messages (HTTP protocol) is not in allowed range. */ -export type HttpC2DRejectedMessagesNotInAllowedRange = TimeWindowCustomAlertRule & { +export interface HttpC2DRejectedMessagesNotInAllowedRange + extends TimeWindowCustomAlertRule { /** Polymorphic discriminator, which specifies the different types this object can be */ ruleType: "HttpC2DRejectedMessagesNotInAllowedRange"; -}; +} /** Number of device to cloud messages (AMQP protocol) is not in allowed range. */ -export type AmqpD2CMessagesNotInAllowedRange = TimeWindowCustomAlertRule & { +export interface AmqpD2CMessagesNotInAllowedRange + extends TimeWindowCustomAlertRule { /** Polymorphic discriminator, which specifies the different types this object can be */ ruleType: "AmqpD2CMessagesNotInAllowedRange"; -}; +} /** Number of device to cloud messages (MQTT protocol) is not in allowed range. */ -export type MqttD2CMessagesNotInAllowedRange = TimeWindowCustomAlertRule & { +export interface MqttD2CMessagesNotInAllowedRange + extends TimeWindowCustomAlertRule { /** Polymorphic discriminator, which specifies the different types this object can be */ ruleType: "MqttD2CMessagesNotInAllowedRange"; -}; +} /** Number of device to cloud messages (HTTP protocol) is not in allowed range. */ -export type HttpD2CMessagesNotInAllowedRange = TimeWindowCustomAlertRule & { +export interface HttpD2CMessagesNotInAllowedRange + extends TimeWindowCustomAlertRule { /** Polymorphic discriminator, which specifies the different types this object can be */ ruleType: "HttpD2CMessagesNotInAllowedRange"; -}; +} /** Number of direct method invokes is not in allowed range. */ -export type DirectMethodInvokesNotInAllowedRange = TimeWindowCustomAlertRule & { +export interface DirectMethodInvokesNotInAllowedRange + extends TimeWindowCustomAlertRule { /** Polymorphic discriminator, which specifies the different types this object can be */ ruleType: "DirectMethodInvokesNotInAllowedRange"; -}; +} /** Number of failed local logins is not in allowed range. */ -export type FailedLocalLoginsNotInAllowedRange = TimeWindowCustomAlertRule & { +export interface FailedLocalLoginsNotInAllowedRange + extends TimeWindowCustomAlertRule { /** Polymorphic discriminator, which specifies the different types this object can be */ ruleType: "FailedLocalLoginsNotInAllowedRange"; -}; +} /** Number of file uploads is not in allowed range. */ -export type FileUploadsNotInAllowedRange = TimeWindowCustomAlertRule & { +export interface FileUploadsNotInAllowedRange + extends TimeWindowCustomAlertRule { /** Polymorphic discriminator, which specifies the different types this object can be */ ruleType: "FileUploadsNotInAllowedRange"; -}; +} /** Number of device queue purges is not in allowed range. */ -export type QueuePurgesNotInAllowedRange = TimeWindowCustomAlertRule & { +export interface QueuePurgesNotInAllowedRange + extends TimeWindowCustomAlertRule { /** Polymorphic discriminator, which specifies the different types this object can be */ ruleType: "QueuePurgesNotInAllowedRange"; -}; +} /** Number of twin updates is not in allowed range. */ -export type TwinUpdatesNotInAllowedRange = TimeWindowCustomAlertRule & { +export interface TwinUpdatesNotInAllowedRange + extends TimeWindowCustomAlertRule { /** Polymorphic discriminator, which specifies the different types this object can be */ ruleType: "TwinUpdatesNotInAllowedRange"; -}; +} /** Number of unauthorized operations is not in allowed range. */ -export type UnauthorizedOperationsNotInAllowedRange = TimeWindowCustomAlertRule & { +export interface UnauthorizedOperationsNotInAllowedRange + extends TimeWindowCustomAlertRule { /** Polymorphic discriminator, which specifies the different types this object can be */ ruleType: "UnauthorizedOperationsNotInAllowedRange"; -}; +} /** Outbound connection to an ip that isn't allowed. Allow list consists of ipv4 or ipv6 range in CIDR notation. */ -export type ConnectionToIpNotAllowed = AllowlistCustomAlertRule & { +export interface ConnectionToIpNotAllowed extends AllowlistCustomAlertRule { /** Polymorphic discriminator, which specifies the different types this object can be */ ruleType: "ConnectionToIpNotAllowed"; -}; +} /** Inbound connection from an ip that isn't allowed. Allow list consists of ipv4 or ipv6 range in CIDR notation. */ -export type ConnectionFromIpNotAllowed = AllowlistCustomAlertRule & { +export interface ConnectionFromIpNotAllowed extends AllowlistCustomAlertRule { /** Polymorphic discriminator, which specifies the different types this object can be */ ruleType: "ConnectionFromIpNotAllowed"; -}; +} /** Login by a local user that isn't allowed. Allow list consists of login names to allow. */ -export type LocalUserNotAllowed = AllowlistCustomAlertRule & { +export interface LocalUserNotAllowed extends AllowlistCustomAlertRule { /** Polymorphic discriminator, which specifies the different types this object can be */ ruleType: "LocalUserNotAllowed"; -}; +} /** Execution of a process that isn't allowed. Allow list consists of process names to allow. */ -export type ProcessNotAllowed = AllowlistCustomAlertRule & { +export interface ProcessNotAllowed extends AllowlistCustomAlertRule { /** Polymorphic discriminator, which specifies the different types this object can be */ ruleType: "ProcessNotAllowed"; -}; +} + +/** Defines headers for GovernanceRules_ruleIdExecuteSingleSubscription operation. */ +export interface GovernanceRulesRuleIdExecuteSingleSubscriptionHeaders { + /** Location URL for the execution status */ + location?: string; +} + +/** Defines headers for GovernanceRules_ruleIdExecuteSingleSecurityConnector operation. */ +export interface GovernanceRulesRuleIdExecuteSingleSecurityConnectorHeaders { + /** Location URL for the execution status */ + location?: string; +} + +/** Defines headers for SubscriptionGovernanceRulesExecuteStatus_get operation. */ +export interface SubscriptionGovernanceRulesExecuteStatusGetHeaders { + /** Location URL for the execution status */ + location?: string; +} + +/** Defines headers for SecurityConnectorGovernanceRulesExecuteStatus_get operation. */ +export interface SecurityConnectorGovernanceRulesExecuteStatusGetHeaders { + /** Location URL for the execution status */ + location?: string; +} /** Known values of {@link CreatedByType} that the service accepts. */ export enum KnownCreatedByType { + /** User */ User = "User", + /** Application */ Application = "Application", + /** ManagedIdentity */ ManagedIdentity = "ManagedIdentity", + /** Key */ Key = "Key" } @@ -3632,7 +4302,9 @@ export type CreatedByType = string; /** Known values of {@link SupportedCloudEnum} that the service accepts. */ export enum KnownSupportedCloudEnum { + /** AWS */ AWS = "AWS", + /** GCP */ GCP = "GCP" } @@ -3648,8 +4320,11 @@ export type SupportedCloudEnum = string; /** Known values of {@link SeverityEnum} that the service accepts. */ export enum KnownSeverityEnum { + /** High */ High = "High", + /** Medium */ Medium = "Medium", + /** Low */ Low = "Low" } @@ -3690,9 +4365,9 @@ export type ResourceStatus = string; /** Known values of {@link PricingTier} that the service accepts. */ export enum KnownPricingTier { - /** Get free Azure security center experience with basic security features */ + /** Get free Microsoft Defender for Cloud experience with basic security features */ Free = "Free", - /** Get the standard Azure security center experience with advanced security features */ + /** Get the standard Microsoft Defender for Cloud experience with advanced security features */ Standard = "Standard" } @@ -3701,8 +4376,8 @@ export enum KnownPricingTier { * {@link KnownPricingTier} can be used interchangeably with PricingTier, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **Free**: Get free Azure security center experience with basic security features \ - * **Standard**: Get the standard Azure security center experience with advanced security features + * **Free**: Get free Microsoft Defender for Cloud experience with basic security features \ + * **Standard**: Get the standard Microsoft Defender for Cloud experience with advanced security features */ export type PricingTier = string; @@ -3726,7 +4401,9 @@ export type ValueType = string; /** Known values of {@link SecuritySolutionStatus} that the service accepts. */ export enum KnownSecuritySolutionStatus { + /** Enabled */ Enabled = "Enabled", + /** Disabled */ Disabled = "Disabled" } @@ -3832,7 +4509,9 @@ export type RecommendationType = string; /** Known values of {@link RecommendationConfigStatus} that the service accepts. */ export enum KnownRecommendationConfigStatus { + /** Disabled */ Disabled = "Disabled", + /** Enabled */ Enabled = "Enabled" } @@ -3866,6 +4545,7 @@ export type UnmaskedIpLoggingStatus = string; /** Known values of {@link AdditionalWorkspaceType} that the service accepts. */ export enum KnownAdditionalWorkspaceType { + /** Sentinel */ Sentinel = "Sentinel" } @@ -3880,7 +4560,9 @@ export type AdditionalWorkspaceType = string; /** Known values of {@link AdditionalWorkspaceDataType} that the service accepts. */ export enum KnownAdditionalWorkspaceDataType { + /** Alerts */ Alerts = "Alerts", + /** RawEvents */ RawEvents = "RawEvents" } @@ -3896,9 +4578,13 @@ export type AdditionalWorkspaceDataType = string; /** Known values of {@link ReportedSeverity} that the service accepts. */ export enum KnownReportedSeverity { + /** Informational */ Informational = "Informational", + /** Low */ Low = "Low", + /** Medium */ Medium = "Medium", + /** High */ High = "High" } @@ -3916,10 +4602,15 @@ export type ReportedSeverity = string; /** Known values of {@link TaskUpdateActionType} that the service accepts. */ export enum KnownTaskUpdateActionType { + /** Activate */ Activate = "Activate", + /** Dismiss */ Dismiss = "Dismiss", + /** Start */ Start = "Start", + /** Resolve */ Resolve = "Resolve", + /** Close */ Close = "Close" } @@ -3956,7 +4647,9 @@ export type AutoProvision = string; /** Known values of {@link InformationProtectionPolicyName} that the service accepts. */ export enum KnownInformationProtectionPolicyName { + /** Effective */ Effective = "effective", + /** Custom */ Custom = "custom" } @@ -3970,42 +4663,6 @@ export enum KnownInformationProtectionPolicyName { */ export type InformationProtectionPolicyName = string; -/** Known values of {@link AlertNotifications} that the service accepts. */ -export enum KnownAlertNotifications { - /** Get notifications on new alerts */ - On = "On", - /** Don't get notifications on new alerts */ - Off = "Off" -} - -/** - * Defines values for AlertNotifications. \ - * {@link KnownAlertNotifications} can be used interchangeably with AlertNotifications, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **On**: Get notifications on new alerts \ - * **Off**: Don't get notifications on new alerts - */ -export type AlertNotifications = string; - -/** Known values of {@link AlertsToAdmins} that the service accepts. */ -export enum KnownAlertsToAdmins { - /** Send notification on new alerts to the subscription's admins */ - On = "On", - /** Don't send notification on new alerts to the subscription's admins */ - Off = "Off" -} - -/** - * Defines values for AlertsToAdmins. \ - * {@link KnownAlertsToAdmins} can be used interchangeably with AlertsToAdmins, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **On**: Send notification on new alerts to the subscription's admins \ - * **Off**: Don't send notification on new alerts to the subscription's admins - */ -export type AlertsToAdmins = string; - /** Known values of {@link State} that the service accepts. */ export enum KnownState { /** All supported regulatory compliance controls in the given standard have a passed state */ @@ -4030,6 +4687,51 @@ export enum KnownState { */ export type State = string; +/** Known values of {@link MinimalSeverity} that the service accepts. */ +export enum KnownMinimalSeverity { + /** Get notifications on new alerts with High severity */ + High = "High", + /** Get notifications on new alerts with medium or high severity */ + Medium = "Medium", + /** Don't get notifications on new alerts with low, medium or high severity */ + Low = "Low" +} + +/** + * Defines values for MinimalSeverity. \ + * {@link KnownMinimalSeverity} can be used interchangeably with MinimalSeverity, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **High**: Get notifications on new alerts with High severity \ + * **Medium**: Get notifications on new alerts with medium or high severity \ + * **Low**: Don't get notifications on new alerts with low, medium or high severity + */ +export type MinimalSeverity = string; + +/** Known values of {@link Roles} that the service accepts. */ +export enum KnownRoles { + /** If enabled, send notification on new alerts to the account admins */ + AccountAdmin = "AccountAdmin", + /** If enabled, send notification on new alerts to the service admins */ + ServiceAdmin = "ServiceAdmin", + /** If enabled, send notification on new alerts to the subscription owners */ + Owner = "Owner", + /** If enabled, send notification on new alerts to the subscription contributors */ + Contributor = "Contributor" +} + +/** + * Defines values for Roles. \ + * {@link KnownRoles} can be used interchangeably with Roles, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **AccountAdmin**: If enabled, send notification on new alerts to the account admins \ + * **ServiceAdmin**: If enabled, send notification on new alerts to the service admins \ + * **Owner**: If enabled, send notification on new alerts to the subscription owners \ + * **Contributor**: If enabled, send notification on new alerts to the subscription contributors + */ +export type Roles = string; + /** Known values of {@link SubAssessmentStatusCode} that the service accepts. */ export enum KnownSubAssessmentStatusCode { /** The resource is healthy */ @@ -4053,8 +4755,11 @@ export type SubAssessmentStatusCode = string; /** Known values of {@link Severity} that the service accepts. */ export enum KnownSeverity { + /** Low */ Low = "Low", + /** Medium */ Medium = "Medium", + /** High */ High = "High" } @@ -4092,8 +4797,11 @@ export type Source = string; /** Known values of {@link AssessedResourceType} that the service accepts. */ export enum KnownAssessedResourceType { + /** SqlServerVulnerability */ SqlServerVulnerability = "SqlServerVulnerability", + /** ContainerRegistryVulnerability */ ContainerRegistryVulnerability = "ContainerRegistryVulnerability", + /** ServerVulnerability */ ServerVulnerability = "ServerVulnerability" } @@ -4110,16 +4818,27 @@ export type AssessedResourceType = string; /** Known values of {@link EventSource} that the service accepts. */ export enum KnownEventSource { + /** Assessments */ Assessments = "Assessments", + /** AssessmentsSnapshot */ AssessmentsSnapshot = "AssessmentsSnapshot", + /** SubAssessments */ SubAssessments = "SubAssessments", + /** SubAssessmentsSnapshot */ SubAssessmentsSnapshot = "SubAssessmentsSnapshot", + /** Alerts */ Alerts = "Alerts", + /** SecureScores */ SecureScores = "SecureScores", + /** SecureScoresSnapshot */ SecureScoresSnapshot = "SecureScoresSnapshot", + /** SecureScoreControls */ SecureScoreControls = "SecureScoreControls", + /** SecureScoreControlsSnapshot */ SecureScoreControlsSnapshot = "SecureScoreControlsSnapshot", + /** RegulatoryComplianceAssessment */ RegulatoryComplianceAssessment = "RegulatoryComplianceAssessment", + /** RegulatoryComplianceAssessmentSnapshot */ RegulatoryComplianceAssessmentSnapshot = "RegulatoryComplianceAssessmentSnapshot" } @@ -4144,9 +4863,13 @@ export type EventSource = string; /** Known values of {@link PropertyType} that the service accepts. */ export enum KnownPropertyType { + /** String */ String = "String", + /** Integer */ Integer = "Integer", + /** Number */ Number = "Number", + /** Boolean */ Boolean = "Boolean" } @@ -4203,8 +4926,11 @@ export type Operator = string; /** Known values of {@link ActionType} that the service accepts. */ export enum KnownActionType { + /** LogicApp */ LogicApp = "LogicApp", + /** EventHub */ EventHub = "EventHub", + /** Workspace */ Workspace = "Workspace" } @@ -4221,10 +4947,15 @@ export type ActionType = string; /** Known values of {@link ServerVulnerabilityAssessmentPropertiesProvisioningState} that the service accepts. */ export enum KnownServerVulnerabilityAssessmentPropertiesProvisioningState { + /** Succeeded */ Succeeded = "Succeeded", + /** Failed */ Failed = "Failed", + /** Canceled */ Canceled = "Canceled", + /** Provisioning */ Provisioning = "Provisioning", + /** Deprovisioning */ Deprovisioning = "Deprovisioning" } @@ -4243,19 +4974,33 @@ export type ServerVulnerabilityAssessmentPropertiesProvisioningState = string; /** Known values of {@link Tactics} that the service accepts. */ export enum KnownTactics { + /** Reconnaissance */ Reconnaissance = "Reconnaissance", + /** ResourceDevelopment */ ResourceDevelopment = "Resource Development", + /** InitialAccess */ InitialAccess = "Initial Access", + /** Execution */ Execution = "Execution", + /** Persistence */ Persistence = "Persistence", + /** PrivilegeEscalation */ PrivilegeEscalation = "Privilege Escalation", + /** DefenseEvasion */ DefenseEvasion = "Defense Evasion", + /** CredentialAccess */ CredentialAccess = "Credential Access", + /** Discovery */ Discovery = "Discovery", + /** LateralMovement */ LateralMovement = "Lateral Movement", + /** Collection */ Collection = "Collection", + /** CommandAndControl */ CommandAndControl = "Command and Control", + /** Exfiltration */ Exfiltration = "Exfiltration", + /** Impact */ Impact = "Impact" } @@ -4283,109 +5028,213 @@ export type Tactics = string; /** Known values of {@link Techniques} that the service accepts. */ export enum KnownTechniques { + /** AbuseElevationControlMechanism */ AbuseElevationControlMechanism = "Abuse Elevation Control Mechanism", + /** AccessTokenManipulation */ AccessTokenManipulation = "Access Token Manipulation", + /** AccountDiscovery */ AccountDiscovery = "Account Discovery", + /** AccountManipulation */ AccountManipulation = "Account Manipulation", + /** ActiveScanning */ ActiveScanning = "Active Scanning", + /** ApplicationLayerProtocol */ ApplicationLayerProtocol = "Application Layer Protocol", + /** AudioCapture */ AudioCapture = "Audio Capture", + /** BootOrLogonAutostartExecution */ BootOrLogonAutostartExecution = "Boot or Logon Autostart Execution", + /** BootOrLogonInitializationScripts */ BootOrLogonInitializationScripts = "Boot or Logon Initialization Scripts", + /** BruteForce */ BruteForce = "Brute Force", + /** CloudInfrastructureDiscovery */ CloudInfrastructureDiscovery = "Cloud Infrastructure Discovery", + /** CloudServiceDashboard */ CloudServiceDashboard = "Cloud Service Dashboard", + /** CloudServiceDiscovery */ CloudServiceDiscovery = "Cloud Service Discovery", + /** CommandAndScriptingInterpreter */ CommandAndScriptingInterpreter = "Command and Scripting Interpreter", + /** CompromiseClientSoftwareBinary */ CompromiseClientSoftwareBinary = "Compromise Client Software Binary", + /** CompromiseInfrastructure */ CompromiseInfrastructure = "Compromise Infrastructure", + /** ContainerAndResourceDiscovery */ ContainerAndResourceDiscovery = "Container and Resource Discovery", + /** CreateAccount */ CreateAccount = "Create Account", + /** CreateOrModifySystemProcess */ CreateOrModifySystemProcess = "Create or Modify System Process", + /** CredentialsFromPasswordStores */ CredentialsFromPasswordStores = "Credentials from Password Stores", + /** DataDestruction */ DataDestruction = "Data Destruction", + /** DataEncryptedForImpact */ DataEncryptedForImpact = "Data Encrypted for Impact", + /** DataFromCloudStorageObject */ DataFromCloudStorageObject = "Data from Cloud Storage Object", + /** DataFromConfigurationRepository */ DataFromConfigurationRepository = "Data from Configuration Repository", + /** DataFromInformationRepositories */ DataFromInformationRepositories = "Data from Information Repositories", + /** DataFromLocalSystem */ DataFromLocalSystem = "Data from Local System", + /** DataManipulation */ DataManipulation = "Data Manipulation", + /** DataStaged */ DataStaged = "Data Staged", + /** Defacement */ Defacement = "Defacement", + /** DeobfuscateDecodeFilesOrInformation */ DeobfuscateDecodeFilesOrInformation = "Deobfuscate/Decode Files or Information", + /** DiskWipe */ DiskWipe = "Disk Wipe", + /** DomainTrustDiscovery */ DomainTrustDiscovery = "Domain Trust Discovery", + /** DriveByCompromise */ DriveByCompromise = "Drive-by Compromise", + /** DynamicResolution */ DynamicResolution = "Dynamic Resolution", + /** EndpointDenialOfService */ EndpointDenialOfService = "Endpoint Denial of Service", + /** EventTriggeredExecution */ EventTriggeredExecution = "Event Triggered Execution", + /** ExfiltrationOverAlternativeProtocol */ ExfiltrationOverAlternativeProtocol = "Exfiltration Over Alternative Protocol", + /** ExploitPublicFacingApplication */ ExploitPublicFacingApplication = "Exploit Public-Facing Application", + /** ExploitationForClientExecution */ ExploitationForClientExecution = "Exploitation for Client Execution", + /** ExploitationForCredentialAccess */ ExploitationForCredentialAccess = "Exploitation for Credential Access", + /** ExploitationForDefenseEvasion */ ExploitationForDefenseEvasion = "Exploitation for Defense Evasion", + /** ExploitationForPrivilegeEscalation */ ExploitationForPrivilegeEscalation = "Exploitation for Privilege Escalation", + /** ExploitationOfRemoteServices */ ExploitationOfRemoteServices = "Exploitation of Remote Services", + /** ExternalRemoteServices */ ExternalRemoteServices = "External Remote Services", + /** FallbackChannels */ FallbackChannels = "Fallback Channels", + /** FileAndDirectoryDiscovery */ FileAndDirectoryDiscovery = "File and Directory Discovery", + /** GatherVictimNetworkInformation */ GatherVictimNetworkInformation = "Gather Victim Network Information", + /** HideArtifacts */ HideArtifacts = "Hide Artifacts", + /** HijackExecutionFlow */ HijackExecutionFlow = "Hijack Execution Flow", + /** ImpairDefenses */ ImpairDefenses = "Impair Defenses", + /** ImplantContainerImage */ ImplantContainerImage = "Implant Container Image", + /** IndicatorRemovalOnHost */ IndicatorRemovalOnHost = "Indicator Removal on Host", + /** IndirectCommandExecution */ IndirectCommandExecution = "Indirect Command Execution", + /** IngressToolTransfer */ IngressToolTransfer = "Ingress Tool Transfer", + /** InputCapture */ InputCapture = "Input Capture", + /** InterProcessCommunication */ InterProcessCommunication = "Inter-Process Communication", + /** LateralToolTransfer */ LateralToolTransfer = "Lateral Tool Transfer", + /** ManInTheMiddle */ ManInTheMiddle = "Man-in-the-Middle", + /** Masquerading */ Masquerading = "Masquerading", + /** ModifyAuthenticationProcess */ ModifyAuthenticationProcess = "Modify Authentication Process", + /** ModifyRegistry */ ModifyRegistry = "Modify Registry", + /** NetworkDenialOfService */ NetworkDenialOfService = "Network Denial of Service", + /** NetworkServiceScanning */ NetworkServiceScanning = "Network Service Scanning", + /** NetworkSniffing */ NetworkSniffing = "Network Sniffing", + /** NonApplicationLayerProtocol */ NonApplicationLayerProtocol = "Non-Application Layer Protocol", + /** NonStandardPort */ NonStandardPort = "Non-Standard Port", + /** ObtainCapabilities */ ObtainCapabilities = "Obtain Capabilities", + /** ObfuscatedFilesOrInformation */ ObfuscatedFilesOrInformation = "Obfuscated Files or Information", + /** OfficeApplicationStartup */ OfficeApplicationStartup = "Office Application Startup", + /** OSCredentialDumping */ OSCredentialDumping = "OS Credential Dumping", + /** PermissionGroupsDiscovery */ PermissionGroupsDiscovery = "Permission Groups Discovery", + /** Phishing */ Phishing = "Phishing", + /** PreOSBoot */ PreOSBoot = "Pre-OS Boot", + /** ProcessDiscovery */ ProcessDiscovery = "Process Discovery", + /** ProcessInjection */ ProcessInjection = "Process Injection", + /** ProtocolTunneling */ ProtocolTunneling = "Protocol Tunneling", + /** Proxy */ Proxy = "Proxy", + /** QueryRegistry */ QueryRegistry = "Query Registry", + /** RemoteAccessSoftware */ RemoteAccessSoftware = "Remote Access Software", + /** RemoteServiceSessionHijacking */ RemoteServiceSessionHijacking = "Remote Service Session Hijacking", + /** RemoteServices */ RemoteServices = "Remote Services", + /** RemoteSystemDiscovery */ RemoteSystemDiscovery = "Remote System Discovery", + /** ResourceHijacking */ ResourceHijacking = "Resource Hijacking", + /** ScheduledTaskJob */ ScheduledTaskJob = "Scheduled Task/Job", + /** ScreenCapture */ ScreenCapture = "Screen Capture", + /** SearchVictimOwnedWebsites */ SearchVictimOwnedWebsites = "Search Victim-Owned Websites", + /** ServerSoftwareComponent */ ServerSoftwareComponent = "Server Software Component", + /** ServiceStop */ ServiceStop = "Service Stop", + /** SignedBinaryProxyExecution */ SignedBinaryProxyExecution = "Signed Binary Proxy Execution", + /** SoftwareDeploymentTools */ SoftwareDeploymentTools = "Software Deployment Tools", + /** SQLStoredProcedures */ SQLStoredProcedures = "SQL Stored Procedures", + /** StealOrForgeKerberosTickets */ StealOrForgeKerberosTickets = "Steal or Forge Kerberos Tickets", + /** SubvertTrustControls */ SubvertTrustControls = "Subvert Trust Controls", + /** SupplyChainCompromise */ SupplyChainCompromise = "Supply Chain Compromise", + /** SystemInformationDiscovery */ SystemInformationDiscovery = "System Information Discovery", + /** TaintSharedContent */ TaintSharedContent = "Taint Shared Content", + /** TrafficSignaling */ TrafficSignaling = "Traffic Signaling", + /** TransferDataToCloudAccount */ TransferDataToCloudAccount = "Transfer Data to Cloud Account", + /** TrustedRelationship */ TrustedRelationship = "Trusted Relationship", + /** UnsecuredCredentials */ UnsecuredCredentials = "Unsecured Credentials", + /** UserExecution */ UserExecution = "User Execution", + /** ValidAccounts */ ValidAccounts = "Valid Accounts", + /** WindowsManagementInstrumentation */ WindowsManagementInstrumentation = "Windows Management Instrumentation", + /** FileAndDirectoryPermissionsModification */ FileAndDirectoryPermissionsModification = "File and Directory Permissions Modification" } @@ -4503,10 +5352,15 @@ export type Techniques = string; /** Known values of {@link Categories} that the service accepts. */ export enum KnownCategories { + /** Compute */ Compute = "Compute", + /** Networking */ Networking = "Networking", + /** Data */ Data = "Data", + /** IdentityAndAccess */ IdentityAndAccess = "IdentityAndAccess", + /** IoT */ IoT = "IoT" } @@ -4525,8 +5379,11 @@ export type Categories = string; /** Known values of {@link UserImpact} that the service accepts. */ export enum KnownUserImpact { + /** Low */ Low = "Low", + /** Moderate */ Moderate = "Moderate", + /** High */ High = "High" } @@ -4543,8 +5400,11 @@ export type UserImpact = string; /** Known values of {@link ImplementationEffort} that the service accepts. */ export enum KnownImplementationEffort { + /** Low */ Low = "Low", + /** Moderate */ Moderate = "Moderate", + /** High */ High = "High" } @@ -4561,13 +5421,21 @@ export type ImplementationEffort = string; /** Known values of {@link Threats} that the service accepts. */ export enum KnownThreats { + /** AccountBreach */ AccountBreach = "accountBreach", + /** DataExfiltration */ DataExfiltration = "dataExfiltration", + /** DataSpillage */ DataSpillage = "dataSpillage", + /** MaliciousInsider */ MaliciousInsider = "maliciousInsider", + /** ElevationOfPrivilege */ ElevationOfPrivilege = "elevationOfPrivilege", + /** ThreatResistance */ ThreatResistance = "threatResistance", + /** MissingCoverage */ MissingCoverage = "missingCoverage", + /** DenialOfService */ DenialOfService = "denialOfService" } @@ -4589,11 +5457,11 @@ export type Threats = string; /** Known values of {@link AssessmentType} that the service accepts. */ export enum KnownAssessmentType { - /** Azure Security Center managed assessments */ + /** Microsoft Defender for Cloud managed assessments */ BuiltIn = "BuiltIn", - /** User defined policies that are automatically ingested from Azure Policy to Azure Security Center */ + /** User defined policies that are automatically ingested from Azure Policy to Microsoft Defender for Cloud */ CustomPolicy = "CustomPolicy", - /** User assessments pushed directly by the user or other third party to Azure Security Center */ + /** User assessments pushed directly by the user or other third party to Microsoft Defender for Cloud */ CustomerManaged = "CustomerManaged", /** An assessment that was created by a verified 3rd party if the user connected it to ASC */ VerifiedPartner = "VerifiedPartner" @@ -4604,9 +5472,9 @@ export enum KnownAssessmentType { * {@link KnownAssessmentType} can be used interchangeably with AssessmentType, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **BuiltIn**: Azure Security Center managed assessments \ - * **CustomPolicy**: User defined policies that are automatically ingested from Azure Policy to Azure Security Center \ - * **CustomerManaged**: User assessments pushed directly by the user or other third party to Azure Security Center \ + * **BuiltIn**: Microsoft Defender for Cloud managed assessments \ + * **CustomPolicy**: User defined policies that are automatically ingested from Azure Policy to Microsoft Defender for Cloud \ + * **CustomerManaged**: User assessments pushed directly by the user or other third party to Microsoft Defender for Cloud \ * **VerifiedPartner**: An assessment that was created by a verified 3rd party if the user connected it to ASC */ export type AssessmentType = string; @@ -4652,8 +5520,11 @@ export type ExpandEnum = string; /** Known values of {@link EnforcementMode} that the service accepts. */ export enum KnownEnforcementMode { + /** Audit */ Audit = "Audit", + /** Enforce */ Enforce = "Enforce", + /** None */ None = "None" } @@ -4670,10 +5541,15 @@ export type EnforcementMode = string; /** Known values of {@link ConfigurationStatus} that the service accepts. */ export enum KnownConfigurationStatus { + /** Configured */ Configured = "Configured", + /** NotConfigured */ NotConfigured = "NotConfigured", + /** InProgress */ InProgress = "InProgress", + /** Failed */ Failed = "Failed", + /** NoStatus */ NoStatus = "NoStatus" } @@ -4692,9 +5568,13 @@ export type ConfigurationStatus = string; /** Known values of {@link RecommendationStatus} that the service accepts. */ export enum KnownRecommendationStatus { + /** Recommended */ Recommended = "Recommended", + /** NotRecommended */ NotRecommended = "NotRecommended", + /** NotAvailable */ NotAvailable = "NotAvailable", + /** NoStatus */ NoStatus = "NoStatus" } @@ -4712,11 +5592,17 @@ export type RecommendationStatus = string; /** Known values of {@link AdaptiveApplicationControlIssue} that the service accepts. */ export enum KnownAdaptiveApplicationControlIssue { + /** ViolationsAudited */ ViolationsAudited = "ViolationsAudited", + /** ViolationsBlocked */ ViolationsBlocked = "ViolationsBlocked", + /** MsiAndScriptViolationsAudited */ MsiAndScriptViolationsAudited = "MsiAndScriptViolationsAudited", + /** MsiAndScriptViolationsBlocked */ MsiAndScriptViolationsBlocked = "MsiAndScriptViolationsBlocked", + /** ExecutableViolationsAudited */ ExecutableViolationsAudited = "ExecutableViolationsAudited", + /** RulesViolatedManually */ RulesViolatedManually = "RulesViolatedManually" } @@ -4736,10 +5622,15 @@ export type AdaptiveApplicationControlIssue = string; /** Known values of {@link SourceSystem} that the service accepts. */ export enum KnownSourceSystem { + /** AzureAppLocker */ AzureAppLocker = "Azure_AppLocker", + /** AzureAuditD */ AzureAuditD = "Azure_AuditD", + /** NonAzureAppLocker */ NonAzureAppLocker = "NonAzure_AppLocker", + /** NonAzureAuditD */ NonAzureAuditD = "NonAzure_AuditD", + /** None */ None = "None" } @@ -4758,8 +5649,11 @@ export type SourceSystem = string; /** Known values of {@link RecommendationAction} that the service accepts. */ export enum KnownRecommendationAction { + /** Recommended */ Recommended = "Recommended", + /** Add */ Add = "Add", + /** Remove */ Remove = "Remove" } @@ -4776,8 +5670,11 @@ export type RecommendationAction = string; /** Known values of {@link EnforcementSupport} that the service accepts. */ export enum KnownEnforcementSupport { + /** Supported */ Supported = "Supported", + /** NotSupported */ NotSupported = "NotSupported", + /** Unknown */ Unknown = "Unknown" } @@ -4794,11 +5691,17 @@ export type EnforcementSupport = string; /** Known values of {@link FileType} that the service accepts. */ export enum KnownFileType { + /** Exe */ Exe = "Exe", + /** Dll */ Dll = "Dll", + /** Msi */ Msi = "Msi", + /** Script */ Script = "Script", + /** Executable */ Executable = "Executable", + /** Unknown */ Unknown = "Unknown" } @@ -4818,7 +5721,9 @@ export type FileType = string; /** Known values of {@link Direction} that the service accepts. */ export enum KnownDirection { + /** Inbound */ Inbound = "Inbound", + /** Outbound */ Outbound = "Outbound" } @@ -4834,7 +5739,9 @@ export type Direction = string; /** Known values of {@link TransportProtocol} that the service accepts. */ export enum KnownTransportProtocol { + /** TCP */ TCP = "TCP", + /** UDP */ UDP = "UDP" } @@ -4850,7 +5757,9 @@ export type TransportProtocol = string; /** Known values of {@link ConnectionType} that the service accepts. */ export enum KnownConnectionType { + /** Internal */ Internal = "Internal", + /** External */ External = "External" } @@ -4866,8 +5775,11 @@ export type ConnectionType = string; /** Known values of {@link Protocol} that the service accepts. */ export enum KnownProtocol { + /** TCP */ TCP = "TCP", + /** UDP */ UDP = "UDP", + /** All */ All = "*" } @@ -4884,7 +5796,9 @@ export type Protocol = string; /** Known values of {@link Status} that the service accepts. */ export enum KnownStatus { + /** Revoked */ Revoked = "Revoked", + /** Initiated */ Initiated = "Initiated" } @@ -4900,8 +5814,11 @@ export type Status = string; /** Known values of {@link StatusReason} that the service accepts. */ export enum KnownStatusReason { + /** Expired */ Expired = "Expired", + /** UserRequested */ UserRequested = "UserRequested", + /** NewerRequestInitiated */ NewerRequestInitiated = "NewerRequestInitiated" } @@ -4918,9 +5835,13 @@ export type StatusReason = string; /** Known values of {@link SecurityFamily} that the service accepts. */ export enum KnownSecurityFamily { + /** Waf */ Waf = "Waf", + /** Ngfw */ Ngfw = "Ngfw", + /** SaasWaf */ SaasWaf = "SaasWaf", + /** Va */ Va = "Va" } @@ -4938,8 +5859,11 @@ export type SecurityFamily = string; /** Known values of {@link ExternalSecuritySolutionKind} that the service accepts. */ export enum KnownExternalSecuritySolutionKind { + /** CEF */ CEF = "CEF", + /** ATA */ ATA = "ATA", + /** AAD */ AAD = "AAD" } @@ -4971,9 +5895,9 @@ export type ExpandControlsEnum = string; /** Known values of {@link ControlType} that the service accepts. */ export enum KnownControlType { - /** Azure Security Center managed assessments */ + /** Microsoft Defender for Cloud managed assessments */ BuiltIn = "BuiltIn", - /** Non Azure Security Center managed assessments */ + /** Non Microsoft Defender for Cloud managed assessments */ Custom = "Custom" } @@ -4982,15 +5906,18 @@ export enum KnownControlType { * {@link KnownControlType} can be used interchangeably with ControlType, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **BuiltIn**: Azure Security Center managed assessments \ - * **Custom**: Non Azure Security Center managed assessments + * **BuiltIn**: Microsoft Defender for Cloud managed assessments \ + * **Custom**: Non Microsoft Defender for Cloud managed assessments */ export type ControlType = string; /** Known values of {@link ProvisioningState} that the service accepts. */ export enum KnownProvisioningState { + /** Succeeded */ Succeeded = "Succeeded", + /** Failed */ Failed = "Failed", + /** Updating */ Updating = "Updating" } @@ -5295,7 +6222,9 @@ export type Intent = string; /** Known values of {@link ResourceIdentifierType} that the service accepts. */ export enum KnownResourceIdentifierType { + /** AzureResource */ AzureResource = "AzureResource", + /** LogAnalytics */ LogAnalytics = "LogAnalytics" } @@ -5313,6 +6242,8 @@ export type ResourceIdentifierType = string; export enum KnownAlertStatus { /** An alert which doesn't specify a value is assigned the status 'Active' */ Active = "Active", + /** An alert which is in handling state */ + InProgress = "InProgress", /** Alert closed after handling */ Resolved = "Resolved", /** Alert dismissed as false positive */ @@ -5325,6 +6256,7 @@ export enum KnownAlertStatus { * this enum contains the known values that the service supports. * ### Known values supported by the service * **Active**: An alert which doesn't specify a value is assigned the status 'Active' \ + * **InProgress**: An alert which is in handling state \ * **Resolved**: Alert closed after handling \ * **Dismissed**: Alert dismissed as false positive */ @@ -5347,8 +6279,11 @@ export type Kind = string; /** Known values of {@link SettingKind} that the service accepts. */ export enum KnownSettingKind { + /** DataExportSettings */ DataExportSettings = "DataExportSettings", + /** AlertSuppressionSetting */ AlertSuppressionSetting = "AlertSuppressionSetting", + /** AlertSyncSettings */ AlertSyncSettings = "AlertSyncSettings" } @@ -5365,9 +6300,15 @@ export type SettingKind = string; /** Known values of {@link SettingName} that the service accepts. */ export enum KnownSettingName { + /** Mcas */ Mcas = "MCAS", + /** Wdatp */ Wdatp = "WDATP", + /** WdatpExcludeLinuxPublicPreview */ WdatpExcludeLinuxPublicPreview = "WDATP_EXCLUDE_LINUX_PUBLIC_PREVIEW", + /** WdatpUnifiedSolution */ + WdatpUnifiedSolution = "WDATP_UNIFIED_SOLUTION", + /** Sentinel */ Sentinel = "Sentinel" } @@ -5379,16 +6320,22 @@ export enum KnownSettingName { * **MCAS** \ * **WDATP** \ * **WDATP_EXCLUDE_LINUX_PUBLIC_PREVIEW** \ + * **WDATP_UNIFIED_SOLUTION** \ * **Sentinel** */ export type SettingName = string; /** Known values of {@link EndOfSupportStatus} that the service accepts. */ export enum KnownEndOfSupportStatus { + /** None */ None = "None", + /** NoLongerSupported */ NoLongerSupported = "noLongerSupported", + /** VersionNoLongerSupported */ VersionNoLongerSupported = "versionNoLongerSupported", + /** UpcomingNoLongerSupported */ UpcomingNoLongerSupported = "upcomingNoLongerSupported", + /** UpcomingVersionNoLongerSupported */ UpcomingVersionNoLongerSupported = "upcomingVersionNoLongerSupported" } @@ -5403,66 +6350,177 @@ export enum KnownEndOfSupportStatus { * **upcomingNoLongerSupported** \ * **upcomingVersionNoLongerSupported** */ -export type EndOfSupportStatus = string; +export type EndOfSupportStatus = string; + +/** Known values of {@link CloudName} that the service accepts. */ +export enum KnownCloudName { + /** Azure */ + Azure = "Azure", + /** AWS */ + AWS = "AWS", + /** GCP */ + GCP = "GCP", + /** Github */ + Github = "Github", + /** AzureDevOps */ + AzureDevOps = "AzureDevOps" +} + +/** + * Defines values for CloudName. \ + * {@link KnownCloudName} can be used interchangeably with CloudName, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Azure** \ + * **AWS** \ + * **GCP** \ + * **Github** \ + * **AzureDevOps** + */ +export type CloudName = string; + +/** Known values of {@link OfferingType} that the service accepts. */ +export enum KnownOfferingType { + /** CspmMonitorAws */ + CspmMonitorAws = "CspmMonitorAws", + /** DefenderForContainersAws */ + DefenderForContainersAws = "DefenderForContainersAws", + /** DefenderForServersAws */ + DefenderForServersAws = "DefenderForServersAws", + /** DefenderForDatabasesAws */ + DefenderForDatabasesAws = "DefenderForDatabasesAws", + /** InformationProtectionAws */ + InformationProtectionAws = "InformationProtectionAws", + /** CspmMonitorGcp */ + CspmMonitorGcp = "CspmMonitorGcp", + /** CspmMonitorGithub */ + CspmMonitorGithub = "CspmMonitorGithub", + /** CspmMonitorAzureDevOps */ + CspmMonitorAzureDevOps = "CspmMonitorAzureDevOps", + /** DefenderForServersGcp */ + DefenderForServersGcp = "DefenderForServersGcp", + /** DefenderForContainersGcp */ + DefenderForContainersGcp = "DefenderForContainersGcp", + /** DefenderForDatabasesGcp */ + DefenderForDatabasesGcp = "DefenderForDatabasesGcp" +} + +/** + * Defines values for OfferingType. \ + * {@link KnownOfferingType} can be used interchangeably with OfferingType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **CspmMonitorAws** \ + * **DefenderForContainersAws** \ + * **DefenderForServersAws** \ + * **DefenderForDatabasesAws** \ + * **InformationProtectionAws** \ + * **CspmMonitorGcp** \ + * **CspmMonitorGithub** \ + * **CspmMonitorAzureDevOps** \ + * **DefenderForServersGcp** \ + * **DefenderForContainersGcp** \ + * **DefenderForDatabasesGcp** + */ +export type OfferingType = string; + +/** Known values of {@link EnvironmentType} that the service accepts. */ +export enum KnownEnvironmentType { + /** AwsAccount */ + AwsAccount = "AwsAccount", + /** GcpProject */ + GcpProject = "GcpProject", + /** GithubScope */ + GithubScope = "GithubScope", + /** AzureDevOpsScope */ + AzureDevOpsScope = "AzureDevOpsScope" +} + +/** + * Defines values for EnvironmentType. \ + * {@link KnownEnvironmentType} can be used interchangeably with EnvironmentType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **AwsAccount** \ + * **GcpProject** \ + * **GithubScope** \ + * **AzureDevOpsScope** + */ +export type EnvironmentType = string; + +/** Known values of {@link GovernanceRuleType} that the service accepts. */ +export enum KnownGovernanceRuleType { + /** The source of the rule type definition is integrated */ + Integrated = "Integrated", + /** The source of the rule type definition is ServiceNow */ + ServiceNow = "ServiceNow" +} + +/** + * Defines values for GovernanceRuleType. \ + * {@link KnownGovernanceRuleType} can be used interchangeably with GovernanceRuleType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Integrated**: The source of the rule type definition is integrated \ + * **ServiceNow**: The source of the rule type definition is ServiceNow + */ +export type GovernanceRuleType = string; -/** Known values of {@link CloudName} that the service accepts. */ -export enum KnownCloudName { - Azure = "Azure", - AWS = "AWS", - GCP = "GCP" +/** Known values of {@link GovernanceRuleSourceResourceType} that the service accepts. */ +export enum KnownGovernanceRuleSourceResourceType { + /** The source of the governance rule is assessments */ + Assessments = "Assessments" } /** - * Defines values for CloudName. \ - * {@link KnownCloudName} can be used interchangeably with CloudName, + * Defines values for GovernanceRuleSourceResourceType. \ + * {@link KnownGovernanceRuleSourceResourceType} can be used interchangeably with GovernanceRuleSourceResourceType, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **Azure** \ - * **AWS** \ - * **GCP** + * **Assessments**: The source of the governance rule is assessments */ -export type CloudName = string; +export type GovernanceRuleSourceResourceType = string; -/** Known values of {@link OfferingType} that the service accepts. */ -export enum KnownOfferingType { - CspmMonitorAws = "CspmMonitorAws", - DefenderForContainersAws = "DefenderForContainersAws", - DefenderForServersAws = "DefenderForServersAws", - InformationProtectionAws = "InformationProtectionAws" +/** Known values of {@link GovernanceRuleOwnerSourceType} that the service accepts. */ +export enum KnownGovernanceRuleOwnerSourceType { + /** The rule source type defined using resource tag */ + ByTag = "ByTag", + /** The rule source type defined manually */ + Manually = "Manually" } /** - * Defines values for OfferingType. \ - * {@link KnownOfferingType} can be used interchangeably with OfferingType, + * Defines values for GovernanceRuleOwnerSourceType. \ + * {@link KnownGovernanceRuleOwnerSourceType} can be used interchangeably with GovernanceRuleOwnerSourceType, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **CspmMonitorAws** \ - * **DefenderForContainersAws** \ - * **DefenderForServersAws** \ - * **InformationProtectionAws** + * **ByTag**: The rule source type defined using resource tag \ + * **Manually**: The rule source type defined manually */ -export type OfferingType = string; +export type GovernanceRuleOwnerSourceType = string; -/** Known values of {@link OrganizationMembershipType} that the service accepts. */ -export enum KnownOrganizationMembershipType { - Member = "Member", - Organization = "Organization" +/** Known values of {@link ApplicationSourceResourceType} that the service accepts. */ +export enum KnownApplicationSourceResourceType { + /** The source of the application is assessments */ + Assessments = "Assessments" } /** - * Defines values for OrganizationMembershipType. \ - * {@link KnownOrganizationMembershipType} can be used interchangeably with OrganizationMembershipType, + * Defines values for ApplicationSourceResourceType. \ + * {@link KnownApplicationSourceResourceType} can be used interchangeably with ApplicationSourceResourceType, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **Member** \ - * **Organization** + * **Assessments**: The source of the application is assessments */ -export type OrganizationMembershipType = string; +export type ApplicationSourceResourceType = string; /** Known values of {@link AadConnectivityState} that the service accepts. */ export enum KnownAadConnectivityState { + /** Discovered */ Discovered = "Discovered", + /** NotLicensed */ NotLicensed = "NotLicensed", + /** Connected */ Connected = "Connected" } @@ -5479,14 +6537,24 @@ export type AadConnectivityState = string; /** Known values of {@link BundleType} that the service accepts. */ export enum KnownBundleType { + /** AppServices */ AppServices = "AppServices", + /** DNS */ DNS = "DNS", + /** KeyVaults */ KeyVaults = "KeyVaults", + /** KubernetesService */ KubernetesService = "KubernetesService", + /** ResourceManager */ ResourceManager = "ResourceManager", + /** SqlServers */ SqlServers = "SqlServers", + /** StorageAccounts */ StorageAccounts = "StorageAccounts", - VirtualMachines = "VirtualMachines" + /** VirtualMachines */ + VirtualMachines = "VirtualMachines", + /** CosmosDbs */ + CosmosDbs = "CosmosDbs" } /** @@ -5501,9 +6569,115 @@ export enum KnownBundleType { * **ResourceManager** \ * **SqlServers** \ * **StorageAccounts** \ - * **VirtualMachines** + * **VirtualMachines** \ + * **CosmosDbs** */ export type BundleType = string; + +/** Known values of {@link OrganizationMembershipType} that the service accepts. */ +export enum KnownOrganizationMembershipType { + /** Member */ + Member = "Member", + /** Organization */ + Organization = "Organization" +} + +/** + * Defines values for OrganizationMembershipType. \ + * {@link KnownOrganizationMembershipType} can be used interchangeably with OrganizationMembershipType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Member** \ + * **Organization** + */ +export type OrganizationMembershipType = string; + +/** Known values of {@link Type} that the service accepts. */ +export enum KnownType { + /** Qualys */ + Qualys = "Qualys", + /** TVM */ + TVM = "TVM" +} + +/** + * Defines values for Type. \ + * {@link KnownType} can be used interchangeably with Type, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Qualys** \ + * **TVM** + */ +export type Type = string; + +/** Known values of {@link SubPlan} that the service accepts. */ +export enum KnownSubPlan { + /** P1 */ + P1 = "P1", + /** P2 */ + P2 = "P2" +} + +/** + * Defines values for SubPlan. \ + * {@link KnownSubPlan} can be used interchangeably with SubPlan, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **P1** \ + * **P2** + */ +export type SubPlan = string; + +/** Known values of {@link ScanningMode} that the service accepts. */ +export enum KnownScanningMode { + /** Default */ + Default = "Default" +} + +/** + * Defines values for ScanningMode. \ + * {@link KnownScanningMode} can be used interchangeably with ScanningMode, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Default** + */ +export type ScanningMode = string; + +/** Known values of {@link GovernanceRuleConditionOperator} that the service accepts. */ +export enum KnownGovernanceRuleConditionOperator { + /** Checks that the string value of the data defined in Property equals the given value - exact fit */ + Equals = "Equals", + /** Checks that the string value of the data defined in Property equals any of the given values (exact fit) */ + In = "In" +} + +/** + * Defines values for GovernanceRuleConditionOperator. \ + * {@link KnownGovernanceRuleConditionOperator} can be used interchangeably with GovernanceRuleConditionOperator, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Equals**: Checks that the string value of the data defined in Property equals the given value - exact fit \ + * **In**: Checks that the string value of the data defined in Property equals any of the given values (exact fit) + */ +export type GovernanceRuleConditionOperator = string; + +/** Known values of {@link ApplicationConditionOperator} that the service accepts. */ +export enum KnownApplicationConditionOperator { + /** Checks that the string value of the data defined in Property contains the given value */ + Contains = "Contains", + /** Checks that the string value of the data defined in Property equals any of the given values (exact fit) */ + In = "In" +} + +/** + * Defines values for ApplicationConditionOperator. \ + * {@link KnownApplicationConditionOperator} can be used interchangeably with ApplicationConditionOperator, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Contains**: Checks that the string value of the data defined in Property contains the given value \ + * **In**: Checks that the string value of the data defined in Property equals any of the given values (exact fit) + */ +export type ApplicationConditionOperator = string; /** Defines values for Rank. */ export type Rank = "None" | "Low" | "Medium" | "High" | "Critical"; /** Defines values for RuleState. */ @@ -6058,13 +7232,6 @@ export type SecurityContactsCreateResponse = SecurityContact; export interface SecurityContactsDeleteOptionalParams extends coreClient.OperationOptions {} -/** Optional parameters. */ -export interface SecurityContactsUpdateOptionalParams - extends coreClient.OperationOptions {} - -/** Contains response data for the update operation. */ -export type SecurityContactsUpdateResponse = SecurityContact; - /** Optional parameters. */ export interface SecurityContactsListNextOptionalParams extends coreClient.OperationOptions {} @@ -6715,7 +7882,7 @@ export interface ExternalSecuritySolutionsGetOptionalParams extends coreClient.OperationOptions {} /** Contains response data for the get operation. */ -export type ExternalSecuritySolutionsGetResponse = ExternalSecuritySolutionUnion; +export type ExternalSecuritySolutionsGetResponse = ExternalSecuritySolution; /** Optional parameters. */ export interface ExternalSecuritySolutionsListNextOptionalParams @@ -6992,6 +8159,10 @@ export interface AlertsUpdateSubscriptionLevelStateToResolveOptionalParams export interface AlertsUpdateSubscriptionLevelStateToActivateOptionalParams extends coreClient.OperationOptions {} +/** Optional parameters. */ +export interface AlertsUpdateSubscriptionLevelStateToInProgressOptionalParams + extends coreClient.OperationOptions {} + /** Optional parameters. */ export interface AlertsUpdateResourceGroupLevelStateToResolveOptionalParams extends coreClient.OperationOptions {} @@ -7005,9 +8176,18 @@ export interface AlertsUpdateResourceGroupLevelStateToActivateOptionalParams extends coreClient.OperationOptions {} /** Optional parameters. */ -export interface AlertsSimulateOptionalParams +export interface AlertsUpdateResourceGroupLevelStateToInProgressOptionalParams extends coreClient.OperationOptions {} +/** Optional parameters. */ +export interface AlertsSimulateOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + /** Optional parameters. */ export interface AlertsListNextOptionalParams extends coreClient.OperationOptions {} @@ -7198,6 +8378,218 @@ export interface SecurityConnectorsListByResourceGroupNextOptionalParams /** Contains response data for the listByResourceGroupNext operation. */ export type SecurityConnectorsListByResourceGroupNextResponse = SecurityConnectorsList; +/** Optional parameters. */ +export interface GovernanceRuleListOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the list operation. */ +export type GovernanceRuleListResponse = GovernanceRuleList; + +/** Optional parameters. */ +export interface GovernanceRuleListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type GovernanceRuleListNextResponse = GovernanceRuleList; + +/** Optional parameters. */ +export interface GovernanceRulesGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type GovernanceRulesGetResponse = GovernanceRule; + +/** Optional parameters. */ +export interface GovernanceRulesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdate operation. */ +export type GovernanceRulesCreateOrUpdateResponse = GovernanceRule; + +/** Optional parameters. */ +export interface GovernanceRulesDeleteOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface GovernanceRulesRuleIdExecuteSingleSubscriptionOptionalParams + extends coreClient.OperationOptions { + /** GovernanceRule over a subscription scope */ + executeGovernanceRuleParams?: ExecuteGovernanceRuleParams; + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Contains response data for the ruleIdExecuteSingleSubscription operation. */ +export type GovernanceRulesRuleIdExecuteSingleSubscriptionResponse = GovernanceRulesRuleIdExecuteSingleSubscriptionHeaders; + +/** Optional parameters. */ +export interface GovernanceRulesRuleIdExecuteSingleSecurityConnectorOptionalParams + extends coreClient.OperationOptions { + /** GovernanceRule over a subscription scope */ + executeGovernanceRuleParams?: ExecuteGovernanceRuleParams; + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Contains response data for the ruleIdExecuteSingleSecurityConnector operation. */ +export type GovernanceRulesRuleIdExecuteSingleSecurityConnectorResponse = GovernanceRulesRuleIdExecuteSingleSecurityConnectorHeaders; + +/** Optional parameters. */ +export interface SecurityConnectorGovernanceRuleListOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the list operation. */ +export type SecurityConnectorGovernanceRuleListResponse = GovernanceRuleList; + +/** Optional parameters. */ +export interface SecurityConnectorGovernanceRuleListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type SecurityConnectorGovernanceRuleListNextResponse = GovernanceRuleList; + +/** Optional parameters. */ +export interface SecurityConnectorGovernanceRulesGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type SecurityConnectorGovernanceRulesGetResponse = GovernanceRule; + +/** Optional parameters. */ +export interface SecurityConnectorGovernanceRulesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdate operation. */ +export type SecurityConnectorGovernanceRulesCreateOrUpdateResponse = GovernanceRule; + +/** Optional parameters. */ +export interface SecurityConnectorGovernanceRulesDeleteOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface SubscriptionGovernanceRulesExecuteStatusGetOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Contains response data for the get operation. */ +export type SubscriptionGovernanceRulesExecuteStatusGetResponse = ExecuteRuleStatus; + +/** Optional parameters. */ +export interface SecurityConnectorGovernanceRulesExecuteStatusGetOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Contains response data for the get operation. */ +export type SecurityConnectorGovernanceRulesExecuteStatusGetResponse = ExecuteRuleStatus; + +/** Optional parameters. */ +export interface GovernanceAssignmentsListOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the list operation. */ +export type GovernanceAssignmentsListResponse = GovernanceAssignmentsList; + +/** Optional parameters. */ +export interface GovernanceAssignmentsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type GovernanceAssignmentsGetResponse = GovernanceAssignment; + +/** Optional parameters. */ +export interface GovernanceAssignmentsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdate operation. */ +export type GovernanceAssignmentsCreateOrUpdateResponse = GovernanceAssignment; + +/** Optional parameters. */ +export interface GovernanceAssignmentsDeleteOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface GovernanceAssignmentsListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type GovernanceAssignmentsListNextResponse = GovernanceAssignmentsList; + +/** Optional parameters. */ +export interface ApplicationsListOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the list operation. */ +export type ApplicationsListResponse = ApplicationsList; + +/** Optional parameters. */ +export interface ApplicationsListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type ApplicationsListNextResponse = ApplicationsList; + +/** Optional parameters. */ +export interface ApplicationGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type ApplicationGetResponse = Application; + +/** Optional parameters. */ +export interface ApplicationCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdate operation. */ +export type ApplicationCreateOrUpdateResponse = Application; + +/** Optional parameters. */ +export interface ApplicationDeleteOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface SecurityConnectorApplicationsListOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the list operation. */ +export type SecurityConnectorApplicationsListResponse = ApplicationsList; + +/** Optional parameters. */ +export interface SecurityConnectorApplicationsListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type SecurityConnectorApplicationsListNextResponse = ApplicationsList; + +/** Optional parameters. */ +export interface SecurityConnectorApplicationGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type SecurityConnectorApplicationGetResponse = Application; + +/** Optional parameters. */ +export interface SecurityConnectorApplicationCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdate operation. */ +export type SecurityConnectorApplicationCreateOrUpdateResponse = Application; + +/** Optional parameters. */ +export interface SecurityConnectorApplicationDeleteOptionalParams + extends coreClient.OperationOptions {} + /** Optional parameters. */ export interface SecurityCenterOptionalParams extends coreClient.ServiceClientOptions { diff --git a/sdk/security/arm-security/src/models/mappers.ts b/sdk/security/arm-security/src/models/mappers.ts index 6fe7cd68b59c..fa0f2e22c3ba 100644 --- a/sdk/security/arm-security/src/models/mappers.ts +++ b/sdk/security/arm-security/src/models/mappers.ts @@ -1261,6 +1261,53 @@ export const SecurityContactList: coreClient.CompositeMapper = { } }; +export const SecurityContactPropertiesAlertNotifications: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SecurityContactPropertiesAlertNotifications", + modelProperties: { + state: { + serializedName: "state", + type: { + name: "String" + } + }, + minimalSeverity: { + serializedName: "minimalSeverity", + type: { + name: "String" + } + } + } + } +}; + +export const SecurityContactPropertiesNotificationsByRole: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SecurityContactPropertiesNotificationsByRole", + modelProperties: { + state: { + serializedName: "state", + type: { + name: "String" + } + }, + roles: { + serializedName: "roles", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + export const WorkspaceSettingList: coreClient.CompositeMapper = { type: { name: "Composite", @@ -4134,6 +4181,23 @@ export const AlertEntity: coreClient.CompositeMapper = { } }; +export const AlertPropertiesSupportingEvidence: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AlertPropertiesSupportingEvidence", + additionalProperties: { type: { name: "Object" } }, + modelProperties: { + type: { + serializedName: "type", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + export const AlertSimulatorRequestBody: coreClient.CompositeMapper = { type: { name: "Composite", @@ -4376,39 +4440,256 @@ export const CloudOffering: coreClient.CompositeMapper = { } }; -export const SecurityConnectorPropertiesOrganizationalData: coreClient.CompositeMapper = { +export const EnvironmentData: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SecurityConnectorPropertiesOrganizationalData", + className: "EnvironmentData", + uberParent: "EnvironmentData", + polymorphicDiscriminator: { + serializedName: "environmentType", + clientName: "environmentType" + }, modelProperties: { - organizationMembershipType: { - serializedName: "organizationMembershipType", + environmentType: { + serializedName: "environmentType", + required: true, type: { name: "String" } + } + } + } +}; + +export const GovernanceRuleList: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GovernanceRuleList", + modelProperties: { + value: { + serializedName: "value", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "GovernanceRule" + } + } + } }, - parentHierarchyId: { - serializedName: "parentHierarchyId", + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const GovernanceRuleOwnerSource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GovernanceRuleOwnerSource", + modelProperties: { + type: { + serializedName: "type", type: { name: "String" } }, - stacksetName: { - serializedName: "stacksetName", + value: { + serializedName: "value", type: { name: "String" } + } + } + } +}; + +export const GovernanceRuleEmailNotification: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GovernanceRuleEmailNotification", + modelProperties: { + disableManagerEmailNotification: { + serializedName: "disableManagerEmailNotification", + type: { + name: "Boolean" + } }, - excludedAccountIds: { - serializedName: "excludedAccountIds", + disableOwnerEmailNotification: { + serializedName: "disableOwnerEmailNotification", + type: { + name: "Boolean" + } + } + } + } +}; + +export const ExecuteGovernanceRuleParams: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ExecuteGovernanceRuleParams", + modelProperties: { + override: { + serializedName: "override", + type: { + name: "Boolean" + } + } + } + } +}; + +export const ExecuteRuleStatus: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ExecuteRuleStatus", + modelProperties: { + operationId: { + serializedName: "operationId", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const GovernanceAssignmentsList: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GovernanceAssignmentsList", + modelProperties: { + value: { + serializedName: "value", + readOnly: true, type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "GovernanceAssignment" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const RemediationEta: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RemediationEta", + modelProperties: { + eta: { + serializedName: "eta", + required: true, + type: { + name: "DateTime" + } + }, + justification: { + serializedName: "justification", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const GovernanceEmailNotification: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GovernanceEmailNotification", + modelProperties: { + disableManagerEmailNotification: { + serializedName: "disableManagerEmailNotification", + type: { + name: "Boolean" + } + }, + disableOwnerEmailNotification: { + serializedName: "disableOwnerEmailNotification", + type: { + name: "Boolean" + } + } + } + } +}; + +export const GovernanceAssignmentAdditionalData: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GovernanceAssignmentAdditionalData", + modelProperties: { + ticketNumber: { + constraints: { + InclusiveMinimum: 0 + }, + serializedName: "ticketNumber", + type: { + name: "Number" + } + }, + ticketLink: { + serializedName: "ticketLink", + type: { + name: "String" + } + }, + ticketStatus: { + serializedName: "ticketStatus", + type: { + name: "String" + } + } + } + } +}; + +export const ApplicationsList: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ApplicationsList", + modelProperties: { + value: { + serializedName: "value", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Application" } } } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } } } } @@ -4577,13 +4858,19 @@ export const SecureScoreControlScore: coreClient.CompositeMapper = { } }; -export const CspmMonitorAwsOfferingNativeCloudConnection: coreClient.CompositeMapper = { +export const AwsOrganizationalData: coreClient.CompositeMapper = { type: { name: "Composite", - className: "CspmMonitorAwsOfferingNativeCloudConnection", + className: "AwsOrganizationalData", + uberParent: "AwsOrganizationalData", + polymorphicDiscriminator: { + serializedName: "organizationMembershipType", + clientName: "organizationMembershipType" + }, modelProperties: { - cloudRoleArn: { - serializedName: "cloudRoleArn", + organizationMembershipType: { + serializedName: "organizationMembershipType", + required: true, type: { name: "String" } @@ -4592,13 +4879,77 @@ export const CspmMonitorAwsOfferingNativeCloudConnection: coreClient.CompositeMa } }; -export const DefenderForContainersAwsOfferingKubernetesService: coreClient.CompositeMapper = { +export const GcpOrganizationalData: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DefenderForContainersAwsOfferingKubernetesService", + className: "GcpOrganizationalData", + uberParent: "GcpOrganizationalData", + polymorphicDiscriminator: { + serializedName: "organizationMembershipType", + clientName: "organizationMembershipType" + }, modelProperties: { - cloudRoleArn: { - serializedName: "cloudRoleArn", + organizationMembershipType: { + serializedName: "organizationMembershipType", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const GcpProjectDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GcpProjectDetails", + modelProperties: { + projectNumber: { + serializedName: "projectNumber", + type: { + name: "String" + } + }, + projectId: { + serializedName: "projectId", + type: { + name: "String" + } + }, + workloadIdentityPoolId: { + serializedName: "workloadIdentityPoolId", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const CspmMonitorAwsOfferingNativeCloudConnection: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CspmMonitorAwsOfferingNativeCloudConnection", + modelProperties: { + cloudRoleArn: { + serializedName: "cloudRoleArn", + type: { + name: "String" + } + } + } + } +}; + +export const DefenderForContainersAwsOfferingKubernetesService: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DefenderForContainersAwsOfferingKubernetesService", + modelProperties: { + cloudRoleArn: { + serializedName: "cloudRoleArn", type: { name: "String" } @@ -4610,25 +4961,547 @@ export const DefenderForContainersAwsOfferingKubernetesService: coreClient.Compo export const DefenderForContainersAwsOfferingKubernetesScubaReader: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DefenderForContainersAwsOfferingKubernetesScubaReader", + className: "DefenderForContainersAwsOfferingKubernetesScubaReader", + modelProperties: { + cloudRoleArn: { + serializedName: "cloudRoleArn", + type: { + name: "String" + } + } + } + } +}; + +export const DefenderForContainersAwsOfferingCloudWatchToKinesis: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DefenderForContainersAwsOfferingCloudWatchToKinesis", + modelProperties: { + cloudRoleArn: { + serializedName: "cloudRoleArn", + type: { + name: "String" + } + } + } + } +}; + +export const DefenderForContainersAwsOfferingKinesisToS3: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DefenderForContainersAwsOfferingKinesisToS3", + modelProperties: { + cloudRoleArn: { + serializedName: "cloudRoleArn", + type: { + name: "String" + } + } + } + } +}; + +export const DefenderForContainersAwsOfferingContainerVulnerabilityAssessment: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: + "DefenderForContainersAwsOfferingContainerVulnerabilityAssessment", + modelProperties: { + cloudRoleArn: { + serializedName: "cloudRoleArn", + type: { + name: "String" + } + } + } + } +}; + +export const DefenderForContainersAwsOfferingContainerVulnerabilityAssessmentTask: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: + "DefenderForContainersAwsOfferingContainerVulnerabilityAssessmentTask", + modelProperties: { + cloudRoleArn: { + serializedName: "cloudRoleArn", + type: { + name: "String" + } + } + } + } +}; + +export const DefenderForServersAwsOfferingDefenderForServers: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DefenderForServersAwsOfferingDefenderForServers", + modelProperties: { + cloudRoleArn: { + serializedName: "cloudRoleArn", + type: { + name: "String" + } + } + } + } +}; + +export const DefenderForServersAwsOfferingArcAutoProvisioning: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DefenderForServersAwsOfferingArcAutoProvisioning", + modelProperties: { + enabled: { + serializedName: "enabled", + type: { + name: "Boolean" + } + }, + cloudRoleArn: { + serializedName: "cloudRoleArn", + type: { + name: "String" + } + }, + servicePrincipalSecretMetadata: { + serializedName: "servicePrincipalSecretMetadata", + type: { + name: "Composite", + className: + "DefenderForServersAwsOfferingArcAutoProvisioningServicePrincipalSecretMetadata" + } + } + } + } +}; + +export const DefenderForServersAwsOfferingArcAutoProvisioningServicePrincipalSecretMetadata: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: + "DefenderForServersAwsOfferingArcAutoProvisioningServicePrincipalSecretMetadata", + modelProperties: { + expiryDate: { + serializedName: "expiryDate", + type: { + name: "String" + } + }, + parameterStoreRegion: { + serializedName: "parameterStoreRegion", + type: { + name: "String" + } + }, + parameterNameInStore: { + serializedName: "parameterNameInStore", + type: { + name: "String" + } + } + } + } +}; + +export const DefenderForServersAwsOfferingVaAutoProvisioning: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DefenderForServersAwsOfferingVaAutoProvisioning", + modelProperties: { + enabled: { + serializedName: "enabled", + type: { + name: "Boolean" + } + }, + configuration: { + serializedName: "configuration", + type: { + name: "Composite", + className: + "DefenderForServersAwsOfferingVaAutoProvisioningConfiguration" + } + } + } + } +}; + +export const DefenderForServersAwsOfferingVaAutoProvisioningConfiguration: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DefenderForServersAwsOfferingVaAutoProvisioningConfiguration", + modelProperties: { + type: { + serializedName: "type", + type: { + name: "String" + } + } + } + } +}; + +export const DefenderForServersAwsOfferingMdeAutoProvisioning: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DefenderForServersAwsOfferingMdeAutoProvisioning", + modelProperties: { + enabled: { + serializedName: "enabled", + type: { + name: "Boolean" + } + }, + configuration: { + serializedName: "configuration", + type: { + name: "Dictionary", + value: { type: { name: "any" } } + } + } + } + } +}; + +export const DefenderForServersAwsOfferingSubPlan: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DefenderForServersAwsOfferingSubPlan", + modelProperties: { + type: { + serializedName: "type", + type: { + name: "String" + } + } + } + } +}; + +export const DefenderForServersAwsOfferingVmScanners: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DefenderForServersAwsOfferingVmScanners", + modelProperties: { + enabled: { + serializedName: "enabled", + type: { + name: "Boolean" + } + }, + configuration: { + serializedName: "configuration", + type: { + name: "Composite", + className: "DefenderForServersAwsOfferingVmScannersConfiguration" + } + } + } + } +}; + +export const DefenderForServersAwsOfferingVmScannersConfiguration: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DefenderForServersAwsOfferingVmScannersConfiguration", + modelProperties: { + cloudRoleArn: { + serializedName: "cloudRoleArn", + type: { + name: "String" + } + }, + scanningMode: { + serializedName: "scanningMode", + type: { + name: "String" + } + }, + exclusionTags: { + serializedName: "exclusionTags", + type: { + name: "Dictionary", + value: { type: { name: "any" } } + } + } + } + } +}; + +export const DefenderFoDatabasesAwsOfferingArcAutoProvisioning: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DefenderFoDatabasesAwsOfferingArcAutoProvisioning", + modelProperties: { + enabled: { + serializedName: "enabled", + type: { + name: "Boolean" + } + }, + cloudRoleArn: { + serializedName: "cloudRoleArn", + type: { + name: "String" + } + }, + servicePrincipalSecretMetadata: { + serializedName: "servicePrincipalSecretMetadata", + type: { + name: "Composite", + className: + "DefenderFoDatabasesAwsOfferingArcAutoProvisioningServicePrincipalSecretMetadata" + } + } + } + } +}; + +export const DefenderFoDatabasesAwsOfferingArcAutoProvisioningServicePrincipalSecretMetadata: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: + "DefenderFoDatabasesAwsOfferingArcAutoProvisioningServicePrincipalSecretMetadata", + modelProperties: { + expiryDate: { + serializedName: "expiryDate", + type: { + name: "DateTime" + } + }, + parameterStoreRegion: { + serializedName: "parameterStoreRegion", + type: { + name: "String" + } + }, + parameterNameInStore: { + serializedName: "parameterNameInStore", + type: { + name: "String" + } + } + } + } +}; + +export const InformationProtectionAwsOfferingInformationProtection: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InformationProtectionAwsOfferingInformationProtection", + modelProperties: { + cloudRoleArn: { + serializedName: "cloudRoleArn", + type: { + name: "String" + } + } + } + } +}; + +export const CspmMonitorGcpOfferingNativeCloudConnection: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CspmMonitorGcpOfferingNativeCloudConnection", + modelProperties: { + workloadIdentityProviderId: { + serializedName: "workloadIdentityProviderId", + type: { + name: "String" + } + }, + serviceAccountEmailAddress: { + serializedName: "serviceAccountEmailAddress", + type: { + name: "String" + } + } + } + } +}; + +export const DefenderForServersGcpOfferingDefenderForServers: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DefenderForServersGcpOfferingDefenderForServers", + modelProperties: { + workloadIdentityProviderId: { + serializedName: "workloadIdentityProviderId", + type: { + name: "String" + } + }, + serviceAccountEmailAddress: { + serializedName: "serviceAccountEmailAddress", + type: { + name: "String" + } + } + } + } +}; + +export const DefenderForServersGcpOfferingArcAutoProvisioning: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DefenderForServersGcpOfferingArcAutoProvisioning", + modelProperties: { + enabled: { + serializedName: "enabled", + type: { + name: "Boolean" + } + }, + configuration: { + serializedName: "configuration", + type: { + name: "Composite", + className: + "DefenderForServersGcpOfferingArcAutoProvisioningConfiguration" + } + } + } + } +}; + +export const DefenderForServersGcpOfferingArcAutoProvisioningConfiguration: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DefenderForServersGcpOfferingArcAutoProvisioningConfiguration", + modelProperties: { + clientId: { + serializedName: "clientId", + type: { + name: "String" + } + }, + agentOnboardingServiceAccountNumericId: { + serializedName: "agentOnboardingServiceAccountNumericId", + type: { + name: "String" + } + } + } + } +}; + +export const DefenderForServersGcpOfferingVaAutoProvisioning: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DefenderForServersGcpOfferingVaAutoProvisioning", + modelProperties: { + enabled: { + serializedName: "enabled", + type: { + name: "Boolean" + } + }, + configuration: { + serializedName: "configuration", + type: { + name: "Composite", + className: + "DefenderForServersGcpOfferingVaAutoProvisioningConfiguration" + } + } + } + } +}; + +export const DefenderForServersGcpOfferingVaAutoProvisioningConfiguration: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DefenderForServersGcpOfferingVaAutoProvisioningConfiguration", + modelProperties: { + type: { + serializedName: "type", + type: { + name: "String" + } + } + } + } +}; + +export const DefenderForServersGcpOfferingMdeAutoProvisioning: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DefenderForServersGcpOfferingMdeAutoProvisioning", + modelProperties: { + enabled: { + serializedName: "enabled", + type: { + name: "Boolean" + } + }, + configuration: { + serializedName: "configuration", + type: { + name: "Dictionary", + value: { type: { name: "any" } } + } + } + } + } +}; + +export const DefenderForServersGcpOfferingSubPlan: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DefenderForServersGcpOfferingSubPlan", + modelProperties: { + type: { + serializedName: "type", + type: { + name: "String" + } + } + } + } +}; + +export const DefenderForDatabasesGcpOfferingArcAutoProvisioning: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DefenderForDatabasesGcpOfferingArcAutoProvisioning", modelProperties: { - cloudRoleArn: { - serializedName: "cloudRoleArn", + enabled: { + serializedName: "enabled", type: { - name: "String" + name: "Boolean" + } + }, + configuration: { + serializedName: "configuration", + type: { + name: "Composite", + className: + "DefenderForDatabasesGcpOfferingArcAutoProvisioningConfiguration" } } } } }; -export const DefenderForContainersAwsOfferingCloudWatchToKinesis: coreClient.CompositeMapper = { +export const DefenderForDatabasesGcpOfferingArcAutoProvisioningConfiguration: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DefenderForContainersAwsOfferingCloudWatchToKinesis", + className: + "DefenderForDatabasesGcpOfferingArcAutoProvisioningConfiguration", modelProperties: { - cloudRoleArn: { - serializedName: "cloudRoleArn", + clientId: { + serializedName: "clientId", + type: { + name: "String" + } + }, + agentOnboardingServiceAccountNumericId: { + serializedName: "agentOnboardingServiceAccountNumericId", type: { name: "String" } @@ -4637,13 +5510,20 @@ export const DefenderForContainersAwsOfferingCloudWatchToKinesis: coreClient.Com } }; -export const DefenderForContainersAwsOfferingKinesisToS3: coreClient.CompositeMapper = { +export const DefenderForDatabasesGcpOfferingDefenderForDatabasesArcAutoProvisioning: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DefenderForContainersAwsOfferingKinesisToS3", + className: + "DefenderForDatabasesGcpOfferingDefenderForDatabasesArcAutoProvisioning", modelProperties: { - cloudRoleArn: { - serializedName: "cloudRoleArn", + serviceAccountEmailAddress: { + serializedName: "serviceAccountEmailAddress", + type: { + name: "String" + } + }, + workloadIdentityProviderId: { + serializedName: "workloadIdentityProviderId", type: { name: "String" } @@ -4652,13 +5532,19 @@ export const DefenderForContainersAwsOfferingKinesisToS3: coreClient.CompositeMa } }; -export const DefenderForServersAwsOfferingDefenderForServers: coreClient.CompositeMapper = { +export const DefenderForContainersGcpOfferingNativeCloudConnection: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DefenderForServersAwsOfferingDefenderForServers", + className: "DefenderForContainersGcpOfferingNativeCloudConnection", modelProperties: { - cloudRoleArn: { - serializedName: "cloudRoleArn", + serviceAccountEmailAddress: { + serializedName: "serviceAccountEmailAddress", + type: { + name: "String" + } + }, + workloadIdentityProviderId: { + serializedName: "workloadIdentityProviderId", type: { name: "String" } @@ -4667,49 +5553,47 @@ export const DefenderForServersAwsOfferingDefenderForServers: coreClient.Composi } }; -export const DefenderForServersAwsOfferingArcAutoProvisioning: coreClient.CompositeMapper = { +export const DefenderForContainersGcpOfferingDataPipelineNativeCloudConnection: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DefenderForServersAwsOfferingArcAutoProvisioning", + className: + "DefenderForContainersGcpOfferingDataPipelineNativeCloudConnection", modelProperties: { - enabled: { - serializedName: "enabled", + serviceAccountEmailAddress: { + serializedName: "serviceAccountEmailAddress", type: { - name: "Boolean" + name: "String" } }, - servicePrincipalSecretMetadata: { - serializedName: "servicePrincipalSecretMetadata", + workloadIdentityProviderId: { + serializedName: "workloadIdentityProviderId", type: { - name: "Composite", - className: - "DefenderForServersAwsOfferingArcAutoProvisioningServicePrincipalSecretMetadata" + name: "String" } } } } }; -export const DefenderForServersAwsOfferingArcAutoProvisioningServicePrincipalSecretMetadata: coreClient.CompositeMapper = { +export const Condition: coreClient.CompositeMapper = { type: { name: "Composite", - className: - "DefenderForServersAwsOfferingArcAutoProvisioningServicePrincipalSecretMetadata", + className: "Condition", modelProperties: { - expiryDate: { - serializedName: "expiryDate", + property: { + serializedName: "property", type: { name: "String" } }, - parameterStoreRegion: { - serializedName: "parameterStoreRegion", + value: { + serializedName: "value", type: { name: "String" } }, - parameterNameInStore: { - serializedName: "parameterNameInStore", + operator: { + serializedName: "operator", type: { name: "String" } @@ -4718,13 +5602,25 @@ export const DefenderForServersAwsOfferingArcAutoProvisioningServicePrincipalSec } }; -export const InformationProtectionAwsOfferingInformationProtection: coreClient.CompositeMapper = { +export const ApplicationCondition: coreClient.CompositeMapper = { type: { name: "Composite", - className: "InformationProtectionAwsOfferingInformationProtection", + className: "ApplicationCondition", modelProperties: { - cloudRoleArn: { - serializedName: "cloudRoleArn", + property: { + serializedName: "property", + type: { + name: "String" + } + }, + value: { + serializedName: "value", + type: { + name: "String" + } + }, + operator: { + serializedName: "operator", type: { name: "String" } @@ -4930,6 +5826,25 @@ export const Pricing: coreClient.CompositeMapper = { type: { name: "TimeSpan" } + }, + deprecated: { + serializedName: "properties.deprecated", + readOnly: true, + type: { + name: "Boolean" + } + }, + replacedBy: { + serializedName: "properties.replacedBy", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } } } } @@ -5557,8 +6472,8 @@ export const SecurityContact: coreClient.CompositeMapper = { className: "SecurityContact", modelProperties: { ...Resource.type.modelProperties, - email: { - serializedName: "properties.email", + emails: { + serializedName: "properties.emails", type: { name: "String" } @@ -5572,13 +6487,15 @@ export const SecurityContact: coreClient.CompositeMapper = { alertNotifications: { serializedName: "properties.alertNotifications", type: { - name: "String" + name: "Composite", + className: "SecurityContactPropertiesAlertNotifications" } }, - alertsToAdmins: { - serializedName: "properties.alertsToAdmins", + notificationsByRole: { + serializedName: "properties.notificationsByRole", type: { - name: "String" + name: "Composite", + className: "SecurityContactPropertiesNotificationsByRole" } } } @@ -6504,12 +7421,9 @@ export const SecuritySolutionsReferenceData: coreClient.CompositeMapper = { }; export const ExternalSecuritySolution: coreClient.CompositeMapper = { - serializedName: "ExternalSecuritySolution", type: { name: "Composite", className: "ExternalSecuritySolution", - uberParent: "Resource", - polymorphicDiscriminator: Resource.type.polymorphicDiscriminator, modelProperties: { ...Resource.type.modelProperties, ...ExternalSecuritySolutionKindAutoGenerated.type.modelProperties, @@ -6836,6 +7750,13 @@ export const Alert: coreClient.CompositeMapper = { className: "Alert", modelProperties: { ...Resource.type.modelProperties, + version: { + serializedName: "properties.version", + readOnly: true, + type: { + name: "String" + } + }, alertType: { serializedName: "properties.alertType", readOnly: true, @@ -7019,6 +7940,37 @@ export const Alert: coreClient.CompositeMapper = { type: { name: "String" } + }, + techniques: { + serializedName: "properties.techniques", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + subTechniques: { + serializedName: "properties.subTechniques", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + supportingEvidence: { + serializedName: "properties.supportingEvidence", + type: { + name: "Composite", + className: "AlertPropertiesSupportingEvidence" + } } } } @@ -7088,40 +8040,217 @@ export const Software: coreClient.CompositeMapper = { name: "String" } }, - softwareName: { - serializedName: "properties.softwareName", + softwareName: { + serializedName: "properties.softwareName", + type: { + name: "String" + } + }, + version: { + serializedName: "properties.version", + type: { + name: "String" + } + }, + endOfSupportStatus: { + serializedName: "properties.endOfSupportStatus", + type: { + name: "String" + } + }, + endOfSupportDate: { + serializedName: "properties.endOfSupportDate", + type: { + name: "String" + } + }, + numberOfKnownVulnerabilities: { + serializedName: "properties.numberOfKnownVulnerabilities", + type: { + name: "Number" + } + }, + firstSeenAt: { + serializedName: "properties.firstSeenAt", + type: { + name: "String" + } + } + } + } +}; + +export const GovernanceRule: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GovernanceRule", + modelProperties: { + ...Resource.type.modelProperties, + displayName: { + serializedName: "properties.displayName", + type: { + name: "String" + } + }, + description: { + serializedName: "properties.description", + type: { + name: "String" + } + }, + remediationTimeframe: { + serializedName: "properties.remediationTimeframe", + type: { + name: "String" + } + }, + isGracePeriod: { + serializedName: "properties.isGracePeriod", + type: { + name: "Boolean" + } + }, + rulePriority: { + constraints: { + InclusiveMaximum: 1000, + InclusiveMinimum: 0 + }, + serializedName: "properties.rulePriority", + type: { + name: "Number" + } + }, + isDisabled: { + serializedName: "properties.isDisabled", + type: { + name: "Boolean" + } + }, + ruleType: { + serializedName: "properties.ruleType", + type: { + name: "String" + } + }, + sourceResourceType: { + serializedName: "properties.sourceResourceType", + type: { + name: "String" + } + }, + conditionSets: { + serializedName: "properties.conditionSets", + type: { + name: "Sequence", + element: { + type: { + name: "Dictionary", + value: { type: { name: "any" } } + } + } + } + }, + ownerSource: { + serializedName: "properties.ownerSource", + type: { + name: "Composite", + className: "GovernanceRuleOwnerSource" + } + }, + governanceEmailNotification: { + serializedName: "properties.governanceEmailNotification", + type: { + name: "Composite", + className: "GovernanceRuleEmailNotification" + } + } + } + } +}; + +export const GovernanceAssignment: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GovernanceAssignment", + modelProperties: { + ...Resource.type.modelProperties, + owner: { + serializedName: "properties.owner", + type: { + name: "String" + } + }, + remediationDueDate: { + serializedName: "properties.remediationDueDate", + type: { + name: "DateTime" + } + }, + remediationEta: { + serializedName: "properties.remediationEta", + type: { + name: "Composite", + className: "RemediationEta" + } + }, + isGracePeriod: { + serializedName: "properties.isGracePeriod", type: { - name: "String" + name: "Boolean" } }, - version: { - serializedName: "properties.version", + governanceEmailNotification: { + serializedName: "properties.governanceEmailNotification", type: { - name: "String" + name: "Composite", + className: "GovernanceEmailNotification" } }, - endOfSupportStatus: { - serializedName: "properties.endOfSupportStatus", + additionalData: { + serializedName: "properties.additionalData", + type: { + name: "Composite", + className: "GovernanceAssignmentAdditionalData" + } + } + } + } +}; + +export const Application: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Application", + modelProperties: { + ...Resource.type.modelProperties, + displayName: { + serializedName: "properties.displayName", type: { name: "String" } }, - endOfSupportDate: { - serializedName: "properties.endOfSupportDate", + description: { + serializedName: "properties.description", type: { name: "String" } }, - numberOfKnownVulnerabilities: { - serializedName: "properties.numberOfKnownVulnerabilities", + sourceResourceType: { + serializedName: "properties.sourceResourceType", type: { - name: "Number" + name: "String" } }, - firstSeenAt: { - serializedName: "properties.firstSeenAt", + conditionSets: { + serializedName: "properties.conditionSets", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Dictionary", + value: { type: { name: "any" } } + } + } } } } @@ -7975,126 +9104,455 @@ export const AlertSimulatorBundlesRequestProperties: coreClient.CompositeMapper bundles: { serializedName: "bundles", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const CspmMonitorAwsOffering: coreClient.CompositeMapper = { + serializedName: "CspmMonitorAws", + type: { + name: "Composite", + className: "CspmMonitorAwsOffering", + uberParent: "CloudOffering", + polymorphicDiscriminator: CloudOffering.type.polymorphicDiscriminator, + modelProperties: { + ...CloudOffering.type.modelProperties, + nativeCloudConnection: { + serializedName: "nativeCloudConnection", + type: { + name: "Composite", + className: "CspmMonitorAwsOfferingNativeCloudConnection" + } + } + } + } +}; + +export const DefenderForContainersAwsOffering: coreClient.CompositeMapper = { + serializedName: "DefenderForContainersAws", + type: { + name: "Composite", + className: "DefenderForContainersAwsOffering", + uberParent: "CloudOffering", + polymorphicDiscriminator: CloudOffering.type.polymorphicDiscriminator, + modelProperties: { + ...CloudOffering.type.modelProperties, + kubernetesService: { + serializedName: "kubernetesService", + type: { + name: "Composite", + className: "DefenderForContainersAwsOfferingKubernetesService" + } + }, + kubernetesScubaReader: { + serializedName: "kubernetesScubaReader", + type: { + name: "Composite", + className: "DefenderForContainersAwsOfferingKubernetesScubaReader" + } + }, + cloudWatchToKinesis: { + serializedName: "cloudWatchToKinesis", + type: { + name: "Composite", + className: "DefenderForContainersAwsOfferingCloudWatchToKinesis" + } + }, + kinesisToS3: { + serializedName: "kinesisToS3", + type: { + name: "Composite", + className: "DefenderForContainersAwsOfferingKinesisToS3" + } + }, + containerVulnerabilityAssessment: { + serializedName: "containerVulnerabilityAssessment", + type: { + name: "Composite", + className: + "DefenderForContainersAwsOfferingContainerVulnerabilityAssessment" + } + }, + containerVulnerabilityAssessmentTask: { + serializedName: "containerVulnerabilityAssessmentTask", + type: { + name: "Composite", + className: + "DefenderForContainersAwsOfferingContainerVulnerabilityAssessmentTask" + } + }, + enableContainerVulnerabilityAssessment: { + serializedName: "enableContainerVulnerabilityAssessment", + type: { + name: "Boolean" + } + }, + autoProvisioning: { + serializedName: "autoProvisioning", + type: { + name: "Boolean" + } + }, + kubeAuditRetentionTime: { + serializedName: "kubeAuditRetentionTime", + type: { + name: "Number" + } + }, + scubaExternalId: { + serializedName: "scubaExternalId", + type: { + name: "String" + } + } + } + } +}; + +export const DefenderForServersAwsOffering: coreClient.CompositeMapper = { + serializedName: "DefenderForServersAws", + type: { + name: "Composite", + className: "DefenderForServersAwsOffering", + uberParent: "CloudOffering", + polymorphicDiscriminator: CloudOffering.type.polymorphicDiscriminator, + modelProperties: { + ...CloudOffering.type.modelProperties, + defenderForServers: { + serializedName: "defenderForServers", + type: { + name: "Composite", + className: "DefenderForServersAwsOfferingDefenderForServers" + } + }, + arcAutoProvisioning: { + serializedName: "arcAutoProvisioning", + type: { + name: "Composite", + className: "DefenderForServersAwsOfferingArcAutoProvisioning" + } + }, + vaAutoProvisioning: { + serializedName: "vaAutoProvisioning", + type: { + name: "Composite", + className: "DefenderForServersAwsOfferingVaAutoProvisioning" + } + }, + mdeAutoProvisioning: { + serializedName: "mdeAutoProvisioning", + type: { + name: "Composite", + className: "DefenderForServersAwsOfferingMdeAutoProvisioning" + } + }, + subPlan: { + serializedName: "subPlan", + type: { + name: "Composite", + className: "DefenderForServersAwsOfferingSubPlan" + } + }, + vmScanners: { + serializedName: "vmScanners", + type: { + name: "Composite", + className: "DefenderForServersAwsOfferingVmScanners" + } + } + } + } +}; + +export const DefenderFoDatabasesAwsOffering: coreClient.CompositeMapper = { + serializedName: "DefenderForDatabasesAws", + type: { + name: "Composite", + className: "DefenderFoDatabasesAwsOffering", + uberParent: "CloudOffering", + polymorphicDiscriminator: CloudOffering.type.polymorphicDiscriminator, + modelProperties: { + ...CloudOffering.type.modelProperties, + arcAutoProvisioning: { + serializedName: "arcAutoProvisioning", + type: { + name: "Composite", + className: "DefenderFoDatabasesAwsOfferingArcAutoProvisioning" + } + } + } + } +}; + +export const InformationProtectionAwsOffering: coreClient.CompositeMapper = { + serializedName: "InformationProtectionAws", + type: { + name: "Composite", + className: "InformationProtectionAwsOffering", + uberParent: "CloudOffering", + polymorphicDiscriminator: CloudOffering.type.polymorphicDiscriminator, + modelProperties: { + ...CloudOffering.type.modelProperties, + informationProtection: { + serializedName: "informationProtection", + type: { + name: "Composite", + className: "InformationProtectionAwsOfferingInformationProtection" + } + } + } + } +}; + +export const CspmMonitorGcpOffering: coreClient.CompositeMapper = { + serializedName: "CspmMonitorGcp", + type: { + name: "Composite", + className: "CspmMonitorGcpOffering", + uberParent: "CloudOffering", + polymorphicDiscriminator: CloudOffering.type.polymorphicDiscriminator, + modelProperties: { + ...CloudOffering.type.modelProperties, + nativeCloudConnection: { + serializedName: "nativeCloudConnection", + type: { + name: "Composite", + className: "CspmMonitorGcpOfferingNativeCloudConnection" + } + } + } + } +}; + +export const DefenderForServersGcpOffering: coreClient.CompositeMapper = { + serializedName: "DefenderForServersGcp", + type: { + name: "Composite", + className: "DefenderForServersGcpOffering", + uberParent: "CloudOffering", + polymorphicDiscriminator: CloudOffering.type.polymorphicDiscriminator, + modelProperties: { + ...CloudOffering.type.modelProperties, + defenderForServers: { + serializedName: "defenderForServers", + type: { + name: "Composite", + className: "DefenderForServersGcpOfferingDefenderForServers" + } + }, + arcAutoProvisioning: { + serializedName: "arcAutoProvisioning", + type: { + name: "Composite", + className: "DefenderForServersGcpOfferingArcAutoProvisioning" + } + }, + vaAutoProvisioning: { + serializedName: "vaAutoProvisioning", + type: { + name: "Composite", + className: "DefenderForServersGcpOfferingVaAutoProvisioning" + } + }, + mdeAutoProvisioning: { + serializedName: "mdeAutoProvisioning", + type: { + name: "Composite", + className: "DefenderForServersGcpOfferingMdeAutoProvisioning" + } + }, + subPlan: { + serializedName: "subPlan", + type: { + name: "Composite", + className: "DefenderForServersGcpOfferingSubPlan" } } } } }; -export const CspmMonitorAwsOffering: coreClient.CompositeMapper = { - serializedName: "CspmMonitorAws", +export const DefenderForDatabasesGcpOffering: coreClient.CompositeMapper = { + serializedName: "DefenderForDatabasesGcp", type: { name: "Composite", - className: "CspmMonitorAwsOffering", + className: "DefenderForDatabasesGcpOffering", uberParent: "CloudOffering", polymorphicDiscriminator: CloudOffering.type.polymorphicDiscriminator, modelProperties: { ...CloudOffering.type.modelProperties, - nativeCloudConnection: { - serializedName: "nativeCloudConnection", + arcAutoProvisioning: { + serializedName: "arcAutoProvisioning", type: { name: "Composite", - className: "CspmMonitorAwsOfferingNativeCloudConnection" + className: "DefenderForDatabasesGcpOfferingArcAutoProvisioning" + } + }, + defenderForDatabasesArcAutoProvisioning: { + serializedName: "defenderForDatabasesArcAutoProvisioning", + type: { + name: "Composite", + className: + "DefenderForDatabasesGcpOfferingDefenderForDatabasesArcAutoProvisioning" } } } } }; -export const DefenderForContainersAwsOffering: coreClient.CompositeMapper = { - serializedName: "DefenderForContainersAws", +export const DefenderForContainersGcpOffering: coreClient.CompositeMapper = { + serializedName: "DefenderForContainersGcp", type: { name: "Composite", - className: "DefenderForContainersAwsOffering", + className: "DefenderForContainersGcpOffering", uberParent: "CloudOffering", polymorphicDiscriminator: CloudOffering.type.polymorphicDiscriminator, modelProperties: { ...CloudOffering.type.modelProperties, - kubernetesService: { - serializedName: "kubernetesService", + nativeCloudConnection: { + serializedName: "nativeCloudConnection", type: { name: "Composite", - className: "DefenderForContainersAwsOfferingKubernetesService" + className: "DefenderForContainersGcpOfferingNativeCloudConnection" } }, - kubernetesScubaReader: { - serializedName: "kubernetesScubaReader", + dataPipelineNativeCloudConnection: { + serializedName: "dataPipelineNativeCloudConnection", type: { name: "Composite", - className: "DefenderForContainersAwsOfferingKubernetesScubaReader" + className: + "DefenderForContainersGcpOfferingDataPipelineNativeCloudConnection" } }, - cloudWatchToKinesis: { - serializedName: "cloudWatchToKinesis", + auditLogsAutoProvisioningFlag: { + serializedName: "auditLogsAutoProvisioningFlag", type: { - name: "Composite", - className: "DefenderForContainersAwsOfferingCloudWatchToKinesis" + name: "Boolean" } }, - kinesisToS3: { - serializedName: "kinesisToS3", + defenderAgentAutoProvisioningFlag: { + serializedName: "defenderAgentAutoProvisioningFlag", type: { - name: "Composite", - className: "DefenderForContainersAwsOfferingKinesisToS3" + name: "Boolean" + } + }, + policyAgentAutoProvisioningFlag: { + serializedName: "policyAgentAutoProvisioningFlag", + type: { + name: "Boolean" } } } } }; -export const DefenderForServersAwsOffering: coreClient.CompositeMapper = { - serializedName: "DefenderForServersAws", +export const CspmMonitorGithubOffering: coreClient.CompositeMapper = { + serializedName: "CspmMonitorGithub", type: { name: "Composite", - className: "DefenderForServersAwsOffering", + className: "CspmMonitorGithubOffering", uberParent: "CloudOffering", polymorphicDiscriminator: CloudOffering.type.polymorphicDiscriminator, modelProperties: { - ...CloudOffering.type.modelProperties, - defenderForServers: { - serializedName: "defenderForServers", - type: { - name: "Composite", - className: "DefenderForServersAwsOfferingDefenderForServers" - } - }, - arcAutoProvisioning: { - serializedName: "arcAutoProvisioning", + ...CloudOffering.type.modelProperties + } + } +}; + +export const CspmMonitorAzureDevOpsOffering: coreClient.CompositeMapper = { + serializedName: "CspmMonitorAzureDevOps", + type: { + name: "Composite", + className: "CspmMonitorAzureDevOpsOffering", + uberParent: "CloudOffering", + polymorphicDiscriminator: CloudOffering.type.polymorphicDiscriminator, + modelProperties: { + ...CloudOffering.type.modelProperties + } + } +}; + +export const AWSEnvironmentData: coreClient.CompositeMapper = { + serializedName: "AwsAccount", + type: { + name: "Composite", + className: "AWSEnvironmentData", + uberParent: "EnvironmentData", + polymorphicDiscriminator: EnvironmentData.type.polymorphicDiscriminator, + modelProperties: { + ...EnvironmentData.type.modelProperties, + organizationalData: { + serializedName: "organizationalData", type: { name: "Composite", - className: "DefenderForServersAwsOfferingArcAutoProvisioning" + className: "AwsOrganizationalData" } } } } }; -export const InformationProtectionAwsOffering: coreClient.CompositeMapper = { - serializedName: "InformationProtectionAws", +export const GcpProjectEnvironmentData: coreClient.CompositeMapper = { + serializedName: "GcpProject", type: { name: "Composite", - className: "InformationProtectionAwsOffering", - uberParent: "CloudOffering", - polymorphicDiscriminator: CloudOffering.type.polymorphicDiscriminator, + className: "GcpProjectEnvironmentData", + uberParent: "EnvironmentData", + polymorphicDiscriminator: EnvironmentData.type.polymorphicDiscriminator, modelProperties: { - ...CloudOffering.type.modelProperties, - informationProtection: { - serializedName: "informationProtection", + ...EnvironmentData.type.modelProperties, + organizationalData: { + serializedName: "organizationalData", type: { name: "Composite", - className: "InformationProtectionAwsOfferingInformationProtection" + className: "GcpOrganizationalData" + } + }, + projectDetails: { + serializedName: "projectDetails", + type: { + name: "Composite", + className: "GcpProjectDetails" } } } } }; +export const GithubScopeEnvironmentData: coreClient.CompositeMapper = { + serializedName: "GithubScope", + type: { + name: "Composite", + className: "GithubScopeEnvironmentData", + uberParent: "EnvironmentData", + polymorphicDiscriminator: EnvironmentData.type.polymorphicDiscriminator, + modelProperties: { + ...EnvironmentData.type.modelProperties + } + } +}; + +export const AzureDevOpsScopeEnvironmentData: coreClient.CompositeMapper = { + serializedName: "AzureDevOpsScope", + type: { + name: "Composite", + className: "AzureDevOpsScopeEnvironmentData", + uberParent: "EnvironmentData", + polymorphicDiscriminator: EnvironmentData.type.polymorphicDiscriminator, + modelProperties: { + ...EnvironmentData.type.modelProperties + } + } +}; + export const CefSolutionProperties: coreClient.CompositeMapper = { type: { name: "Composite", @@ -8153,6 +9611,120 @@ export const AadSolutionProperties: coreClient.CompositeMapper = { } }; +export const AwsOrganizationalDataMaster: coreClient.CompositeMapper = { + serializedName: "Organization", + type: { + name: "Composite", + className: "AwsOrganizationalDataMaster", + uberParent: "AwsOrganizationalData", + polymorphicDiscriminator: + AwsOrganizationalData.type.polymorphicDiscriminator, + modelProperties: { + ...AwsOrganizationalData.type.modelProperties, + stacksetName: { + serializedName: "stacksetName", + type: { + name: "String" + } + }, + excludedAccountIds: { + serializedName: "excludedAccountIds", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const AwsOrganizationalDataMember: coreClient.CompositeMapper = { + serializedName: "Member", + type: { + name: "Composite", + className: "AwsOrganizationalDataMember", + uberParent: "AwsOrganizationalData", + polymorphicDiscriminator: + AwsOrganizationalData.type.polymorphicDiscriminator, + modelProperties: { + ...AwsOrganizationalData.type.modelProperties, + parentHierarchyId: { + serializedName: "parentHierarchyId", + type: { + name: "String" + } + } + } + } +}; + +export const GcpOrganizationalDataOrganization: coreClient.CompositeMapper = { + serializedName: "Organization", + type: { + name: "Composite", + className: "GcpOrganizationalDataOrganization", + uberParent: "GcpOrganizationalData", + polymorphicDiscriminator: + GcpOrganizationalData.type.polymorphicDiscriminator, + modelProperties: { + ...GcpOrganizationalData.type.modelProperties, + excludedProjectNumbers: { + serializedName: "excludedProjectNumbers", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + serviceAccountEmailAddress: { + serializedName: "serviceAccountEmailAddress", + type: { + name: "String" + } + }, + workloadIdentityProviderId: { + serializedName: "workloadIdentityProviderId", + type: { + name: "String" + } + } + } + } +}; + +export const GcpOrganizationalDataMember: coreClient.CompositeMapper = { + serializedName: "Member", + type: { + name: "Composite", + className: "GcpOrganizationalDataMember", + uberParent: "GcpOrganizationalData", + polymorphicDiscriminator: + GcpOrganizationalData.type.polymorphicDiscriminator, + modelProperties: { + ...GcpOrganizationalData.type.modelProperties, + parentHierarchyId: { + serializedName: "parentHierarchyId", + type: { + name: "String" + } + }, + managementProjectNumber: { + serializedName: "managementProjectNumber", + type: { + name: "String" + } + } + } + } +}; + export const Automation: coreClient.CompositeMapper = { type: { name: "Composite", @@ -8230,8 +9802,15 @@ export const SecurityConnector: coreClient.CompositeMapper = { name: "String" } }, - cloudName: { - serializedName: "properties.cloudName", + hierarchyIdentifierTrialEndDate: { + serializedName: "properties.hierarchyIdentifierTrialEndDate", + readOnly: true, + type: { + name: "DateTime" + } + }, + environmentName: { + serializedName: "properties.environmentName", type: { name: "String" } @@ -8248,11 +9827,11 @@ export const SecurityConnector: coreClient.CompositeMapper = { } } }, - organizationalData: { - serializedName: "properties.organizationalData", + environmentData: { + serializedName: "properties.environmentData", type: { name: "Composite", - className: "SecurityConnectorPropertiesOrganizationalData" + className: "EnvironmentData" } } } @@ -8720,6 +10299,66 @@ export const ProcessNotAllowed: coreClient.CompositeMapper = { } }; +export const GovernanceRulesRuleIdExecuteSingleSubscriptionHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GovernanceRulesRuleIdExecuteSingleSubscriptionHeaders", + modelProperties: { + location: { + serializedName: "location", + type: { + name: "String" + } + } + } + } +}; + +export const GovernanceRulesRuleIdExecuteSingleSecurityConnectorHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GovernanceRulesRuleIdExecuteSingleSecurityConnectorHeaders", + modelProperties: { + location: { + serializedName: "location", + type: { + name: "String" + } + } + } + } +}; + +export const SubscriptionGovernanceRulesExecuteStatusGetHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SubscriptionGovernanceRulesExecuteStatusGetHeaders", + modelProperties: { + location: { + serializedName: "location", + type: { + name: "String" + } + } + } + } +}; + +export const SecurityConnectorGovernanceRulesExecuteStatusGetHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SecurityConnectorGovernanceRulesExecuteStatusGetHeaders", + modelProperties: { + location: { + serializedName: "location", + type: { + name: "String" + } + } + } + } +}; + export let discriminators = { CustomAlertRule: CustomAlertRule, ResourceDetails: ResourceDetails, @@ -8729,7 +10368,9 @@ export let discriminators = { ResourceIdentifier: ResourceIdentifier, AlertSimulatorRequestProperties: AlertSimulatorRequestProperties, CloudOffering: CloudOffering, - "Resource.ExternalSecuritySolution": ExternalSecuritySolution, + EnvironmentData: EnvironmentData, + AwsOrganizationalData: AwsOrganizationalData, + GcpOrganizationalData: GcpOrganizationalData, "Resource.Setting": Setting, "CustomAlertRule.ThresholdCustomAlertRule": ThresholdCustomAlertRule, "CustomAlertRule.ListCustomAlertRule": ListCustomAlertRule, @@ -8750,7 +10391,22 @@ export let discriminators = { "CloudOffering.CspmMonitorAws": CspmMonitorAwsOffering, "CloudOffering.DefenderForContainersAws": DefenderForContainersAwsOffering, "CloudOffering.DefenderForServersAws": DefenderForServersAwsOffering, + "CloudOffering.DefenderForDatabasesAws": DefenderFoDatabasesAwsOffering, "CloudOffering.InformationProtectionAws": InformationProtectionAwsOffering, + "CloudOffering.CspmMonitorGcp": CspmMonitorGcpOffering, + "CloudOffering.DefenderForServersGcp": DefenderForServersGcpOffering, + "CloudOffering.DefenderForDatabasesGcp": DefenderForDatabasesGcpOffering, + "CloudOffering.DefenderForContainersGcp": DefenderForContainersGcpOffering, + "CloudOffering.CspmMonitorGithub": CspmMonitorGithubOffering, + "CloudOffering.CspmMonitorAzureDevOps": CspmMonitorAzureDevOpsOffering, + "EnvironmentData.AwsAccount": AWSEnvironmentData, + "EnvironmentData.GcpProject": GcpProjectEnvironmentData, + "EnvironmentData.GithubScope": GithubScopeEnvironmentData, + "EnvironmentData.AzureDevOpsScope": AzureDevOpsScopeEnvironmentData, + "AwsOrganizationalData.Organization": AwsOrganizationalDataMaster, + "AwsOrganizationalData.Member": AwsOrganizationalDataMember, + "GcpOrganizationalData.Organization": GcpOrganizationalDataOrganization, + "GcpOrganizationalData.Member": GcpOrganizationalDataMember, "Resource.CEF": CefExternalSecuritySolution, "Resource.ATA": AtaExternalSecuritySolution, "Resource.AAD": AadExternalSecuritySolution, diff --git a/sdk/security/arm-security/src/models/parameters.ts b/sdk/security/arm-security/src/models/parameters.ts index 1ca7f7480b44..d6a320eaa07d 100644 --- a/sdk/security/arm-security/src/models/parameters.ts +++ b/sdk/security/arm-security/src/models/parameters.ts @@ -37,7 +37,11 @@ import { AlertSimulatorRequestBody as AlertSimulatorRequestBodyMapper, Setting as SettingMapper, IngestionSetting as IngestionSettingMapper, - SecurityConnector as SecurityConnectorMapper + SecurityConnector as SecurityConnectorMapper, + GovernanceRule as GovernanceRuleMapper, + ExecuteGovernanceRuleParams as ExecuteGovernanceRuleParamsMapper, + GovernanceAssignment as GovernanceAssignmentMapper, + Application as ApplicationMapper } from "../models/mappers"; export const accept: OperationParameter = { @@ -471,6 +475,18 @@ export const informationProtectionPolicy: OperationParameter = { mapper: InformationProtectionPolicyMapper }; +export const apiVersion8: OperationQueryParameter = { + parameterPath: "apiVersion", + mapper: { + defaultValue: "2020-01-01-preview", + isConstant: true, + serializedName: "api-version", + type: { + name: "String" + } + } +}; + export const securityContactName: OperationURLParameter = { parameterPath: "securityContactName", mapper: { @@ -503,7 +519,7 @@ export const workspaceSetting: OperationParameter = { mapper: WorkspaceSettingMapper }; -export const apiVersion8: OperationQueryParameter = { +export const apiVersion9: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { defaultValue: "2019-01-01-preview", @@ -645,7 +661,7 @@ export const resourceName: OperationURLParameter = { } }; -export const apiVersion9: OperationQueryParameter = { +export const apiVersion10: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { defaultValue: "2020-01-01", @@ -669,7 +685,7 @@ export const serverVulnerabilityAssessment: OperationURLParameter = { } }; -export const apiVersion10: OperationQueryParameter = { +export const apiVersion11: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { defaultValue: "2021-06-01", @@ -885,18 +901,6 @@ export const securitySolutionName: OperationURLParameter = { } }; -export const apiVersion11: OperationQueryParameter = { - parameterPath: "apiVersion", - mapper: { - defaultValue: "2020-01-01-preview", - isConstant: true, - serializedName: "api-version", - type: { - name: "String" - } - } -}; - export const connectorName: OperationURLParameter = { parameterPath: "connectorName", mapper: { @@ -982,7 +986,7 @@ export const body5: OperationParameter = { export const apiVersion13: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { - defaultValue: "2021-11-01", + defaultValue: "2022-01-01", isConstant: true, serializedName: "api-version", type: { @@ -1010,7 +1014,7 @@ export const alertSimulatorRequestBody: OperationParameter = { export const apiVersion14: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { - defaultValue: "2021-07-01", + defaultValue: "2022-05-01", isConstant: true, serializedName: "api-version", type: { @@ -1086,6 +1090,18 @@ export const softwareName: OperationURLParameter = { } }; +export const apiVersion17: OperationQueryParameter = { + parameterPath: "apiVersion", + mapper: { + defaultValue: "2022-05-01-preview", + isConstant: true, + serializedName: "api-version", + type: { + name: "String" + } + } +}; + export const securityConnectorName: OperationURLParameter = { parameterPath: "securityConnectorName", mapper: { @@ -1101,3 +1117,80 @@ export const securityConnector: OperationParameter = { parameterPath: "securityConnector", mapper: SecurityConnectorMapper }; + +export const apiVersion18: OperationQueryParameter = { + parameterPath: "apiVersion", + mapper: { + defaultValue: "2022-01-01-preview", + isConstant: true, + serializedName: "api-version", + type: { + name: "String" + } + } +}; + +export const governanceRule: OperationParameter = { + parameterPath: "governanceRule", + mapper: GovernanceRuleMapper +}; + +export const executeGovernanceRuleParams: OperationParameter = { + parameterPath: ["options", "executeGovernanceRuleParams"], + mapper: ExecuteGovernanceRuleParamsMapper +}; + +export const operationId: OperationURLParameter = { + parameterPath: "operationId", + mapper: { + serializedName: "operationId", + required: true, + type: { + name: "String" + } + } +}; + +export const assignmentKey: OperationURLParameter = { + parameterPath: "assignmentKey", + mapper: { + serializedName: "assignmentKey", + required: true, + type: { + name: "String" + } + } +}; + +export const governanceAssignment: OperationParameter = { + parameterPath: "governanceAssignment", + mapper: GovernanceAssignmentMapper +}; + +export const apiVersion19: OperationQueryParameter = { + parameterPath: "apiVersion", + mapper: { + defaultValue: "2022-07-01-preview", + isConstant: true, + serializedName: "api-version", + type: { + name: "String" + } + } +}; + +export const applicationId: OperationURLParameter = { + parameterPath: "applicationId", + mapper: { + serializedName: "applicationId", + required: true, + type: { + name: "String" + } + } +}; + +export const application: OperationParameter = { + parameterPath: "application", + mapper: ApplicationMapper +}; diff --git a/sdk/security/arm-security/src/operations/adaptiveApplicationControls.ts b/sdk/security/arm-security/src/operations/adaptiveApplicationControls.ts index 8df82cf6ce25..08c86ce545b2 100644 --- a/sdk/security/arm-security/src/operations/adaptiveApplicationControls.ts +++ b/sdk/security/arm-security/src/operations/adaptiveApplicationControls.ts @@ -117,7 +117,7 @@ const listOperationSpec: coreClient.OperationSpec = { } }, queryParameters: [ - Parameters.apiVersion9, + Parameters.apiVersion10, Parameters.includePathRecommendations, Parameters.summary ], @@ -137,7 +137,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -160,7 +160,7 @@ const putOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.body, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -183,7 +183,7 @@ const deleteOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, diff --git a/sdk/security/arm-security/src/operations/adaptiveNetworkHardenings.ts b/sdk/security/arm-security/src/operations/adaptiveNetworkHardenings.ts index b6756e894f98..907199d87256 100644 --- a/sdk/security/arm-security/src/operations/adaptiveNetworkHardenings.ts +++ b/sdk/security/arm-security/src/operations/adaptiveNetworkHardenings.ts @@ -347,7 +347,7 @@ const listByExtendedResourceOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -371,7 +371,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -398,7 +398,7 @@ const enforceOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.body1, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -424,7 +424,7 @@ const listByExtendedResourceNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, diff --git a/sdk/security/arm-security/src/operations/alerts.ts b/sdk/security/arm-security/src/operations/alerts.ts index b6f273873724..470c52268fa5 100644 --- a/sdk/security/arm-security/src/operations/alerts.ts +++ b/sdk/security/arm-security/src/operations/alerts.ts @@ -12,6 +12,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SecurityCenter } from "../securityCenter"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { Alert, AlertsListNextOptionalParams, @@ -33,9 +35,11 @@ import { AlertsUpdateSubscriptionLevelStateToDismissOptionalParams, AlertsUpdateSubscriptionLevelStateToResolveOptionalParams, AlertsUpdateSubscriptionLevelStateToActivateOptionalParams, + AlertsUpdateSubscriptionLevelStateToInProgressOptionalParams, AlertsUpdateResourceGroupLevelStateToResolveOptionalParams, AlertsUpdateResourceGroupLevelStateToDismissOptionalParams, AlertsUpdateResourceGroupLevelStateToActivateOptionalParams, + AlertsUpdateResourceGroupLevelStateToInProgressOptionalParams, AlertSimulatorRequestBody, AlertsSimulateOptionalParams, AlertsListNextResponse, @@ -372,21 +376,21 @@ export class AlertsImpl implements Alerts { /** * Get an alert that is associated a resource group or a resource in a resource group + * @param resourceGroupName The name of the resource group within the user's subscription. The name is + * case insensitive. * @param ascLocation The location where ASC stores the data of the subscription. can be retrieved from * Get locations * @param alertName Name of the alert object - * @param resourceGroupName The name of the resource group within the user's subscription. The name is - * case insensitive. * @param options The options parameters. */ getResourceGroupLevel( + resourceGroupName: string, ascLocation: string, alertName: string, - resourceGroupName: string, options?: AlertsGetResourceGroupLevelOptionalParams ): Promise { return this.client.sendOperationRequest( - { ascLocation, alertName, resourceGroupName, options }, + { resourceGroupName, ascLocation, alertName, options }, getResourceGroupLevelOperationSpec ); } @@ -450,64 +454,103 @@ export class AlertsImpl implements Alerts { * @param ascLocation The location where ASC stores the data of the subscription. can be retrieved from * Get locations * @param alertName Name of the alert object + * @param options The options parameters. + */ + updateSubscriptionLevelStateToInProgress( + ascLocation: string, + alertName: string, + options?: AlertsUpdateSubscriptionLevelStateToInProgressOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { ascLocation, alertName, options }, + updateSubscriptionLevelStateToInProgressOperationSpec + ); + } + + /** + * Update the alert's state * @param resourceGroupName The name of the resource group within the user's subscription. The name is * case insensitive. + * @param ascLocation The location where ASC stores the data of the subscription. can be retrieved from + * Get locations + * @param alertName Name of the alert object * @param options The options parameters. */ updateResourceGroupLevelStateToResolve( + resourceGroupName: string, ascLocation: string, alertName: string, - resourceGroupName: string, options?: AlertsUpdateResourceGroupLevelStateToResolveOptionalParams ): Promise { return this.client.sendOperationRequest( - { ascLocation, alertName, resourceGroupName, options }, + { resourceGroupName, ascLocation, alertName, options }, updateResourceGroupLevelStateToResolveOperationSpec ); } /** * Update the alert's state + * @param resourceGroupName The name of the resource group within the user's subscription. The name is + * case insensitive. * @param ascLocation The location where ASC stores the data of the subscription. can be retrieved from * Get locations * @param alertName Name of the alert object - * @param resourceGroupName The name of the resource group within the user's subscription. The name is - * case insensitive. * @param options The options parameters. */ updateResourceGroupLevelStateToDismiss( + resourceGroupName: string, ascLocation: string, alertName: string, - resourceGroupName: string, options?: AlertsUpdateResourceGroupLevelStateToDismissOptionalParams ): Promise { return this.client.sendOperationRequest( - { ascLocation, alertName, resourceGroupName, options }, + { resourceGroupName, ascLocation, alertName, options }, updateResourceGroupLevelStateToDismissOperationSpec ); } /** * Update the alert's state + * @param resourceGroupName The name of the resource group within the user's subscription. The name is + * case insensitive. * @param ascLocation The location where ASC stores the data of the subscription. can be retrieved from * Get locations * @param alertName Name of the alert object - * @param resourceGroupName The name of the resource group within the user's subscription. The name is - * case insensitive. * @param options The options parameters. */ updateResourceGroupLevelStateToActivate( + resourceGroupName: string, ascLocation: string, alertName: string, - resourceGroupName: string, options?: AlertsUpdateResourceGroupLevelStateToActivateOptionalParams ): Promise { return this.client.sendOperationRequest( - { ascLocation, alertName, resourceGroupName, options }, + { resourceGroupName, ascLocation, alertName, options }, updateResourceGroupLevelStateToActivateOperationSpec ); } + /** + * Update the alert's state + * @param resourceGroupName The name of the resource group within the user's subscription. The name is + * case insensitive. + * @param ascLocation The location where ASC stores the data of the subscription. can be retrieved from + * Get locations + * @param alertName Name of the alert object + * @param options The options parameters. + */ + updateResourceGroupLevelStateToInProgress( + resourceGroupName: string, + ascLocation: string, + alertName: string, + options?: AlertsUpdateResourceGroupLevelStateToInProgressOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, ascLocation, alertName, options }, + updateResourceGroupLevelStateToInProgressOperationSpec + ); + } + /** * Simulate security alerts * @param ascLocation The location where ASC stores the data of the subscription. can be retrieved from @@ -515,15 +558,82 @@ export class AlertsImpl implements Alerts { * @param alertSimulatorRequestBody Alert Simulator Request Properties * @param options The options parameters. */ - simulate( + async beginSimulate( ascLocation: string, alertSimulatorRequestBody: AlertSimulatorRequestBody, options?: AlertsSimulateOptionalParams - ): Promise { - return this.client.sendOperationRequest( + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, { ascLocation, alertSimulatorRequestBody, options }, simulateOperationSpec ); + const poller = new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "original-uri" + }); + await poller.poll(); + return poller; + } + + /** + * Simulate security alerts + * @param ascLocation The location where ASC stores the data of the subscription. can be retrieved from + * Get locations + * @param alertSimulatorRequestBody Alert Simulator Request Properties + * @param options The options parameters. + */ + async beginSimulateAndWait( + ascLocation: string, + alertSimulatorRequestBody: AlertSimulatorRequestBody, + options?: AlertsSimulateOptionalParams + ): Promise { + const poller = await this.beginSimulate( + ascLocation, + alertSimulatorRequestBody, + options + ); + return poller.pollUntilDone(); } /** @@ -788,6 +898,26 @@ const updateSubscriptionLevelStateToActivateOperationSpec: coreClient.OperationS headerParameters: [Parameters.accept], serializer }; +const updateSubscriptionLevelStateToInProgressOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}/inProgress", + httpMethod: "POST", + responses: { + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion13], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.ascLocation, + Parameters.alertName + ], + headerParameters: [Parameters.accept], + serializer +}; const updateResourceGroupLevelStateToResolveOperationSpec: coreClient.OperationSpec = { path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}/resolve", @@ -851,11 +981,35 @@ const updateResourceGroupLevelStateToActivateOperationSpec: coreClient.Operation headerParameters: [Parameters.accept], serializer }; +const updateResourceGroupLevelStateToInProgressOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}/inProgress", + httpMethod: "POST", + responses: { + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion13], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.ascLocation, + Parameters.alertName + ], + headerParameters: [Parameters.accept], + serializer +}; const simulateOperationSpec: coreClient.OperationSpec = { path: "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts/default/simulate", httpMethod: "POST", responses: { + 200: {}, + 201: {}, + 202: {}, 204: {}, default: { bodyMapper: Mappers.CloudError diff --git a/sdk/security/arm-security/src/operations/alertsSuppressionRules.ts b/sdk/security/arm-security/src/operations/alertsSuppressionRules.ts index 31d448f69806..45ff0c938c6e 100644 --- a/sdk/security/arm-security/src/operations/alertsSuppressionRules.ts +++ b/sdk/security/arm-security/src/operations/alertsSuppressionRules.ts @@ -167,7 +167,7 @@ const listOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion8, Parameters.alertType], + queryParameters: [Parameters.apiVersion9, Parameters.alertType], urlParameters: [Parameters.$host, Parameters.subscriptionId], headerParameters: [Parameters.accept], serializer @@ -184,7 +184,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion8], + queryParameters: [Parameters.apiVersion9], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -206,7 +206,7 @@ const updateOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.alertsSuppressionRule, - queryParameters: [Parameters.apiVersion8], + queryParameters: [Parameters.apiVersion9], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -226,7 +226,7 @@ const deleteOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion8], + queryParameters: [Parameters.apiVersion9], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -246,7 +246,7 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion8, Parameters.alertType], + queryParameters: [Parameters.apiVersion9, Parameters.alertType], urlParameters: [ Parameters.$host, Parameters.subscriptionId, diff --git a/sdk/security/arm-security/src/operations/allowedConnections.ts b/sdk/security/arm-security/src/operations/allowedConnections.ts index 899541787157..c1c3926e0f6d 100644 --- a/sdk/security/arm-security/src/operations/allowedConnections.ts +++ b/sdk/security/arm-security/src/operations/allowedConnections.ts @@ -232,7 +232,7 @@ const listOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [Parameters.$host, Parameters.subscriptionId], headerParameters: [Parameters.accept], serializer @@ -249,7 +249,7 @@ const listByHomeRegionOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -270,7 +270,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -292,7 +292,7 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -312,7 +312,7 @@ const listByHomeRegionNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, diff --git a/sdk/security/arm-security/src/operations/applicationOperations.ts b/sdk/security/arm-security/src/operations/applicationOperations.ts new file mode 100644 index 000000000000..c0ae8b3ec051 --- /dev/null +++ b/sdk/security/arm-security/src/operations/applicationOperations.ts @@ -0,0 +1,144 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { ApplicationOperations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SecurityCenter } from "../securityCenter"; +import { + ApplicationGetOptionalParams, + ApplicationGetResponse, + Application, + ApplicationCreateOrUpdateOptionalParams, + ApplicationCreateOrUpdateResponse, + ApplicationDeleteOptionalParams +} from "../models"; + +/** Class containing ApplicationOperations operations. */ +export class ApplicationOperationsImpl implements ApplicationOperations { + private readonly client: SecurityCenter; + + /** + * Initialize a new instance of the class ApplicationOperations class. + * @param client Reference to the service client + */ + constructor(client: SecurityCenter) { + this.client = client; + } + + /** + * Get a specific application for the requested scope by applicationId + * @param applicationId The security Application key - unique key for the standard application + * @param options The options parameters. + */ + get( + applicationId: string, + options?: ApplicationGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { applicationId, options }, + getOperationSpec + ); + } + + /** + * Creates or update a security application on the given subscription. + * @param applicationId The security Application key - unique key for the standard application + * @param application Application over a subscription scope + * @param options The options parameters. + */ + createOrUpdate( + applicationId: string, + application: Application, + options?: ApplicationCreateOrUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { applicationId, application, options }, + createOrUpdateOperationSpec + ); + } + + /** + * Delete an Application over a given scope + * @param applicationId The security Application key - unique key for the standard application + * @param options The options parameters. + */ + delete( + applicationId: string, + options?: ApplicationDeleteOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { applicationId, options }, + deleteOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/applications/{applicationId}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.Application + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion19], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.applicationId + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/applications/{applicationId}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.Application + }, + 201: { + bodyMapper: Mappers.Application + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.application, + queryParameters: [Parameters.apiVersion19], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.applicationId + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/applications/{applicationId}", + httpMethod: "DELETE", + responses: { 200: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion19], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.applicationId + ], + serializer +}; diff --git a/sdk/security/arm-security/src/operations/applications.ts b/sdk/security/arm-security/src/operations/applications.ts new file mode 100644 index 000000000000..10bb96e03553 --- /dev/null +++ b/sdk/security/arm-security/src/operations/applications.ts @@ -0,0 +1,142 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Applications } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SecurityCenter } from "../securityCenter"; +import { + Application, + ApplicationsListNextOptionalParams, + ApplicationsListOptionalParams, + ApplicationsListResponse, + ApplicationsListNextResponse +} from "../models"; + +/// +/** Class containing Applications operations. */ +export class ApplicationsImpl implements Applications { + private readonly client: SecurityCenter; + + /** + * Initialize a new instance of the class Applications class. + * @param client Reference to the service client + */ + constructor(client: SecurityCenter) { + this.client = client; + } + + /** + * Get a list of all relevant applications over a subscription level scope + * @param options The options parameters. + */ + public list( + options?: ApplicationsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: ApplicationsListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + options?: ApplicationsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } + } + + /** + * Get a list of all relevant applications over a subscription level scope + * @param options The options parameters. + */ + private _list( + options?: ApplicationsListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + + /** + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + nextLink: string, + options?: ApplicationsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/applications", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ApplicationsList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion19], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ApplicationsList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion19], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/security/arm-security/src/operations/assessments.ts b/sdk/security/arm-security/src/operations/assessments.ts index ca53bce5f627..b4d41a650f4a 100644 --- a/sdk/security/arm-security/src/operations/assessments.ts +++ b/sdk/security/arm-security/src/operations/assessments.ts @@ -192,7 +192,7 @@ const listOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion10], + queryParameters: [Parameters.apiVersion11], urlParameters: [Parameters.$host, Parameters.scope], headerParameters: [Parameters.accept], serializer @@ -209,7 +209,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion10, Parameters.expand], + queryParameters: [Parameters.apiVersion11, Parameters.expand], urlParameters: [ Parameters.$host, Parameters.resourceId, @@ -234,7 +234,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.assessment, - queryParameters: [Parameters.apiVersion10], + queryParameters: [Parameters.apiVersion11], urlParameters: [ Parameters.$host, Parameters.resourceId, @@ -255,7 +255,7 @@ const deleteOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion10], + queryParameters: [Parameters.apiVersion11], urlParameters: [ Parameters.$host, Parameters.resourceId, @@ -275,7 +275,7 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion10], + queryParameters: [Parameters.apiVersion11], urlParameters: [Parameters.$host, Parameters.nextLink, Parameters.scope], headerParameters: [Parameters.accept], serializer diff --git a/sdk/security/arm-security/src/operations/assessmentsMetadata.ts b/sdk/security/arm-security/src/operations/assessmentsMetadata.ts index 21cf5298c116..3376958008cf 100644 --- a/sdk/security/arm-security/src/operations/assessmentsMetadata.ts +++ b/sdk/security/arm-security/src/operations/assessmentsMetadata.ts @@ -258,7 +258,7 @@ const listOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion10], + queryParameters: [Parameters.apiVersion11], urlParameters: [Parameters.$host], headerParameters: [Parameters.accept], serializer @@ -275,7 +275,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion10], + queryParameters: [Parameters.apiVersion11], urlParameters: [Parameters.$host, Parameters.assessmentMetadataName], headerParameters: [Parameters.accept], serializer @@ -292,7 +292,7 @@ const listBySubscriptionOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion10], + queryParameters: [Parameters.apiVersion11], urlParameters: [Parameters.$host, Parameters.subscriptionId], headerParameters: [Parameters.accept], serializer @@ -309,7 +309,7 @@ const getInSubscriptionOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion10], + queryParameters: [Parameters.apiVersion11], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -331,7 +331,7 @@ const createInSubscriptionOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.assessmentMetadata, - queryParameters: [Parameters.apiVersion10], + queryParameters: [Parameters.apiVersion11], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -351,7 +351,7 @@ const deleteInSubscriptionOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion10], + queryParameters: [Parameters.apiVersion11], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -371,7 +371,7 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion10], + queryParameters: [Parameters.apiVersion11], urlParameters: [Parameters.$host, Parameters.nextLink], headerParameters: [Parameters.accept], serializer @@ -387,7 +387,7 @@ const listBySubscriptionNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion10], + queryParameters: [Parameters.apiVersion11], urlParameters: [ Parameters.$host, Parameters.subscriptionId, diff --git a/sdk/security/arm-security/src/operations/automations.ts b/sdk/security/arm-security/src/operations/automations.ts index 18628600f459..2d8fc989b267 100644 --- a/sdk/security/arm-security/src/operations/automations.ts +++ b/sdk/security/arm-security/src/operations/automations.ts @@ -296,7 +296,7 @@ const listOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion8], + queryParameters: [Parameters.apiVersion9], urlParameters: [Parameters.$host, Parameters.subscriptionId], headerParameters: [Parameters.accept], serializer @@ -313,7 +313,7 @@ const listByResourceGroupOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion8], + queryParameters: [Parameters.apiVersion9], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -334,7 +334,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion8], + queryParameters: [Parameters.apiVersion9], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -360,7 +360,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.automation, - queryParameters: [Parameters.apiVersion8], + queryParameters: [Parameters.apiVersion9], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -381,7 +381,7 @@ const deleteOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion8], + queryParameters: [Parameters.apiVersion9], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -404,7 +404,7 @@ const validateOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.automation, - queryParameters: [Parameters.apiVersion8], + queryParameters: [Parameters.apiVersion9], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -426,7 +426,7 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion8], + queryParameters: [Parameters.apiVersion9], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -446,7 +446,7 @@ const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion8], + queryParameters: [Parameters.apiVersion9], urlParameters: [ Parameters.$host, Parameters.subscriptionId, diff --git a/sdk/security/arm-security/src/operations/connectors.ts b/sdk/security/arm-security/src/operations/connectors.ts index 4ffdc057d701..4691220e51f7 100644 --- a/sdk/security/arm-security/src/operations/connectors.ts +++ b/sdk/security/arm-security/src/operations/connectors.ts @@ -169,7 +169,7 @@ const listOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion11], + queryParameters: [Parameters.apiVersion8], urlParameters: [Parameters.$host, Parameters.subscriptionId], headerParameters: [Parameters.accept], serializer @@ -186,7 +186,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion11], + queryParameters: [Parameters.apiVersion8], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -208,7 +208,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.connectorSetting, - queryParameters: [Parameters.apiVersion11], + queryParameters: [Parameters.apiVersion8], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -229,7 +229,7 @@ const deleteOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion11], + queryParameters: [Parameters.apiVersion8], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -249,7 +249,7 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion11], + queryParameters: [Parameters.apiVersion8], urlParameters: [ Parameters.$host, Parameters.subscriptionId, diff --git a/sdk/security/arm-security/src/operations/discoveredSecuritySolutions.ts b/sdk/security/arm-security/src/operations/discoveredSecuritySolutions.ts index 6f682eeeb5ec..ec304fd3a57f 100644 --- a/sdk/security/arm-security/src/operations/discoveredSecuritySolutions.ts +++ b/sdk/security/arm-security/src/operations/discoveredSecuritySolutions.ts @@ -236,7 +236,7 @@ const listOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [Parameters.$host, Parameters.subscriptionId], headerParameters: [Parameters.accept], serializer @@ -253,7 +253,7 @@ const listByHomeRegionOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -274,7 +274,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -296,7 +296,7 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -316,7 +316,7 @@ const listByHomeRegionNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, diff --git a/sdk/security/arm-security/src/operations/externalSecuritySolutions.ts b/sdk/security/arm-security/src/operations/externalSecuritySolutions.ts index 8f2aac92469b..9a0a7cc5f08d 100644 --- a/sdk/security/arm-security/src/operations/externalSecuritySolutions.ts +++ b/sdk/security/arm-security/src/operations/externalSecuritySolutions.ts @@ -13,7 +13,7 @@ import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SecurityCenter } from "../securityCenter"; import { - ExternalSecuritySolutionUnion, + ExternalSecuritySolution, ExternalSecuritySolutionsListNextOptionalParams, ExternalSecuritySolutionsListOptionalParams, ExternalSecuritySolutionsListByHomeRegionNextOptionalParams, @@ -46,7 +46,7 @@ export class ExternalSecuritySolutionsImpl */ public list( options?: ExternalSecuritySolutionsListOptionalParams - ): PagedAsyncIterableIterator { + ): PagedAsyncIterableIterator { const iter = this.listPagingAll(options); return { next() { @@ -63,7 +63,7 @@ export class ExternalSecuritySolutionsImpl private async *listPagingPage( options?: ExternalSecuritySolutionsListOptionalParams - ): AsyncIterableIterator { + ): AsyncIterableIterator { let result = await this._list(options); yield result.value || []; let continuationToken = result.nextLink; @@ -76,7 +76,7 @@ export class ExternalSecuritySolutionsImpl private async *listPagingAll( options?: ExternalSecuritySolutionsListOptionalParams - ): AsyncIterableIterator { + ): AsyncIterableIterator { for await (const page of this.listPagingPage(options)) { yield* page; } @@ -91,7 +91,7 @@ export class ExternalSecuritySolutionsImpl public listByHomeRegion( ascLocation: string, options?: ExternalSecuritySolutionsListByHomeRegionOptionalParams - ): PagedAsyncIterableIterator { + ): PagedAsyncIterableIterator { const iter = this.listByHomeRegionPagingAll(ascLocation, options); return { next() { @@ -109,7 +109,7 @@ export class ExternalSecuritySolutionsImpl private async *listByHomeRegionPagingPage( ascLocation: string, options?: ExternalSecuritySolutionsListByHomeRegionOptionalParams - ): AsyncIterableIterator { + ): AsyncIterableIterator { let result = await this._listByHomeRegion(ascLocation, options); yield result.value || []; let continuationToken = result.nextLink; @@ -127,7 +127,7 @@ export class ExternalSecuritySolutionsImpl private async *listByHomeRegionPagingAll( ascLocation: string, options?: ExternalSecuritySolutionsListByHomeRegionOptionalParams - ): AsyncIterableIterator { + ): AsyncIterableIterator { for await (const page of this.listByHomeRegionPagingPage( ascLocation, options @@ -236,7 +236,7 @@ const listOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [Parameters.$host, Parameters.subscriptionId], headerParameters: [Parameters.accept], serializer @@ -253,7 +253,7 @@ const listByHomeRegionOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -274,7 +274,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -296,7 +296,7 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -316,7 +316,7 @@ const listByHomeRegionNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, diff --git a/sdk/security/arm-security/src/operations/governanceAssignments.ts b/sdk/security/arm-security/src/operations/governanceAssignments.ts new file mode 100644 index 000000000000..06bf4668034d --- /dev/null +++ b/sdk/security/arm-security/src/operations/governanceAssignments.ts @@ -0,0 +1,317 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { GovernanceAssignments } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SecurityCenter } from "../securityCenter"; +import { + GovernanceAssignment, + GovernanceAssignmentsListNextOptionalParams, + GovernanceAssignmentsListOptionalParams, + GovernanceAssignmentsListResponse, + GovernanceAssignmentsGetOptionalParams, + GovernanceAssignmentsGetResponse, + GovernanceAssignmentsCreateOrUpdateOptionalParams, + GovernanceAssignmentsCreateOrUpdateResponse, + GovernanceAssignmentsDeleteOptionalParams, + GovernanceAssignmentsListNextResponse +} from "../models"; + +/// +/** Class containing GovernanceAssignments operations. */ +export class GovernanceAssignmentsImpl implements GovernanceAssignments { + private readonly client: SecurityCenter; + + /** + * Initialize a new instance of the class GovernanceAssignments class. + * @param client Reference to the service client + */ + constructor(client: SecurityCenter) { + this.client = client; + } + + /** + * Get security governanceAssignments on all your resources inside a scope + * @param scope Scope of the query, can be subscription + * (/subscriptions/0b06d9ea-afe6-4779-bd59-30e5c2d9d13f) or management group + * (/providers/Microsoft.Management/managementGroups/mgName). + * @param assessmentName The Assessment Key - Unique key for the assessment type + * @param options The options parameters. + */ + public list( + scope: string, + assessmentName: string, + options?: GovernanceAssignmentsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(scope, assessmentName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(scope, assessmentName, options); + } + }; + } + + private async *listPagingPage( + scope: string, + assessmentName: string, + options?: GovernanceAssignmentsListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(scope, assessmentName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext( + scope, + assessmentName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + scope: string, + assessmentName: string, + options?: GovernanceAssignmentsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + scope, + assessmentName, + options + )) { + yield* page; + } + } + + /** + * Get security governanceAssignments on all your resources inside a scope + * @param scope Scope of the query, can be subscription + * (/subscriptions/0b06d9ea-afe6-4779-bd59-30e5c2d9d13f) or management group + * (/providers/Microsoft.Management/managementGroups/mgName). + * @param assessmentName The Assessment Key - Unique key for the assessment type + * @param options The options parameters. + */ + private _list( + scope: string, + assessmentName: string, + options?: GovernanceAssignmentsListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, assessmentName, options }, + listOperationSpec + ); + } + + /** + * Get a specific governanceAssignment for the requested scope by AssignmentKey + * @param scope Scope of the query, can be subscription + * (/subscriptions/0b06d9ea-afe6-4779-bd59-30e5c2d9d13f) or management group + * (/providers/Microsoft.Management/managementGroups/mgName). + * @param assessmentName The Assessment Key - Unique key for the assessment type + * @param assignmentKey The security governance assignment key - the assessment key of the required + * governance assignment + * @param options The options parameters. + */ + get( + scope: string, + assessmentName: string, + assignmentKey: string, + options?: GovernanceAssignmentsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, assessmentName, assignmentKey, options }, + getOperationSpec + ); + } + + /** + * Creates or update a security GovernanceAssignment on the given subscription. + * @param scope Scope of the query, can be subscription + * (/subscriptions/0b06d9ea-afe6-4779-bd59-30e5c2d9d13f) or management group + * (/providers/Microsoft.Management/managementGroups/mgName). + * @param assessmentName The Assessment Key - Unique key for the assessment type + * @param assignmentKey The security governance assignment key - the assessment key of the required + * governance assignment + * @param governanceAssignment GovernanceAssignment over a subscription scope + * @param options The options parameters. + */ + createOrUpdate( + scope: string, + assessmentName: string, + assignmentKey: string, + governanceAssignment: GovernanceAssignment, + options?: GovernanceAssignmentsCreateOrUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, assessmentName, assignmentKey, governanceAssignment, options }, + createOrUpdateOperationSpec + ); + } + + /** + * Delete a GovernanceAssignment over a given scope + * @param scope Scope of the query, can be subscription + * (/subscriptions/0b06d9ea-afe6-4779-bd59-30e5c2d9d13f) or management group + * (/providers/Microsoft.Management/managementGroups/mgName). + * @param assessmentName The Assessment Key - Unique key for the assessment type + * @param assignmentKey The security governance assignment key - the assessment key of the required + * governance assignment + * @param options The options parameters. + */ + delete( + scope: string, + assessmentName: string, + assignmentKey: string, + options?: GovernanceAssignmentsDeleteOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, assessmentName, assignmentKey, options }, + deleteOperationSpec + ); + } + + /** + * ListNext + * @param scope Scope of the query, can be subscription + * (/subscriptions/0b06d9ea-afe6-4779-bd59-30e5c2d9d13f) or management group + * (/providers/Microsoft.Management/managementGroups/mgName). + * @param assessmentName The Assessment Key - Unique key for the assessment type + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + scope: string, + assessmentName: string, + nextLink: string, + options?: GovernanceAssignmentsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, assessmentName, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Security/assessments/{assessmentName}/governanceAssignments", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.GovernanceAssignmentsList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion18], + urlParameters: [ + Parameters.$host, + Parameters.scope, + Parameters.assessmentName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Security/assessments/{assessmentName}/governanceAssignments/{assignmentKey}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.GovernanceAssignment + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion18], + urlParameters: [ + Parameters.$host, + Parameters.scope, + Parameters.assessmentName, + Parameters.assignmentKey + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Security/assessments/{assessmentName}/governanceAssignments/{assignmentKey}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.GovernanceAssignment + }, + 201: { + bodyMapper: Mappers.GovernanceAssignment + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.governanceAssignment, + queryParameters: [Parameters.apiVersion18], + urlParameters: [ + Parameters.$host, + Parameters.scope, + Parameters.assessmentName, + Parameters.assignmentKey + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Security/assessments/{assessmentName}/governanceAssignments/{assignmentKey}", + httpMethod: "DELETE", + responses: { 200: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion18], + urlParameters: [ + Parameters.$host, + Parameters.scope, + Parameters.assessmentName, + Parameters.assignmentKey + ], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.GovernanceAssignmentsList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion18], + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.scope, + Parameters.assessmentName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/security/arm-security/src/operations/governanceRuleOperations.ts b/sdk/security/arm-security/src/operations/governanceRuleOperations.ts new file mode 100644 index 000000000000..ab0eb8f0474b --- /dev/null +++ b/sdk/security/arm-security/src/operations/governanceRuleOperations.ts @@ -0,0 +1,142 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { GovernanceRuleOperations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SecurityCenter } from "../securityCenter"; +import { + GovernanceRule, + GovernanceRuleListNextOptionalParams, + GovernanceRuleListOptionalParams, + GovernanceRuleListResponse, + GovernanceRuleListNextResponse +} from "../models"; + +/// +/** Class containing GovernanceRuleOperations operations. */ +export class GovernanceRuleOperationsImpl implements GovernanceRuleOperations { + private readonly client: SecurityCenter; + + /** + * Initialize a new instance of the class GovernanceRuleOperations class. + * @param client Reference to the service client + */ + constructor(client: SecurityCenter) { + this.client = client; + } + + /** + * Get a list of all relevant governanceRules over a subscription level scope + * @param options The options parameters. + */ + public list( + options?: GovernanceRuleListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: GovernanceRuleListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + options?: GovernanceRuleListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } + } + + /** + * Get a list of all relevant governanceRules over a subscription level scope + * @param options The options parameters. + */ + private _list( + options?: GovernanceRuleListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + + /** + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + nextLink: string, + options?: GovernanceRuleListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/governanceRules", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.GovernanceRuleList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion18], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.GovernanceRuleList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion18], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/security/arm-security/src/operations/governanceRules.ts b/sdk/security/arm-security/src/operations/governanceRules.ts new file mode 100644 index 000000000000..ddba6a77af68 --- /dev/null +++ b/sdk/security/arm-security/src/operations/governanceRules.ts @@ -0,0 +1,404 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { GovernanceRules } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SecurityCenter } from "../securityCenter"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + GovernanceRulesGetOptionalParams, + GovernanceRulesGetResponse, + GovernanceRule, + GovernanceRulesCreateOrUpdateOptionalParams, + GovernanceRulesCreateOrUpdateResponse, + GovernanceRulesDeleteOptionalParams, + GovernanceRulesRuleIdExecuteSingleSubscriptionOptionalParams, + GovernanceRulesRuleIdExecuteSingleSubscriptionResponse, + GovernanceRulesRuleIdExecuteSingleSecurityConnectorOptionalParams, + GovernanceRulesRuleIdExecuteSingleSecurityConnectorResponse +} from "../models"; + +/** Class containing GovernanceRules operations. */ +export class GovernanceRulesImpl implements GovernanceRules { + private readonly client: SecurityCenter; + + /** + * Initialize a new instance of the class GovernanceRules class. + * @param client Reference to the service client + */ + constructor(client: SecurityCenter) { + this.client = client; + } + + /** + * Get a specific governanceRule for the requested scope by ruleId + * @param ruleId The security GovernanceRule key - unique key for the standard GovernanceRule + * @param options The options parameters. + */ + get( + ruleId: string, + options?: GovernanceRulesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { ruleId, options }, + getOperationSpec + ); + } + + /** + * Creates or update a security GovernanceRule on the given subscription. + * @param ruleId The security GovernanceRule key - unique key for the standard GovernanceRule + * @param governanceRule GovernanceRule over a subscription scope + * @param options The options parameters. + */ + createOrUpdate( + ruleId: string, + governanceRule: GovernanceRule, + options?: GovernanceRulesCreateOrUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { ruleId, governanceRule, options }, + createOrUpdateOperationSpec + ); + } + + /** + * Delete a GovernanceRule over a given scope + * @param ruleId The security GovernanceRule key - unique key for the standard GovernanceRule + * @param options The options parameters. + */ + delete( + ruleId: string, + options?: GovernanceRulesDeleteOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { ruleId, options }, + deleteOperationSpec + ); + } + + /** + * Execute a security GovernanceRule on the given subscription. + * @param ruleId The security GovernanceRule key - unique key for the standard GovernanceRule + * @param options The options parameters. + */ + async beginRuleIdExecuteSingleSubscription( + ruleId: string, + options?: GovernanceRulesRuleIdExecuteSingleSubscriptionOptionalParams + ): Promise< + PollerLike< + PollOperationState< + GovernanceRulesRuleIdExecuteSingleSubscriptionResponse + >, + GovernanceRulesRuleIdExecuteSingleSubscriptionResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { ruleId, options }, + ruleIdExecuteSingleSubscriptionOperationSpec + ); + const poller = new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + await poller.poll(); + return poller; + } + + /** + * Execute a security GovernanceRule on the given subscription. + * @param ruleId The security GovernanceRule key - unique key for the standard GovernanceRule + * @param options The options parameters. + */ + async beginRuleIdExecuteSingleSubscriptionAndWait( + ruleId: string, + options?: GovernanceRulesRuleIdExecuteSingleSubscriptionOptionalParams + ): Promise { + const poller = await this.beginRuleIdExecuteSingleSubscription( + ruleId, + options + ); + return poller.pollUntilDone(); + } + + /** + * Execute a security GovernanceRule on the given security connector. + * @param resourceGroupName The name of the resource group within the user's subscription. The name is + * case insensitive. + * @param securityConnectorName The security connector name. + * @param ruleId The security GovernanceRule key - unique key for the standard GovernanceRule + * @param options The options parameters. + */ + async beginRuleIdExecuteSingleSecurityConnector( + resourceGroupName: string, + securityConnectorName: string, + ruleId: string, + options?: GovernanceRulesRuleIdExecuteSingleSecurityConnectorOptionalParams + ): Promise< + PollerLike< + PollOperationState< + GovernanceRulesRuleIdExecuteSingleSecurityConnectorResponse + >, + GovernanceRulesRuleIdExecuteSingleSecurityConnectorResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { resourceGroupName, securityConnectorName, ruleId, options }, + ruleIdExecuteSingleSecurityConnectorOperationSpec + ); + const poller = new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + await poller.poll(); + return poller; + } + + /** + * Execute a security GovernanceRule on the given security connector. + * @param resourceGroupName The name of the resource group within the user's subscription. The name is + * case insensitive. + * @param securityConnectorName The security connector name. + * @param ruleId The security GovernanceRule key - unique key for the standard GovernanceRule + * @param options The options parameters. + */ + async beginRuleIdExecuteSingleSecurityConnectorAndWait( + resourceGroupName: string, + securityConnectorName: string, + ruleId: string, + options?: GovernanceRulesRuleIdExecuteSingleSecurityConnectorOptionalParams + ): Promise { + const poller = await this.beginRuleIdExecuteSingleSecurityConnector( + resourceGroupName, + securityConnectorName, + ruleId, + options + ); + return poller.pollUntilDone(); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/governanceRules/{ruleId}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.GovernanceRule + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion18], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.ruleId + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/governanceRules/{ruleId}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.GovernanceRule + }, + 201: { + bodyMapper: Mappers.GovernanceRule + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.governanceRule, + queryParameters: [Parameters.apiVersion18], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.ruleId + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/governanceRules/{ruleId}", + httpMethod: "DELETE", + responses: { 200: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion18], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.ruleId + ], + serializer +}; +const ruleIdExecuteSingleSubscriptionOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/governanceRules/{ruleId}/execute", + httpMethod: "POST", + responses: { + 200: { + headersMapper: + Mappers.GovernanceRulesRuleIdExecuteSingleSubscriptionHeaders + }, + 201: { + headersMapper: + Mappers.GovernanceRulesRuleIdExecuteSingleSubscriptionHeaders + }, + 202: { + headersMapper: + Mappers.GovernanceRulesRuleIdExecuteSingleSubscriptionHeaders + }, + 204: { + headersMapper: + Mappers.GovernanceRulesRuleIdExecuteSingleSubscriptionHeaders + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.executeGovernanceRuleParams, + queryParameters: [Parameters.apiVersion18], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.ruleId + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const ruleIdExecuteSingleSecurityConnectorOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors/{securityConnectorName}/providers/Microsoft.Security/governanceRules/{ruleId}/execute", + httpMethod: "POST", + responses: { + 200: { + headersMapper: + Mappers.GovernanceRulesRuleIdExecuteSingleSecurityConnectorHeaders + }, + 201: { + headersMapper: + Mappers.GovernanceRulesRuleIdExecuteSingleSecurityConnectorHeaders + }, + 202: { + headersMapper: + Mappers.GovernanceRulesRuleIdExecuteSingleSecurityConnectorHeaders + }, + 204: { + headersMapper: + Mappers.GovernanceRulesRuleIdExecuteSingleSecurityConnectorHeaders + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.executeGovernanceRuleParams, + queryParameters: [Parameters.apiVersion18], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.ruleId, + Parameters.securityConnectorName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; diff --git a/sdk/security/arm-security/src/operations/index.ts b/sdk/security/arm-security/src/operations/index.ts index 31c23d8c1c95..1435bfc9d6ce 100644 --- a/sdk/security/arm-security/src/operations/index.ts +++ b/sdk/security/arm-security/src/operations/index.ts @@ -55,3 +55,14 @@ export * from "./settings"; export * from "./ingestionSettings"; export * from "./softwareInventories"; export * from "./securityConnectors"; +export * from "./governanceRuleOperations"; +export * from "./governanceRules"; +export * from "./securityConnectorGovernanceRule"; +export * from "./securityConnectorGovernanceRules"; +export * from "./subscriptionGovernanceRulesExecuteStatus"; +export * from "./securityConnectorGovernanceRulesExecuteStatus"; +export * from "./governanceAssignments"; +export * from "./applications"; +export * from "./applicationOperations"; +export * from "./securityConnectorApplications"; +export * from "./securityConnectorApplication"; diff --git a/sdk/security/arm-security/src/operations/jitNetworkAccessPolicies.ts b/sdk/security/arm-security/src/operations/jitNetworkAccessPolicies.ts index 9a29e4f762cc..ce8746070583 100644 --- a/sdk/security/arm-security/src/operations/jitNetworkAccessPolicies.ts +++ b/sdk/security/arm-security/src/operations/jitNetworkAccessPolicies.ts @@ -525,7 +525,7 @@ const listOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [Parameters.$host, Parameters.subscriptionId], headerParameters: [Parameters.accept], serializer @@ -542,7 +542,7 @@ const listByRegionOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -563,7 +563,7 @@ const listByResourceGroupOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -584,7 +584,7 @@ const listByResourceGroupAndRegionOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -606,7 +606,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -630,7 +630,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.body2, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -653,7 +653,7 @@ const deleteOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -677,7 +677,7 @@ const initiateOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.body3, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -701,7 +701,7 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -721,7 +721,7 @@ const listByRegionNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -742,7 +742,7 @@ const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -763,7 +763,7 @@ const listByResourceGroupAndRegionNextOperationSpec: coreClient.OperationSpec = bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, diff --git a/sdk/security/arm-security/src/operations/pricings.ts b/sdk/security/arm-security/src/operations/pricings.ts index a89af1e257a5..9957b4ce9fdd 100644 --- a/sdk/security/arm-security/src/operations/pricings.ts +++ b/sdk/security/arm-security/src/operations/pricings.ts @@ -34,7 +34,7 @@ export class PricingsImpl implements Pricings { } /** - * Lists Security Center pricing configurations in the subscription. + * Lists Microsoft Defender for Cloud pricing configurations in the subscription. * @param options The options parameters. */ list(options?: PricingsListOptionalParams): Promise { @@ -42,7 +42,7 @@ export class PricingsImpl implements Pricings { } /** - * Gets a provided Security Center pricing configuration in the subscription. + * Gets a provided Microsoft Defender for Cloud pricing configuration in the subscription. * @param pricingName name of the pricing configuration * @param options The options parameters. */ @@ -57,7 +57,7 @@ export class PricingsImpl implements Pricings { } /** - * Updates a provided Security Center pricing configuration in the subscription. + * Updates a provided Microsoft Defender for Cloud pricing configuration in the subscription. * @param pricingName name of the pricing configuration * @param pricing Pricing object * @param options The options parameters. diff --git a/sdk/security/arm-security/src/operations/regulatoryComplianceAssessments.ts b/sdk/security/arm-security/src/operations/regulatoryComplianceAssessments.ts index 4d516c0ed43f..3f52d797da8e 100644 --- a/sdk/security/arm-security/src/operations/regulatoryComplianceAssessments.ts +++ b/sdk/security/arm-security/src/operations/regulatoryComplianceAssessments.ts @@ -191,7 +191,7 @@ const listOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.filter, Parameters.apiVersion8], + queryParameters: [Parameters.filter, Parameters.apiVersion9], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -213,7 +213,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion8], + queryParameters: [Parameters.apiVersion9], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -235,7 +235,7 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.filter, Parameters.apiVersion8], + queryParameters: [Parameters.filter, Parameters.apiVersion9], urlParameters: [ Parameters.$host, Parameters.subscriptionId, diff --git a/sdk/security/arm-security/src/operations/regulatoryComplianceControls.ts b/sdk/security/arm-security/src/operations/regulatoryComplianceControls.ts index 1f53e97a5fa8..30b576f33754 100644 --- a/sdk/security/arm-security/src/operations/regulatoryComplianceControls.ts +++ b/sdk/security/arm-security/src/operations/regulatoryComplianceControls.ts @@ -157,7 +157,7 @@ const listOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.filter, Parameters.apiVersion8], + queryParameters: [Parameters.filter, Parameters.apiVersion9], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -178,7 +178,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion8], + queryParameters: [Parameters.apiVersion9], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -199,7 +199,7 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.filter, Parameters.apiVersion8], + queryParameters: [Parameters.filter, Parameters.apiVersion9], urlParameters: [ Parameters.$host, Parameters.subscriptionId, diff --git a/sdk/security/arm-security/src/operations/regulatoryComplianceStandards.ts b/sdk/security/arm-security/src/operations/regulatoryComplianceStandards.ts index 2eddb2837dc4..f203900517df 100644 --- a/sdk/security/arm-security/src/operations/regulatoryComplianceStandards.ts +++ b/sdk/security/arm-security/src/operations/regulatoryComplianceStandards.ts @@ -133,7 +133,7 @@ const listOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.filter, Parameters.apiVersion8], + queryParameters: [Parameters.filter, Parameters.apiVersion9], urlParameters: [Parameters.$host, Parameters.subscriptionId], headerParameters: [Parameters.accept], serializer @@ -150,7 +150,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion8], + queryParameters: [Parameters.apiVersion9], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -170,7 +170,7 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.filter, Parameters.apiVersion8], + queryParameters: [Parameters.filter, Parameters.apiVersion9], urlParameters: [ Parameters.$host, Parameters.subscriptionId, diff --git a/sdk/security/arm-security/src/operations/secureScoreControlDefinitions.ts b/sdk/security/arm-security/src/operations/secureScoreControlDefinitions.ts index 343b8d5d4793..5fbc81bd45e1 100644 --- a/sdk/security/arm-security/src/operations/secureScoreControlDefinitions.ts +++ b/sdk/security/arm-security/src/operations/secureScoreControlDefinitions.ts @@ -191,7 +191,7 @@ const listOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [Parameters.$host], headerParameters: [Parameters.accept], serializer @@ -208,7 +208,7 @@ const listBySubscriptionOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [Parameters.$host, Parameters.subscriptionId], headerParameters: [Parameters.accept], serializer @@ -224,7 +224,7 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [Parameters.$host, Parameters.nextLink], headerParameters: [Parameters.accept], serializer @@ -240,7 +240,7 @@ const listBySubscriptionNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, diff --git a/sdk/security/arm-security/src/operations/secureScoreControls.ts b/sdk/security/arm-security/src/operations/secureScoreControls.ts index 30a76fa387e2..8643a57816da 100644 --- a/sdk/security/arm-security/src/operations/secureScoreControls.ts +++ b/sdk/security/arm-security/src/operations/secureScoreControls.ts @@ -207,7 +207,7 @@ const listBySecureScoreOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9, Parameters.expand1], + queryParameters: [Parameters.apiVersion10, Parameters.expand1], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -228,7 +228,7 @@ const listOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9, Parameters.expand1], + queryParameters: [Parameters.apiVersion10, Parameters.expand1], urlParameters: [Parameters.$host, Parameters.subscriptionId], headerParameters: [Parameters.accept], serializer @@ -244,7 +244,7 @@ const listBySecureScoreNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9, Parameters.expand1], + queryParameters: [Parameters.apiVersion10, Parameters.expand1], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -265,7 +265,7 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9, Parameters.expand1], + queryParameters: [Parameters.apiVersion10, Parameters.expand1], urlParameters: [ Parameters.$host, Parameters.subscriptionId, diff --git a/sdk/security/arm-security/src/operations/secureScores.ts b/sdk/security/arm-security/src/operations/secureScores.ts index bd34e4e27c61..0b84b95cde6f 100644 --- a/sdk/security/arm-security/src/operations/secureScores.ts +++ b/sdk/security/arm-security/src/operations/secureScores.ts @@ -36,7 +36,7 @@ export class SecureScoresImpl implements SecureScores { } /** - * List secure scores for all your Security Center initiatives within your current scope. + * List secure scores for all your Microsoft Defender for Cloud initiatives within your current scope. * @param options The options parameters. */ public list( @@ -78,7 +78,7 @@ export class SecureScoresImpl implements SecureScores { } /** - * List secure scores for all your Security Center initiatives within your current scope. + * List secure scores for all your Microsoft Defender for Cloud initiatives within your current scope. * @param options The options parameters. */ private _list( @@ -88,8 +88,8 @@ export class SecureScoresImpl implements SecureScores { } /** - * Get secure score for a specific Security Center initiative within your current scope. For the ASC - * Default initiative, use 'ascScore'. + * Get secure score for a specific Microsoft Defender for Cloud initiative within your current scope. + * For the ASC Default initiative, use 'ascScore'. * @param secureScoreName The initiative name. For the ASC Default initiative, use 'ascScore' as in the * sample request below. * @param options The options parameters. @@ -134,7 +134,7 @@ const listOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [Parameters.$host, Parameters.subscriptionId], headerParameters: [Parameters.accept], serializer @@ -151,7 +151,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -171,7 +171,7 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, diff --git a/sdk/security/arm-security/src/operations/securityConnectorApplication.ts b/sdk/security/arm-security/src/operations/securityConnectorApplication.ts new file mode 100644 index 000000000000..d409d1fa7bf5 --- /dev/null +++ b/sdk/security/arm-security/src/operations/securityConnectorApplication.ts @@ -0,0 +1,172 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { SecurityConnectorApplication } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SecurityCenter } from "../securityCenter"; +import { + SecurityConnectorApplicationGetOptionalParams, + SecurityConnectorApplicationGetResponse, + Application, + SecurityConnectorApplicationCreateOrUpdateOptionalParams, + SecurityConnectorApplicationCreateOrUpdateResponse, + SecurityConnectorApplicationDeleteOptionalParams +} from "../models"; + +/** Class containing SecurityConnectorApplication operations. */ +export class SecurityConnectorApplicationImpl + implements SecurityConnectorApplication { + private readonly client: SecurityCenter; + + /** + * Initialize a new instance of the class SecurityConnectorApplication class. + * @param client Reference to the service client + */ + constructor(client: SecurityCenter) { + this.client = client; + } + + /** + * Get a specific application for the requested scope by applicationId + * @param resourceGroupName The name of the resource group within the user's subscription. The name is + * case insensitive. + * @param securityConnectorName The security connector name. + * @param applicationId The security Application key - unique key for the standard application + * @param options The options parameters. + */ + get( + resourceGroupName: string, + securityConnectorName: string, + applicationId: string, + options?: SecurityConnectorApplicationGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, securityConnectorName, applicationId, options }, + getOperationSpec + ); + } + + /** + * Creates or update a security Application on the given security connector. + * @param resourceGroupName The name of the resource group within the user's subscription. The name is + * case insensitive. + * @param securityConnectorName The security connector name. + * @param applicationId The security Application key - unique key for the standard application + * @param application Application over a subscription scope + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + securityConnectorName: string, + applicationId: string, + application: Application, + options?: SecurityConnectorApplicationCreateOrUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + securityConnectorName, + applicationId, + application, + options + }, + createOrUpdateOperationSpec + ); + } + + /** + * Delete an Application over a given scope + * @param resourceGroupName The name of the resource group within the user's subscription. The name is + * case insensitive. + * @param securityConnectorName The security connector name. + * @param applicationId The security Application key - unique key for the standard application + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + securityConnectorName: string, + applicationId: string, + options?: SecurityConnectorApplicationDeleteOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, securityConnectorName, applicationId, options }, + deleteOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors/{securityConnectorName}/providers/Microsoft.Security/applications/{applicationId}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.Application + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion19], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.securityConnectorName, + Parameters.applicationId + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors/{securityConnectorName}/providers/Microsoft.Security/applications/{applicationId}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.Application + }, + 201: { + bodyMapper: Mappers.Application + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.application, + queryParameters: [Parameters.apiVersion19], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.securityConnectorName, + Parameters.applicationId + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors/{securityConnectorName}/providers/Microsoft.Security/applications/{applicationId}", + httpMethod: "DELETE", + responses: { 200: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion19], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.securityConnectorName, + Parameters.applicationId + ], + serializer +}; diff --git a/sdk/security/arm-security/src/operations/securityConnectorApplications.ts b/sdk/security/arm-security/src/operations/securityConnectorApplications.ts new file mode 100644 index 000000000000..7cb809b3b930 --- /dev/null +++ b/sdk/security/arm-security/src/operations/securityConnectorApplications.ts @@ -0,0 +1,193 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { SecurityConnectorApplications } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SecurityCenter } from "../securityCenter"; +import { + Application, + SecurityConnectorApplicationsListNextOptionalParams, + SecurityConnectorApplicationsListOptionalParams, + SecurityConnectorApplicationsListResponse, + SecurityConnectorApplicationsListNextResponse +} from "../models"; + +/// +/** Class containing SecurityConnectorApplications operations. */ +export class SecurityConnectorApplicationsImpl + implements SecurityConnectorApplications { + private readonly client: SecurityCenter; + + /** + * Initialize a new instance of the class SecurityConnectorApplications class. + * @param client Reference to the service client + */ + constructor(client: SecurityCenter) { + this.client = client; + } + + /** + * Get a list of all relevant applications over a security connector level scope + * @param resourceGroupName The name of the resource group within the user's subscription. The name is + * case insensitive. + * @param securityConnectorName The security connector name. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + securityConnectorName: string, + options?: SecurityConnectorApplicationsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll( + resourceGroupName, + securityConnectorName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage( + resourceGroupName, + securityConnectorName, + options + ); + } + }; + } + + private async *listPagingPage( + resourceGroupName: string, + securityConnectorName: string, + options?: SecurityConnectorApplicationsListOptionalParams + ): AsyncIterableIterator { + let result = await this._list( + resourceGroupName, + securityConnectorName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + securityConnectorName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + resourceGroupName: string, + securityConnectorName: string, + options?: SecurityConnectorApplicationsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + securityConnectorName, + options + )) { + yield* page; + } + } + + /** + * Get a list of all relevant applications over a security connector level scope + * @param resourceGroupName The name of the resource group within the user's subscription. The name is + * case insensitive. + * @param securityConnectorName The security connector name. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + securityConnectorName: string, + options?: SecurityConnectorApplicationsListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, securityConnectorName, options }, + listOperationSpec + ); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group within the user's subscription. The name is + * case insensitive. + * @param securityConnectorName The security connector name. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + securityConnectorName: string, + nextLink: string, + options?: SecurityConnectorApplicationsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, securityConnectorName, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors/{securityConnectorName}/providers/Microsoft.Security/applications", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ApplicationsList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion19], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.securityConnectorName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ApplicationsList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion19], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.securityConnectorName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/security/arm-security/src/operations/securityConnectorGovernanceRule.ts b/sdk/security/arm-security/src/operations/securityConnectorGovernanceRule.ts new file mode 100644 index 000000000000..1e2993e8a11d --- /dev/null +++ b/sdk/security/arm-security/src/operations/securityConnectorGovernanceRule.ts @@ -0,0 +1,193 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { SecurityConnectorGovernanceRule } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SecurityCenter } from "../securityCenter"; +import { + GovernanceRule, + SecurityConnectorGovernanceRuleListNextOptionalParams, + SecurityConnectorGovernanceRuleListOptionalParams, + SecurityConnectorGovernanceRuleListResponse, + SecurityConnectorGovernanceRuleListNextResponse +} from "../models"; + +/// +/** Class containing SecurityConnectorGovernanceRule operations. */ +export class SecurityConnectorGovernanceRuleImpl + implements SecurityConnectorGovernanceRule { + private readonly client: SecurityCenter; + + /** + * Initialize a new instance of the class SecurityConnectorGovernanceRule class. + * @param client Reference to the service client + */ + constructor(client: SecurityCenter) { + this.client = client; + } + + /** + * Get a list of all relevant governanceRules over a security connector level scope + * @param resourceGroupName The name of the resource group within the user's subscription. The name is + * case insensitive. + * @param securityConnectorName The security connector name. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + securityConnectorName: string, + options?: SecurityConnectorGovernanceRuleListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll( + resourceGroupName, + securityConnectorName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage( + resourceGroupName, + securityConnectorName, + options + ); + } + }; + } + + private async *listPagingPage( + resourceGroupName: string, + securityConnectorName: string, + options?: SecurityConnectorGovernanceRuleListOptionalParams + ): AsyncIterableIterator { + let result = await this._list( + resourceGroupName, + securityConnectorName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + securityConnectorName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + resourceGroupName: string, + securityConnectorName: string, + options?: SecurityConnectorGovernanceRuleListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + securityConnectorName, + options + )) { + yield* page; + } + } + + /** + * Get a list of all relevant governanceRules over a security connector level scope + * @param resourceGroupName The name of the resource group within the user's subscription. The name is + * case insensitive. + * @param securityConnectorName The security connector name. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + securityConnectorName: string, + options?: SecurityConnectorGovernanceRuleListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, securityConnectorName, options }, + listOperationSpec + ); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group within the user's subscription. The name is + * case insensitive. + * @param securityConnectorName The security connector name. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + securityConnectorName: string, + nextLink: string, + options?: SecurityConnectorGovernanceRuleListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, securityConnectorName, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors/{securityConnectorName}/providers/Microsoft.Security/governanceRules", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.GovernanceRuleList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion18], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.securityConnectorName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.GovernanceRuleList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion18], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.securityConnectorName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/security/arm-security/src/operations/securityConnectorGovernanceRules.ts b/sdk/security/arm-security/src/operations/securityConnectorGovernanceRules.ts new file mode 100644 index 000000000000..7496358d926b --- /dev/null +++ b/sdk/security/arm-security/src/operations/securityConnectorGovernanceRules.ts @@ -0,0 +1,172 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { SecurityConnectorGovernanceRules } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SecurityCenter } from "../securityCenter"; +import { + SecurityConnectorGovernanceRulesGetOptionalParams, + SecurityConnectorGovernanceRulesGetResponse, + GovernanceRule, + SecurityConnectorGovernanceRulesCreateOrUpdateOptionalParams, + SecurityConnectorGovernanceRulesCreateOrUpdateResponse, + SecurityConnectorGovernanceRulesDeleteOptionalParams +} from "../models"; + +/** Class containing SecurityConnectorGovernanceRules operations. */ +export class SecurityConnectorGovernanceRulesImpl + implements SecurityConnectorGovernanceRules { + private readonly client: SecurityCenter; + + /** + * Initialize a new instance of the class SecurityConnectorGovernanceRules class. + * @param client Reference to the service client + */ + constructor(client: SecurityCenter) { + this.client = client; + } + + /** + * Get a specific governanceRule for the requested scope by ruleId + * @param resourceGroupName The name of the resource group within the user's subscription. The name is + * case insensitive. + * @param securityConnectorName The security connector name. + * @param ruleId The security GovernanceRule key - unique key for the standard GovernanceRule + * @param options The options parameters. + */ + get( + resourceGroupName: string, + securityConnectorName: string, + ruleId: string, + options?: SecurityConnectorGovernanceRulesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, securityConnectorName, ruleId, options }, + getOperationSpec + ); + } + + /** + * Creates or update a security GovernanceRule on the given security connector. + * @param resourceGroupName The name of the resource group within the user's subscription. The name is + * case insensitive. + * @param securityConnectorName The security connector name. + * @param ruleId The security GovernanceRule key - unique key for the standard GovernanceRule + * @param governanceRule GovernanceRule over a subscription scope + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + securityConnectorName: string, + ruleId: string, + governanceRule: GovernanceRule, + options?: SecurityConnectorGovernanceRulesCreateOrUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + securityConnectorName, + ruleId, + governanceRule, + options + }, + createOrUpdateOperationSpec + ); + } + + /** + * Delete a GovernanceRule over a given scope + * @param resourceGroupName The name of the resource group within the user's subscription. The name is + * case insensitive. + * @param securityConnectorName The security connector name. + * @param ruleId The security GovernanceRule key - unique key for the standard GovernanceRule + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + securityConnectorName: string, + ruleId: string, + options?: SecurityConnectorGovernanceRulesDeleteOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, securityConnectorName, ruleId, options }, + deleteOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors/{securityConnectorName}/providers/Microsoft.Security/governanceRules/{ruleId}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.GovernanceRule + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion18], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.ruleId, + Parameters.securityConnectorName + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors/{securityConnectorName}/providers/Microsoft.Security/governanceRules/{ruleId}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.GovernanceRule + }, + 201: { + bodyMapper: Mappers.GovernanceRule + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.governanceRule, + queryParameters: [Parameters.apiVersion18], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.ruleId, + Parameters.securityConnectorName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors/{securityConnectorName}/providers/Microsoft.Security/governanceRules/{ruleId}", + httpMethod: "DELETE", + responses: { 200: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion18], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.ruleId, + Parameters.securityConnectorName + ], + serializer +}; diff --git a/sdk/security/arm-security/src/operations/securityConnectorGovernanceRulesExecuteStatus.ts b/sdk/security/arm-security/src/operations/securityConnectorGovernanceRulesExecuteStatus.ts new file mode 100644 index 000000000000..07be6bd51c7d --- /dev/null +++ b/sdk/security/arm-security/src/operations/securityConnectorGovernanceRulesExecuteStatus.ts @@ -0,0 +1,178 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { SecurityConnectorGovernanceRulesExecuteStatus } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SecurityCenter } from "../securityCenter"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + SecurityConnectorGovernanceRulesExecuteStatusGetOptionalParams, + SecurityConnectorGovernanceRulesExecuteStatusGetResponse +} from "../models"; + +/** Class containing SecurityConnectorGovernanceRulesExecuteStatus operations. */ +export class SecurityConnectorGovernanceRulesExecuteStatusImpl + implements SecurityConnectorGovernanceRulesExecuteStatus { + private readonly client: SecurityCenter; + + /** + * Initialize a new instance of the class SecurityConnectorGovernanceRulesExecuteStatus class. + * @param client Reference to the service client + */ + constructor(client: SecurityCenter) { + this.client = client; + } + + /** + * Get a specific governanceRule execution status for the requested scope by ruleId and operationId + * @param resourceGroupName The name of the resource group within the user's subscription. The name is + * case insensitive. + * @param securityConnectorName The security connector name. + * @param ruleId The security GovernanceRule key - unique key for the standard GovernanceRule + * @param operationId The security GovernanceRule execution key - unique key for the execution of + * GovernanceRule + * @param options The options parameters. + */ + async beginGet( + resourceGroupName: string, + securityConnectorName: string, + ruleId: string, + operationId: string, + options?: SecurityConnectorGovernanceRulesExecuteStatusGetOptionalParams + ): Promise< + PollerLike< + PollOperationState< + SecurityConnectorGovernanceRulesExecuteStatusGetResponse + >, + SecurityConnectorGovernanceRulesExecuteStatusGetResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { + resourceGroupName, + securityConnectorName, + ruleId, + operationId, + options + }, + getOperationSpec + ); + const poller = new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + await poller.poll(); + return poller; + } + + /** + * Get a specific governanceRule execution status for the requested scope by ruleId and operationId + * @param resourceGroupName The name of the resource group within the user's subscription. The name is + * case insensitive. + * @param securityConnectorName The security connector name. + * @param ruleId The security GovernanceRule key - unique key for the standard GovernanceRule + * @param operationId The security GovernanceRule execution key - unique key for the execution of + * GovernanceRule + * @param options The options parameters. + */ + async beginGetAndWait( + resourceGroupName: string, + securityConnectorName: string, + ruleId: string, + operationId: string, + options?: SecurityConnectorGovernanceRulesExecuteStatusGetOptionalParams + ): Promise { + const poller = await this.beginGet( + resourceGroupName, + securityConnectorName, + ruleId, + operationId, + options + ); + return poller.pollUntilDone(); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors/{securityConnectorName}/providers/Microsoft.Security/governanceRules/{ruleId}/operationResults/{operationId}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ExecuteRuleStatus + }, + 201: { + bodyMapper: Mappers.ExecuteRuleStatus + }, + 202: { + bodyMapper: Mappers.ExecuteRuleStatus + }, + 204: { + bodyMapper: Mappers.ExecuteRuleStatus + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion18], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.ruleId, + Parameters.securityConnectorName, + Parameters.operationId + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/security/arm-security/src/operations/securityConnectors.ts b/sdk/security/arm-security/src/operations/securityConnectors.ts index 0f22159fc48a..07657b0301a6 100644 --- a/sdk/security/arm-security/src/operations/securityConnectors.ts +++ b/sdk/security/arm-security/src/operations/securityConnectors.ts @@ -295,7 +295,7 @@ const listOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion1], + queryParameters: [Parameters.apiVersion17], urlParameters: [Parameters.$host, Parameters.subscriptionId], headerParameters: [Parameters.accept], serializer @@ -312,7 +312,7 @@ const listByResourceGroupOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion1], + queryParameters: [Parameters.apiVersion17], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -333,7 +333,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion1], + queryParameters: [Parameters.apiVersion17], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -359,7 +359,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.securityConnector, - queryParameters: [Parameters.apiVersion1], + queryParameters: [Parameters.apiVersion17], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -383,7 +383,7 @@ const updateOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.securityConnector, - queryParameters: [Parameters.apiVersion1], + queryParameters: [Parameters.apiVersion17], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -405,7 +405,7 @@ const deleteOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion1], + queryParameters: [Parameters.apiVersion17], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -426,7 +426,7 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion1], + queryParameters: [Parameters.apiVersion17], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -446,7 +446,7 @@ const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion1], + queryParameters: [Parameters.apiVersion17], urlParameters: [ Parameters.$host, Parameters.subscriptionId, diff --git a/sdk/security/arm-security/src/operations/securityContacts.ts b/sdk/security/arm-security/src/operations/securityContacts.ts index d86d79cc7d12..346bd811cbe1 100644 --- a/sdk/security/arm-security/src/operations/securityContacts.ts +++ b/sdk/security/arm-security/src/operations/securityContacts.ts @@ -22,8 +22,6 @@ import { SecurityContactsCreateOptionalParams, SecurityContactsCreateResponse, SecurityContactsDeleteOptionalParams, - SecurityContactsUpdateOptionalParams, - SecurityContactsUpdateResponse, SecurityContactsListNextResponse } from "../models"; @@ -41,7 +39,7 @@ export class SecurityContactsImpl implements SecurityContacts { } /** - * Security contact configurations for the subscription + * List all security contact configurations for the subscription * @param options The options parameters. */ public list( @@ -83,7 +81,7 @@ export class SecurityContactsImpl implements SecurityContacts { } /** - * Security contact configurations for the subscription + * List all security contact configurations for the subscription * @param options The options parameters. */ private _list( @@ -93,7 +91,7 @@ export class SecurityContactsImpl implements SecurityContacts { } /** - * Security contact configurations for the subscription + * Get Default Security contact configurations for the subscription * @param securityContactName Name of the security contact object * @param options The options parameters. */ @@ -108,7 +106,7 @@ export class SecurityContactsImpl implements SecurityContacts { } /** - * Security contact configurations for the subscription + * Create security contact configurations for the subscription * @param securityContactName Name of the security contact object * @param securityContact Security contact object * @param options The options parameters. @@ -125,7 +123,7 @@ export class SecurityContactsImpl implements SecurityContacts { } /** - * Security contact configurations for the subscription + * Delete security contact configurations for the subscription * @param securityContactName Name of the security contact object * @param options The options parameters. */ @@ -139,23 +137,6 @@ export class SecurityContactsImpl implements SecurityContacts { ); } - /** - * Security contact configurations for the subscription - * @param securityContactName Name of the security contact object - * @param securityContact Security contact object - * @param options The options parameters. - */ - update( - securityContactName: string, - securityContact: SecurityContact, - options?: SecurityContactsUpdateOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { securityContactName, securityContact, options }, - updateOperationSpec - ); - } - /** * ListNext * @param nextLink The nextLink from the previous successful call to the List method. @@ -186,7 +167,7 @@ const listOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion7], + queryParameters: [Parameters.apiVersion8], urlParameters: [Parameters.$host, Parameters.subscriptionId], headerParameters: [Parameters.accept], serializer @@ -203,7 +184,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion7], + queryParameters: [Parameters.apiVersion8], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -220,12 +201,15 @@ const createOperationSpec: coreClient.OperationSpec = { 200: { bodyMapper: Mappers.SecurityContact }, + 201: { + bodyMapper: Mappers.SecurityContact + }, default: { bodyMapper: Mappers.CloudError } }, requestBody: Parameters.securityContact, - queryParameters: [Parameters.apiVersion7], + queryParameters: [Parameters.apiVersion8], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -240,12 +224,13 @@ const deleteOperationSpec: coreClient.OperationSpec = { "/subscriptions/{subscriptionId}/providers/Microsoft.Security/securityContacts/{securityContactName}", httpMethod: "DELETE", responses: { + 200: {}, 204: {}, default: { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion7], + queryParameters: [Parameters.apiVersion8], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -254,29 +239,6 @@ const deleteOperationSpec: coreClient.OperationSpec = { headerParameters: [Parameters.accept], serializer }; -const updateOperationSpec: coreClient.OperationSpec = { - path: - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/securityContacts/{securityContactName}", - httpMethod: "PATCH", - responses: { - 200: { - bodyMapper: Mappers.SecurityContact - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - requestBody: Parameters.securityContact, - queryParameters: [Parameters.apiVersion7], - urlParameters: [ - Parameters.$host, - Parameters.subscriptionId, - Parameters.securityContactName - ], - headerParameters: [Parameters.accept, Parameters.contentType], - mediaType: "json", - serializer -}; const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", httpMethod: "GET", @@ -288,7 +250,7 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion7], + queryParameters: [Parameters.apiVersion8], urlParameters: [ Parameters.$host, Parameters.subscriptionId, diff --git a/sdk/security/arm-security/src/operations/securitySolutions.ts b/sdk/security/arm-security/src/operations/securitySolutions.ts index d9a9748cccf6..1f6af5d837f1 100644 --- a/sdk/security/arm-security/src/operations/securitySolutions.ts +++ b/sdk/security/arm-security/src/operations/securitySolutions.ts @@ -138,7 +138,7 @@ const listOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [Parameters.$host, Parameters.subscriptionId], headerParameters: [Parameters.accept], serializer @@ -155,7 +155,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -177,7 +177,7 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, diff --git a/sdk/security/arm-security/src/operations/securitySolutionsReferenceDataOperations.ts b/sdk/security/arm-security/src/operations/securitySolutionsReferenceDataOperations.ts index 13375c509ebd..aa9364ed059d 100644 --- a/sdk/security/arm-security/src/operations/securitySolutionsReferenceDataOperations.ts +++ b/sdk/security/arm-security/src/operations/securitySolutionsReferenceDataOperations.ts @@ -72,7 +72,7 @@ const listOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [Parameters.$host, Parameters.subscriptionId], headerParameters: [Parameters.accept], serializer @@ -89,7 +89,7 @@ const listByHomeRegionOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, diff --git a/sdk/security/arm-security/src/operations/serverVulnerabilityAssessmentOperations.ts b/sdk/security/arm-security/src/operations/serverVulnerabilityAssessmentOperations.ts index 9bc83898c5e3..8c2bdb01662c 100644 --- a/sdk/security/arm-security/src/operations/serverVulnerabilityAssessmentOperations.ts +++ b/sdk/security/arm-security/src/operations/serverVulnerabilityAssessmentOperations.ts @@ -237,7 +237,7 @@ const listByExtendedResourceOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -261,7 +261,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -286,7 +286,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -312,7 +312,7 @@ const deleteOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, diff --git a/sdk/security/arm-security/src/operations/settings.ts b/sdk/security/arm-security/src/operations/settings.ts index 710b095ffea5..05fac13160e0 100644 --- a/sdk/security/arm-security/src/operations/settings.ts +++ b/sdk/security/arm-security/src/operations/settings.ts @@ -39,7 +39,7 @@ export class SettingsImpl implements Settings { } /** - * Settings about different configurations in security center + * Settings about different configurations in Microsoft Defender for Cloud * @param options The options parameters. */ public list( @@ -81,7 +81,7 @@ export class SettingsImpl implements Settings { } /** - * Settings about different configurations in security center + * Settings about different configurations in Microsoft Defender for Cloud * @param options The options parameters. */ private _list( @@ -91,7 +91,7 @@ export class SettingsImpl implements Settings { } /** - * Settings of different configurations in security center + * Settings of different configurations in Microsoft Defender for Cloud * @param settingName The name of the setting * @param options The options parameters. */ @@ -106,7 +106,7 @@ export class SettingsImpl implements Settings { } /** - * updating settings about different configurations in security center + * updating settings about different configurations in Microsoft Defender for Cloud * @param settingName The name of the setting * @param setting Setting object * @param options The options parameters. diff --git a/sdk/security/arm-security/src/operations/subAssessments.ts b/sdk/security/arm-security/src/operations/subAssessments.ts index 45ccaaa8363d..859740916e55 100644 --- a/sdk/security/arm-security/src/operations/subAssessments.ts +++ b/sdk/security/arm-security/src/operations/subAssessments.ts @@ -259,7 +259,7 @@ const listAllOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion8], + queryParameters: [Parameters.apiVersion9], urlParameters: [Parameters.$host, Parameters.scope], headerParameters: [Parameters.accept], serializer @@ -276,7 +276,7 @@ const listOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion8], + queryParameters: [Parameters.apiVersion9], urlParameters: [ Parameters.$host, Parameters.scope, @@ -297,7 +297,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion8], + queryParameters: [Parameters.apiVersion9], urlParameters: [ Parameters.$host, Parameters.scope, @@ -318,7 +318,7 @@ const listAllNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion8], + queryParameters: [Parameters.apiVersion9], urlParameters: [Parameters.$host, Parameters.nextLink, Parameters.scope], headerParameters: [Parameters.accept], serializer @@ -334,7 +334,7 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion8], + queryParameters: [Parameters.apiVersion9], urlParameters: [ Parameters.$host, Parameters.nextLink, diff --git a/sdk/security/arm-security/src/operations/subscriptionGovernanceRulesExecuteStatus.ts b/sdk/security/arm-security/src/operations/subscriptionGovernanceRulesExecuteStatus.ts new file mode 100644 index 000000000000..5a7947e2a89d --- /dev/null +++ b/sdk/security/arm-security/src/operations/subscriptionGovernanceRulesExecuteStatus.ts @@ -0,0 +1,152 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { SubscriptionGovernanceRulesExecuteStatus } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SecurityCenter } from "../securityCenter"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + SubscriptionGovernanceRulesExecuteStatusGetOptionalParams, + SubscriptionGovernanceRulesExecuteStatusGetResponse +} from "../models"; + +/** Class containing SubscriptionGovernanceRulesExecuteStatus operations. */ +export class SubscriptionGovernanceRulesExecuteStatusImpl + implements SubscriptionGovernanceRulesExecuteStatus { + private readonly client: SecurityCenter; + + /** + * Initialize a new instance of the class SubscriptionGovernanceRulesExecuteStatus class. + * @param client Reference to the service client + */ + constructor(client: SecurityCenter) { + this.client = client; + } + + /** + * Get a specific governanceRule execution status for the requested scope by ruleId and operationId + * @param ruleId The security GovernanceRule key - unique key for the standard GovernanceRule + * @param operationId The security GovernanceRule execution key - unique key for the execution of + * GovernanceRule + * @param options The options parameters. + */ + async beginGet( + ruleId: string, + operationId: string, + options?: SubscriptionGovernanceRulesExecuteStatusGetOptionalParams + ): Promise< + PollerLike< + PollOperationState, + SubscriptionGovernanceRulesExecuteStatusGetResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { ruleId, operationId, options }, + getOperationSpec + ); + const poller = new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + await poller.poll(); + return poller; + } + + /** + * Get a specific governanceRule execution status for the requested scope by ruleId and operationId + * @param ruleId The security GovernanceRule key - unique key for the standard GovernanceRule + * @param operationId The security GovernanceRule execution key - unique key for the execution of + * GovernanceRule + * @param options The options parameters. + */ + async beginGetAndWait( + ruleId: string, + operationId: string, + options?: SubscriptionGovernanceRulesExecuteStatusGetOptionalParams + ): Promise { + const poller = await this.beginGet(ruleId, operationId, options); + return poller.pollUntilDone(); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/governanceRules/{ruleId}/operationResults/{operationId}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ExecuteRuleStatus + }, + 201: { + bodyMapper: Mappers.ExecuteRuleStatus + }, + 202: { + bodyMapper: Mappers.ExecuteRuleStatus + }, + 204: { + bodyMapper: Mappers.ExecuteRuleStatus + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion18], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.ruleId, + Parameters.operationId + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/security/arm-security/src/operations/topology.ts b/sdk/security/arm-security/src/operations/topology.ts index 7617d5f67b97..6b0608f41b5d 100644 --- a/sdk/security/arm-security/src/operations/topology.ts +++ b/sdk/security/arm-security/src/operations/topology.ts @@ -230,7 +230,7 @@ const listOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [Parameters.$host, Parameters.subscriptionId], headerParameters: [Parameters.accept], serializer @@ -247,7 +247,7 @@ const listByHomeRegionOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -268,7 +268,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -290,7 +290,7 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -310,7 +310,7 @@ const listByHomeRegionNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion9], + queryParameters: [Parameters.apiVersion10], urlParameters: [ Parameters.$host, Parameters.subscriptionId, diff --git a/sdk/security/arm-security/src/operationsInterfaces/alerts.ts b/sdk/security/arm-security/src/operationsInterfaces/alerts.ts index cc8917072409..47aa171ef6fb 100644 --- a/sdk/security/arm-security/src/operationsInterfaces/alerts.ts +++ b/sdk/security/arm-security/src/operationsInterfaces/alerts.ts @@ -7,6 +7,7 @@ */ import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; import { Alert, AlertsListOptionalParams, @@ -20,9 +21,11 @@ import { AlertsUpdateSubscriptionLevelStateToDismissOptionalParams, AlertsUpdateSubscriptionLevelStateToResolveOptionalParams, AlertsUpdateSubscriptionLevelStateToActivateOptionalParams, + AlertsUpdateSubscriptionLevelStateToInProgressOptionalParams, AlertsUpdateResourceGroupLevelStateToResolveOptionalParams, AlertsUpdateResourceGroupLevelStateToDismissOptionalParams, AlertsUpdateResourceGroupLevelStateToActivateOptionalParams, + AlertsUpdateResourceGroupLevelStateToInProgressOptionalParams, AlertSimulatorRequestBody, AlertsSimulateOptionalParams } from "../models"; @@ -83,17 +86,17 @@ export interface Alerts { ): Promise; /** * Get an alert that is associated a resource group or a resource in a resource group + * @param resourceGroupName The name of the resource group within the user's subscription. The name is + * case insensitive. * @param ascLocation The location where ASC stores the data of the subscription. can be retrieved from * Get locations * @param alertName Name of the alert object - * @param resourceGroupName The name of the resource group within the user's subscription. The name is - * case insensitive. * @param options The options parameters. */ getResourceGroupLevel( + resourceGroupName: string, ascLocation: string, alertName: string, - resourceGroupName: string, options?: AlertsGetResourceGroupLevelOptionalParams ): Promise; /** @@ -137,46 +140,85 @@ export interface Alerts { * @param ascLocation The location where ASC stores the data of the subscription. can be retrieved from * Get locations * @param alertName Name of the alert object + * @param options The options parameters. + */ + updateSubscriptionLevelStateToInProgress( + ascLocation: string, + alertName: string, + options?: AlertsUpdateSubscriptionLevelStateToInProgressOptionalParams + ): Promise; + /** + * Update the alert's state * @param resourceGroupName The name of the resource group within the user's subscription. The name is * case insensitive. + * @param ascLocation The location where ASC stores the data of the subscription. can be retrieved from + * Get locations + * @param alertName Name of the alert object * @param options The options parameters. */ updateResourceGroupLevelStateToResolve( + resourceGroupName: string, ascLocation: string, alertName: string, - resourceGroupName: string, options?: AlertsUpdateResourceGroupLevelStateToResolveOptionalParams ): Promise; /** * Update the alert's state + * @param resourceGroupName The name of the resource group within the user's subscription. The name is + * case insensitive. * @param ascLocation The location where ASC stores the data of the subscription. can be retrieved from * Get locations * @param alertName Name of the alert object - * @param resourceGroupName The name of the resource group within the user's subscription. The name is - * case insensitive. * @param options The options parameters. */ updateResourceGroupLevelStateToDismiss( + resourceGroupName: string, ascLocation: string, alertName: string, - resourceGroupName: string, options?: AlertsUpdateResourceGroupLevelStateToDismissOptionalParams ): Promise; /** * Update the alert's state + * @param resourceGroupName The name of the resource group within the user's subscription. The name is + * case insensitive. * @param ascLocation The location where ASC stores the data of the subscription. can be retrieved from * Get locations * @param alertName Name of the alert object - * @param resourceGroupName The name of the resource group within the user's subscription. The name is - * case insensitive. * @param options The options parameters. */ updateResourceGroupLevelStateToActivate( + resourceGroupName: string, ascLocation: string, alertName: string, - resourceGroupName: string, options?: AlertsUpdateResourceGroupLevelStateToActivateOptionalParams ): Promise; + /** + * Update the alert's state + * @param resourceGroupName The name of the resource group within the user's subscription. The name is + * case insensitive. + * @param ascLocation The location where ASC stores the data of the subscription. can be retrieved from + * Get locations + * @param alertName Name of the alert object + * @param options The options parameters. + */ + updateResourceGroupLevelStateToInProgress( + resourceGroupName: string, + ascLocation: string, + alertName: string, + options?: AlertsUpdateResourceGroupLevelStateToInProgressOptionalParams + ): Promise; + /** + * Simulate security alerts + * @param ascLocation The location where ASC stores the data of the subscription. can be retrieved from + * Get locations + * @param alertSimulatorRequestBody Alert Simulator Request Properties + * @param options The options parameters. + */ + beginSimulate( + ascLocation: string, + alertSimulatorRequestBody: AlertSimulatorRequestBody, + options?: AlertsSimulateOptionalParams + ): Promise, void>>; /** * Simulate security alerts * @param ascLocation The location where ASC stores the data of the subscription. can be retrieved from @@ -184,7 +226,7 @@ export interface Alerts { * @param alertSimulatorRequestBody Alert Simulator Request Properties * @param options The options parameters. */ - simulate( + beginSimulateAndWait( ascLocation: string, alertSimulatorRequestBody: AlertSimulatorRequestBody, options?: AlertsSimulateOptionalParams diff --git a/sdk/security/arm-security/src/operationsInterfaces/applicationOperations.ts b/sdk/security/arm-security/src/operationsInterfaces/applicationOperations.ts new file mode 100644 index 000000000000..6b0189486fbe --- /dev/null +++ b/sdk/security/arm-security/src/operationsInterfaces/applicationOperations.ts @@ -0,0 +1,49 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { + ApplicationGetOptionalParams, + ApplicationGetResponse, + Application, + ApplicationCreateOrUpdateOptionalParams, + ApplicationCreateOrUpdateResponse, + ApplicationDeleteOptionalParams +} from "../models"; + +/** Interface representing a ApplicationOperations. */ +export interface ApplicationOperations { + /** + * Get a specific application for the requested scope by applicationId + * @param applicationId The security Application key - unique key for the standard application + * @param options The options parameters. + */ + get( + applicationId: string, + options?: ApplicationGetOptionalParams + ): Promise; + /** + * Creates or update a security application on the given subscription. + * @param applicationId The security Application key - unique key for the standard application + * @param application Application over a subscription scope + * @param options The options parameters. + */ + createOrUpdate( + applicationId: string, + application: Application, + options?: ApplicationCreateOrUpdateOptionalParams + ): Promise; + /** + * Delete an Application over a given scope + * @param applicationId The security Application key - unique key for the standard application + * @param options The options parameters. + */ + delete( + applicationId: string, + options?: ApplicationDeleteOptionalParams + ): Promise; +} diff --git a/sdk/security/arm-security/src/operationsInterfaces/applications.ts b/sdk/security/arm-security/src/operationsInterfaces/applications.ts new file mode 100644 index 000000000000..93668c40f92c --- /dev/null +++ b/sdk/security/arm-security/src/operationsInterfaces/applications.ts @@ -0,0 +1,22 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Application, ApplicationsListOptionalParams } from "../models"; + +/// +/** Interface representing a Applications. */ +export interface Applications { + /** + * Get a list of all relevant applications over a subscription level scope + * @param options The options parameters. + */ + list( + options?: ApplicationsListOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/security/arm-security/src/operationsInterfaces/externalSecuritySolutions.ts b/sdk/security/arm-security/src/operationsInterfaces/externalSecuritySolutions.ts index eaa593f20500..862bd4d06e58 100644 --- a/sdk/security/arm-security/src/operationsInterfaces/externalSecuritySolutions.ts +++ b/sdk/security/arm-security/src/operationsInterfaces/externalSecuritySolutions.ts @@ -8,7 +8,7 @@ import { PagedAsyncIterableIterator } from "@azure/core-paging"; import { - ExternalSecuritySolutionUnion, + ExternalSecuritySolution, ExternalSecuritySolutionsListOptionalParams, ExternalSecuritySolutionsListByHomeRegionOptionalParams, ExternalSecuritySolutionsGetOptionalParams, @@ -24,7 +24,7 @@ export interface ExternalSecuritySolutions { */ list( options?: ExternalSecuritySolutionsListOptionalParams - ): PagedAsyncIterableIterator; + ): PagedAsyncIterableIterator; /** * Gets a list of external Security Solutions for the subscription and location. * @param ascLocation The location where ASC stores the data of the subscription. can be retrieved from @@ -34,7 +34,7 @@ export interface ExternalSecuritySolutions { listByHomeRegion( ascLocation: string, options?: ExternalSecuritySolutionsListByHomeRegionOptionalParams - ): PagedAsyncIterableIterator; + ): PagedAsyncIterableIterator; /** * Gets a specific external Security Solution. * @param resourceGroupName The name of the resource group within the user's subscription. The name is diff --git a/sdk/security/arm-security/src/operationsInterfaces/governanceAssignments.ts b/sdk/security/arm-security/src/operationsInterfaces/governanceAssignments.ts new file mode 100644 index 000000000000..367898165d13 --- /dev/null +++ b/sdk/security/arm-security/src/operationsInterfaces/governanceAssignments.ts @@ -0,0 +1,86 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + GovernanceAssignment, + GovernanceAssignmentsListOptionalParams, + GovernanceAssignmentsGetOptionalParams, + GovernanceAssignmentsGetResponse, + GovernanceAssignmentsCreateOrUpdateOptionalParams, + GovernanceAssignmentsCreateOrUpdateResponse, + GovernanceAssignmentsDeleteOptionalParams +} from "../models"; + +/// +/** Interface representing a GovernanceAssignments. */ +export interface GovernanceAssignments { + /** + * Get security governanceAssignments on all your resources inside a scope + * @param scope Scope of the query, can be subscription + * (/subscriptions/0b06d9ea-afe6-4779-bd59-30e5c2d9d13f) or management group + * (/providers/Microsoft.Management/managementGroups/mgName). + * @param assessmentName The Assessment Key - Unique key for the assessment type + * @param options The options parameters. + */ + list( + scope: string, + assessmentName: string, + options?: GovernanceAssignmentsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get a specific governanceAssignment for the requested scope by AssignmentKey + * @param scope Scope of the query, can be subscription + * (/subscriptions/0b06d9ea-afe6-4779-bd59-30e5c2d9d13f) or management group + * (/providers/Microsoft.Management/managementGroups/mgName). + * @param assessmentName The Assessment Key - Unique key for the assessment type + * @param assignmentKey The security governance assignment key - the assessment key of the required + * governance assignment + * @param options The options parameters. + */ + get( + scope: string, + assessmentName: string, + assignmentKey: string, + options?: GovernanceAssignmentsGetOptionalParams + ): Promise; + /** + * Creates or update a security GovernanceAssignment on the given subscription. + * @param scope Scope of the query, can be subscription + * (/subscriptions/0b06d9ea-afe6-4779-bd59-30e5c2d9d13f) or management group + * (/providers/Microsoft.Management/managementGroups/mgName). + * @param assessmentName The Assessment Key - Unique key for the assessment type + * @param assignmentKey The security governance assignment key - the assessment key of the required + * governance assignment + * @param governanceAssignment GovernanceAssignment over a subscription scope + * @param options The options parameters. + */ + createOrUpdate( + scope: string, + assessmentName: string, + assignmentKey: string, + governanceAssignment: GovernanceAssignment, + options?: GovernanceAssignmentsCreateOrUpdateOptionalParams + ): Promise; + /** + * Delete a GovernanceAssignment over a given scope + * @param scope Scope of the query, can be subscription + * (/subscriptions/0b06d9ea-afe6-4779-bd59-30e5c2d9d13f) or management group + * (/providers/Microsoft.Management/managementGroups/mgName). + * @param assessmentName The Assessment Key - Unique key for the assessment type + * @param assignmentKey The security governance assignment key - the assessment key of the required + * governance assignment + * @param options The options parameters. + */ + delete( + scope: string, + assessmentName: string, + assignmentKey: string, + options?: GovernanceAssignmentsDeleteOptionalParams + ): Promise; +} diff --git a/sdk/security/arm-security/src/operationsInterfaces/governanceRuleOperations.ts b/sdk/security/arm-security/src/operationsInterfaces/governanceRuleOperations.ts new file mode 100644 index 000000000000..db471f8f1802 --- /dev/null +++ b/sdk/security/arm-security/src/operationsInterfaces/governanceRuleOperations.ts @@ -0,0 +1,22 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { GovernanceRule, GovernanceRuleListOptionalParams } from "../models"; + +/// +/** Interface representing a GovernanceRuleOperations. */ +export interface GovernanceRuleOperations { + /** + * Get a list of all relevant governanceRules over a subscription level scope + * @param options The options parameters. + */ + list( + options?: GovernanceRuleListOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/security/arm-security/src/operationsInterfaces/governanceRules.ts b/sdk/security/arm-security/src/operationsInterfaces/governanceRules.ts new file mode 100644 index 000000000000..c34e6f9ee9ff --- /dev/null +++ b/sdk/security/arm-security/src/operationsInterfaces/governanceRules.ts @@ -0,0 +1,114 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + GovernanceRulesGetOptionalParams, + GovernanceRulesGetResponse, + GovernanceRule, + GovernanceRulesCreateOrUpdateOptionalParams, + GovernanceRulesCreateOrUpdateResponse, + GovernanceRulesDeleteOptionalParams, + GovernanceRulesRuleIdExecuteSingleSubscriptionOptionalParams, + GovernanceRulesRuleIdExecuteSingleSubscriptionResponse, + GovernanceRulesRuleIdExecuteSingleSecurityConnectorOptionalParams, + GovernanceRulesRuleIdExecuteSingleSecurityConnectorResponse +} from "../models"; + +/** Interface representing a GovernanceRules. */ +export interface GovernanceRules { + /** + * Get a specific governanceRule for the requested scope by ruleId + * @param ruleId The security GovernanceRule key - unique key for the standard GovernanceRule + * @param options The options parameters. + */ + get( + ruleId: string, + options?: GovernanceRulesGetOptionalParams + ): Promise; + /** + * Creates or update a security GovernanceRule on the given subscription. + * @param ruleId The security GovernanceRule key - unique key for the standard GovernanceRule + * @param governanceRule GovernanceRule over a subscription scope + * @param options The options parameters. + */ + createOrUpdate( + ruleId: string, + governanceRule: GovernanceRule, + options?: GovernanceRulesCreateOrUpdateOptionalParams + ): Promise; + /** + * Delete a GovernanceRule over a given scope + * @param ruleId The security GovernanceRule key - unique key for the standard GovernanceRule + * @param options The options parameters. + */ + delete( + ruleId: string, + options?: GovernanceRulesDeleteOptionalParams + ): Promise; + /** + * Execute a security GovernanceRule on the given subscription. + * @param ruleId The security GovernanceRule key - unique key for the standard GovernanceRule + * @param options The options parameters. + */ + beginRuleIdExecuteSingleSubscription( + ruleId: string, + options?: GovernanceRulesRuleIdExecuteSingleSubscriptionOptionalParams + ): Promise< + PollerLike< + PollOperationState< + GovernanceRulesRuleIdExecuteSingleSubscriptionResponse + >, + GovernanceRulesRuleIdExecuteSingleSubscriptionResponse + > + >; + /** + * Execute a security GovernanceRule on the given subscription. + * @param ruleId The security GovernanceRule key - unique key for the standard GovernanceRule + * @param options The options parameters. + */ + beginRuleIdExecuteSingleSubscriptionAndWait( + ruleId: string, + options?: GovernanceRulesRuleIdExecuteSingleSubscriptionOptionalParams + ): Promise; + /** + * Execute a security GovernanceRule on the given security connector. + * @param resourceGroupName The name of the resource group within the user's subscription. The name is + * case insensitive. + * @param securityConnectorName The security connector name. + * @param ruleId The security GovernanceRule key - unique key for the standard GovernanceRule + * @param options The options parameters. + */ + beginRuleIdExecuteSingleSecurityConnector( + resourceGroupName: string, + securityConnectorName: string, + ruleId: string, + options?: GovernanceRulesRuleIdExecuteSingleSecurityConnectorOptionalParams + ): Promise< + PollerLike< + PollOperationState< + GovernanceRulesRuleIdExecuteSingleSecurityConnectorResponse + >, + GovernanceRulesRuleIdExecuteSingleSecurityConnectorResponse + > + >; + /** + * Execute a security GovernanceRule on the given security connector. + * @param resourceGroupName The name of the resource group within the user's subscription. The name is + * case insensitive. + * @param securityConnectorName The security connector name. + * @param ruleId The security GovernanceRule key - unique key for the standard GovernanceRule + * @param options The options parameters. + */ + beginRuleIdExecuteSingleSecurityConnectorAndWait( + resourceGroupName: string, + securityConnectorName: string, + ruleId: string, + options?: GovernanceRulesRuleIdExecuteSingleSecurityConnectorOptionalParams + ): Promise; +} diff --git a/sdk/security/arm-security/src/operationsInterfaces/index.ts b/sdk/security/arm-security/src/operationsInterfaces/index.ts index 31c23d8c1c95..1435bfc9d6ce 100644 --- a/sdk/security/arm-security/src/operationsInterfaces/index.ts +++ b/sdk/security/arm-security/src/operationsInterfaces/index.ts @@ -55,3 +55,14 @@ export * from "./settings"; export * from "./ingestionSettings"; export * from "./softwareInventories"; export * from "./securityConnectors"; +export * from "./governanceRuleOperations"; +export * from "./governanceRules"; +export * from "./securityConnectorGovernanceRule"; +export * from "./securityConnectorGovernanceRules"; +export * from "./subscriptionGovernanceRulesExecuteStatus"; +export * from "./securityConnectorGovernanceRulesExecuteStatus"; +export * from "./governanceAssignments"; +export * from "./applications"; +export * from "./applicationOperations"; +export * from "./securityConnectorApplications"; +export * from "./securityConnectorApplication"; diff --git a/sdk/security/arm-security/src/operationsInterfaces/pricings.ts b/sdk/security/arm-security/src/operationsInterfaces/pricings.ts index 913551099d5a..14dc0160e6ed 100644 --- a/sdk/security/arm-security/src/operationsInterfaces/pricings.ts +++ b/sdk/security/arm-security/src/operationsInterfaces/pricings.ts @@ -19,12 +19,12 @@ import { /** Interface representing a Pricings. */ export interface Pricings { /** - * Lists Security Center pricing configurations in the subscription. + * Lists Microsoft Defender for Cloud pricing configurations in the subscription. * @param options The options parameters. */ list(options?: PricingsListOptionalParams): Promise; /** - * Gets a provided Security Center pricing configuration in the subscription. + * Gets a provided Microsoft Defender for Cloud pricing configuration in the subscription. * @param pricingName name of the pricing configuration * @param options The options parameters. */ @@ -33,7 +33,7 @@ export interface Pricings { options?: PricingsGetOptionalParams ): Promise; /** - * Updates a provided Security Center pricing configuration in the subscription. + * Updates a provided Microsoft Defender for Cloud pricing configuration in the subscription. * @param pricingName name of the pricing configuration * @param pricing Pricing object * @param options The options parameters. diff --git a/sdk/security/arm-security/src/operationsInterfaces/secureScores.ts b/sdk/security/arm-security/src/operationsInterfaces/secureScores.ts index a7a0e56cfed2..316216383ab6 100644 --- a/sdk/security/arm-security/src/operationsInterfaces/secureScores.ts +++ b/sdk/security/arm-security/src/operationsInterfaces/secureScores.ts @@ -18,15 +18,15 @@ import { /** Interface representing a SecureScores. */ export interface SecureScores { /** - * List secure scores for all your Security Center initiatives within your current scope. + * List secure scores for all your Microsoft Defender for Cloud initiatives within your current scope. * @param options The options parameters. */ list( options?: SecureScoresListOptionalParams ): PagedAsyncIterableIterator; /** - * Get secure score for a specific Security Center initiative within your current scope. For the ASC - * Default initiative, use 'ascScore'. + * Get secure score for a specific Microsoft Defender for Cloud initiative within your current scope. + * For the ASC Default initiative, use 'ascScore'. * @param secureScoreName The initiative name. For the ASC Default initiative, use 'ascScore' as in the * sample request below. * @param options The options parameters. diff --git a/sdk/security/arm-security/src/operationsInterfaces/securityConnectorApplication.ts b/sdk/security/arm-security/src/operationsInterfaces/securityConnectorApplication.ts new file mode 100644 index 000000000000..8f690e9d8e8b --- /dev/null +++ b/sdk/security/arm-security/src/operationsInterfaces/securityConnectorApplication.ts @@ -0,0 +1,64 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { + SecurityConnectorApplicationGetOptionalParams, + SecurityConnectorApplicationGetResponse, + Application, + SecurityConnectorApplicationCreateOrUpdateOptionalParams, + SecurityConnectorApplicationCreateOrUpdateResponse, + SecurityConnectorApplicationDeleteOptionalParams +} from "../models"; + +/** Interface representing a SecurityConnectorApplication. */ +export interface SecurityConnectorApplication { + /** + * Get a specific application for the requested scope by applicationId + * @param resourceGroupName The name of the resource group within the user's subscription. The name is + * case insensitive. + * @param securityConnectorName The security connector name. + * @param applicationId The security Application key - unique key for the standard application + * @param options The options parameters. + */ + get( + resourceGroupName: string, + securityConnectorName: string, + applicationId: string, + options?: SecurityConnectorApplicationGetOptionalParams + ): Promise; + /** + * Creates or update a security Application on the given security connector. + * @param resourceGroupName The name of the resource group within the user's subscription. The name is + * case insensitive. + * @param securityConnectorName The security connector name. + * @param applicationId The security Application key - unique key for the standard application + * @param application Application over a subscription scope + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + securityConnectorName: string, + applicationId: string, + application: Application, + options?: SecurityConnectorApplicationCreateOrUpdateOptionalParams + ): Promise; + /** + * Delete an Application over a given scope + * @param resourceGroupName The name of the resource group within the user's subscription. The name is + * case insensitive. + * @param securityConnectorName The security connector name. + * @param applicationId The security Application key - unique key for the standard application + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + securityConnectorName: string, + applicationId: string, + options?: SecurityConnectorApplicationDeleteOptionalParams + ): Promise; +} diff --git a/sdk/security/arm-security/src/operationsInterfaces/securityConnectorApplications.ts b/sdk/security/arm-security/src/operationsInterfaces/securityConnectorApplications.ts new file mode 100644 index 000000000000..6ae46047cf6c --- /dev/null +++ b/sdk/security/arm-security/src/operationsInterfaces/securityConnectorApplications.ts @@ -0,0 +1,30 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + Application, + SecurityConnectorApplicationsListOptionalParams +} from "../models"; + +/// +/** Interface representing a SecurityConnectorApplications. */ +export interface SecurityConnectorApplications { + /** + * Get a list of all relevant applications over a security connector level scope + * @param resourceGroupName The name of the resource group within the user's subscription. The name is + * case insensitive. + * @param securityConnectorName The security connector name. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + securityConnectorName: string, + options?: SecurityConnectorApplicationsListOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/security/arm-security/src/operationsInterfaces/securityConnectorGovernanceRule.ts b/sdk/security/arm-security/src/operationsInterfaces/securityConnectorGovernanceRule.ts new file mode 100644 index 000000000000..3915eb144a6f --- /dev/null +++ b/sdk/security/arm-security/src/operationsInterfaces/securityConnectorGovernanceRule.ts @@ -0,0 +1,30 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + GovernanceRule, + SecurityConnectorGovernanceRuleListOptionalParams +} from "../models"; + +/// +/** Interface representing a SecurityConnectorGovernanceRule. */ +export interface SecurityConnectorGovernanceRule { + /** + * Get a list of all relevant governanceRules over a security connector level scope + * @param resourceGroupName The name of the resource group within the user's subscription. The name is + * case insensitive. + * @param securityConnectorName The security connector name. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + securityConnectorName: string, + options?: SecurityConnectorGovernanceRuleListOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/security/arm-security/src/operationsInterfaces/securityConnectorGovernanceRules.ts b/sdk/security/arm-security/src/operationsInterfaces/securityConnectorGovernanceRules.ts new file mode 100644 index 000000000000..3a13eefc1357 --- /dev/null +++ b/sdk/security/arm-security/src/operationsInterfaces/securityConnectorGovernanceRules.ts @@ -0,0 +1,64 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { + SecurityConnectorGovernanceRulesGetOptionalParams, + SecurityConnectorGovernanceRulesGetResponse, + GovernanceRule, + SecurityConnectorGovernanceRulesCreateOrUpdateOptionalParams, + SecurityConnectorGovernanceRulesCreateOrUpdateResponse, + SecurityConnectorGovernanceRulesDeleteOptionalParams +} from "../models"; + +/** Interface representing a SecurityConnectorGovernanceRules. */ +export interface SecurityConnectorGovernanceRules { + /** + * Get a specific governanceRule for the requested scope by ruleId + * @param resourceGroupName The name of the resource group within the user's subscription. The name is + * case insensitive. + * @param securityConnectorName The security connector name. + * @param ruleId The security GovernanceRule key - unique key for the standard GovernanceRule + * @param options The options parameters. + */ + get( + resourceGroupName: string, + securityConnectorName: string, + ruleId: string, + options?: SecurityConnectorGovernanceRulesGetOptionalParams + ): Promise; + /** + * Creates or update a security GovernanceRule on the given security connector. + * @param resourceGroupName The name of the resource group within the user's subscription. The name is + * case insensitive. + * @param securityConnectorName The security connector name. + * @param ruleId The security GovernanceRule key - unique key for the standard GovernanceRule + * @param governanceRule GovernanceRule over a subscription scope + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + securityConnectorName: string, + ruleId: string, + governanceRule: GovernanceRule, + options?: SecurityConnectorGovernanceRulesCreateOrUpdateOptionalParams + ): Promise; + /** + * Delete a GovernanceRule over a given scope + * @param resourceGroupName The name of the resource group within the user's subscription. The name is + * case insensitive. + * @param securityConnectorName The security connector name. + * @param ruleId The security GovernanceRule key - unique key for the standard GovernanceRule + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + securityConnectorName: string, + ruleId: string, + options?: SecurityConnectorGovernanceRulesDeleteOptionalParams + ): Promise; +} diff --git a/sdk/security/arm-security/src/operationsInterfaces/securityConnectorGovernanceRulesExecuteStatus.ts b/sdk/security/arm-security/src/operationsInterfaces/securityConnectorGovernanceRulesExecuteStatus.ts new file mode 100644 index 000000000000..8620f1d2b067 --- /dev/null +++ b/sdk/security/arm-security/src/operationsInterfaces/securityConnectorGovernanceRulesExecuteStatus.ts @@ -0,0 +1,58 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + SecurityConnectorGovernanceRulesExecuteStatusGetOptionalParams, + SecurityConnectorGovernanceRulesExecuteStatusGetResponse +} from "../models"; + +/** Interface representing a SecurityConnectorGovernanceRulesExecuteStatus. */ +export interface SecurityConnectorGovernanceRulesExecuteStatus { + /** + * Get a specific governanceRule execution status for the requested scope by ruleId and operationId + * @param resourceGroupName The name of the resource group within the user's subscription. The name is + * case insensitive. + * @param securityConnectorName The security connector name. + * @param ruleId The security GovernanceRule key - unique key for the standard GovernanceRule + * @param operationId The security GovernanceRule execution key - unique key for the execution of + * GovernanceRule + * @param options The options parameters. + */ + beginGet( + resourceGroupName: string, + securityConnectorName: string, + ruleId: string, + operationId: string, + options?: SecurityConnectorGovernanceRulesExecuteStatusGetOptionalParams + ): Promise< + PollerLike< + PollOperationState< + SecurityConnectorGovernanceRulesExecuteStatusGetResponse + >, + SecurityConnectorGovernanceRulesExecuteStatusGetResponse + > + >; + /** + * Get a specific governanceRule execution status for the requested scope by ruleId and operationId + * @param resourceGroupName The name of the resource group within the user's subscription. The name is + * case insensitive. + * @param securityConnectorName The security connector name. + * @param ruleId The security GovernanceRule key - unique key for the standard GovernanceRule + * @param operationId The security GovernanceRule execution key - unique key for the execution of + * GovernanceRule + * @param options The options parameters. + */ + beginGetAndWait( + resourceGroupName: string, + securityConnectorName: string, + ruleId: string, + operationId: string, + options?: SecurityConnectorGovernanceRulesExecuteStatusGetOptionalParams + ): Promise; +} diff --git a/sdk/security/arm-security/src/operationsInterfaces/securityContacts.ts b/sdk/security/arm-security/src/operationsInterfaces/securityContacts.ts index 8e470f5625d7..fe7c168cd4a6 100644 --- a/sdk/security/arm-security/src/operationsInterfaces/securityContacts.ts +++ b/sdk/security/arm-security/src/operationsInterfaces/securityContacts.ts @@ -14,23 +14,21 @@ import { SecurityContactsGetResponse, SecurityContactsCreateOptionalParams, SecurityContactsCreateResponse, - SecurityContactsDeleteOptionalParams, - SecurityContactsUpdateOptionalParams, - SecurityContactsUpdateResponse + SecurityContactsDeleteOptionalParams } from "../models"; /// /** Interface representing a SecurityContacts. */ export interface SecurityContacts { /** - * Security contact configurations for the subscription + * List all security contact configurations for the subscription * @param options The options parameters. */ list( options?: SecurityContactsListOptionalParams ): PagedAsyncIterableIterator; /** - * Security contact configurations for the subscription + * Get Default Security contact configurations for the subscription * @param securityContactName Name of the security contact object * @param options The options parameters. */ @@ -39,7 +37,7 @@ export interface SecurityContacts { options?: SecurityContactsGetOptionalParams ): Promise; /** - * Security contact configurations for the subscription + * Create security contact configurations for the subscription * @param securityContactName Name of the security contact object * @param securityContact Security contact object * @param options The options parameters. @@ -50,7 +48,7 @@ export interface SecurityContacts { options?: SecurityContactsCreateOptionalParams ): Promise; /** - * Security contact configurations for the subscription + * Delete security contact configurations for the subscription * @param securityContactName Name of the security contact object * @param options The options parameters. */ @@ -58,15 +56,4 @@ export interface SecurityContacts { securityContactName: string, options?: SecurityContactsDeleteOptionalParams ): Promise; - /** - * Security contact configurations for the subscription - * @param securityContactName Name of the security contact object - * @param securityContact Security contact object - * @param options The options parameters. - */ - update( - securityContactName: string, - securityContact: SecurityContact, - options?: SecurityContactsUpdateOptionalParams - ): Promise; } diff --git a/sdk/security/arm-security/src/operationsInterfaces/settings.ts b/sdk/security/arm-security/src/operationsInterfaces/settings.ts index 28c3ca38bfce..2d2a5bbb1773 100644 --- a/sdk/security/arm-security/src/operationsInterfaces/settings.ts +++ b/sdk/security/arm-security/src/operationsInterfaces/settings.ts @@ -21,14 +21,14 @@ import { /** Interface representing a Settings. */ export interface Settings { /** - * Settings about different configurations in security center + * Settings about different configurations in Microsoft Defender for Cloud * @param options The options parameters. */ list( options?: SettingsListOptionalParams ): PagedAsyncIterableIterator; /** - * Settings of different configurations in security center + * Settings of different configurations in Microsoft Defender for Cloud * @param settingName The name of the setting * @param options The options parameters. */ @@ -37,7 +37,7 @@ export interface Settings { options?: SettingsGetOptionalParams ): Promise; /** - * updating settings about different configurations in security center + * updating settings about different configurations in Microsoft Defender for Cloud * @param settingName The name of the setting * @param setting Setting object * @param options The options parameters. diff --git a/sdk/security/arm-security/src/operationsInterfaces/subscriptionGovernanceRulesExecuteStatus.ts b/sdk/security/arm-security/src/operationsInterfaces/subscriptionGovernanceRulesExecuteStatus.ts new file mode 100644 index 000000000000..9dda1f5c5373 --- /dev/null +++ b/sdk/security/arm-security/src/operationsInterfaces/subscriptionGovernanceRulesExecuteStatus.ts @@ -0,0 +1,46 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + SubscriptionGovernanceRulesExecuteStatusGetOptionalParams, + SubscriptionGovernanceRulesExecuteStatusGetResponse +} from "../models"; + +/** Interface representing a SubscriptionGovernanceRulesExecuteStatus. */ +export interface SubscriptionGovernanceRulesExecuteStatus { + /** + * Get a specific governanceRule execution status for the requested scope by ruleId and operationId + * @param ruleId The security GovernanceRule key - unique key for the standard GovernanceRule + * @param operationId The security GovernanceRule execution key - unique key for the execution of + * GovernanceRule + * @param options The options parameters. + */ + beginGet( + ruleId: string, + operationId: string, + options?: SubscriptionGovernanceRulesExecuteStatusGetOptionalParams + ): Promise< + PollerLike< + PollOperationState, + SubscriptionGovernanceRulesExecuteStatusGetResponse + > + >; + /** + * Get a specific governanceRule execution status for the requested scope by ruleId and operationId + * @param ruleId The security GovernanceRule key - unique key for the standard GovernanceRule + * @param operationId The security GovernanceRule execution key - unique key for the execution of + * GovernanceRule + * @param options The options parameters. + */ + beginGetAndWait( + ruleId: string, + operationId: string, + options?: SubscriptionGovernanceRulesExecuteStatusGetOptionalParams + ): Promise; +} diff --git a/sdk/security/arm-security/src/securityCenter.ts b/sdk/security/arm-security/src/securityCenter.ts index 3967c4a6e986..d27d097e5e31 100644 --- a/sdk/security/arm-security/src/securityCenter.ts +++ b/sdk/security/arm-security/src/securityCenter.ts @@ -7,6 +7,7 @@ */ import * as coreClient from "@azure/core-client"; +import * as coreRestPipeline from "@azure/core-rest-pipeline"; import * as coreAuth from "@azure/core-auth"; import { MdeOnboardingsImpl, @@ -57,7 +58,18 @@ import { SettingsImpl, IngestionSettingsImpl, SoftwareInventoriesImpl, - SecurityConnectorsImpl + SecurityConnectorsImpl, + GovernanceRuleOperationsImpl, + GovernanceRulesImpl, + SecurityConnectorGovernanceRuleImpl, + SecurityConnectorGovernanceRulesImpl, + SubscriptionGovernanceRulesExecuteStatusImpl, + SecurityConnectorGovernanceRulesExecuteStatusImpl, + GovernanceAssignmentsImpl, + ApplicationsImpl, + ApplicationOperationsImpl, + SecurityConnectorApplicationsImpl, + SecurityConnectorApplicationImpl } from "./operations"; import { MdeOnboardings, @@ -108,7 +120,18 @@ import { Settings, IngestionSettings, SoftwareInventories, - SecurityConnectors + SecurityConnectors, + GovernanceRuleOperations, + GovernanceRules, + SecurityConnectorGovernanceRule, + SecurityConnectorGovernanceRules, + SubscriptionGovernanceRulesExecuteStatus, + SecurityConnectorGovernanceRulesExecuteStatus, + GovernanceAssignments, + Applications, + ApplicationOperations, + SecurityConnectorApplications, + SecurityConnectorApplication } from "./operationsInterfaces"; import { SecurityCenterOptionalParams } from "./models"; @@ -143,7 +166,7 @@ export class SecurityCenter extends coreClient.ServiceClient { credential: credentials }; - const packageDetails = `azsdk-js-arm-security/5.0.1`; + const packageDetails = `azsdk-js-arm-security/6.0.0-beta.1`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` @@ -162,6 +185,29 @@ export class SecurityCenter extends coreClient.ServiceClient { options.endpoint ?? options.baseUri ?? "https://management.azure.com" }; super(optionsWithDefaults); + + if (options?.pipeline && options.pipeline.getOrderedPolicies().length > 0) { + const pipelinePolicies: coreRestPipeline.PipelinePolicy[] = options.pipeline.getOrderedPolicies(); + const bearerTokenAuthenticationPolicyFound = pipelinePolicies.some( + (pipelinePolicy) => + pipelinePolicy.name === + coreRestPipeline.bearerTokenAuthenticationPolicyName + ); + if (!bearerTokenAuthenticationPolicyFound) { + this.pipeline.removePolicy({ + name: coreRestPipeline.bearerTokenAuthenticationPolicyName + }); + this.pipeline.addPolicy( + coreRestPipeline.bearerTokenAuthenticationPolicy({ + scopes: `${optionsWithDefaults.baseUri}/.default`, + challengeCallbacks: { + authorizeRequestOnChallenge: + coreClient.authorizeRequestOnClaimChallenge + } + }) + ); + } + } // Parameter assignments this.subscriptionId = subscriptionId; @@ -250,6 +296,29 @@ export class SecurityCenter extends coreClient.ServiceClient { this.ingestionSettings = new IngestionSettingsImpl(this); this.softwareInventories = new SoftwareInventoriesImpl(this); this.securityConnectors = new SecurityConnectorsImpl(this); + this.governanceRuleOperations = new GovernanceRuleOperationsImpl(this); + this.governanceRules = new GovernanceRulesImpl(this); + this.securityConnectorGovernanceRule = new SecurityConnectorGovernanceRuleImpl( + this + ); + this.securityConnectorGovernanceRules = new SecurityConnectorGovernanceRulesImpl( + this + ); + this.subscriptionGovernanceRulesExecuteStatus = new SubscriptionGovernanceRulesExecuteStatusImpl( + this + ); + this.securityConnectorGovernanceRulesExecuteStatus = new SecurityConnectorGovernanceRulesExecuteStatusImpl( + this + ); + this.governanceAssignments = new GovernanceAssignmentsImpl(this); + this.applications = new ApplicationsImpl(this); + this.applicationOperations = new ApplicationOperationsImpl(this); + this.securityConnectorApplications = new SecurityConnectorApplicationsImpl( + this + ); + this.securityConnectorApplication = new SecurityConnectorApplicationImpl( + this + ); } mdeOnboardings: MdeOnboardings; @@ -301,4 +370,15 @@ export class SecurityCenter extends coreClient.ServiceClient { ingestionSettings: IngestionSettings; softwareInventories: SoftwareInventories; securityConnectors: SecurityConnectors; + governanceRuleOperations: GovernanceRuleOperations; + governanceRules: GovernanceRules; + securityConnectorGovernanceRule: SecurityConnectorGovernanceRule; + securityConnectorGovernanceRules: SecurityConnectorGovernanceRules; + subscriptionGovernanceRulesExecuteStatus: SubscriptionGovernanceRulesExecuteStatus; + securityConnectorGovernanceRulesExecuteStatus: SecurityConnectorGovernanceRulesExecuteStatus; + governanceAssignments: GovernanceAssignments; + applications: Applications; + applicationOperations: ApplicationOperations; + securityConnectorApplications: SecurityConnectorApplications; + securityConnectorApplication: SecurityConnectorApplication; } diff --git a/sdk/security/arm-security/test/sampleTest.ts b/sdk/security/arm-security/test/sampleTest.ts index 7ed89b043e1b..25aeb3ebcc36 100644 --- a/sdk/security/arm-security/test/sampleTest.ts +++ b/sdk/security/arm-security/test/sampleTest.ts @@ -7,35 +7,30 @@ */ import { - env, - record, - RecorderEnvironmentSetup, - Recorder + Recorder, + RecorderStartOptions, + env } from "@azure-tools/test-recorder"; -import * as assert from "assert"; +import { assert } from "chai"; +import { Context } from "mocha"; -const recorderEnvSetup: RecorderEnvironmentSetup = { - replaceableVariables: { - AZURE_CLIENT_ID: "azure_client_id", - AZURE_CLIENT_SECRET: "azure_client_secret", - AZURE_TENANT_ID: "88888888-8888-8888-8888-888888888888", - SUBSCRIPTION_ID: "azure_subscription_id" - }, - customizationsOnRecordings: [ - (recording: any): any => - recording.replace( - /"access_token":"[^"]*"/g, - `"access_token":"access_token"` - ) - ], - queryParametersToSkip: [] +const replaceableVariables: Record = { + AZURE_CLIENT_ID: "azure_client_id", + AZURE_CLIENT_SECRET: "azure_client_secret", + AZURE_TENANT_ID: "88888888-8888-8888-8888-888888888888", + SUBSCRIPTION_ID: "azure_subscription_id" +}; + +const recorderOptions: RecorderStartOptions = { + envSetupForPlayback: replaceableVariables }; describe("My test", () => { let recorder: Recorder; - beforeEach(async function() { - recorder = record(this, recorderEnvSetup); + beforeEach(async function(this: Context) { + recorder = new Recorder(this.currentTest); + await recorder.start(recorderOptions); }); afterEach(async function() { diff --git a/sdk/security/arm-security/tsconfig.json b/sdk/security/arm-security/tsconfig.json index 3f5144384125..3e6ae96443f3 100644 --- a/sdk/security/arm-security/tsconfig.json +++ b/sdk/security/arm-security/tsconfig.json @@ -15,17 +15,11 @@ ], "declaration": true, "outDir": "./dist-esm", - "importHelpers": true, - "paths": { - "@azure/arm-security": [ - "./src/index" - ] - } + "importHelpers": true }, "include": [ "./src/**/*.ts", - "./test/**/*.ts", - "samples-dev/**/*.ts" + "./test/**/*.ts" ], "exclude": [ "node_modules"