From d1358a62ae90a661c8a953b1b71736dfe738440d Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Thu, 12 Nov 2020 10:13:59 +0000 Subject: [PATCH] CodeGen from PR 11577 in Azure/azure-rest-api-specs Add SecureScores & SecureScoreControls as new supported datatypes in Automations resource (#11577) * Add SubAssessment event source type and add more automations examples * Change Location isReadOnlu to false * Test * Add new read/write location and add new type TrackedResourceLocation * Minor * minor * prettier fixes * Change variable name to TrackedResourceLocation * Change type name TrackedResourceLocation to AzureTrackedResourceLocation * Update automations example * Add SecureScores & SecureScoreControls as new supported datatypes in Automations resource --- .../security/mgmt/v1.0/security/connectors.go | 4 +- .../security/mgmt/v1.0/security/enums.go | 159 ++++- .../security/mgmt/v1.0/security/models.go | 630 ++++++++++++++---- .../v1.0/security/securityapi/interfaces.go | 27 + ...sqlvulnerabilityassessmentbaselinerules.go | 432 ++++++++++++ .../sqlvulnerabilityassessmentscanresults.go | 199 ++++++ .../sqlvulnerabilityassessmentscans.go | 194 ++++++ 7 files changed, 1464 insertions(+), 181 deletions(-) create mode 100644 services/preview/security/mgmt/v1.0/security/sqlvulnerabilityassessmentbaselinerules.go create mode 100644 services/preview/security/mgmt/v1.0/security/sqlvulnerabilityassessmentscanresults.go create mode 100644 services/preview/security/mgmt/v1.0/security/sqlvulnerabilityassessmentscans.go diff --git a/services/preview/security/mgmt/v1.0/security/connectors.go b/services/preview/security/mgmt/v1.0/security/connectors.go index 283167416f16..f49e28025643 100644 --- a/services/preview/security/mgmt/v1.0/security/connectors.go +++ b/services/preview/security/mgmt/v1.0/security/connectors.go @@ -42,8 +42,8 @@ func NewConnectorsClientWithBaseURI(baseURI string, subscriptionID string, ascLo return ConnectorsClient{NewWithBaseURI(baseURI, subscriptionID, ascLocation)} } -// CreateOrUpdate create a cloud account connector or update an existing one. Connect to your AWS cloud account using -// either account credentials or role-based authentication. +// CreateOrUpdate create a cloud account connector or update an existing one. Connect to your cloud account. For AWS, +// use either account credentials or role-based authentication. For GCP, use account organization credentials. // Parameters: // connectorName - name of the cloud account connector // connectorSetting - settings for the cloud account connector diff --git a/services/preview/security/mgmt/v1.0/security/enums.go b/services/preview/security/mgmt/v1.0/security/enums.go index 06b18db40bf9..37516fbf7f4f 100644 --- a/services/preview/security/mgmt/v1.0/security/enums.go +++ b/services/preview/security/mgmt/v1.0/security/enums.go @@ -123,7 +123,7 @@ func PossibleAssessedResourceTypeValues() []AssessedResourceType { type AuthenticationProvisioningState string const ( - // Expired the connection is expired + // Expired the connection has expired Expired AuthenticationProvisioningState = "Expired" // IncorrectPolicy Incorrect policy of the connector IncorrectPolicy AuthenticationProvisioningState = "IncorrectPolicy" @@ -161,9 +161,9 @@ func PossibleAuthenticationTypeValues() []AuthenticationType { type AutoProvision string const ( - // AutoProvisionOff Do not install Azure Arc agent on the VMs automatically + // AutoProvisionOff Do not install Azure Arc agent on the machines automatically AutoProvisionOff AutoProvision = "Off" - // AutoProvisionOn Install missing Azure Arc agent on VMs automatically + // AutoProvisionOn Install missing Azure Arc agents on machines automatically AutoProvisionOn AutoProvision = "On" ) @@ -339,13 +339,17 @@ const ( Alerts EventSource = "Alerts" // Assessments ... Assessments EventSource = "Assessments" + // SecureScoreControls ... + SecureScoreControls EventSource = "SecureScoreControls" + // SecureScores ... + SecureScores EventSource = "SecureScores" // SubAssessments ... SubAssessments EventSource = "SubAssessments" ) // PossibleEventSourceValues returns an array of possible values for the EventSource const type. func PossibleEventSourceValues() []EventSource { - return []EventSource{Alerts, Assessments, SubAssessments} + return []EventSource{Alerts, Assessments, SecureScoreControls, SecureScores, SubAssessments} } // Exe enumerates the values for exe. @@ -723,6 +727,27 @@ func PossibleReportedSeverityValues() []ReportedSeverity { return []ReportedSeverity{High, Information, Low, Silent} } +// RuleSeverity enumerates the values for rule severity. +type RuleSeverity string + +const ( + // RuleSeverityHigh High + RuleSeverityHigh RuleSeverity = "High" + // RuleSeverityInformational Informational + RuleSeverityInformational RuleSeverity = "Informational" + // RuleSeverityLow Low + RuleSeverityLow RuleSeverity = "Low" + // RuleSeverityMedium Medium + RuleSeverityMedium RuleSeverity = "Medium" + // RuleSeverityObsolete Obsolete + RuleSeverityObsolete RuleSeverity = "Obsolete" +) + +// PossibleRuleSeverityValues returns an array of possible values for the RuleSeverity const type. +func PossibleRuleSeverityValues() []RuleSeverity { + return []RuleSeverity{RuleSeverityHigh, RuleSeverityInformational, RuleSeverityLow, RuleSeverityMedium, RuleSeverityObsolete} +} + // RuleState enumerates the values for rule state. type RuleState string @@ -740,65 +765,135 @@ func PossibleRuleStateValues() []RuleState { return []RuleState{RuleStateDisabled, RuleStateEnabled, RuleStateExpired} } +// RuleStatus enumerates the values for rule status. +type RuleStatus string + +const ( + // Finding Finding + Finding RuleStatus = "Finding" + // InternalError InternalError + InternalError RuleStatus = "InternalError" + // NonFinding NonFinding + NonFinding RuleStatus = "NonFinding" +) + +// PossibleRuleStatusValues returns an array of possible values for the RuleStatus const type. +func PossibleRuleStatusValues() []RuleStatus { + return []RuleStatus{Finding, InternalError, NonFinding} +} + // RuleType enumerates the values for rule type. type RuleType string +const ( + // BaselineExpected BaselineExpected + BaselineExpected RuleType = "BaselineExpected" + // Binary Binary + Binary RuleType = "Binary" + // NegativeList NegativeList + NegativeList RuleType = "NegativeList" + // PositiveList PositiveList + PositiveList RuleType = "PositiveList" +) + +// PossibleRuleTypeValues returns an array of possible values for the RuleType const type. +func PossibleRuleTypeValues() []RuleType { + return []RuleType{BaselineExpected, Binary, NegativeList, PositiveList} +} + +// RuleTypeBasicCustomAlertRule enumerates the values for rule type basic custom alert rule. +type RuleTypeBasicCustomAlertRule string + const ( // RuleTypeActiveConnectionsNotInAllowedRange ... - RuleTypeActiveConnectionsNotInAllowedRange RuleType = "ActiveConnectionsNotInAllowedRange" + RuleTypeActiveConnectionsNotInAllowedRange RuleTypeBasicCustomAlertRule = "ActiveConnectionsNotInAllowedRange" // RuleTypeAllowlistCustomAlertRule ... - RuleTypeAllowlistCustomAlertRule RuleType = "AllowlistCustomAlertRule" + RuleTypeAllowlistCustomAlertRule RuleTypeBasicCustomAlertRule = "AllowlistCustomAlertRule" // RuleTypeAmqpC2DMessagesNotInAllowedRange ... - RuleTypeAmqpC2DMessagesNotInAllowedRange RuleType = "AmqpC2DMessagesNotInAllowedRange" + RuleTypeAmqpC2DMessagesNotInAllowedRange RuleTypeBasicCustomAlertRule = "AmqpC2DMessagesNotInAllowedRange" // RuleTypeAmqpC2DRejectedMessagesNotInAllowedRange ... - RuleTypeAmqpC2DRejectedMessagesNotInAllowedRange RuleType = "AmqpC2DRejectedMessagesNotInAllowedRange" + RuleTypeAmqpC2DRejectedMessagesNotInAllowedRange RuleTypeBasicCustomAlertRule = "AmqpC2DRejectedMessagesNotInAllowedRange" // RuleTypeAmqpD2CMessagesNotInAllowedRange ... - RuleTypeAmqpD2CMessagesNotInAllowedRange RuleType = "AmqpD2CMessagesNotInAllowedRange" + RuleTypeAmqpD2CMessagesNotInAllowedRange RuleTypeBasicCustomAlertRule = "AmqpD2CMessagesNotInAllowedRange" // RuleTypeConnectionToIPNotAllowed ... - RuleTypeConnectionToIPNotAllowed RuleType = "ConnectionToIpNotAllowed" + RuleTypeConnectionToIPNotAllowed RuleTypeBasicCustomAlertRule = "ConnectionToIpNotAllowed" // RuleTypeCustomAlertRule ... - RuleTypeCustomAlertRule RuleType = "CustomAlertRule" + RuleTypeCustomAlertRule RuleTypeBasicCustomAlertRule = "CustomAlertRule" // RuleTypeDenylistCustomAlertRule ... - RuleTypeDenylistCustomAlertRule RuleType = "DenylistCustomAlertRule" + RuleTypeDenylistCustomAlertRule RuleTypeBasicCustomAlertRule = "DenylistCustomAlertRule" // RuleTypeDirectMethodInvokesNotInAllowedRange ... - RuleTypeDirectMethodInvokesNotInAllowedRange RuleType = "DirectMethodInvokesNotInAllowedRange" + RuleTypeDirectMethodInvokesNotInAllowedRange RuleTypeBasicCustomAlertRule = "DirectMethodInvokesNotInAllowedRange" // RuleTypeFailedLocalLoginsNotInAllowedRange ... - RuleTypeFailedLocalLoginsNotInAllowedRange RuleType = "FailedLocalLoginsNotInAllowedRange" + RuleTypeFailedLocalLoginsNotInAllowedRange RuleTypeBasicCustomAlertRule = "FailedLocalLoginsNotInAllowedRange" // RuleTypeFileUploadsNotInAllowedRange ... - RuleTypeFileUploadsNotInAllowedRange RuleType = "FileUploadsNotInAllowedRange" + RuleTypeFileUploadsNotInAllowedRange RuleTypeBasicCustomAlertRule = "FileUploadsNotInAllowedRange" // RuleTypeHTTPC2DMessagesNotInAllowedRange ... - RuleTypeHTTPC2DMessagesNotInAllowedRange RuleType = "HttpC2DMessagesNotInAllowedRange" + RuleTypeHTTPC2DMessagesNotInAllowedRange RuleTypeBasicCustomAlertRule = "HttpC2DMessagesNotInAllowedRange" // RuleTypeHTTPC2DRejectedMessagesNotInAllowedRange ... - RuleTypeHTTPC2DRejectedMessagesNotInAllowedRange RuleType = "HttpC2DRejectedMessagesNotInAllowedRange" + RuleTypeHTTPC2DRejectedMessagesNotInAllowedRange RuleTypeBasicCustomAlertRule = "HttpC2DRejectedMessagesNotInAllowedRange" // RuleTypeHTTPD2CMessagesNotInAllowedRange ... - RuleTypeHTTPD2CMessagesNotInAllowedRange RuleType = "HttpD2CMessagesNotInAllowedRange" + RuleTypeHTTPD2CMessagesNotInAllowedRange RuleTypeBasicCustomAlertRule = "HttpD2CMessagesNotInAllowedRange" // RuleTypeListCustomAlertRule ... - RuleTypeListCustomAlertRule RuleType = "ListCustomAlertRule" + RuleTypeListCustomAlertRule RuleTypeBasicCustomAlertRule = "ListCustomAlertRule" // RuleTypeLocalUserNotAllowed ... - RuleTypeLocalUserNotAllowed RuleType = "LocalUserNotAllowed" + RuleTypeLocalUserNotAllowed RuleTypeBasicCustomAlertRule = "LocalUserNotAllowed" // RuleTypeMqttC2DMessagesNotInAllowedRange ... - RuleTypeMqttC2DMessagesNotInAllowedRange RuleType = "MqttC2DMessagesNotInAllowedRange" + RuleTypeMqttC2DMessagesNotInAllowedRange RuleTypeBasicCustomAlertRule = "MqttC2DMessagesNotInAllowedRange" // RuleTypeMqttC2DRejectedMessagesNotInAllowedRange ... - RuleTypeMqttC2DRejectedMessagesNotInAllowedRange RuleType = "MqttC2DRejectedMessagesNotInAllowedRange" + RuleTypeMqttC2DRejectedMessagesNotInAllowedRange RuleTypeBasicCustomAlertRule = "MqttC2DRejectedMessagesNotInAllowedRange" // RuleTypeMqttD2CMessagesNotInAllowedRange ... - RuleTypeMqttD2CMessagesNotInAllowedRange RuleType = "MqttD2CMessagesNotInAllowedRange" + RuleTypeMqttD2CMessagesNotInAllowedRange RuleTypeBasicCustomAlertRule = "MqttD2CMessagesNotInAllowedRange" // RuleTypeProcessNotAllowed ... - RuleTypeProcessNotAllowed RuleType = "ProcessNotAllowed" + RuleTypeProcessNotAllowed RuleTypeBasicCustomAlertRule = "ProcessNotAllowed" // RuleTypeQueuePurgesNotInAllowedRange ... - RuleTypeQueuePurgesNotInAllowedRange RuleType = "QueuePurgesNotInAllowedRange" + RuleTypeQueuePurgesNotInAllowedRange RuleTypeBasicCustomAlertRule = "QueuePurgesNotInAllowedRange" // RuleTypeThresholdCustomAlertRule ... - RuleTypeThresholdCustomAlertRule RuleType = "ThresholdCustomAlertRule" + RuleTypeThresholdCustomAlertRule RuleTypeBasicCustomAlertRule = "ThresholdCustomAlertRule" // RuleTypeTimeWindowCustomAlertRule ... - RuleTypeTimeWindowCustomAlertRule RuleType = "TimeWindowCustomAlertRule" + RuleTypeTimeWindowCustomAlertRule RuleTypeBasicCustomAlertRule = "TimeWindowCustomAlertRule" // RuleTypeTwinUpdatesNotInAllowedRange ... - RuleTypeTwinUpdatesNotInAllowedRange RuleType = "TwinUpdatesNotInAllowedRange" + RuleTypeTwinUpdatesNotInAllowedRange RuleTypeBasicCustomAlertRule = "TwinUpdatesNotInAllowedRange" // RuleTypeUnauthorizedOperationsNotInAllowedRange ... - RuleTypeUnauthorizedOperationsNotInAllowedRange RuleType = "UnauthorizedOperationsNotInAllowedRange" + RuleTypeUnauthorizedOperationsNotInAllowedRange RuleTypeBasicCustomAlertRule = "UnauthorizedOperationsNotInAllowedRange" ) -// PossibleRuleTypeValues returns an array of possible values for the RuleType const type. -func PossibleRuleTypeValues() []RuleType { - return []RuleType{RuleTypeActiveConnectionsNotInAllowedRange, RuleTypeAllowlistCustomAlertRule, RuleTypeAmqpC2DMessagesNotInAllowedRange, RuleTypeAmqpC2DRejectedMessagesNotInAllowedRange, RuleTypeAmqpD2CMessagesNotInAllowedRange, RuleTypeConnectionToIPNotAllowed, RuleTypeCustomAlertRule, RuleTypeDenylistCustomAlertRule, RuleTypeDirectMethodInvokesNotInAllowedRange, RuleTypeFailedLocalLoginsNotInAllowedRange, RuleTypeFileUploadsNotInAllowedRange, RuleTypeHTTPC2DMessagesNotInAllowedRange, RuleTypeHTTPC2DRejectedMessagesNotInAllowedRange, RuleTypeHTTPD2CMessagesNotInAllowedRange, RuleTypeListCustomAlertRule, RuleTypeLocalUserNotAllowed, RuleTypeMqttC2DMessagesNotInAllowedRange, RuleTypeMqttC2DRejectedMessagesNotInAllowedRange, RuleTypeMqttD2CMessagesNotInAllowedRange, RuleTypeProcessNotAllowed, RuleTypeQueuePurgesNotInAllowedRange, RuleTypeThresholdCustomAlertRule, RuleTypeTimeWindowCustomAlertRule, RuleTypeTwinUpdatesNotInAllowedRange, RuleTypeUnauthorizedOperationsNotInAllowedRange} +// PossibleRuleTypeBasicCustomAlertRuleValues returns an array of possible values for the RuleTypeBasicCustomAlertRule const type. +func PossibleRuleTypeBasicCustomAlertRuleValues() []RuleTypeBasicCustomAlertRule { + return []RuleTypeBasicCustomAlertRule{RuleTypeActiveConnectionsNotInAllowedRange, RuleTypeAllowlistCustomAlertRule, RuleTypeAmqpC2DMessagesNotInAllowedRange, RuleTypeAmqpC2DRejectedMessagesNotInAllowedRange, RuleTypeAmqpD2CMessagesNotInAllowedRange, RuleTypeConnectionToIPNotAllowed, RuleTypeCustomAlertRule, RuleTypeDenylistCustomAlertRule, RuleTypeDirectMethodInvokesNotInAllowedRange, RuleTypeFailedLocalLoginsNotInAllowedRange, RuleTypeFileUploadsNotInAllowedRange, RuleTypeHTTPC2DMessagesNotInAllowedRange, RuleTypeHTTPC2DRejectedMessagesNotInAllowedRange, RuleTypeHTTPD2CMessagesNotInAllowedRange, RuleTypeListCustomAlertRule, RuleTypeLocalUserNotAllowed, RuleTypeMqttC2DMessagesNotInAllowedRange, RuleTypeMqttC2DRejectedMessagesNotInAllowedRange, RuleTypeMqttD2CMessagesNotInAllowedRange, RuleTypeProcessNotAllowed, RuleTypeQueuePurgesNotInAllowedRange, RuleTypeThresholdCustomAlertRule, RuleTypeTimeWindowCustomAlertRule, RuleTypeTwinUpdatesNotInAllowedRange, RuleTypeUnauthorizedOperationsNotInAllowedRange} +} + +// ScanState enumerates the values for scan state. +type ScanState string + +const ( + // ScanStateFailed Failed + ScanStateFailed ScanState = "Failed" + // ScanStateFailedToRun FailedToRun + ScanStateFailedToRun ScanState = "FailedToRun" + // ScanStateInProgress InProgress + ScanStateInProgress ScanState = "InProgress" + // ScanStatePassed Passed + ScanStatePassed ScanState = "Passed" +) + +// PossibleScanStateValues returns an array of possible values for the ScanState const type. +func PossibleScanStateValues() []ScanState { + return []ScanState{ScanStateFailed, ScanStateFailedToRun, ScanStateInProgress, ScanStatePassed} +} + +// ScanTriggerType enumerates the values for scan trigger type. +type ScanTriggerType string + +const ( + // OnDemand OnDemand + OnDemand ScanTriggerType = "OnDemand" + // Recurring Recurring + Recurring ScanTriggerType = "Recurring" +) + +// PossibleScanTriggerTypeValues returns an array of possible values for the ScanTriggerType const type. +func PossibleScanTriggerTypeValues() []ScanTriggerType { + return []ScanTriggerType{OnDemand, Recurring} } // Script enumerates the values for script. diff --git a/services/preview/security/mgmt/v1.0/security/models.go b/services/preview/security/mgmt/v1.0/security/models.go index dfdf7b2ccadb..2e2fbf3642c6 100644 --- a/services/preview/security/mgmt/v1.0/security/models.go +++ b/services/preview/security/mgmt/v1.0/security/models.go @@ -116,7 +116,7 @@ type ActiveConnectionsNotInAllowedRange struct { // IsEnabled - Status of the custom alert. IsEnabled *bool `json:"isEnabled,omitempty"` // RuleType - Possible values include: 'RuleTypeCustomAlertRule', 'RuleTypeThresholdCustomAlertRule', 'RuleTypeTimeWindowCustomAlertRule', 'RuleTypeAllowlistCustomAlertRule', 'RuleTypeDenylistCustomAlertRule', 'RuleTypeListCustomAlertRule', 'RuleTypeConnectionToIPNotAllowed', 'RuleTypeLocalUserNotAllowed', 'RuleTypeProcessNotAllowed', 'RuleTypeActiveConnectionsNotInAllowedRange', 'RuleTypeAmqpC2DMessagesNotInAllowedRange', 'RuleTypeMqttC2DMessagesNotInAllowedRange', 'RuleTypeHTTPC2DMessagesNotInAllowedRange', 'RuleTypeAmqpC2DRejectedMessagesNotInAllowedRange', 'RuleTypeMqttC2DRejectedMessagesNotInAllowedRange', 'RuleTypeHTTPC2DRejectedMessagesNotInAllowedRange', 'RuleTypeAmqpD2CMessagesNotInAllowedRange', 'RuleTypeMqttD2CMessagesNotInAllowedRange', 'RuleTypeHTTPD2CMessagesNotInAllowedRange', 'RuleTypeDirectMethodInvokesNotInAllowedRange', 'RuleTypeFailedLocalLoginsNotInAllowedRange', 'RuleTypeFileUploadsNotInAllowedRange', 'RuleTypeQueuePurgesNotInAllowedRange', 'RuleTypeTwinUpdatesNotInAllowedRange', 'RuleTypeUnauthorizedOperationsNotInAllowedRange' - RuleType RuleType `json:"ruleType,omitempty"` + RuleType RuleTypeBasicCustomAlertRule `json:"ruleType,omitempty"` } // MarshalJSON is the custom marshaler for ActiveConnectionsNotInAllowedRange. @@ -291,8 +291,8 @@ func (acniar ActiveConnectionsNotInAllowedRange) AsBasicCustomAlertRule() (Basic return &acniar, true } -// AdaptiveNetworkHardening the resource whose properties describes the Adaptive Network Hardening settings for -// some Azure resource +// AdaptiveNetworkHardening the resource whose properties describes the Adaptive Network Hardening settings +// for some Azure resource type AdaptiveNetworkHardening struct { autorest.Response `json:"-"` // AdaptiveNetworkHardeningProperties - Properties of the Adaptive Network Hardening resource @@ -559,8 +559,11 @@ func (page AdaptiveNetworkHardeningsListPage) Values() []AdaptiveNetworkHardenin } // Creates a new instance of the AdaptiveNetworkHardeningsListPage type. -func NewAdaptiveNetworkHardeningsListPage(getNextPage func(context.Context, AdaptiveNetworkHardeningsList) (AdaptiveNetworkHardeningsList, error)) AdaptiveNetworkHardeningsListPage { - return AdaptiveNetworkHardeningsListPage{fn: getNextPage} +func NewAdaptiveNetworkHardeningsListPage(cur AdaptiveNetworkHardeningsList, getNextPage func(context.Context, AdaptiveNetworkHardeningsList) (AdaptiveNetworkHardeningsList, error)) AdaptiveNetworkHardeningsListPage { + return AdaptiveNetworkHardeningsListPage{ + fn: getNextPage, + anhl: cur, + } } // BasicAdditionalData details of the sub-assessment @@ -1028,8 +1031,11 @@ func (page AlertListPage) Values() []Alert { } // Creates a new instance of the AlertListPage type. -func NewAlertListPage(getNextPage func(context.Context, AlertList) (AlertList, error)) AlertListPage { - return AlertListPage{fn: getNextPage} +func NewAlertListPage(cur AlertList, getNextPage func(context.Context, AlertList) (AlertList, error)) AlertListPage { + return AlertListPage{ + fn: getNextPage, + al: cur, + } } // AlertProperties describes security alert properties. @@ -1227,7 +1233,8 @@ func (asrl AlertsSuppressionRulesList) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } -// AlertsSuppressionRulesListIterator provides access to a complete listing of AlertsSuppressionRule values. +// AlertsSuppressionRulesListIterator provides access to a complete listing of AlertsSuppressionRule +// values. type AlertsSuppressionRulesListIterator struct { i int page AlertsSuppressionRulesListPage @@ -1370,8 +1377,11 @@ func (page AlertsSuppressionRulesListPage) Values() []AlertsSuppressionRule { } // Creates a new instance of the AlertsSuppressionRulesListPage type. -func NewAlertsSuppressionRulesListPage(getNextPage func(context.Context, AlertsSuppressionRulesList) (AlertsSuppressionRulesList, error)) AlertsSuppressionRulesListPage { - return AlertsSuppressionRulesListPage{fn: getNextPage} +func NewAlertsSuppressionRulesListPage(cur AlertsSuppressionRulesList, getNextPage func(context.Context, AlertsSuppressionRulesList) (AlertsSuppressionRulesList, error)) AlertsSuppressionRulesListPage { + return AlertsSuppressionRulesListPage{ + fn: getNextPage, + asrl: cur, + } } // AllowedConnectionsList list of all possible traffic between Azure resources @@ -1383,7 +1393,8 @@ type AllowedConnectionsList struct { NextLink *string `json:"nextLink,omitempty"` } -// AllowedConnectionsListIterator provides access to a complete listing of AllowedConnectionsResource values. +// AllowedConnectionsListIterator provides access to a complete listing of AllowedConnectionsResource +// values. type AllowedConnectionsListIterator struct { i int page AllowedConnectionsListPage @@ -1526,8 +1537,11 @@ func (page AllowedConnectionsListPage) Values() []AllowedConnectionsResource { } // Creates a new instance of the AllowedConnectionsListPage type. -func NewAllowedConnectionsListPage(getNextPage func(context.Context, AllowedConnectionsList) (AllowedConnectionsList, error)) AllowedConnectionsListPage { - return AllowedConnectionsListPage{fn: getNextPage} +func NewAllowedConnectionsListPage(cur AllowedConnectionsList, getNextPage func(context.Context, AllowedConnectionsList) (AllowedConnectionsList, error)) AllowedConnectionsListPage { + return AllowedConnectionsListPage{ + fn: getNextPage, + ACL: cur, + } } // AllowedConnectionsResource the resource whose properties describes the allowed traffic between Azure @@ -1643,7 +1657,7 @@ type AllowlistCustomAlertRule struct { // IsEnabled - Status of the custom alert. IsEnabled *bool `json:"isEnabled,omitempty"` // RuleType - Possible values include: 'RuleTypeCustomAlertRule', 'RuleTypeThresholdCustomAlertRule', 'RuleTypeTimeWindowCustomAlertRule', 'RuleTypeAllowlistCustomAlertRule', 'RuleTypeDenylistCustomAlertRule', 'RuleTypeListCustomAlertRule', 'RuleTypeConnectionToIPNotAllowed', 'RuleTypeLocalUserNotAllowed', 'RuleTypeProcessNotAllowed', 'RuleTypeActiveConnectionsNotInAllowedRange', 'RuleTypeAmqpC2DMessagesNotInAllowedRange', 'RuleTypeMqttC2DMessagesNotInAllowedRange', 'RuleTypeHTTPC2DMessagesNotInAllowedRange', 'RuleTypeAmqpC2DRejectedMessagesNotInAllowedRange', 'RuleTypeMqttC2DRejectedMessagesNotInAllowedRange', 'RuleTypeHTTPC2DRejectedMessagesNotInAllowedRange', 'RuleTypeAmqpD2CMessagesNotInAllowedRange', 'RuleTypeMqttD2CMessagesNotInAllowedRange', 'RuleTypeHTTPD2CMessagesNotInAllowedRange', 'RuleTypeDirectMethodInvokesNotInAllowedRange', 'RuleTypeFailedLocalLoginsNotInAllowedRange', 'RuleTypeFileUploadsNotInAllowedRange', 'RuleTypeQueuePurgesNotInAllowedRange', 'RuleTypeTwinUpdatesNotInAllowedRange', 'RuleTypeUnauthorizedOperationsNotInAllowedRange' - RuleType RuleType `json:"ruleType,omitempty"` + RuleType RuleTypeBasicCustomAlertRule `json:"ruleType,omitempty"` } func unmarshalBasicAllowlistCustomAlertRule(body []byte) (BasicAllowlistCustomAlertRule, error) { @@ -1857,7 +1871,8 @@ func (acar AllowlistCustomAlertRule) AsBasicCustomAlertRule() (BasicCustomAlertR return &acar, true } -// AmqpC2DMessagesNotInAllowedRange number of cloud to device messages (AMQP protocol) is not in allowed range. +// AmqpC2DMessagesNotInAllowedRange number of cloud to device messages (AMQP protocol) is not in allowed +// range. type AmqpC2DMessagesNotInAllowedRange struct { // TimeWindowSize - The time window size in iso8601 format. TimeWindowSize *string `json:"timeWindowSize,omitempty"` @@ -1872,7 +1887,7 @@ type AmqpC2DMessagesNotInAllowedRange struct { // IsEnabled - Status of the custom alert. IsEnabled *bool `json:"isEnabled,omitempty"` // RuleType - Possible values include: 'RuleTypeCustomAlertRule', 'RuleTypeThresholdCustomAlertRule', 'RuleTypeTimeWindowCustomAlertRule', 'RuleTypeAllowlistCustomAlertRule', 'RuleTypeDenylistCustomAlertRule', 'RuleTypeListCustomAlertRule', 'RuleTypeConnectionToIPNotAllowed', 'RuleTypeLocalUserNotAllowed', 'RuleTypeProcessNotAllowed', 'RuleTypeActiveConnectionsNotInAllowedRange', 'RuleTypeAmqpC2DMessagesNotInAllowedRange', 'RuleTypeMqttC2DMessagesNotInAllowedRange', 'RuleTypeHTTPC2DMessagesNotInAllowedRange', 'RuleTypeAmqpC2DRejectedMessagesNotInAllowedRange', 'RuleTypeMqttC2DRejectedMessagesNotInAllowedRange', 'RuleTypeHTTPC2DRejectedMessagesNotInAllowedRange', 'RuleTypeAmqpD2CMessagesNotInAllowedRange', 'RuleTypeMqttD2CMessagesNotInAllowedRange', 'RuleTypeHTTPD2CMessagesNotInAllowedRange', 'RuleTypeDirectMethodInvokesNotInAllowedRange', 'RuleTypeFailedLocalLoginsNotInAllowedRange', 'RuleTypeFileUploadsNotInAllowedRange', 'RuleTypeQueuePurgesNotInAllowedRange', 'RuleTypeTwinUpdatesNotInAllowedRange', 'RuleTypeUnauthorizedOperationsNotInAllowedRange' - RuleType RuleType `json:"ruleType,omitempty"` + RuleType RuleTypeBasicCustomAlertRule `json:"ruleType,omitempty"` } // MarshalJSON is the custom marshaler for AmqpC2DMessagesNotInAllowedRange. @@ -2047,8 +2062,8 @@ func (acmniar AmqpC2DMessagesNotInAllowedRange) AsBasicCustomAlertRule() (BasicC return &acmniar, true } -// AmqpC2DRejectedMessagesNotInAllowedRange number of rejected cloud to device messages (AMQP protocol) is not -// in allowed range. +// AmqpC2DRejectedMessagesNotInAllowedRange number of rejected cloud to device messages (AMQP protocol) is +// not in allowed range. type AmqpC2DRejectedMessagesNotInAllowedRange struct { // TimeWindowSize - The time window size in iso8601 format. TimeWindowSize *string `json:"timeWindowSize,omitempty"` @@ -2063,7 +2078,7 @@ type AmqpC2DRejectedMessagesNotInAllowedRange struct { // IsEnabled - Status of the custom alert. IsEnabled *bool `json:"isEnabled,omitempty"` // RuleType - Possible values include: 'RuleTypeCustomAlertRule', 'RuleTypeThresholdCustomAlertRule', 'RuleTypeTimeWindowCustomAlertRule', 'RuleTypeAllowlistCustomAlertRule', 'RuleTypeDenylistCustomAlertRule', 'RuleTypeListCustomAlertRule', 'RuleTypeConnectionToIPNotAllowed', 'RuleTypeLocalUserNotAllowed', 'RuleTypeProcessNotAllowed', 'RuleTypeActiveConnectionsNotInAllowedRange', 'RuleTypeAmqpC2DMessagesNotInAllowedRange', 'RuleTypeMqttC2DMessagesNotInAllowedRange', 'RuleTypeHTTPC2DMessagesNotInAllowedRange', 'RuleTypeAmqpC2DRejectedMessagesNotInAllowedRange', 'RuleTypeMqttC2DRejectedMessagesNotInAllowedRange', 'RuleTypeHTTPC2DRejectedMessagesNotInAllowedRange', 'RuleTypeAmqpD2CMessagesNotInAllowedRange', 'RuleTypeMqttD2CMessagesNotInAllowedRange', 'RuleTypeHTTPD2CMessagesNotInAllowedRange', 'RuleTypeDirectMethodInvokesNotInAllowedRange', 'RuleTypeFailedLocalLoginsNotInAllowedRange', 'RuleTypeFileUploadsNotInAllowedRange', 'RuleTypeQueuePurgesNotInAllowedRange', 'RuleTypeTwinUpdatesNotInAllowedRange', 'RuleTypeUnauthorizedOperationsNotInAllowedRange' - RuleType RuleType `json:"ruleType,omitempty"` + RuleType RuleTypeBasicCustomAlertRule `json:"ruleType,omitempty"` } // MarshalJSON is the custom marshaler for AmqpC2DRejectedMessagesNotInAllowedRange. @@ -2238,7 +2253,8 @@ func (acrmniar AmqpC2DRejectedMessagesNotInAllowedRange) AsBasicCustomAlertRule( return &acrmniar, true } -// AmqpD2CMessagesNotInAllowedRange number of device to cloud messages (AMQP protocol) is not in allowed range. +// AmqpD2CMessagesNotInAllowedRange number of device to cloud messages (AMQP protocol) is not in allowed +// range. type AmqpD2CMessagesNotInAllowedRange struct { // TimeWindowSize - The time window size in iso8601 format. TimeWindowSize *string `json:"timeWindowSize,omitempty"` @@ -2253,7 +2269,7 @@ type AmqpD2CMessagesNotInAllowedRange struct { // IsEnabled - Status of the custom alert. IsEnabled *bool `json:"isEnabled,omitempty"` // RuleType - Possible values include: 'RuleTypeCustomAlertRule', 'RuleTypeThresholdCustomAlertRule', 'RuleTypeTimeWindowCustomAlertRule', 'RuleTypeAllowlistCustomAlertRule', 'RuleTypeDenylistCustomAlertRule', 'RuleTypeListCustomAlertRule', 'RuleTypeConnectionToIPNotAllowed', 'RuleTypeLocalUserNotAllowed', 'RuleTypeProcessNotAllowed', 'RuleTypeActiveConnectionsNotInAllowedRange', 'RuleTypeAmqpC2DMessagesNotInAllowedRange', 'RuleTypeMqttC2DMessagesNotInAllowedRange', 'RuleTypeHTTPC2DMessagesNotInAllowedRange', 'RuleTypeAmqpC2DRejectedMessagesNotInAllowedRange', 'RuleTypeMqttC2DRejectedMessagesNotInAllowedRange', 'RuleTypeHTTPC2DRejectedMessagesNotInAllowedRange', 'RuleTypeAmqpD2CMessagesNotInAllowedRange', 'RuleTypeMqttD2CMessagesNotInAllowedRange', 'RuleTypeHTTPD2CMessagesNotInAllowedRange', 'RuleTypeDirectMethodInvokesNotInAllowedRange', 'RuleTypeFailedLocalLoginsNotInAllowedRange', 'RuleTypeFileUploadsNotInAllowedRange', 'RuleTypeQueuePurgesNotInAllowedRange', 'RuleTypeTwinUpdatesNotInAllowedRange', 'RuleTypeUnauthorizedOperationsNotInAllowedRange' - RuleType RuleType `json:"ruleType,omitempty"` + RuleType RuleTypeBasicCustomAlertRule `json:"ruleType,omitempty"` } // MarshalJSON is the custom marshaler for AmqpD2CMessagesNotInAllowedRange. @@ -2528,8 +2544,8 @@ type AppWhitelistingGroupData struct { PathRecommendations *[]PathRecommendation `json:"pathRecommendations,omitempty"` } -// AppWhitelistingGroups represents a list of VM/server groups and set of rules that are Recommended by Azure -// Security Center to be allowed +// AppWhitelistingGroups represents a list of VM/server groups and set of rules that are Recommended by +// Azure Security Center to be allowed type AppWhitelistingGroups struct { autorest.Response `json:"-"` Value *[]AppWhitelistingGroup `json:"value,omitempty"` @@ -2726,8 +2742,11 @@ func (page AscLocationListPage) Values() []AscLocation { } // Creates a new instance of the AscLocationListPage type. -func NewAscLocationListPage(getNextPage func(context.Context, AscLocationList) (AscLocationList, error)) AscLocationListPage { - return AscLocationListPage{fn: getNextPage} +func NewAscLocationListPage(cur AscLocationList, getNextPage func(context.Context, AscLocationList) (AscLocationList, error)) AscLocationListPage { + return AscLocationListPage{ + fn: getNextPage, + all: cur, + } } // AtaExternalSecuritySolution represents an ATA security solution which sends logs to an OMS workspace @@ -3304,11 +3323,11 @@ func (aala AutomationActionLogicApp) AsBasicAutomationAction() (BasicAutomationA return &aala, true } -// AutomationActionWorkspace 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 +// AutomationActionWorkspace 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 type AutomationActionWorkspace struct { // WorkspaceResourceID - The fully qualified Log Analytics Workspace Azure Resource ID. @@ -3516,12 +3535,15 @@ func (page AutomationListPage) Values() []Automation { } // Creates a new instance of the AutomationListPage type. -func NewAutomationListPage(getNextPage func(context.Context, AutomationList) (AutomationList, error)) AutomationListPage { - return AutomationListPage{fn: getNextPage} +func NewAutomationListPage(cur AutomationList, getNextPage func(context.Context, AutomationList) (AutomationList, error)) AutomationListPage { + return AutomationListPage{ + fn: getNextPage, + al: cur, + } } -// AutomationProperties a set of properties that defines the behavior of the automation configuration. To learn -// more about the supported security events data models schemas - please visit +// AutomationProperties a set of properties that defines the behavior of the automation configuration. To +// learn more about the supported security events data models schemas - please visit // https://aka.ms/ASCAutomationSchemas. type AutomationProperties struct { // Description - The security automation description. @@ -3609,19 +3631,19 @@ type AutomationScope struct { ScopePath *string `json:"scopePath,omitempty"` } -// AutomationSource the source event types which evaluate the security automation set of rules. For example - -// security alerts and security assessments. To learn more about the supported security events data models -// schemas - please visit https://aka.ms/ASCAutomationSchemas. +// AutomationSource the source event types which evaluate the security automation set of rules. For example +// - security alerts and security assessments. To learn more about the supported security events data +// models schemas - please visit https://aka.ms/ASCAutomationSchemas. type AutomationSource struct { - // EventSource - A valid event source type. Possible values include: 'Assessments', 'SubAssessments', 'Alerts' + // EventSource - A valid event source type. Possible values include: 'Assessments', 'SubAssessments', 'Alerts', 'SecureScores', 'SecureScoreControls' EventSource EventSource `json:"eventSource,omitempty"` // RuleSets - A set of rules which evaluate upon event interception. A logical disjunction is applied between defined rule sets (logical 'or'). RuleSets *[]AutomationRuleSet `json:"ruleSets,omitempty"` } // AutomationTriggeringRule a rule which is evaluated upon event interception. The rule is configured by -// comparing a specific value from the event model to an expected value. This comparison is done by using one -// of the supported operators set. +// comparing a specific value from the event model to an expected value. This comparison is done by using +// one of the supported operators set. type AutomationTriggeringRule struct { // PropertyJPath - The JPath of the entity model property that should be checked. PropertyJPath *string `json:"propertyJPath,omitempty"` @@ -3733,7 +3755,8 @@ func (apsl AutoProvisioningSettingList) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } -// AutoProvisioningSettingListIterator provides access to a complete listing of AutoProvisioningSetting values. +// AutoProvisioningSettingListIterator provides access to a complete listing of AutoProvisioningSetting +// values. type AutoProvisioningSettingListIterator struct { i int page AutoProvisioningSettingListPage @@ -3876,8 +3899,11 @@ func (page AutoProvisioningSettingListPage) Values() []AutoProvisioningSetting { } // Creates a new instance of the AutoProvisioningSettingListPage type. -func NewAutoProvisioningSettingListPage(getNextPage func(context.Context, AutoProvisioningSettingList) (AutoProvisioningSettingList, error)) AutoProvisioningSettingListPage { - return AutoProvisioningSettingListPage{fn: getNextPage} +func NewAutoProvisioningSettingListPage(cur AutoProvisioningSettingList, getNextPage func(context.Context, AutoProvisioningSettingList) (AutoProvisioningSettingList, error)) AutoProvisioningSettingListPage { + return AutoProvisioningSettingListPage{ + fn: getNextPage, + apsl: cur, + } } // AutoProvisioningSettingProperties describes properties of an auto provisioning setting @@ -3886,10 +3912,11 @@ type AutoProvisioningSettingProperties struct { AutoProvision AutoProvision `json:"autoProvision,omitempty"` } -// AwAssumeRoleAuthenticationDetailsProperties AWS cloud account connector based assume role, the role enables -// delegating access to your AWS resources. The role is composed of role arn and external id, for more details, -// refer to Creating a -// Role to Delegate Permissions to an IAM User (write only) +// AwAssumeRoleAuthenticationDetailsProperties 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) type AwAssumeRoleAuthenticationDetailsProperties struct { // AccountID - READ-ONLY; The ID of the cloud account AccountID *string `json:"accountId,omitempty"` @@ -3946,10 +3973,10 @@ func (aaradp AwAssumeRoleAuthenticationDetailsProperties) AsBasicAuthenticationD return &aaradp, true } -// AwsCredsAuthenticationDetailsProperties 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) +// AwsCredsAuthenticationDetailsProperties 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) type AwsCredsAuthenticationDetailsProperties struct { // AccountID - READ-ONLY; The ID of the cloud account AccountID *string `json:"accountId,omitempty"` @@ -4066,6 +4093,33 @@ type AzureTrackedResourceLocation struct { Location *string `json:"location,omitempty"` } +// Baseline baseline details. +type Baseline struct { + // ExpectedResults - Expected results. + ExpectedResults *[][]string `json:"expectedResults,omitempty"` + // UpdatedTime - Baseline update time (UTC). + UpdatedTime *date.Time `json:"updatedTime,omitempty"` +} + +// BaselineAdjustedResult the rule result adjusted with baseline. +type BaselineAdjustedResult struct { + Baseline *Baseline `json:"baseline,omitempty"` + // Status - Possible values include: 'NonFinding', 'Finding', 'InternalError' + Status RuleStatus `json:"status,omitempty"` + // ResultsNotInBaseline - Results the are not in baseline. + ResultsNotInBaseline *[][]string `json:"resultsNotInBaseline,omitempty"` + // ResultsOnlyInBaseline - Results the are in baseline. + ResultsOnlyInBaseline *[][]string `json:"resultsOnlyInBaseline,omitempty"` +} + +// BenchmarkReference the benchmark references. +type BenchmarkReference struct { + // Benchmark - The benchmark name. + Benchmark *string `json:"benchmark,omitempty"` + // Reference - The benchmark reference. + Reference *string `json:"reference,omitempty"` +} + // CefExternalSecuritySolution represents a security solution which sends CEF logs to an OMS workspace type CefExternalSecuritySolution struct { Properties *CefSolutionProperties `json:"properties,omitempty"` @@ -4520,8 +4574,11 @@ func (page ComplianceListPage) Values() []Compliance { } // Creates a new instance of the ComplianceListPage type. -func NewComplianceListPage(getNextPage func(context.Context, ComplianceList) (ComplianceList, error)) ComplianceListPage { - return ComplianceListPage{fn: getNextPage} +func NewComplianceListPage(cur ComplianceList, getNextPage func(context.Context, ComplianceList) (ComplianceList, error)) ComplianceListPage { + return ComplianceListPage{ + fn: getNextPage, + cl: cur, + } } // ComplianceProperties the Compliance score (percentage) of a Subscription is a sum of all Resources' @@ -4584,7 +4641,7 @@ type ConnectionToIPNotAllowed struct { // IsEnabled - Status of the custom alert. IsEnabled *bool `json:"isEnabled,omitempty"` // RuleType - Possible values include: 'RuleTypeCustomAlertRule', 'RuleTypeThresholdCustomAlertRule', 'RuleTypeTimeWindowCustomAlertRule', 'RuleTypeAllowlistCustomAlertRule', 'RuleTypeDenylistCustomAlertRule', 'RuleTypeListCustomAlertRule', 'RuleTypeConnectionToIPNotAllowed', 'RuleTypeLocalUserNotAllowed', 'RuleTypeProcessNotAllowed', 'RuleTypeActiveConnectionsNotInAllowedRange', 'RuleTypeAmqpC2DMessagesNotInAllowedRange', 'RuleTypeMqttC2DMessagesNotInAllowedRange', 'RuleTypeHTTPC2DMessagesNotInAllowedRange', 'RuleTypeAmqpC2DRejectedMessagesNotInAllowedRange', 'RuleTypeMqttC2DRejectedMessagesNotInAllowedRange', 'RuleTypeHTTPC2DRejectedMessagesNotInAllowedRange', 'RuleTypeAmqpD2CMessagesNotInAllowedRange', 'RuleTypeMqttD2CMessagesNotInAllowedRange', 'RuleTypeHTTPD2CMessagesNotInAllowedRange', 'RuleTypeDirectMethodInvokesNotInAllowedRange', 'RuleTypeFailedLocalLoginsNotInAllowedRange', 'RuleTypeFileUploadsNotInAllowedRange', 'RuleTypeQueuePurgesNotInAllowedRange', 'RuleTypeTwinUpdatesNotInAllowedRange', 'RuleTypeUnauthorizedOperationsNotInAllowedRange' - RuleType RuleType `json:"ruleType,omitempty"` + RuleType RuleTypeBasicCustomAlertRule `json:"ruleType,omitempty"` } // MarshalJSON is the custom marshaler for ConnectionToIPNotAllowed. @@ -4987,13 +5044,16 @@ func (page ConnectorSettingListPage) Values() []ConnectorSetting { } // Creates a new instance of the ConnectorSettingListPage type. -func NewConnectorSettingListPage(getNextPage func(context.Context, ConnectorSettingList) (ConnectorSettingList, error)) ConnectorSettingListPage { - return ConnectorSettingListPage{fn: getNextPage} +func NewConnectorSettingListPage(cur ConnectorSettingList, getNextPage func(context.Context, ConnectorSettingList) (ConnectorSettingList, error)) ConnectorSettingListPage { + return ConnectorSettingListPage{ + fn: getNextPage, + csl: cur, + } } -// ConnectorSettingProperties describes properties of an connector setting +// ConnectorSettingProperties describes properties of a connector setting type ConnectorSettingProperties struct { - // HybridComputeSettings - Settings for hybrid compute management, these settings are relevant only Arc autoProvision (Hybrid Compute). + // HybridComputeSettings - Settings for hybrid compute management. These settings are relevant only for Arc autoProvision (Hybrid Compute). HybridComputeSettings *HybridComputeSettingsProperties `json:"hybridComputeSettings,omitempty"` // AuthenticationDetails - Settings for authentication management, these settings are relevant only for the cloud connector. AuthenticationDetails BasicAuthenticationDetailsProperties `json:"authenticationDetails,omitempty"` @@ -5256,8 +5316,11 @@ func (page ContactListPage) Values() []Contact { } // Creates a new instance of the ContactListPage type. -func NewContactListPage(getNextPage func(context.Context, ContactList) (ContactList, error)) ContactListPage { - return ContactListPage{fn: getNextPage} +func NewContactListPage(cur ContactList, getNextPage func(context.Context, ContactList) (ContactList, error)) ContactListPage { + return ContactListPage{ + fn: getNextPage, + cl: cur, + } } // ContactProperties describes security contact properties @@ -5372,7 +5435,7 @@ type CustomAlertRule struct { // IsEnabled - Status of the custom alert. IsEnabled *bool `json:"isEnabled,omitempty"` // RuleType - Possible values include: 'RuleTypeCustomAlertRule', 'RuleTypeThresholdCustomAlertRule', 'RuleTypeTimeWindowCustomAlertRule', 'RuleTypeAllowlistCustomAlertRule', 'RuleTypeDenylistCustomAlertRule', 'RuleTypeListCustomAlertRule', 'RuleTypeConnectionToIPNotAllowed', 'RuleTypeLocalUserNotAllowed', 'RuleTypeProcessNotAllowed', 'RuleTypeActiveConnectionsNotInAllowedRange', 'RuleTypeAmqpC2DMessagesNotInAllowedRange', 'RuleTypeMqttC2DMessagesNotInAllowedRange', 'RuleTypeHTTPC2DMessagesNotInAllowedRange', 'RuleTypeAmqpC2DRejectedMessagesNotInAllowedRange', 'RuleTypeMqttC2DRejectedMessagesNotInAllowedRange', 'RuleTypeHTTPC2DRejectedMessagesNotInAllowedRange', 'RuleTypeAmqpD2CMessagesNotInAllowedRange', 'RuleTypeMqttD2CMessagesNotInAllowedRange', 'RuleTypeHTTPD2CMessagesNotInAllowedRange', 'RuleTypeDirectMethodInvokesNotInAllowedRange', 'RuleTypeFailedLocalLoginsNotInAllowedRange', 'RuleTypeFileUploadsNotInAllowedRange', 'RuleTypeQueuePurgesNotInAllowedRange', 'RuleTypeTwinUpdatesNotInAllowedRange', 'RuleTypeUnauthorizedOperationsNotInAllowedRange' - RuleType RuleType `json:"ruleType,omitempty"` + RuleType RuleTypeBasicCustomAlertRule `json:"ruleType,omitempty"` } func unmarshalBasicCustomAlertRule(body []byte) (BasicCustomAlertRule, error) { @@ -5787,7 +5850,7 @@ type DenylistCustomAlertRule struct { // IsEnabled - Status of the custom alert. IsEnabled *bool `json:"isEnabled,omitempty"` // RuleType - Possible values include: 'RuleTypeCustomAlertRule', 'RuleTypeThresholdCustomAlertRule', 'RuleTypeTimeWindowCustomAlertRule', 'RuleTypeAllowlistCustomAlertRule', 'RuleTypeDenylistCustomAlertRule', 'RuleTypeListCustomAlertRule', 'RuleTypeConnectionToIPNotAllowed', 'RuleTypeLocalUserNotAllowed', 'RuleTypeProcessNotAllowed', 'RuleTypeActiveConnectionsNotInAllowedRange', 'RuleTypeAmqpC2DMessagesNotInAllowedRange', 'RuleTypeMqttC2DMessagesNotInAllowedRange', 'RuleTypeHTTPC2DMessagesNotInAllowedRange', 'RuleTypeAmqpC2DRejectedMessagesNotInAllowedRange', 'RuleTypeMqttC2DRejectedMessagesNotInAllowedRange', 'RuleTypeHTTPC2DRejectedMessagesNotInAllowedRange', 'RuleTypeAmqpD2CMessagesNotInAllowedRange', 'RuleTypeMqttD2CMessagesNotInAllowedRange', 'RuleTypeHTTPD2CMessagesNotInAllowedRange', 'RuleTypeDirectMethodInvokesNotInAllowedRange', 'RuleTypeFailedLocalLoginsNotInAllowedRange', 'RuleTypeFileUploadsNotInAllowedRange', 'RuleTypeQueuePurgesNotInAllowedRange', 'RuleTypeTwinUpdatesNotInAllowedRange', 'RuleTypeUnauthorizedOperationsNotInAllowedRange' - RuleType RuleType `json:"ruleType,omitempty"` + RuleType RuleTypeBasicCustomAlertRule `json:"ruleType,omitempty"` } // MarshalJSON is the custom marshaler for DenylistCustomAlertRule. @@ -6190,8 +6253,11 @@ func (page DeviceSecurityGroupListPage) Values() []DeviceSecurityGroup { } // Creates a new instance of the DeviceSecurityGroupListPage type. -func NewDeviceSecurityGroupListPage(getNextPage func(context.Context, DeviceSecurityGroupList) (DeviceSecurityGroupList, error)) DeviceSecurityGroupListPage { - return DeviceSecurityGroupListPage{fn: getNextPage} +func NewDeviceSecurityGroupListPage(cur DeviceSecurityGroupList, getNextPage func(context.Context, DeviceSecurityGroupList) (DeviceSecurityGroupList, error)) DeviceSecurityGroupListPage { + return DeviceSecurityGroupListPage{ + fn: getNextPage, + dsgl: cur, + } } // DeviceSecurityGroupProperties describes properties of a security group. @@ -6269,7 +6335,7 @@ type DirectMethodInvokesNotInAllowedRange struct { // IsEnabled - Status of the custom alert. IsEnabled *bool `json:"isEnabled,omitempty"` // RuleType - Possible values include: 'RuleTypeCustomAlertRule', 'RuleTypeThresholdCustomAlertRule', 'RuleTypeTimeWindowCustomAlertRule', 'RuleTypeAllowlistCustomAlertRule', 'RuleTypeDenylistCustomAlertRule', 'RuleTypeListCustomAlertRule', 'RuleTypeConnectionToIPNotAllowed', 'RuleTypeLocalUserNotAllowed', 'RuleTypeProcessNotAllowed', 'RuleTypeActiveConnectionsNotInAllowedRange', 'RuleTypeAmqpC2DMessagesNotInAllowedRange', 'RuleTypeMqttC2DMessagesNotInAllowedRange', 'RuleTypeHTTPC2DMessagesNotInAllowedRange', 'RuleTypeAmqpC2DRejectedMessagesNotInAllowedRange', 'RuleTypeMqttC2DRejectedMessagesNotInAllowedRange', 'RuleTypeHTTPC2DRejectedMessagesNotInAllowedRange', 'RuleTypeAmqpD2CMessagesNotInAllowedRange', 'RuleTypeMqttD2CMessagesNotInAllowedRange', 'RuleTypeHTTPD2CMessagesNotInAllowedRange', 'RuleTypeDirectMethodInvokesNotInAllowedRange', 'RuleTypeFailedLocalLoginsNotInAllowedRange', 'RuleTypeFileUploadsNotInAllowedRange', 'RuleTypeQueuePurgesNotInAllowedRange', 'RuleTypeTwinUpdatesNotInAllowedRange', 'RuleTypeUnauthorizedOperationsNotInAllowedRange' - RuleType RuleType `json:"ruleType,omitempty"` + RuleType RuleTypeBasicCustomAlertRule `json:"ruleType,omitempty"` } // MarshalJSON is the custom marshaler for DirectMethodInvokesNotInAllowedRange. @@ -6544,8 +6610,8 @@ func (dssl DiscoveredSecuritySolutionList) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } -// DiscoveredSecuritySolutionListIterator provides access to a complete listing of DiscoveredSecuritySolution -// values. +// DiscoveredSecuritySolutionListIterator provides access to a complete listing of +// DiscoveredSecuritySolution values. type DiscoveredSecuritySolutionListIterator struct { i int page DiscoveredSecuritySolutionListPage @@ -6688,8 +6754,11 @@ func (page DiscoveredSecuritySolutionListPage) Values() []DiscoveredSecuritySolu } // Creates a new instance of the DiscoveredSecuritySolutionListPage type. -func NewDiscoveredSecuritySolutionListPage(getNextPage func(context.Context, DiscoveredSecuritySolutionList) (DiscoveredSecuritySolutionList, error)) DiscoveredSecuritySolutionListPage { - return DiscoveredSecuritySolutionListPage{fn: getNextPage} +func NewDiscoveredSecuritySolutionListPage(cur DiscoveredSecuritySolutionList, getNextPage func(context.Context, DiscoveredSecuritySolutionList) (DiscoveredSecuritySolutionList, error)) DiscoveredSecuritySolutionListPage { + return DiscoveredSecuritySolutionListPage{ + fn: getNextPage, + dssl: cur, + } } // DiscoveredSecuritySolutionProperties ... @@ -7022,8 +7091,11 @@ func (page ExternalSecuritySolutionListPage) Values() []BasicExternalSecuritySol } // Creates a new instance of the ExternalSecuritySolutionListPage type. -func NewExternalSecuritySolutionListPage(getNextPage func(context.Context, ExternalSecuritySolutionList) (ExternalSecuritySolutionList, error)) ExternalSecuritySolutionListPage { - return ExternalSecuritySolutionListPage{fn: getNextPage} +func NewExternalSecuritySolutionListPage(cur ExternalSecuritySolutionList, getNextPage func(context.Context, ExternalSecuritySolutionList) (ExternalSecuritySolutionList, error)) ExternalSecuritySolutionListPage { + return ExternalSecuritySolutionListPage{ + fn: getNextPage, + essl: cur, + } } // ExternalSecuritySolutionModel ... @@ -7139,7 +7211,7 @@ type FailedLocalLoginsNotInAllowedRange struct { // IsEnabled - Status of the custom alert. IsEnabled *bool `json:"isEnabled,omitempty"` // RuleType - Possible values include: 'RuleTypeCustomAlertRule', 'RuleTypeThresholdCustomAlertRule', 'RuleTypeTimeWindowCustomAlertRule', 'RuleTypeAllowlistCustomAlertRule', 'RuleTypeDenylistCustomAlertRule', 'RuleTypeListCustomAlertRule', 'RuleTypeConnectionToIPNotAllowed', 'RuleTypeLocalUserNotAllowed', 'RuleTypeProcessNotAllowed', 'RuleTypeActiveConnectionsNotInAllowedRange', 'RuleTypeAmqpC2DMessagesNotInAllowedRange', 'RuleTypeMqttC2DMessagesNotInAllowedRange', 'RuleTypeHTTPC2DMessagesNotInAllowedRange', 'RuleTypeAmqpC2DRejectedMessagesNotInAllowedRange', 'RuleTypeMqttC2DRejectedMessagesNotInAllowedRange', 'RuleTypeHTTPC2DRejectedMessagesNotInAllowedRange', 'RuleTypeAmqpD2CMessagesNotInAllowedRange', 'RuleTypeMqttD2CMessagesNotInAllowedRange', 'RuleTypeHTTPD2CMessagesNotInAllowedRange', 'RuleTypeDirectMethodInvokesNotInAllowedRange', 'RuleTypeFailedLocalLoginsNotInAllowedRange', 'RuleTypeFileUploadsNotInAllowedRange', 'RuleTypeQueuePurgesNotInAllowedRange', 'RuleTypeTwinUpdatesNotInAllowedRange', 'RuleTypeUnauthorizedOperationsNotInAllowedRange' - RuleType RuleType `json:"ruleType,omitempty"` + RuleType RuleTypeBasicCustomAlertRule `json:"ruleType,omitempty"` } // MarshalJSON is the custom marshaler for FailedLocalLoginsNotInAllowedRange. @@ -7329,7 +7401,7 @@ type FileUploadsNotInAllowedRange struct { // IsEnabled - Status of the custom alert. IsEnabled *bool `json:"isEnabled,omitempty"` // RuleType - Possible values include: 'RuleTypeCustomAlertRule', 'RuleTypeThresholdCustomAlertRule', 'RuleTypeTimeWindowCustomAlertRule', 'RuleTypeAllowlistCustomAlertRule', 'RuleTypeDenylistCustomAlertRule', 'RuleTypeListCustomAlertRule', 'RuleTypeConnectionToIPNotAllowed', 'RuleTypeLocalUserNotAllowed', 'RuleTypeProcessNotAllowed', 'RuleTypeActiveConnectionsNotInAllowedRange', 'RuleTypeAmqpC2DMessagesNotInAllowedRange', 'RuleTypeMqttC2DMessagesNotInAllowedRange', 'RuleTypeHTTPC2DMessagesNotInAllowedRange', 'RuleTypeAmqpC2DRejectedMessagesNotInAllowedRange', 'RuleTypeMqttC2DRejectedMessagesNotInAllowedRange', 'RuleTypeHTTPC2DRejectedMessagesNotInAllowedRange', 'RuleTypeAmqpD2CMessagesNotInAllowedRange', 'RuleTypeMqttD2CMessagesNotInAllowedRange', 'RuleTypeHTTPD2CMessagesNotInAllowedRange', 'RuleTypeDirectMethodInvokesNotInAllowedRange', 'RuleTypeFailedLocalLoginsNotInAllowedRange', 'RuleTypeFileUploadsNotInAllowedRange', 'RuleTypeQueuePurgesNotInAllowedRange', 'RuleTypeTwinUpdatesNotInAllowedRange', 'RuleTypeUnauthorizedOperationsNotInAllowedRange' - RuleType RuleType `json:"ruleType,omitempty"` + RuleType RuleTypeBasicCustomAlertRule `json:"ruleType,omitempty"` } // MarshalJSON is the custom marshaler for FileUploadsNotInAllowedRange. @@ -7505,29 +7577,29 @@ func (funiar FileUploadsNotInAllowedRange) AsBasicCustomAlertRule() (BasicCustom } // GcpCredentialsDetailsProperties GCP cloud account connector based service to service credentials, the -// credentials is composed of organization id and json api key (write only) +// credentials are composed of the organization ID and a JSON API key (write only) type GcpCredentialsDetailsProperties struct { - // OrganizationID - The Organization ID of the GCP cloud account + // OrganizationID - The organization ID of the GCP cloud account OrganizationID *string `json:"organizationId,omitempty"` // Type - Type field of the API key (write only) Type *string `json:"type,omitempty"` - // ProjectID - Project Id field of the API key (write only) + // ProjectID - Project ID field of the API key (write only) ProjectID *string `json:"projectId,omitempty"` - // PrivateKeyID - Private key Id field of the API key (write only) + // PrivateKeyID - Private key ID field of the API key (write only) PrivateKeyID *string `json:"privateKeyId,omitempty"` // PrivateKey - Private key field of the API key (write only) PrivateKey *string `json:"privateKey,omitempty"` // ClientEmail - Client email field of the API key (write only) ClientEmail *string `json:"clientEmail,omitempty"` - // ClientID - Client Id field of the API key (write only) + // ClientID - Client ID field of the API key (write only) ClientID *string `json:"clientId,omitempty"` - // AuthURI - Auth Uri field of the API key (write only) + // AuthURI - Auth URI field of the API key (write only) AuthURI *string `json:"authUri,omitempty"` - // TokenURI - Token Uri field of the API key (write only) + // TokenURI - Token URI field of the API key (write only) TokenURI *string `json:"tokenUri,omitempty"` - // AuthProviderX509CertURL - Auth provider x509 certificate url field of the API key (write only) + // AuthProviderX509CertURL - Auth provider x509 certificate URL field of the API key (write only) AuthProviderX509CertURL *string `json:"authProviderX509CertUrl,omitempty"` - // ClientX509CertURL - Client x509 certificate url field of the API key (write only) + // ClientX509CertURL - Client x509 certificate URL field of the API key (write only) ClientX509CertURL *string `json:"clientX509CertUrl,omitempty"` // AuthenticationProvisioningState - READ-ONLY; State of the multi-cloud connector. Possible values include: 'Valid', 'Invalid', 'Expired', 'IncorrectPolicy' AuthenticationProvisioningState AuthenticationProvisioningState `json:"authenticationProvisioningState,omitempty"` @@ -7605,7 +7677,8 @@ func (gcdp GcpCredentialsDetailsProperties) AsBasicAuthenticationDetailsProperti return &gcdp, true } -// HTTPC2DMessagesNotInAllowedRange number of cloud to device messages (HTTP protocol) is not in allowed range. +// HTTPC2DMessagesNotInAllowedRange number of cloud to device messages (HTTP protocol) is not in allowed +// range. type HTTPC2DMessagesNotInAllowedRange struct { // TimeWindowSize - The time window size in iso8601 format. TimeWindowSize *string `json:"timeWindowSize,omitempty"` @@ -7620,7 +7693,7 @@ type HTTPC2DMessagesNotInAllowedRange struct { // IsEnabled - Status of the custom alert. IsEnabled *bool `json:"isEnabled,omitempty"` // RuleType - Possible values include: 'RuleTypeCustomAlertRule', 'RuleTypeThresholdCustomAlertRule', 'RuleTypeTimeWindowCustomAlertRule', 'RuleTypeAllowlistCustomAlertRule', 'RuleTypeDenylistCustomAlertRule', 'RuleTypeListCustomAlertRule', 'RuleTypeConnectionToIPNotAllowed', 'RuleTypeLocalUserNotAllowed', 'RuleTypeProcessNotAllowed', 'RuleTypeActiveConnectionsNotInAllowedRange', 'RuleTypeAmqpC2DMessagesNotInAllowedRange', 'RuleTypeMqttC2DMessagesNotInAllowedRange', 'RuleTypeHTTPC2DMessagesNotInAllowedRange', 'RuleTypeAmqpC2DRejectedMessagesNotInAllowedRange', 'RuleTypeMqttC2DRejectedMessagesNotInAllowedRange', 'RuleTypeHTTPC2DRejectedMessagesNotInAllowedRange', 'RuleTypeAmqpD2CMessagesNotInAllowedRange', 'RuleTypeMqttD2CMessagesNotInAllowedRange', 'RuleTypeHTTPD2CMessagesNotInAllowedRange', 'RuleTypeDirectMethodInvokesNotInAllowedRange', 'RuleTypeFailedLocalLoginsNotInAllowedRange', 'RuleTypeFileUploadsNotInAllowedRange', 'RuleTypeQueuePurgesNotInAllowedRange', 'RuleTypeTwinUpdatesNotInAllowedRange', 'RuleTypeUnauthorizedOperationsNotInAllowedRange' - RuleType RuleType `json:"ruleType,omitempty"` + RuleType RuleTypeBasicCustomAlertRule `json:"ruleType,omitempty"` } // MarshalJSON is the custom marshaler for HTTPC2DMessagesNotInAllowedRange. @@ -7795,8 +7868,8 @@ func (hcmniar HTTPC2DMessagesNotInAllowedRange) AsBasicCustomAlertRule() (BasicC return &hcmniar, true } -// HTTPC2DRejectedMessagesNotInAllowedRange number of rejected cloud to device messages (HTTP protocol) is not -// in allowed range. +// HTTPC2DRejectedMessagesNotInAllowedRange number of rejected cloud to device messages (HTTP protocol) is +// not in allowed range. type HTTPC2DRejectedMessagesNotInAllowedRange struct { // TimeWindowSize - The time window size in iso8601 format. TimeWindowSize *string `json:"timeWindowSize,omitempty"` @@ -7811,7 +7884,7 @@ type HTTPC2DRejectedMessagesNotInAllowedRange struct { // IsEnabled - Status of the custom alert. IsEnabled *bool `json:"isEnabled,omitempty"` // RuleType - Possible values include: 'RuleTypeCustomAlertRule', 'RuleTypeThresholdCustomAlertRule', 'RuleTypeTimeWindowCustomAlertRule', 'RuleTypeAllowlistCustomAlertRule', 'RuleTypeDenylistCustomAlertRule', 'RuleTypeListCustomAlertRule', 'RuleTypeConnectionToIPNotAllowed', 'RuleTypeLocalUserNotAllowed', 'RuleTypeProcessNotAllowed', 'RuleTypeActiveConnectionsNotInAllowedRange', 'RuleTypeAmqpC2DMessagesNotInAllowedRange', 'RuleTypeMqttC2DMessagesNotInAllowedRange', 'RuleTypeHTTPC2DMessagesNotInAllowedRange', 'RuleTypeAmqpC2DRejectedMessagesNotInAllowedRange', 'RuleTypeMqttC2DRejectedMessagesNotInAllowedRange', 'RuleTypeHTTPC2DRejectedMessagesNotInAllowedRange', 'RuleTypeAmqpD2CMessagesNotInAllowedRange', 'RuleTypeMqttD2CMessagesNotInAllowedRange', 'RuleTypeHTTPD2CMessagesNotInAllowedRange', 'RuleTypeDirectMethodInvokesNotInAllowedRange', 'RuleTypeFailedLocalLoginsNotInAllowedRange', 'RuleTypeFileUploadsNotInAllowedRange', 'RuleTypeQueuePurgesNotInAllowedRange', 'RuleTypeTwinUpdatesNotInAllowedRange', 'RuleTypeUnauthorizedOperationsNotInAllowedRange' - RuleType RuleType `json:"ruleType,omitempty"` + RuleType RuleTypeBasicCustomAlertRule `json:"ruleType,omitempty"` } // MarshalJSON is the custom marshaler for HTTPC2DRejectedMessagesNotInAllowedRange. @@ -7986,7 +8059,8 @@ func (hcrmniar HTTPC2DRejectedMessagesNotInAllowedRange) AsBasicCustomAlertRule( return &hcrmniar, true } -// HTTPD2CMessagesNotInAllowedRange number of device to cloud messages (HTTP protocol) is not in allowed range. +// HTTPD2CMessagesNotInAllowedRange number of device to cloud messages (HTTP protocol) is not in allowed +// range. type HTTPD2CMessagesNotInAllowedRange struct { // TimeWindowSize - The time window size in iso8601 format. TimeWindowSize *string `json:"timeWindowSize,omitempty"` @@ -8001,7 +8075,7 @@ type HTTPD2CMessagesNotInAllowedRange struct { // IsEnabled - Status of the custom alert. IsEnabled *bool `json:"isEnabled,omitempty"` // RuleType - Possible values include: 'RuleTypeCustomAlertRule', 'RuleTypeThresholdCustomAlertRule', 'RuleTypeTimeWindowCustomAlertRule', 'RuleTypeAllowlistCustomAlertRule', 'RuleTypeDenylistCustomAlertRule', 'RuleTypeListCustomAlertRule', 'RuleTypeConnectionToIPNotAllowed', 'RuleTypeLocalUserNotAllowed', 'RuleTypeProcessNotAllowed', 'RuleTypeActiveConnectionsNotInAllowedRange', 'RuleTypeAmqpC2DMessagesNotInAllowedRange', 'RuleTypeMqttC2DMessagesNotInAllowedRange', 'RuleTypeHTTPC2DMessagesNotInAllowedRange', 'RuleTypeAmqpC2DRejectedMessagesNotInAllowedRange', 'RuleTypeMqttC2DRejectedMessagesNotInAllowedRange', 'RuleTypeHTTPC2DRejectedMessagesNotInAllowedRange', 'RuleTypeAmqpD2CMessagesNotInAllowedRange', 'RuleTypeMqttD2CMessagesNotInAllowedRange', 'RuleTypeHTTPD2CMessagesNotInAllowedRange', 'RuleTypeDirectMethodInvokesNotInAllowedRange', 'RuleTypeFailedLocalLoginsNotInAllowedRange', 'RuleTypeFileUploadsNotInAllowedRange', 'RuleTypeQueuePurgesNotInAllowedRange', 'RuleTypeTwinUpdatesNotInAllowedRange', 'RuleTypeUnauthorizedOperationsNotInAllowedRange' - RuleType RuleType `json:"ruleType,omitempty"` + RuleType RuleTypeBasicCustomAlertRule `json:"ruleType,omitempty"` } // MarshalJSON is the custom marshaler for HTTPD2CMessagesNotInAllowedRange. @@ -8184,7 +8258,7 @@ type HybridComputeSettingsProperties struct { AutoProvision AutoProvision `json:"autoProvision,omitempty"` // ResourceGroupName - The name of the resource group where Arc (Hybrid Compute) connectors are connected. ResourceGroupName *string `json:"resourceGroupName,omitempty"` - // Region - The location where the meta data of machines will be stored + // Region - The location where the metadata of machines will be stored Region *string `json:"region,omitempty"` // ProxyServer - For a non-Azure machine that is not connected directly to the internet, specify a proxy server that the non-Azure machine can use. ProxyServer *ProxyServerProperties `json:"proxyServer,omitempty"` @@ -8316,8 +8390,8 @@ func (ippl InformationProtectionPolicyList) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } -// InformationProtectionPolicyListIterator provides access to a complete listing of InformationProtectionPolicy -// values. +// InformationProtectionPolicyListIterator provides access to a complete listing of +// InformationProtectionPolicy values. type InformationProtectionPolicyListIterator struct { i int page InformationProtectionPolicyListPage @@ -8460,8 +8534,11 @@ func (page InformationProtectionPolicyListPage) Values() []InformationProtection } // Creates a new instance of the InformationProtectionPolicyListPage type. -func NewInformationProtectionPolicyListPage(getNextPage func(context.Context, InformationProtectionPolicyList) (InformationProtectionPolicyList, error)) InformationProtectionPolicyListPage { - return InformationProtectionPolicyListPage{fn: getNextPage} +func NewInformationProtectionPolicyListPage(cur InformationProtectionPolicyList, getNextPage func(context.Context, InformationProtectionPolicyList) (InformationProtectionPolicyList, error)) InformationProtectionPolicyListPage { + return InformationProtectionPolicyListPage{ + fn: getNextPage, + ippl: cur, + } } // InformationProtectionPolicyProperties describes properties of an information protection policy. @@ -8523,7 +8600,8 @@ func (jnapl JitNetworkAccessPoliciesList) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } -// JitNetworkAccessPoliciesListIterator provides access to a complete listing of JitNetworkAccessPolicy values. +// JitNetworkAccessPoliciesListIterator provides access to a complete listing of JitNetworkAccessPolicy +// values. type JitNetworkAccessPoliciesListIterator struct { i int page JitNetworkAccessPoliciesListPage @@ -8666,8 +8744,11 @@ func (page JitNetworkAccessPoliciesListPage) Values() []JitNetworkAccessPolicy { } // Creates a new instance of the JitNetworkAccessPoliciesListPage type. -func NewJitNetworkAccessPoliciesListPage(getNextPage func(context.Context, JitNetworkAccessPoliciesList) (JitNetworkAccessPoliciesList, error)) JitNetworkAccessPoliciesListPage { - return JitNetworkAccessPoliciesListPage{fn: getNextPage} +func NewJitNetworkAccessPoliciesListPage(cur JitNetworkAccessPoliciesList, getNextPage func(context.Context, JitNetworkAccessPoliciesList) (JitNetworkAccessPoliciesList, error)) JitNetworkAccessPoliciesListPage { + return JitNetworkAccessPoliciesListPage{ + fn: getNextPage, + jnapl: cur, + } } // JitNetworkAccessPolicy ... @@ -8901,7 +8982,7 @@ type ListCustomAlertRule struct { // IsEnabled - Status of the custom alert. IsEnabled *bool `json:"isEnabled,omitempty"` // RuleType - Possible values include: 'RuleTypeCustomAlertRule', 'RuleTypeThresholdCustomAlertRule', 'RuleTypeTimeWindowCustomAlertRule', 'RuleTypeAllowlistCustomAlertRule', 'RuleTypeDenylistCustomAlertRule', 'RuleTypeListCustomAlertRule', 'RuleTypeConnectionToIPNotAllowed', 'RuleTypeLocalUserNotAllowed', 'RuleTypeProcessNotAllowed', 'RuleTypeActiveConnectionsNotInAllowedRange', 'RuleTypeAmqpC2DMessagesNotInAllowedRange', 'RuleTypeMqttC2DMessagesNotInAllowedRange', 'RuleTypeHTTPC2DMessagesNotInAllowedRange', 'RuleTypeAmqpC2DRejectedMessagesNotInAllowedRange', 'RuleTypeMqttC2DRejectedMessagesNotInAllowedRange', 'RuleTypeHTTPC2DRejectedMessagesNotInAllowedRange', 'RuleTypeAmqpD2CMessagesNotInAllowedRange', 'RuleTypeMqttD2CMessagesNotInAllowedRange', 'RuleTypeHTTPD2CMessagesNotInAllowedRange', 'RuleTypeDirectMethodInvokesNotInAllowedRange', 'RuleTypeFailedLocalLoginsNotInAllowedRange', 'RuleTypeFileUploadsNotInAllowedRange', 'RuleTypeQueuePurgesNotInAllowedRange', 'RuleTypeTwinUpdatesNotInAllowedRange', 'RuleTypeUnauthorizedOperationsNotInAllowedRange' - RuleType RuleType `json:"ruleType,omitempty"` + RuleType RuleTypeBasicCustomAlertRule `json:"ruleType,omitempty"` } func unmarshalBasicListCustomAlertRule(body []byte) (BasicListCustomAlertRule, error) { @@ -9120,7 +9201,8 @@ func (lcar ListCustomAlertRule) AsBasicCustomAlertRule() (BasicCustomAlertRule, return &lcar, true } -// LocalUserNotAllowed login by a local user that isn't allowed. Allow list consists of login names to allow. +// LocalUserNotAllowed login by a local user that isn't allowed. Allow list consists of login names to +// allow. type LocalUserNotAllowed struct { // AllowlistValues - The values to allow. The format of the values depends on the rule type. AllowlistValues *[]string `json:"allowlistValues,omitempty"` @@ -9133,7 +9215,7 @@ type LocalUserNotAllowed struct { // IsEnabled - Status of the custom alert. IsEnabled *bool `json:"isEnabled,omitempty"` // RuleType - Possible values include: 'RuleTypeCustomAlertRule', 'RuleTypeThresholdCustomAlertRule', 'RuleTypeTimeWindowCustomAlertRule', 'RuleTypeAllowlistCustomAlertRule', 'RuleTypeDenylistCustomAlertRule', 'RuleTypeListCustomAlertRule', 'RuleTypeConnectionToIPNotAllowed', 'RuleTypeLocalUserNotAllowed', 'RuleTypeProcessNotAllowed', 'RuleTypeActiveConnectionsNotInAllowedRange', 'RuleTypeAmqpC2DMessagesNotInAllowedRange', 'RuleTypeMqttC2DMessagesNotInAllowedRange', 'RuleTypeHTTPC2DMessagesNotInAllowedRange', 'RuleTypeAmqpC2DRejectedMessagesNotInAllowedRange', 'RuleTypeMqttC2DRejectedMessagesNotInAllowedRange', 'RuleTypeHTTPC2DRejectedMessagesNotInAllowedRange', 'RuleTypeAmqpD2CMessagesNotInAllowedRange', 'RuleTypeMqttD2CMessagesNotInAllowedRange', 'RuleTypeHTTPD2CMessagesNotInAllowedRange', 'RuleTypeDirectMethodInvokesNotInAllowedRange', 'RuleTypeFailedLocalLoginsNotInAllowedRange', 'RuleTypeFileUploadsNotInAllowedRange', 'RuleTypeQueuePurgesNotInAllowedRange', 'RuleTypeTwinUpdatesNotInAllowedRange', 'RuleTypeUnauthorizedOperationsNotInAllowedRange' - RuleType RuleType `json:"ruleType,omitempty"` + RuleType RuleTypeBasicCustomAlertRule `json:"ruleType,omitempty"` } // MarshalJSON is the custom marshaler for LocalUserNotAllowed. @@ -9308,7 +9390,8 @@ type Location struct { Location *string `json:"location,omitempty"` } -// MqttC2DMessagesNotInAllowedRange number of cloud to device messages (MQTT protocol) is not in allowed range. +// MqttC2DMessagesNotInAllowedRange number of cloud to device messages (MQTT protocol) is not in allowed +// range. type MqttC2DMessagesNotInAllowedRange struct { // TimeWindowSize - The time window size in iso8601 format. TimeWindowSize *string `json:"timeWindowSize,omitempty"` @@ -9323,7 +9406,7 @@ type MqttC2DMessagesNotInAllowedRange struct { // IsEnabled - Status of the custom alert. IsEnabled *bool `json:"isEnabled,omitempty"` // RuleType - Possible values include: 'RuleTypeCustomAlertRule', 'RuleTypeThresholdCustomAlertRule', 'RuleTypeTimeWindowCustomAlertRule', 'RuleTypeAllowlistCustomAlertRule', 'RuleTypeDenylistCustomAlertRule', 'RuleTypeListCustomAlertRule', 'RuleTypeConnectionToIPNotAllowed', 'RuleTypeLocalUserNotAllowed', 'RuleTypeProcessNotAllowed', 'RuleTypeActiveConnectionsNotInAllowedRange', 'RuleTypeAmqpC2DMessagesNotInAllowedRange', 'RuleTypeMqttC2DMessagesNotInAllowedRange', 'RuleTypeHTTPC2DMessagesNotInAllowedRange', 'RuleTypeAmqpC2DRejectedMessagesNotInAllowedRange', 'RuleTypeMqttC2DRejectedMessagesNotInAllowedRange', 'RuleTypeHTTPC2DRejectedMessagesNotInAllowedRange', 'RuleTypeAmqpD2CMessagesNotInAllowedRange', 'RuleTypeMqttD2CMessagesNotInAllowedRange', 'RuleTypeHTTPD2CMessagesNotInAllowedRange', 'RuleTypeDirectMethodInvokesNotInAllowedRange', 'RuleTypeFailedLocalLoginsNotInAllowedRange', 'RuleTypeFileUploadsNotInAllowedRange', 'RuleTypeQueuePurgesNotInAllowedRange', 'RuleTypeTwinUpdatesNotInAllowedRange', 'RuleTypeUnauthorizedOperationsNotInAllowedRange' - RuleType RuleType `json:"ruleType,omitempty"` + RuleType RuleTypeBasicCustomAlertRule `json:"ruleType,omitempty"` } // MarshalJSON is the custom marshaler for MqttC2DMessagesNotInAllowedRange. @@ -9498,8 +9581,8 @@ func (mcmniar MqttC2DMessagesNotInAllowedRange) AsBasicCustomAlertRule() (BasicC return &mcmniar, true } -// MqttC2DRejectedMessagesNotInAllowedRange number of rejected cloud to device messages (MQTT protocol) is not -// in allowed range. +// MqttC2DRejectedMessagesNotInAllowedRange number of rejected cloud to device messages (MQTT protocol) is +// not in allowed range. type MqttC2DRejectedMessagesNotInAllowedRange struct { // TimeWindowSize - The time window size in iso8601 format. TimeWindowSize *string `json:"timeWindowSize,omitempty"` @@ -9514,7 +9597,7 @@ type MqttC2DRejectedMessagesNotInAllowedRange struct { // IsEnabled - Status of the custom alert. IsEnabled *bool `json:"isEnabled,omitempty"` // RuleType - Possible values include: 'RuleTypeCustomAlertRule', 'RuleTypeThresholdCustomAlertRule', 'RuleTypeTimeWindowCustomAlertRule', 'RuleTypeAllowlistCustomAlertRule', 'RuleTypeDenylistCustomAlertRule', 'RuleTypeListCustomAlertRule', 'RuleTypeConnectionToIPNotAllowed', 'RuleTypeLocalUserNotAllowed', 'RuleTypeProcessNotAllowed', 'RuleTypeActiveConnectionsNotInAllowedRange', 'RuleTypeAmqpC2DMessagesNotInAllowedRange', 'RuleTypeMqttC2DMessagesNotInAllowedRange', 'RuleTypeHTTPC2DMessagesNotInAllowedRange', 'RuleTypeAmqpC2DRejectedMessagesNotInAllowedRange', 'RuleTypeMqttC2DRejectedMessagesNotInAllowedRange', 'RuleTypeHTTPC2DRejectedMessagesNotInAllowedRange', 'RuleTypeAmqpD2CMessagesNotInAllowedRange', 'RuleTypeMqttD2CMessagesNotInAllowedRange', 'RuleTypeHTTPD2CMessagesNotInAllowedRange', 'RuleTypeDirectMethodInvokesNotInAllowedRange', 'RuleTypeFailedLocalLoginsNotInAllowedRange', 'RuleTypeFileUploadsNotInAllowedRange', 'RuleTypeQueuePurgesNotInAllowedRange', 'RuleTypeTwinUpdatesNotInAllowedRange', 'RuleTypeUnauthorizedOperationsNotInAllowedRange' - RuleType RuleType `json:"ruleType,omitempty"` + RuleType RuleTypeBasicCustomAlertRule `json:"ruleType,omitempty"` } // MarshalJSON is the custom marshaler for MqttC2DRejectedMessagesNotInAllowedRange. @@ -9689,7 +9772,8 @@ func (mcrmniar MqttC2DRejectedMessagesNotInAllowedRange) AsBasicCustomAlertRule( return &mcrmniar, true } -// MqttD2CMessagesNotInAllowedRange number of device to cloud messages (MQTT protocol) is not in allowed range. +// MqttD2CMessagesNotInAllowedRange number of device to cloud messages (MQTT protocol) is not in allowed +// range. type MqttD2CMessagesNotInAllowedRange struct { // TimeWindowSize - The time window size in iso8601 format. TimeWindowSize *string `json:"timeWindowSize,omitempty"` @@ -9704,7 +9788,7 @@ type MqttD2CMessagesNotInAllowedRange struct { // IsEnabled - Status of the custom alert. IsEnabled *bool `json:"isEnabled,omitempty"` // RuleType - Possible values include: 'RuleTypeCustomAlertRule', 'RuleTypeThresholdCustomAlertRule', 'RuleTypeTimeWindowCustomAlertRule', 'RuleTypeAllowlistCustomAlertRule', 'RuleTypeDenylistCustomAlertRule', 'RuleTypeListCustomAlertRule', 'RuleTypeConnectionToIPNotAllowed', 'RuleTypeLocalUserNotAllowed', 'RuleTypeProcessNotAllowed', 'RuleTypeActiveConnectionsNotInAllowedRange', 'RuleTypeAmqpC2DMessagesNotInAllowedRange', 'RuleTypeMqttC2DMessagesNotInAllowedRange', 'RuleTypeHTTPC2DMessagesNotInAllowedRange', 'RuleTypeAmqpC2DRejectedMessagesNotInAllowedRange', 'RuleTypeMqttC2DRejectedMessagesNotInAllowedRange', 'RuleTypeHTTPC2DRejectedMessagesNotInAllowedRange', 'RuleTypeAmqpD2CMessagesNotInAllowedRange', 'RuleTypeMqttD2CMessagesNotInAllowedRange', 'RuleTypeHTTPD2CMessagesNotInAllowedRange', 'RuleTypeDirectMethodInvokesNotInAllowedRange', 'RuleTypeFailedLocalLoginsNotInAllowedRange', 'RuleTypeFileUploadsNotInAllowedRange', 'RuleTypeQueuePurgesNotInAllowedRange', 'RuleTypeTwinUpdatesNotInAllowedRange', 'RuleTypeUnauthorizedOperationsNotInAllowedRange' - RuleType RuleType `json:"ruleType,omitempty"` + RuleType RuleTypeBasicCustomAlertRule `json:"ruleType,omitempty"` } // MarshalJSON is the custom marshaler for MqttD2CMessagesNotInAllowedRange. @@ -10255,8 +10339,11 @@ func (page OperationListPage) Values() []Operation { } // Creates a new instance of the OperationListPage type. -func NewOperationListPage(getNextPage func(context.Context, OperationList) (OperationList, error)) OperationListPage { - return OperationListPage{fn: getNextPage} +func NewOperationListPage(cur OperationList, getNextPage func(context.Context, OperationList) (OperationList, error)) OperationListPage { + return OperationListPage{ + fn: getNextPage, + ol: cur, + } } // PathRecommendation represents a path that is recommended to be allowed and its properties @@ -10512,8 +10599,11 @@ func (page PricingListPage) Values() []Pricing { } // Creates a new instance of the PricingListPage type. -func NewPricingListPage(getNextPage func(context.Context, PricingList) (PricingList, error)) PricingListPage { - return PricingListPage{fn: getNextPage} +func NewPricingListPage(cur PricingList, getNextPage func(context.Context, PricingList) (PricingList, error)) PricingListPage { + return PricingListPage{ + fn: getNextPage, + pl: cur, + } } // PricingProperties pricing data @@ -10522,7 +10612,8 @@ type PricingProperties struct { PricingTier PricingTier `json:"pricingTier,omitempty"` } -// ProcessNotAllowed execution of a process that isn't allowed. Allow list consists of process names to allow. +// ProcessNotAllowed execution of a process that isn't allowed. Allow list consists of process names to +// allow. type ProcessNotAllowed struct { // AllowlistValues - The values to allow. The format of the values depends on the rule type. AllowlistValues *[]string `json:"allowlistValues,omitempty"` @@ -10535,7 +10626,7 @@ type ProcessNotAllowed struct { // IsEnabled - Status of the custom alert. IsEnabled *bool `json:"isEnabled,omitempty"` // RuleType - Possible values include: 'RuleTypeCustomAlertRule', 'RuleTypeThresholdCustomAlertRule', 'RuleTypeTimeWindowCustomAlertRule', 'RuleTypeAllowlistCustomAlertRule', 'RuleTypeDenylistCustomAlertRule', 'RuleTypeListCustomAlertRule', 'RuleTypeConnectionToIPNotAllowed', 'RuleTypeLocalUserNotAllowed', 'RuleTypeProcessNotAllowed', 'RuleTypeActiveConnectionsNotInAllowedRange', 'RuleTypeAmqpC2DMessagesNotInAllowedRange', 'RuleTypeMqttC2DMessagesNotInAllowedRange', 'RuleTypeHTTPC2DMessagesNotInAllowedRange', 'RuleTypeAmqpC2DRejectedMessagesNotInAllowedRange', 'RuleTypeMqttC2DRejectedMessagesNotInAllowedRange', 'RuleTypeHTTPC2DRejectedMessagesNotInAllowedRange', 'RuleTypeAmqpD2CMessagesNotInAllowedRange', 'RuleTypeMqttD2CMessagesNotInAllowedRange', 'RuleTypeHTTPD2CMessagesNotInAllowedRange', 'RuleTypeDirectMethodInvokesNotInAllowedRange', 'RuleTypeFailedLocalLoginsNotInAllowedRange', 'RuleTypeFileUploadsNotInAllowedRange', 'RuleTypeQueuePurgesNotInAllowedRange', 'RuleTypeTwinUpdatesNotInAllowedRange', 'RuleTypeUnauthorizedOperationsNotInAllowedRange' - RuleType RuleType `json:"ruleType,omitempty"` + RuleType RuleTypeBasicCustomAlertRule `json:"ruleType,omitempty"` } // MarshalJSON is the custom marshaler for ProcessNotAllowed. @@ -10738,6 +10829,16 @@ type PublisherInfo struct { Version *string `json:"version,omitempty"` } +// QueryCheck the rule query details. +type QueryCheck struct { + // Query - The rule query. + Query *string `json:"query,omitempty"` + // ExpectedResult - Expected result. + ExpectedResult *[][]string `json:"expectedResult,omitempty"` + // ColumnNames - Column names of expected result. + ColumnNames *[]string `json:"columnNames,omitempty"` +} + // QueuePurgesNotInAllowedRange number of device queue purges is not in allowed range. type QueuePurgesNotInAllowedRange struct { // TimeWindowSize - The time window size in iso8601 format. @@ -10753,7 +10854,7 @@ type QueuePurgesNotInAllowedRange struct { // IsEnabled - Status of the custom alert. IsEnabled *bool `json:"isEnabled,omitempty"` // RuleType - Possible values include: 'RuleTypeCustomAlertRule', 'RuleTypeThresholdCustomAlertRule', 'RuleTypeTimeWindowCustomAlertRule', 'RuleTypeAllowlistCustomAlertRule', 'RuleTypeDenylistCustomAlertRule', 'RuleTypeListCustomAlertRule', 'RuleTypeConnectionToIPNotAllowed', 'RuleTypeLocalUserNotAllowed', 'RuleTypeProcessNotAllowed', 'RuleTypeActiveConnectionsNotInAllowedRange', 'RuleTypeAmqpC2DMessagesNotInAllowedRange', 'RuleTypeMqttC2DMessagesNotInAllowedRange', 'RuleTypeHTTPC2DMessagesNotInAllowedRange', 'RuleTypeAmqpC2DRejectedMessagesNotInAllowedRange', 'RuleTypeMqttC2DRejectedMessagesNotInAllowedRange', 'RuleTypeHTTPC2DRejectedMessagesNotInAllowedRange', 'RuleTypeAmqpD2CMessagesNotInAllowedRange', 'RuleTypeMqttD2CMessagesNotInAllowedRange', 'RuleTypeHTTPD2CMessagesNotInAllowedRange', 'RuleTypeDirectMethodInvokesNotInAllowedRange', 'RuleTypeFailedLocalLoginsNotInAllowedRange', 'RuleTypeFileUploadsNotInAllowedRange', 'RuleTypeQueuePurgesNotInAllowedRange', 'RuleTypeTwinUpdatesNotInAllowedRange', 'RuleTypeUnauthorizedOperationsNotInAllowedRange' - RuleType RuleType `json:"ruleType,omitempty"` + RuleType RuleTypeBasicCustomAlertRule `json:"ruleType,omitempty"` } // MarshalJSON is the custom marshaler for QueuePurgesNotInAllowedRange. @@ -11162,8 +11263,11 @@ func (page RegulatoryComplianceAssessmentListPage) Values() []RegulatoryComplian } // Creates a new instance of the RegulatoryComplianceAssessmentListPage type. -func NewRegulatoryComplianceAssessmentListPage(getNextPage func(context.Context, RegulatoryComplianceAssessmentList) (RegulatoryComplianceAssessmentList, error)) RegulatoryComplianceAssessmentListPage { - return RegulatoryComplianceAssessmentListPage{fn: getNextPage} +func NewRegulatoryComplianceAssessmentListPage(cur RegulatoryComplianceAssessmentList, getNextPage func(context.Context, RegulatoryComplianceAssessmentList) (RegulatoryComplianceAssessmentList, error)) RegulatoryComplianceAssessmentListPage { + return RegulatoryComplianceAssessmentListPage{ + fn: getNextPage, + rcal: cur, + } } // RegulatoryComplianceAssessmentProperties regulatory compliance assessment data @@ -11286,8 +11390,8 @@ func (rccl RegulatoryComplianceControlList) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } -// RegulatoryComplianceControlListIterator provides access to a complete listing of RegulatoryComplianceControl -// values. +// RegulatoryComplianceControlListIterator provides access to a complete listing of +// RegulatoryComplianceControl values. type RegulatoryComplianceControlListIterator struct { i int page RegulatoryComplianceControlListPage @@ -11430,8 +11534,11 @@ func (page RegulatoryComplianceControlListPage) Values() []RegulatoryComplianceC } // Creates a new instance of the RegulatoryComplianceControlListPage type. -func NewRegulatoryComplianceControlListPage(getNextPage func(context.Context, RegulatoryComplianceControlList) (RegulatoryComplianceControlList, error)) RegulatoryComplianceControlListPage { - return RegulatoryComplianceControlListPage{fn: getNextPage} +func NewRegulatoryComplianceControlListPage(cur RegulatoryComplianceControlList, getNextPage func(context.Context, RegulatoryComplianceControlList) (RegulatoryComplianceControlList, error)) RegulatoryComplianceControlListPage { + return RegulatoryComplianceControlListPage{ + fn: getNextPage, + rccl: cur, + } } // RegulatoryComplianceControlProperties regulatory compliance control data @@ -11691,8 +11798,11 @@ func (page RegulatoryComplianceStandardListPage) Values() []RegulatoryCompliance } // Creates a new instance of the RegulatoryComplianceStandardListPage type. -func NewRegulatoryComplianceStandardListPage(getNextPage func(context.Context, RegulatoryComplianceStandardList) (RegulatoryComplianceStandardList, error)) RegulatoryComplianceStandardListPage { - return RegulatoryComplianceStandardListPage{fn: getNextPage} +func NewRegulatoryComplianceStandardListPage(cur RegulatoryComplianceStandardList, getNextPage func(context.Context, RegulatoryComplianceStandardList) (RegulatoryComplianceStandardList, error)) RegulatoryComplianceStandardListPage { + return RegulatoryComplianceStandardListPage{ + fn: getNextPage, + rcsl: cur, + } } // RegulatoryComplianceStandardProperties regulatory compliance standard data @@ -11718,6 +11828,18 @@ func (rcsp RegulatoryComplianceStandardProperties) MarshalJSON() ([]byte, error) return json.Marshal(objectMap) } +// Remediation remediation details. +type Remediation struct { + // Description - Remediation description. + Description *string `json:"description,omitempty"` + // Scripts - Remediation script. + Scripts *[]string `json:"scripts,omitempty"` + // Automated - Is remediation automated. + Automated *bool `json:"automated,omitempty"` + // PortalLink - Optional link to remediate in Azure Portal. + PortalLink *string `json:"portalLink,omitempty"` +} + // Resource describes an Azure resource. type Resource struct { // ID - READ-ONLY; Resource Id @@ -11843,6 +11965,173 @@ type Rule struct { IPAddresses *[]string `json:"ipAddresses,omitempty"` } +// RuleResults rule results. +type RuleResults struct { + autorest.Response `json:"-"` + Properties *RuleResultsProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for RuleResults. +func (rr RuleResults) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if rr.Properties != nil { + objectMap["properties"] = rr.Properties + } + return json.Marshal(objectMap) +} + +// RuleResultsInput rule results input. +type RuleResultsInput struct { + // LatestScan - Take results from latest scan. + LatestScan *bool `json:"latestScan,omitempty"` + // Results - Expected results to be inserted into the baseline. + // Leave this field empty it LatestScan == true. + Results *[][]string `json:"results,omitempty"` +} + +// RuleResultsProperties rule results properties. +type RuleResultsProperties struct { + // Results - Expected results in the baseline. + Results *[][]string `json:"results,omitempty"` +} + +// RulesResults a list of rules results. +type RulesResults struct { + autorest.Response `json:"-"` + // Value - List of rule results. + Value *[]RuleResults `json:"value,omitempty"` +} + +// RulesResultsInput rules results input. +type RulesResultsInput struct { + // LatestScan - Take results from latest scan. + LatestScan *bool `json:"latestScan,omitempty"` + // Results - Expected results to be inserted into the baseline. + // Leave this field empty it LatestScan == true. + Results map[string][][]string `json:"results"` +} + +// MarshalJSON is the custom marshaler for RulesResultsInput. +func (rri RulesResultsInput) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if rri.LatestScan != nil { + objectMap["latestScan"] = rri.LatestScan + } + if rri.Results != nil { + objectMap["results"] = rri.Results + } + return json.Marshal(objectMap) +} + +// Scan a vulnerability assessment scan record. +type Scan struct { + autorest.Response `json:"-"` + Properties *ScanProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for Scan. +func (s Scan) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if s.Properties != nil { + objectMap["properties"] = s.Properties + } + return json.Marshal(objectMap) +} + +// ScanProperties a vulnerability assessment scan record properties. +type ScanProperties struct { + // TriggerType - Possible values include: 'OnDemand', 'Recurring' + TriggerType ScanTriggerType `json:"triggerType,omitempty"` + // State - Possible values include: 'ScanStateFailed', 'ScanStateFailedToRun', 'ScanStateInProgress', 'ScanStatePassed' + State ScanState `json:"state,omitempty"` + // Server - The server name. + Server *string `json:"server,omitempty"` + // Database - The database name. + Database *string `json:"database,omitempty"` + // SQLVersion - The SQL version. + SQLVersion *string `json:"sqlVersion,omitempty"` + // StartTime - The scan start time (UTC). + StartTime *date.Time `json:"startTime,omitempty"` + // EndTime - Scan results are valid until end time (UTC). + EndTime *date.Time `json:"endTime,omitempty"` + // HighSeverityFailedRulesCount - The number of failed rules with high severity. + HighSeverityFailedRulesCount *int32 `json:"highSeverityFailedRulesCount,omitempty"` + // MediumSeverityFailedRulesCount - The number of failed rules with medium severity. + MediumSeverityFailedRulesCount *int32 `json:"mediumSeverityFailedRulesCount,omitempty"` + // LowSeverityFailedRulesCount - The number of failed rules with low severity. + LowSeverityFailedRulesCount *int32 `json:"lowSeverityFailedRulesCount,omitempty"` + // TotalPassedRulesCount - The number of total passed rules. + TotalPassedRulesCount *int32 `json:"totalPassedRulesCount,omitempty"` + // TotalFailedRulesCount - The number of total failed rules. + TotalFailedRulesCount *int32 `json:"totalFailedRulesCount,omitempty"` + // TotalRulesCount - The number of total rules assessed. + TotalRulesCount *int32 `json:"totalRulesCount,omitempty"` + // IsBaselineApplied - Baseline created for this database, and has one or more rules. + IsBaselineApplied *bool `json:"isBaselineApplied,omitempty"` +} + +// ScanResult a vulnerability assessment scan result for a single rule. +type ScanResult struct { + autorest.Response `json:"-"` + Properties *ScanResultProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ScanResult. +func (sr ScanResult) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if sr.Properties != nil { + objectMap["properties"] = sr.Properties + } + return json.Marshal(objectMap) +} + +// ScanResultProperties a vulnerability assessment scan result properties for a single rule. +type ScanResultProperties struct { + // RuleID - The rule Id. + RuleID *string `json:"ruleId,omitempty"` + // Status - Possible values include: 'NonFinding', 'Finding', 'InternalError' + Status RuleStatus `json:"status,omitempty"` + // IsTrimmed - Indicated whether the results specified here are trimmed. + IsTrimmed *bool `json:"isTrimmed,omitempty"` + // QueryResults - The results of the query that was run. + QueryResults *[][]string `json:"queryResults,omitempty"` + Remediation *Remediation `json:"remediation,omitempty"` + BaselineAdjustedResult *BaselineAdjustedResult `json:"baselineAdjustedResult,omitempty"` + RuleMetadata *VaRule `json:"ruleMetadata,omitempty"` +} + +// ScanResults a list of vulnerability assessment scan results. +type ScanResults struct { + autorest.Response `json:"-"` + // Value - List of vulnerability assessment scan results. + Value *[]ScanResult `json:"value,omitempty"` +} + +// Scans a list of vulnerability assessment scan records. +type Scans struct { + autorest.Response `json:"-"` + // Value - List of vulnerability assessment scan records. + Value *[]Scan `json:"value,omitempty"` +} + // ScopeElement a more specific scope used to identify the alerts to suppress. type ScopeElement struct { // AdditionalProperties - Unmatched properties from the message are deserialized this collection @@ -12147,8 +12436,11 @@ func (page SecureScoreControlDefinitionListPage) Values() []SecureScoreControlDe } // Creates a new instance of the SecureScoreControlDefinitionListPage type. -func NewSecureScoreControlDefinitionListPage(getNextPage func(context.Context, SecureScoreControlDefinitionList) (SecureScoreControlDefinitionList, error)) SecureScoreControlDefinitionListPage { - return SecureScoreControlDefinitionListPage{fn: getNextPage} +func NewSecureScoreControlDefinitionListPage(cur SecureScoreControlDefinitionList, getNextPage func(context.Context, SecureScoreControlDefinitionList) (SecureScoreControlDefinitionList, error)) SecureScoreControlDefinitionListPage { + return SecureScoreControlDefinitionListPage{ + fn: getNextPage, + sscdl: cur, + } } // SecureScoreControlDefinitionSource the type of the security control (For example, BuiltIn) @@ -12157,8 +12449,8 @@ type SecureScoreControlDefinitionSource struct { SourceType ControlType `json:"sourceType,omitempty"` } -// SecureScoreControlDetails details of the security control, its score, and the health status of the relevant -// resources. +// SecureScoreControlDetails details of the security control, its score, and the health status of the +// relevant resources. type SecureScoreControlDetails struct { *SecureScoreControlScoreDetails `json:"properties,omitempty"` // ID - READ-ONLY; Resource Id @@ -12238,7 +12530,8 @@ type SecureScoreControlList struct { NextLink *string `json:"nextLink,omitempty"` } -// SecureScoreControlListIterator provides access to a complete listing of SecureScoreControlDetails values. +// SecureScoreControlListIterator provides access to a complete listing of SecureScoreControlDetails +// values. type SecureScoreControlListIterator struct { i int page SecureScoreControlListPage @@ -12381,8 +12674,11 @@ func (page SecureScoreControlListPage) Values() []SecureScoreControlDetails { } // Creates a new instance of the SecureScoreControlListPage type. -func NewSecureScoreControlListPage(getNextPage func(context.Context, SecureScoreControlList) (SecureScoreControlList, error)) SecureScoreControlListPage { - return SecureScoreControlListPage{fn: getNextPage} +func NewSecureScoreControlListPage(cur SecureScoreControlList, getNextPage func(context.Context, SecureScoreControlList) (SecureScoreControlList, error)) SecureScoreControlListPage { + return SecureScoreControlListPage{ + fn: getNextPage, + sscl: cur, + } } // SecureScoreControlScore calculation result data @@ -12782,8 +13078,11 @@ func (page SecureScoresListPage) Values() []SecureScoreItem { } // Creates a new instance of the SecureScoresListPage type. -func NewSecureScoresListPage(getNextPage func(context.Context, SecureScoresList) (SecureScoresList, error)) SecureScoresListPage { - return SecureScoresListPage{fn: getNextPage} +func NewSecureScoresListPage(cur SecureScoresList, getNextPage func(context.Context, SecureScoresList) (SecureScoresList, error)) SecureScoresListPage { + return SecureScoresListPage{ + fn: getNextPage, + ssl: cur, + } } // SensitivityLabel the sensitivity label. @@ -12857,7 +13156,7 @@ func (svp ServerVulnerabilityProperties) AsBasicAdditionalData() (BasicAdditiona // ServicePrincipalProperties details of the service principal. type ServicePrincipalProperties struct { - // ApplicationID - Application id of service principal. + // ApplicationID - Application ID of service principal. ApplicationID *string `json:"applicationId,omitempty"` // Secret - A secret string that the application uses to prove its identity, also can be referred to as application password (write only). Secret *string `json:"secret,omitempty"` @@ -13067,8 +13366,11 @@ func (page SettingsListPage) Values() []Setting { } // Creates a new instance of the SettingsListPage type. -func NewSettingsListPage(getNextPage func(context.Context, SettingsList) (SettingsList, error)) SettingsListPage { - return SettingsListPage{fn: getNextPage} +func NewSettingsListPage(cur SettingsList, getNextPage func(context.Context, SettingsList) (SettingsList, error)) SettingsListPage { + return SettingsListPage{ + fn: getNextPage, + sl: cur, + } } // SQLServerVulnerabilityProperties details of the resource that was assessed @@ -13340,8 +13642,11 @@ func (page SubAssessmentListPage) Values() []SubAssessment { } // Creates a new instance of the SubAssessmentListPage type. -func NewSubAssessmentListPage(getNextPage func(context.Context, SubAssessmentList) (SubAssessmentList, error)) SubAssessmentListPage { - return SubAssessmentListPage{fn: getNextPage} +func NewSubAssessmentListPage(cur SubAssessmentList, getNextPage func(context.Context, SubAssessmentList) (SubAssessmentList, error)) SubAssessmentListPage { + return SubAssessmentListPage{ + fn: getNextPage, + sal: cur, + } } // SubAssessmentProperties describes properties of an sub-assessment. @@ -13736,11 +14041,15 @@ func (page TaskListPage) Values() []Task { } // Creates a new instance of the TaskListPage type. -func NewTaskListPage(getNextPage func(context.Context, TaskList) (TaskList, error)) TaskListPage { - return TaskListPage{fn: getNextPage} +func NewTaskListPage(cur TaskList, getNextPage func(context.Context, TaskList) (TaskList, error)) TaskListPage { + return TaskListPage{ + fn: getNextPage, + tl: cur, + } } -// TaskParameters changing set of properties, depending on the task type that is derived from the name field +// TaskParameters changing set of properties, depending on the task type that is derived from the name +// field type TaskParameters struct { // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` @@ -13853,7 +14162,7 @@ type ThresholdCustomAlertRule struct { // IsEnabled - Status of the custom alert. IsEnabled *bool `json:"isEnabled,omitempty"` // RuleType - Possible values include: 'RuleTypeCustomAlertRule', 'RuleTypeThresholdCustomAlertRule', 'RuleTypeTimeWindowCustomAlertRule', 'RuleTypeAllowlistCustomAlertRule', 'RuleTypeDenylistCustomAlertRule', 'RuleTypeListCustomAlertRule', 'RuleTypeConnectionToIPNotAllowed', 'RuleTypeLocalUserNotAllowed', 'RuleTypeProcessNotAllowed', 'RuleTypeActiveConnectionsNotInAllowedRange', 'RuleTypeAmqpC2DMessagesNotInAllowedRange', 'RuleTypeMqttC2DMessagesNotInAllowedRange', 'RuleTypeHTTPC2DMessagesNotInAllowedRange', 'RuleTypeAmqpC2DRejectedMessagesNotInAllowedRange', 'RuleTypeMqttC2DRejectedMessagesNotInAllowedRange', 'RuleTypeHTTPC2DRejectedMessagesNotInAllowedRange', 'RuleTypeAmqpD2CMessagesNotInAllowedRange', 'RuleTypeMqttD2CMessagesNotInAllowedRange', 'RuleTypeHTTPD2CMessagesNotInAllowedRange', 'RuleTypeDirectMethodInvokesNotInAllowedRange', 'RuleTypeFailedLocalLoginsNotInAllowedRange', 'RuleTypeFileUploadsNotInAllowedRange', 'RuleTypeQueuePurgesNotInAllowedRange', 'RuleTypeTwinUpdatesNotInAllowedRange', 'RuleTypeUnauthorizedOperationsNotInAllowedRange' - RuleType RuleType `json:"ruleType,omitempty"` + RuleType RuleTypeBasicCustomAlertRule `json:"ruleType,omitempty"` } func unmarshalBasicThresholdCustomAlertRule(body []byte) (BasicThresholdCustomAlertRule, error) { @@ -14164,7 +14473,7 @@ type TimeWindowCustomAlertRule struct { // IsEnabled - Status of the custom alert. IsEnabled *bool `json:"isEnabled,omitempty"` // RuleType - Possible values include: 'RuleTypeCustomAlertRule', 'RuleTypeThresholdCustomAlertRule', 'RuleTypeTimeWindowCustomAlertRule', 'RuleTypeAllowlistCustomAlertRule', 'RuleTypeDenylistCustomAlertRule', 'RuleTypeListCustomAlertRule', 'RuleTypeConnectionToIPNotAllowed', 'RuleTypeLocalUserNotAllowed', 'RuleTypeProcessNotAllowed', 'RuleTypeActiveConnectionsNotInAllowedRange', 'RuleTypeAmqpC2DMessagesNotInAllowedRange', 'RuleTypeMqttC2DMessagesNotInAllowedRange', 'RuleTypeHTTPC2DMessagesNotInAllowedRange', 'RuleTypeAmqpC2DRejectedMessagesNotInAllowedRange', 'RuleTypeMqttC2DRejectedMessagesNotInAllowedRange', 'RuleTypeHTTPC2DRejectedMessagesNotInAllowedRange', 'RuleTypeAmqpD2CMessagesNotInAllowedRange', 'RuleTypeMqttD2CMessagesNotInAllowedRange', 'RuleTypeHTTPD2CMessagesNotInAllowedRange', 'RuleTypeDirectMethodInvokesNotInAllowedRange', 'RuleTypeFailedLocalLoginsNotInAllowedRange', 'RuleTypeFileUploadsNotInAllowedRange', 'RuleTypeQueuePurgesNotInAllowedRange', 'RuleTypeTwinUpdatesNotInAllowedRange', 'RuleTypeUnauthorizedOperationsNotInAllowedRange' - RuleType RuleType `json:"ruleType,omitempty"` + RuleType RuleTypeBasicCustomAlertRule `json:"ruleType,omitempty"` } func unmarshalBasicTimeWindowCustomAlertRule(body []byte) (BasicTimeWindowCustomAlertRule, error) { @@ -14588,8 +14897,11 @@ func (page TopologyListPage) Values() []TopologyResource { } // Creates a new instance of the TopologyListPage type. -func NewTopologyListPage(getNextPage func(context.Context, TopologyList) (TopologyList, error)) TopologyListPage { - return TopologyListPage{fn: getNextPage} +func NewTopologyListPage(cur TopologyList, getNextPage func(context.Context, TopologyList) (TopologyList, error)) TopologyListPage { + return TopologyListPage{ + fn: getNextPage, + tl: cur, + } } // TopologyResource ... @@ -14764,7 +15076,7 @@ type TwinUpdatesNotInAllowedRange struct { // IsEnabled - Status of the custom alert. IsEnabled *bool `json:"isEnabled,omitempty"` // RuleType - Possible values include: 'RuleTypeCustomAlertRule', 'RuleTypeThresholdCustomAlertRule', 'RuleTypeTimeWindowCustomAlertRule', 'RuleTypeAllowlistCustomAlertRule', 'RuleTypeDenylistCustomAlertRule', 'RuleTypeListCustomAlertRule', 'RuleTypeConnectionToIPNotAllowed', 'RuleTypeLocalUserNotAllowed', 'RuleTypeProcessNotAllowed', 'RuleTypeActiveConnectionsNotInAllowedRange', 'RuleTypeAmqpC2DMessagesNotInAllowedRange', 'RuleTypeMqttC2DMessagesNotInAllowedRange', 'RuleTypeHTTPC2DMessagesNotInAllowedRange', 'RuleTypeAmqpC2DRejectedMessagesNotInAllowedRange', 'RuleTypeMqttC2DRejectedMessagesNotInAllowedRange', 'RuleTypeHTTPC2DRejectedMessagesNotInAllowedRange', 'RuleTypeAmqpD2CMessagesNotInAllowedRange', 'RuleTypeMqttD2CMessagesNotInAllowedRange', 'RuleTypeHTTPD2CMessagesNotInAllowedRange', 'RuleTypeDirectMethodInvokesNotInAllowedRange', 'RuleTypeFailedLocalLoginsNotInAllowedRange', 'RuleTypeFileUploadsNotInAllowedRange', 'RuleTypeQueuePurgesNotInAllowedRange', 'RuleTypeTwinUpdatesNotInAllowedRange', 'RuleTypeUnauthorizedOperationsNotInAllowedRange' - RuleType RuleType `json:"ruleType,omitempty"` + RuleType RuleTypeBasicCustomAlertRule `json:"ruleType,omitempty"` } // MarshalJSON is the custom marshaler for TwinUpdatesNotInAllowedRange. @@ -14954,7 +15266,7 @@ type UnauthorizedOperationsNotInAllowedRange struct { // IsEnabled - Status of the custom alert. IsEnabled *bool `json:"isEnabled,omitempty"` // RuleType - Possible values include: 'RuleTypeCustomAlertRule', 'RuleTypeThresholdCustomAlertRule', 'RuleTypeTimeWindowCustomAlertRule', 'RuleTypeAllowlistCustomAlertRule', 'RuleTypeDenylistCustomAlertRule', 'RuleTypeListCustomAlertRule', 'RuleTypeConnectionToIPNotAllowed', 'RuleTypeLocalUserNotAllowed', 'RuleTypeProcessNotAllowed', 'RuleTypeActiveConnectionsNotInAllowedRange', 'RuleTypeAmqpC2DMessagesNotInAllowedRange', 'RuleTypeMqttC2DMessagesNotInAllowedRange', 'RuleTypeHTTPC2DMessagesNotInAllowedRange', 'RuleTypeAmqpC2DRejectedMessagesNotInAllowedRange', 'RuleTypeMqttC2DRejectedMessagesNotInAllowedRange', 'RuleTypeHTTPC2DRejectedMessagesNotInAllowedRange', 'RuleTypeAmqpD2CMessagesNotInAllowedRange', 'RuleTypeMqttD2CMessagesNotInAllowedRange', 'RuleTypeHTTPD2CMessagesNotInAllowedRange', 'RuleTypeDirectMethodInvokesNotInAllowedRange', 'RuleTypeFailedLocalLoginsNotInAllowedRange', 'RuleTypeFileUploadsNotInAllowedRange', 'RuleTypeQueuePurgesNotInAllowedRange', 'RuleTypeTwinUpdatesNotInAllowedRange', 'RuleTypeUnauthorizedOperationsNotInAllowedRange' - RuleType RuleType `json:"ruleType,omitempty"` + RuleType RuleTypeBasicCustomAlertRule `json:"ruleType,omitempty"` } // MarshalJSON is the custom marshaler for UnauthorizedOperationsNotInAllowedRange. @@ -15137,6 +15449,27 @@ type UserRecommendation struct { RecommendationAction RecommendationAction1 `json:"recommendationAction,omitempty"` } +// VaRule vulnerability assessment rule metadata details. +type VaRule struct { + // RuleID - The rule Id. + RuleID *string `json:"ruleId,omitempty"` + // Severity - Possible values include: 'RuleSeverityHigh', 'RuleSeverityMedium', 'RuleSeverityLow', 'RuleSeverityInformational', 'RuleSeverityObsolete' + Severity RuleSeverity `json:"severity,omitempty"` + // Category - The rule category. + Category *string `json:"category,omitempty"` + // RuleType - Possible values include: 'Binary', 'BaselineExpected', 'PositiveList', 'NegativeList' + RuleType RuleType `json:"ruleType,omitempty"` + // Title - The rule title. + Title *string `json:"title,omitempty"` + // Description - The rule description. + Description *string `json:"description,omitempty"` + // Rationale - The rule rationale. + Rationale *string `json:"rationale,omitempty"` + QueryCheck *QueryCheck `json:"queryCheck,omitempty"` + // BenchmarkReferences - The benchmark references. + BenchmarkReferences *[]BenchmarkReference `json:"benchmarkReferences,omitempty"` +} + // VendorReference vendor reference type VendorReference struct { // Title - READ-ONLY; Link title @@ -15390,8 +15723,11 @@ func (page WorkspaceSettingListPage) Values() []WorkspaceSetting { } // Creates a new instance of the WorkspaceSettingListPage type. -func NewWorkspaceSettingListPage(getNextPage func(context.Context, WorkspaceSettingList) (WorkspaceSettingList, error)) WorkspaceSettingListPage { - return WorkspaceSettingListPage{fn: getNextPage} +func NewWorkspaceSettingListPage(cur WorkspaceSettingList, getNextPage func(context.Context, WorkspaceSettingList) (WorkspaceSettingList, error)) WorkspaceSettingListPage { + return WorkspaceSettingListPage{ + fn: getNextPage, + wsl: cur, + } } // WorkspaceSettingProperties workspace setting data diff --git a/services/preview/security/mgmt/v1.0/security/securityapi/interfaces.go b/services/preview/security/mgmt/v1.0/security/securityapi/interfaces.go index 338cab3f1591..f4d6bb7ceeb8 100644 --- a/services/preview/security/mgmt/v1.0/security/securityapi/interfaces.go +++ b/services/preview/security/mgmt/v1.0/security/securityapi/interfaces.go @@ -23,6 +23,33 @@ import ( "github.com/Azure/go-autorest/autorest" ) +// SQLVulnerabilityAssessmentScansClientAPI contains the set of methods on the SQLVulnerabilityAssessmentScansClient type. +type SQLVulnerabilityAssessmentScansClientAPI interface { + Get(ctx context.Context, scanID string, workspaceID string, APIVersion string, resourceID string) (result security.Scan, err error) + List(ctx context.Context, workspaceID string, APIVersion string, resourceID string) (result security.Scans, err error) +} + +var _ SQLVulnerabilityAssessmentScansClientAPI = (*security.SQLVulnerabilityAssessmentScansClient)(nil) + +// SQLVulnerabilityAssessmentScanResultsClientAPI contains the set of methods on the SQLVulnerabilityAssessmentScanResultsClient type. +type SQLVulnerabilityAssessmentScanResultsClientAPI interface { + Get(ctx context.Context, scanID string, scanResultID string, workspaceID string, APIVersion string, resourceID string) (result security.ScanResult, err error) + List(ctx context.Context, scanID string, workspaceID string, APIVersion string, resourceID string) (result security.ScanResults, err error) +} + +var _ SQLVulnerabilityAssessmentScanResultsClientAPI = (*security.SQLVulnerabilityAssessmentScanResultsClient)(nil) + +// SQLVulnerabilityAssessmentBaselineRulesClientAPI contains the set of methods on the SQLVulnerabilityAssessmentBaselineRulesClient type. +type SQLVulnerabilityAssessmentBaselineRulesClientAPI interface { + Add(ctx context.Context, workspaceID string, APIVersion string, resourceID string, body *security.RulesResultsInput) (result security.RulesResults, err error) + CreateOrUpdate(ctx context.Context, ruleID string, workspaceID string, APIVersion string, resourceID string, body *security.RuleResultsInput) (result security.RuleResults, err error) + Delete(ctx context.Context, ruleID string, workspaceID string, APIVersion string, resourceID string) (result autorest.Response, err error) + Get(ctx context.Context, ruleID string, workspaceID string, APIVersion string, resourceID string) (result security.RuleResults, err error) + List(ctx context.Context, workspaceID string, APIVersion string, resourceID string) (result security.RulesResults, err error) +} + +var _ SQLVulnerabilityAssessmentBaselineRulesClientAPI = (*security.SQLVulnerabilityAssessmentBaselineRulesClient)(nil) + // SecureScoresClientAPI contains the set of methods on the SecureScoresClient type. type SecureScoresClientAPI interface { Get(ctx context.Context, secureScoreName string) (result security.SecureScoreItem, err error) diff --git a/services/preview/security/mgmt/v1.0/security/sqlvulnerabilityassessmentbaselinerules.go b/services/preview/security/mgmt/v1.0/security/sqlvulnerabilityassessmentbaselinerules.go new file mode 100644 index 000000000000..4d5d80df050e --- /dev/null +++ b/services/preview/security/mgmt/v1.0/security/sqlvulnerabilityassessmentbaselinerules.go @@ -0,0 +1,432 @@ +package security + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// SQLVulnerabilityAssessmentBaselineRulesClient is the API spec for Microsoft.Security (Azure Security Center) +// resource provider +type SQLVulnerabilityAssessmentBaselineRulesClient struct { + BaseClient +} + +// NewSQLVulnerabilityAssessmentBaselineRulesClient creates an instance of the +// SQLVulnerabilityAssessmentBaselineRulesClient client. +func NewSQLVulnerabilityAssessmentBaselineRulesClient(subscriptionID string, ascLocation string) SQLVulnerabilityAssessmentBaselineRulesClient { + return NewSQLVulnerabilityAssessmentBaselineRulesClientWithBaseURI(DefaultBaseURI, subscriptionID, ascLocation) +} + +// NewSQLVulnerabilityAssessmentBaselineRulesClientWithBaseURI creates an instance of the +// SQLVulnerabilityAssessmentBaselineRulesClient client using a custom endpoint. Use this when interacting with an +// Azure cloud that uses a non-standard base URI (sovereign clouds, Azure stack). +func NewSQLVulnerabilityAssessmentBaselineRulesClientWithBaseURI(baseURI string, subscriptionID string, ascLocation string) SQLVulnerabilityAssessmentBaselineRulesClient { + return SQLVulnerabilityAssessmentBaselineRulesClient{NewWithBaseURI(baseURI, subscriptionID, ascLocation)} +} + +// Add sends the add request. +// Parameters: +// workspaceID - the workspace Id. +// APIVersion - the api version. +// resourceID - the identifier of the resource. +// body - the baseline rules. +func (client SQLVulnerabilityAssessmentBaselineRulesClient) Add(ctx context.Context, workspaceID string, APIVersion string, resourceID string, body *RulesResultsInput) (result RulesResults, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SQLVulnerabilityAssessmentBaselineRulesClient.Add") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.AddPreparer(ctx, workspaceID, APIVersion, resourceID, body) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SQLVulnerabilityAssessmentBaselineRulesClient", "Add", nil, "Failure preparing request") + return + } + + resp, err := client.AddSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "security.SQLVulnerabilityAssessmentBaselineRulesClient", "Add", resp, "Failure sending request") + return + } + + result, err = client.AddResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SQLVulnerabilityAssessmentBaselineRulesClient", "Add", resp, "Failure responding to request") + } + + return +} + +// AddPreparer prepares the Add request. +func (client SQLVulnerabilityAssessmentBaselineRulesClient) AddPreparer(ctx context.Context, workspaceID string, APIVersion string, resourceID string, body *RulesResultsInput) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceId": resourceID, + } + + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "workspaceId": autorest.Encode("query", workspaceID), + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{resourceId}/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/baselineRules", pathParameters), + autorest.WithQueryParameters(queryParameters)) + if body != nil { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithJSON(body)) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// AddSender sends the Add request. The method will close the +// http.Response Body if it receives an error. +func (client SQLVulnerabilityAssessmentBaselineRulesClient) AddSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// AddResponder handles the response to the Add request. The method always +// closes the http.Response Body. +func (client SQLVulnerabilityAssessmentBaselineRulesClient) AddResponder(resp *http.Response) (result RulesResults, err error) { + err = autorest.Respond( + resp, + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdate sends the create or update request. +// Parameters: +// ruleID - the rule Id. +// workspaceID - the workspace Id. +// APIVersion - the api version. +// resourceID - the identifier of the resource. +// body - the baseline results for this rule. +func (client SQLVulnerabilityAssessmentBaselineRulesClient) CreateOrUpdate(ctx context.Context, ruleID string, workspaceID string, APIVersion string, resourceID string, body *RuleResultsInput) (result RuleResults, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SQLVulnerabilityAssessmentBaselineRulesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, ruleID, workspaceID, APIVersion, resourceID, body) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SQLVulnerabilityAssessmentBaselineRulesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "security.SQLVulnerabilityAssessmentBaselineRulesClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SQLVulnerabilityAssessmentBaselineRulesClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client SQLVulnerabilityAssessmentBaselineRulesClient) CreateOrUpdatePreparer(ctx context.Context, ruleID string, workspaceID string, APIVersion string, resourceID string, body *RuleResultsInput) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceId": resourceID, + "ruleId": autorest.Encode("path", ruleID), + } + + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "workspaceId": autorest.Encode("query", workspaceID), + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{resourceId}/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/baselineRules/{ruleId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + if body != nil { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithJSON(body)) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client SQLVulnerabilityAssessmentBaselineRulesClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client SQLVulnerabilityAssessmentBaselineRulesClient) CreateOrUpdateResponder(resp *http.Response) (result RuleResults, err error) { + err = autorest.Respond( + resp, + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete sends the delete request. +// Parameters: +// ruleID - the rule Id. +// workspaceID - the workspace Id. +// APIVersion - the api version. +// resourceID - the identifier of the resource. +func (client SQLVulnerabilityAssessmentBaselineRulesClient) Delete(ctx context.Context, ruleID string, workspaceID string, APIVersion string, resourceID string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SQLVulnerabilityAssessmentBaselineRulesClient.Delete") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, ruleID, workspaceID, APIVersion, resourceID) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SQLVulnerabilityAssessmentBaselineRulesClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "security.SQLVulnerabilityAssessmentBaselineRulesClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SQLVulnerabilityAssessmentBaselineRulesClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client SQLVulnerabilityAssessmentBaselineRulesClient) DeletePreparer(ctx context.Context, ruleID string, workspaceID string, APIVersion string, resourceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceId": resourceID, + "ruleId": autorest.Encode("path", ruleID), + } + + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "workspaceId": autorest.Encode("query", workspaceID), + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{resourceId}/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/baselineRules/{ruleId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client SQLVulnerabilityAssessmentBaselineRulesClient) DeleteSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client SQLVulnerabilityAssessmentBaselineRulesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get sends the get request. +// Parameters: +// ruleID - the rule Id. +// workspaceID - the workspace Id. +// APIVersion - the api version. +// resourceID - the identifier of the resource. +func (client SQLVulnerabilityAssessmentBaselineRulesClient) Get(ctx context.Context, ruleID string, workspaceID string, APIVersion string, resourceID string) (result RuleResults, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SQLVulnerabilityAssessmentBaselineRulesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, ruleID, workspaceID, APIVersion, resourceID) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SQLVulnerabilityAssessmentBaselineRulesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "security.SQLVulnerabilityAssessmentBaselineRulesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SQLVulnerabilityAssessmentBaselineRulesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client SQLVulnerabilityAssessmentBaselineRulesClient) GetPreparer(ctx context.Context, ruleID string, workspaceID string, APIVersion string, resourceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceId": resourceID, + "ruleId": autorest.Encode("path", ruleID), + } + + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "workspaceId": autorest.Encode("query", workspaceID), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{resourceId}/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/baselineRules/{ruleId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client SQLVulnerabilityAssessmentBaselineRulesClient) GetSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client SQLVulnerabilityAssessmentBaselineRulesClient) GetResponder(resp *http.Response) (result RuleResults, err error) { + err = autorest.Respond( + resp, + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List sends the list request. +// Parameters: +// workspaceID - the workspace Id. +// APIVersion - the api version. +// resourceID - the identifier of the resource. +func (client SQLVulnerabilityAssessmentBaselineRulesClient) List(ctx context.Context, workspaceID string, APIVersion string, resourceID string) (result RulesResults, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SQLVulnerabilityAssessmentBaselineRulesClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPreparer(ctx, workspaceID, APIVersion, resourceID) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SQLVulnerabilityAssessmentBaselineRulesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "security.SQLVulnerabilityAssessmentBaselineRulesClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SQLVulnerabilityAssessmentBaselineRulesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client SQLVulnerabilityAssessmentBaselineRulesClient) ListPreparer(ctx context.Context, workspaceID string, APIVersion string, resourceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceId": resourceID, + } + + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "workspaceId": autorest.Encode("query", workspaceID), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{resourceId}/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/baselineRules", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client SQLVulnerabilityAssessmentBaselineRulesClient) ListSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client SQLVulnerabilityAssessmentBaselineRulesClient) ListResponder(resp *http.Response) (result RulesResults, err error) { + err = autorest.Respond( + resp, + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/security/mgmt/v1.0/security/sqlvulnerabilityassessmentscanresults.go b/services/preview/security/mgmt/v1.0/security/sqlvulnerabilityassessmentscanresults.go new file mode 100644 index 000000000000..a0d9caa08ef9 --- /dev/null +++ b/services/preview/security/mgmt/v1.0/security/sqlvulnerabilityassessmentscanresults.go @@ -0,0 +1,199 @@ +package security + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// SQLVulnerabilityAssessmentScanResultsClient is the API spec for Microsoft.Security (Azure Security Center) resource +// provider +type SQLVulnerabilityAssessmentScanResultsClient struct { + BaseClient +} + +// NewSQLVulnerabilityAssessmentScanResultsClient creates an instance of the +// SQLVulnerabilityAssessmentScanResultsClient client. +func NewSQLVulnerabilityAssessmentScanResultsClient(subscriptionID string, ascLocation string) SQLVulnerabilityAssessmentScanResultsClient { + return NewSQLVulnerabilityAssessmentScanResultsClientWithBaseURI(DefaultBaseURI, subscriptionID, ascLocation) +} + +// NewSQLVulnerabilityAssessmentScanResultsClientWithBaseURI creates an instance of the +// SQLVulnerabilityAssessmentScanResultsClient client using a custom endpoint. Use this when interacting with an Azure +// cloud that uses a non-standard base URI (sovereign clouds, Azure stack). +func NewSQLVulnerabilityAssessmentScanResultsClientWithBaseURI(baseURI string, subscriptionID string, ascLocation string) SQLVulnerabilityAssessmentScanResultsClient { + return SQLVulnerabilityAssessmentScanResultsClient{NewWithBaseURI(baseURI, subscriptionID, ascLocation)} +} + +// Get sends the get request. +// Parameters: +// scanID - the scan Id. Type 'latest' to get the scan results for the latest scan. +// scanResultID - the rule Id of the results. +// workspaceID - the workspace Id. +// APIVersion - the api version. +// resourceID - the identifier of the resource. +func (client SQLVulnerabilityAssessmentScanResultsClient) Get(ctx context.Context, scanID string, scanResultID string, workspaceID string, APIVersion string, resourceID string) (result ScanResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SQLVulnerabilityAssessmentScanResultsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, scanID, scanResultID, workspaceID, APIVersion, resourceID) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SQLVulnerabilityAssessmentScanResultsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "security.SQLVulnerabilityAssessmentScanResultsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SQLVulnerabilityAssessmentScanResultsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client SQLVulnerabilityAssessmentScanResultsClient) GetPreparer(ctx context.Context, scanID string, scanResultID string, workspaceID string, APIVersion string, resourceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceId": resourceID, + "scanId": autorest.Encode("path", scanID), + "scanResultId": autorest.Encode("path", scanResultID), + } + + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "workspaceId": autorest.Encode("query", workspaceID), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{resourceId}/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/scans/{scanId}/scanResults/{scanResultId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client SQLVulnerabilityAssessmentScanResultsClient) GetSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client SQLVulnerabilityAssessmentScanResultsClient) GetResponder(resp *http.Response) (result ScanResult, err error) { + err = autorest.Respond( + resp, + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List sends the list request. +// Parameters: +// scanID - the scan Id. Type 'latest' to get the scan results for the latest scan. +// workspaceID - the workspace Id. +// APIVersion - the api version. +// resourceID - the identifier of the resource. +func (client SQLVulnerabilityAssessmentScanResultsClient) List(ctx context.Context, scanID string, workspaceID string, APIVersion string, resourceID string) (result ScanResults, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SQLVulnerabilityAssessmentScanResultsClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPreparer(ctx, scanID, workspaceID, APIVersion, resourceID) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SQLVulnerabilityAssessmentScanResultsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "security.SQLVulnerabilityAssessmentScanResultsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SQLVulnerabilityAssessmentScanResultsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client SQLVulnerabilityAssessmentScanResultsClient) ListPreparer(ctx context.Context, scanID string, workspaceID string, APIVersion string, resourceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceId": resourceID, + "scanId": autorest.Encode("path", scanID), + } + + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "workspaceId": autorest.Encode("query", workspaceID), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{resourceId}/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/scans/{scanId}/scanResults", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client SQLVulnerabilityAssessmentScanResultsClient) ListSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client SQLVulnerabilityAssessmentScanResultsClient) ListResponder(resp *http.Response) (result ScanResults, err error) { + err = autorest.Respond( + resp, + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/security/mgmt/v1.0/security/sqlvulnerabilityassessmentscans.go b/services/preview/security/mgmt/v1.0/security/sqlvulnerabilityassessmentscans.go new file mode 100644 index 000000000000..417f3081f74c --- /dev/null +++ b/services/preview/security/mgmt/v1.0/security/sqlvulnerabilityassessmentscans.go @@ -0,0 +1,194 @@ +package security + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// SQLVulnerabilityAssessmentScansClient is the API spec for Microsoft.Security (Azure Security Center) resource +// provider +type SQLVulnerabilityAssessmentScansClient struct { + BaseClient +} + +// NewSQLVulnerabilityAssessmentScansClient creates an instance of the SQLVulnerabilityAssessmentScansClient client. +func NewSQLVulnerabilityAssessmentScansClient(subscriptionID string, ascLocation string) SQLVulnerabilityAssessmentScansClient { + return NewSQLVulnerabilityAssessmentScansClientWithBaseURI(DefaultBaseURI, subscriptionID, ascLocation) +} + +// NewSQLVulnerabilityAssessmentScansClientWithBaseURI creates an instance of the SQLVulnerabilityAssessmentScansClient +// client using a custom endpoint. Use this when interacting with an Azure cloud that uses a non-standard base URI +// (sovereign clouds, Azure stack). +func NewSQLVulnerabilityAssessmentScansClientWithBaseURI(baseURI string, subscriptionID string, ascLocation string) SQLVulnerabilityAssessmentScansClient { + return SQLVulnerabilityAssessmentScansClient{NewWithBaseURI(baseURI, subscriptionID, ascLocation)} +} + +// Get sends the get request. +// Parameters: +// scanID - the scan Id. Type 'latest' to get the scan record for the latest scan. +// workspaceID - the workspace Id. +// APIVersion - the api version. +// resourceID - the identifier of the resource. +func (client SQLVulnerabilityAssessmentScansClient) Get(ctx context.Context, scanID string, workspaceID string, APIVersion string, resourceID string) (result Scan, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SQLVulnerabilityAssessmentScansClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, scanID, workspaceID, APIVersion, resourceID) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SQLVulnerabilityAssessmentScansClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "security.SQLVulnerabilityAssessmentScansClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SQLVulnerabilityAssessmentScansClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client SQLVulnerabilityAssessmentScansClient) GetPreparer(ctx context.Context, scanID string, workspaceID string, APIVersion string, resourceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceId": resourceID, + "scanId": autorest.Encode("path", scanID), + } + + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "workspaceId": autorest.Encode("query", workspaceID), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{resourceId}/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/scans/{scanId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client SQLVulnerabilityAssessmentScansClient) GetSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client SQLVulnerabilityAssessmentScansClient) GetResponder(resp *http.Response) (result Scan, err error) { + err = autorest.Respond( + resp, + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List sends the list request. +// Parameters: +// workspaceID - the workspace Id. +// APIVersion - the api version. +// resourceID - the identifier of the resource. +func (client SQLVulnerabilityAssessmentScansClient) List(ctx context.Context, workspaceID string, APIVersion string, resourceID string) (result Scans, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SQLVulnerabilityAssessmentScansClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPreparer(ctx, workspaceID, APIVersion, resourceID) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SQLVulnerabilityAssessmentScansClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "security.SQLVulnerabilityAssessmentScansClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SQLVulnerabilityAssessmentScansClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client SQLVulnerabilityAssessmentScansClient) ListPreparer(ctx context.Context, workspaceID string, APIVersion string, resourceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceId": resourceID, + } + + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "workspaceId": autorest.Encode("query", workspaceID), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{resourceId}/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/scans", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client SQLVulnerabilityAssessmentScansClient) ListSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client SQLVulnerabilityAssessmentScansClient) ListResponder(resp *http.Response) (result Scans, err error) { + err = autorest.Respond( + resp, + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +}