Documentation
¶
Index ¶
- type AADConnectivityState
- type AADConnectivityStateAutoGenerated
- type AADExternalSecuritySolution
- type AADSolutionProperties
- type APICollection
- type APICollectionList
- type APICollectionProperties
- type APICollectionsClient
- func (client *APICollectionsClient) BeginOnboardAzureAPIManagementAPI(ctx context.Context, resourceGroupName string, serviceName string, ...) (*runtime.Poller[APICollectionsClientOnboardAzureAPIManagementAPIResponse], ...)
- func (client *APICollectionsClient) GetByAzureAPIManagementService(ctx context.Context, resourceGroupName string, serviceName string, ...) (APICollectionsClientGetByAzureAPIManagementServiceResponse, error)
- func (client *APICollectionsClient) NewListByAzureAPIManagementServicePager(resourceGroupName string, serviceName string, ...) *runtime.Pager[APICollectionsClientListByAzureAPIManagementServiceResponse]
- func (client *APICollectionsClient) NewListByResourceGroupPager(resourceGroupName string, ...) *runtime.Pager[APICollectionsClientListByResourceGroupResponse]
- func (client *APICollectionsClient) NewListBySubscriptionPager(options *APICollectionsClientListBySubscriptionOptions) *runtime.Pager[APICollectionsClientListBySubscriptionResponse]
- func (client *APICollectionsClient) OffboardAzureAPIManagementAPI(ctx context.Context, resourceGroupName string, serviceName string, ...) (APICollectionsClientOffboardAzureAPIManagementAPIResponse, error)
- type APICollectionsClientBeginOnboardAzureAPIManagementAPIOptions
- type APICollectionsClientGetByAzureAPIManagementServiceOptions
- type APICollectionsClientGetByAzureAPIManagementServiceResponse
- type APICollectionsClientListByAzureAPIManagementServiceOptions
- type APICollectionsClientListByAzureAPIManagementServiceResponse
- type APICollectionsClientListByResourceGroupOptions
- type APICollectionsClientListByResourceGroupResponse
- type APICollectionsClientListBySubscriptionOptions
- type APICollectionsClientListBySubscriptionResponse
- type APICollectionsClientOffboardAzureAPIManagementAPIOptions
- type APICollectionsClientOffboardAzureAPIManagementAPIResponse
- type APICollectionsClientOnboardAzureAPIManagementAPIResponse
- type AccountConnectorsClient
- func (client *AccountConnectorsClient) CreateOrUpdate(ctx context.Context, connectorName string, connectorSetting ConnectorSetting, ...) (AccountConnectorsClientCreateOrUpdateResponse, error)
- func (client *AccountConnectorsClient) Delete(ctx context.Context, connectorName string, ...) (AccountConnectorsClientDeleteResponse, error)
- func (client *AccountConnectorsClient) Get(ctx context.Context, connectorName string, ...) (AccountConnectorsClientGetResponse, error)
- func (client *AccountConnectorsClient) NewListPager(options *AccountConnectorsClientListOptions) *runtime.Pager[AccountConnectorsClientListResponse]
- type AccountConnectorsClientCreateOrUpdateOptions
- type AccountConnectorsClientCreateOrUpdateResponse
- type AccountConnectorsClientDeleteOptions
- type AccountConnectorsClientDeleteResponse
- type AccountConnectorsClientGetOptions
- type AccountConnectorsClientGetResponse
- type AccountConnectorsClientListOptions
- type AccountConnectorsClientListResponse
- type ActionType
- type ActionableRemediation
- type ActionableRemediationState
- type ActiveConnectionsNotInAllowedRange
- func (a *ActiveConnectionsNotInAllowedRange) GetCustomAlertRule() *CustomAlertRule
- func (a *ActiveConnectionsNotInAllowedRange) GetThresholdCustomAlertRule() *ThresholdCustomAlertRule
- func (a *ActiveConnectionsNotInAllowedRange) GetTimeWindowCustomAlertRule() *TimeWindowCustomAlertRule
- func (a ActiveConnectionsNotInAllowedRange) MarshalJSON() ([]byte, error)
- func (a *ActiveConnectionsNotInAllowedRange) UnmarshalJSON(data []byte) error
- type AdaptiveApplicationControlGroup
- type AdaptiveApplicationControlGroupData
- type AdaptiveApplicationControlGroups
- type AdaptiveApplicationControlIssue
- type AdaptiveApplicationControlIssueSummary
- type AdaptiveApplicationControlsClient
- func (client *AdaptiveApplicationControlsClient) Delete(ctx context.Context, ascLocation string, groupName string, ...) (AdaptiveApplicationControlsClientDeleteResponse, error)
- func (client *AdaptiveApplicationControlsClient) Get(ctx context.Context, ascLocation string, groupName string, ...) (AdaptiveApplicationControlsClientGetResponse, error)
- func (client *AdaptiveApplicationControlsClient) List(ctx context.Context, options *AdaptiveApplicationControlsClientListOptions) (AdaptiveApplicationControlsClientListResponse, error)
- func (client *AdaptiveApplicationControlsClient) Put(ctx context.Context, ascLocation string, groupName string, ...) (AdaptiveApplicationControlsClientPutResponse, error)
- type AdaptiveApplicationControlsClientDeleteOptions
- type AdaptiveApplicationControlsClientDeleteResponse
- type AdaptiveApplicationControlsClientGetOptions
- type AdaptiveApplicationControlsClientGetResponse
- type AdaptiveApplicationControlsClientListOptions
- type AdaptiveApplicationControlsClientListResponse
- type AdaptiveApplicationControlsClientPutOptions
- type AdaptiveApplicationControlsClientPutResponse
- type AdaptiveNetworkHardening
- type AdaptiveNetworkHardeningEnforceRequest
- type AdaptiveNetworkHardeningProperties
- type AdaptiveNetworkHardeningsClient
- func (client *AdaptiveNetworkHardeningsClient) BeginEnforce(ctx context.Context, resourceGroupName string, resourceNamespace string, ...) (*runtime.Poller[AdaptiveNetworkHardeningsClientEnforceResponse], error)
- func (client *AdaptiveNetworkHardeningsClient) Get(ctx context.Context, resourceGroupName string, resourceNamespace string, ...) (AdaptiveNetworkHardeningsClientGetResponse, error)
- func (client *AdaptiveNetworkHardeningsClient) NewListByExtendedResourcePager(resourceGroupName string, resourceNamespace string, resourceType string, ...) *runtime.Pager[AdaptiveNetworkHardeningsClientListByExtendedResourceResponse]
- type AdaptiveNetworkHardeningsClientBeginEnforceOptions
- type AdaptiveNetworkHardeningsClientEnforceResponse
- type AdaptiveNetworkHardeningsClientGetOptions
- type AdaptiveNetworkHardeningsClientGetResponse
- type AdaptiveNetworkHardeningsClientListByExtendedResourceOptions
- type AdaptiveNetworkHardeningsClientListByExtendedResourceResponse
- type AdaptiveNetworkHardeningsList
- type AdditionalData
- type AdditionalDataClassification
- type AdditionalWorkspaceDataType
- type AdditionalWorkspaceType
- type AdditionalWorkspacesProperties
- type AdvancedThreatProtectionClient
- type AdvancedThreatProtectionClientCreateOptions
- type AdvancedThreatProtectionClientCreateResponse
- type AdvancedThreatProtectionClientGetOptions
- type AdvancedThreatProtectionClientGetResponse
- type AdvancedThreatProtectionProperties
- type AdvancedThreatProtectionSetting
- type Alert
- type AlertEntity
- type AlertList
- type AlertProperties
- type AlertPropertiesSupportingEvidence
- type AlertSeverity
- type AlertSimulatorBundlesRequestProperties
- type AlertSimulatorRequestBody
- type AlertSimulatorRequestProperties
- type AlertSimulatorRequestPropertiesClassification
- type AlertStatus
- type AlertSyncSettingProperties
- type AlertSyncSettings
- type AlertsClient
- func (client *AlertsClient) BeginSimulate(ctx context.Context, ascLocation string, ...) (*runtime.Poller[AlertsClientSimulateResponse], error)
- func (client *AlertsClient) GetResourceGroupLevel(ctx context.Context, resourceGroupName string, ascLocation string, ...) (AlertsClientGetResourceGroupLevelResponse, error)
- func (client *AlertsClient) GetSubscriptionLevel(ctx context.Context, ascLocation string, alertName string, ...) (AlertsClientGetSubscriptionLevelResponse, error)
- func (client *AlertsClient) NewListByResourceGroupPager(resourceGroupName string, options *AlertsClientListByResourceGroupOptions) *runtime.Pager[AlertsClientListByResourceGroupResponse]
- func (client *AlertsClient) NewListPager(options *AlertsClientListOptions) *runtime.Pager[AlertsClientListResponse]
- func (client *AlertsClient) NewListResourceGroupLevelByRegionPager(ascLocation string, resourceGroupName string, ...) *runtime.Pager[AlertsClientListResourceGroupLevelByRegionResponse]
- func (client *AlertsClient) NewListSubscriptionLevelByRegionPager(ascLocation string, options *AlertsClientListSubscriptionLevelByRegionOptions) *runtime.Pager[AlertsClientListSubscriptionLevelByRegionResponse]
- func (client *AlertsClient) UpdateResourceGroupLevelStateToActivate(ctx context.Context, resourceGroupName string, ascLocation string, ...) (AlertsClientUpdateResourceGroupLevelStateToActivateResponse, error)
- func (client *AlertsClient) UpdateResourceGroupLevelStateToDismiss(ctx context.Context, resourceGroupName string, ascLocation string, ...) (AlertsClientUpdateResourceGroupLevelStateToDismissResponse, error)
- func (client *AlertsClient) UpdateResourceGroupLevelStateToInProgress(ctx context.Context, resourceGroupName string, ascLocation string, ...) (AlertsClientUpdateResourceGroupLevelStateToInProgressResponse, error)
- func (client *AlertsClient) UpdateResourceGroupLevelStateToResolve(ctx context.Context, resourceGroupName string, ascLocation string, ...) (AlertsClientUpdateResourceGroupLevelStateToResolveResponse, error)
- func (client *AlertsClient) UpdateSubscriptionLevelStateToActivate(ctx context.Context, ascLocation string, alertName string, ...) (AlertsClientUpdateSubscriptionLevelStateToActivateResponse, error)
- func (client *AlertsClient) UpdateSubscriptionLevelStateToDismiss(ctx context.Context, ascLocation string, alertName string, ...) (AlertsClientUpdateSubscriptionLevelStateToDismissResponse, error)
- func (client *AlertsClient) UpdateSubscriptionLevelStateToInProgress(ctx context.Context, ascLocation string, alertName string, ...) (AlertsClientUpdateSubscriptionLevelStateToInProgressResponse, error)
- func (client *AlertsClient) UpdateSubscriptionLevelStateToResolve(ctx context.Context, ascLocation string, alertName string, ...) (AlertsClientUpdateSubscriptionLevelStateToResolveResponse, error)
- type AlertsClientBeginSimulateOptions
- type AlertsClientGetResourceGroupLevelOptions
- type AlertsClientGetResourceGroupLevelResponse
- type AlertsClientGetSubscriptionLevelOptions
- type AlertsClientGetSubscriptionLevelResponse
- type AlertsClientListByResourceGroupOptions
- type AlertsClientListByResourceGroupResponse
- type AlertsClientListOptions
- type AlertsClientListResourceGroupLevelByRegionOptions
- type AlertsClientListResourceGroupLevelByRegionResponse
- type AlertsClientListResponse
- type AlertsClientListSubscriptionLevelByRegionOptions
- type AlertsClientListSubscriptionLevelByRegionResponse
- type AlertsClientSimulateResponse
- type AlertsClientUpdateResourceGroupLevelStateToActivateOptions
- type AlertsClientUpdateResourceGroupLevelStateToActivateResponse
- type AlertsClientUpdateResourceGroupLevelStateToDismissOptions
- type AlertsClientUpdateResourceGroupLevelStateToDismissResponse
- type AlertsClientUpdateResourceGroupLevelStateToInProgressOptions
- type AlertsClientUpdateResourceGroupLevelStateToInProgressResponse
- type AlertsClientUpdateResourceGroupLevelStateToResolveOptions
- type AlertsClientUpdateResourceGroupLevelStateToResolveResponse
- type AlertsClientUpdateSubscriptionLevelStateToActivateOptions
- type AlertsClientUpdateSubscriptionLevelStateToActivateResponse
- type AlertsClientUpdateSubscriptionLevelStateToDismissOptions
- type AlertsClientUpdateSubscriptionLevelStateToDismissResponse
- type AlertsClientUpdateSubscriptionLevelStateToInProgressOptions
- type AlertsClientUpdateSubscriptionLevelStateToInProgressResponse
- type AlertsClientUpdateSubscriptionLevelStateToResolveOptions
- type AlertsClientUpdateSubscriptionLevelStateToResolveResponse
- type AlertsSuppressionRule
- type AlertsSuppressionRuleProperties
- type AlertsSuppressionRulesClient
- func (client *AlertsSuppressionRulesClient) Delete(ctx context.Context, alertsSuppressionRuleName string, ...) (AlertsSuppressionRulesClientDeleteResponse, error)
- func (client *AlertsSuppressionRulesClient) Get(ctx context.Context, alertsSuppressionRuleName string, ...) (AlertsSuppressionRulesClientGetResponse, error)
- func (client *AlertsSuppressionRulesClient) NewListPager(options *AlertsSuppressionRulesClientListOptions) *runtime.Pager[AlertsSuppressionRulesClientListResponse]
- func (client *AlertsSuppressionRulesClient) Update(ctx context.Context, alertsSuppressionRuleName string, ...) (AlertsSuppressionRulesClientUpdateResponse, error)
- type AlertsSuppressionRulesClientDeleteOptions
- type AlertsSuppressionRulesClientDeleteResponse
- type AlertsSuppressionRulesClientGetOptions
- type AlertsSuppressionRulesClientGetResponse
- type AlertsSuppressionRulesClientListOptions
- type AlertsSuppressionRulesClientListResponse
- type AlertsSuppressionRulesClientUpdateOptions
- type AlertsSuppressionRulesClientUpdateResponse
- type AlertsSuppressionRulesList
- type AllowedConnectionsClient
- func (client *AllowedConnectionsClient) Get(ctx context.Context, resourceGroupName string, ascLocation string, ...) (AllowedConnectionsClientGetResponse, error)
- func (client *AllowedConnectionsClient) NewListByHomeRegionPager(ascLocation string, options *AllowedConnectionsClientListByHomeRegionOptions) *runtime.Pager[AllowedConnectionsClientListByHomeRegionResponse]
- func (client *AllowedConnectionsClient) NewListPager(options *AllowedConnectionsClientListOptions) *runtime.Pager[AllowedConnectionsClientListResponse]
- type AllowedConnectionsClientGetOptions
- type AllowedConnectionsClientGetResponse
- type AllowedConnectionsClientListByHomeRegionOptions
- type AllowedConnectionsClientListByHomeRegionResponse
- type AllowedConnectionsClientListOptions
- type AllowedConnectionsClientListResponse
- type AllowedConnectionsList
- type AllowedConnectionsResource
- type AllowedConnectionsResourceProperties
- type AllowlistCustomAlertRule
- func (a *AllowlistCustomAlertRule) GetAllowlistCustomAlertRule() *AllowlistCustomAlertRule
- func (a *AllowlistCustomAlertRule) GetCustomAlertRule() *CustomAlertRule
- func (a *AllowlistCustomAlertRule) GetListCustomAlertRule() *ListCustomAlertRule
- func (a AllowlistCustomAlertRule) MarshalJSON() ([]byte, error)
- func (a *AllowlistCustomAlertRule) UnmarshalJSON(data []byte) error
- type AllowlistCustomAlertRuleClassification
- type AmqpC2DMessagesNotInAllowedRange
- func (a *AmqpC2DMessagesNotInAllowedRange) GetCustomAlertRule() *CustomAlertRule
- func (a *AmqpC2DMessagesNotInAllowedRange) GetThresholdCustomAlertRule() *ThresholdCustomAlertRule
- func (a *AmqpC2DMessagesNotInAllowedRange) GetTimeWindowCustomAlertRule() *TimeWindowCustomAlertRule
- func (a AmqpC2DMessagesNotInAllowedRange) MarshalJSON() ([]byte, error)
- func (a *AmqpC2DMessagesNotInAllowedRange) UnmarshalJSON(data []byte) error
- type AmqpC2DRejectedMessagesNotInAllowedRange
- func (a *AmqpC2DRejectedMessagesNotInAllowedRange) GetCustomAlertRule() *CustomAlertRule
- func (a *AmqpC2DRejectedMessagesNotInAllowedRange) GetThresholdCustomAlertRule() *ThresholdCustomAlertRule
- func (a *AmqpC2DRejectedMessagesNotInAllowedRange) GetTimeWindowCustomAlertRule() *TimeWindowCustomAlertRule
- func (a AmqpC2DRejectedMessagesNotInAllowedRange) MarshalJSON() ([]byte, error)
- func (a *AmqpC2DRejectedMessagesNotInAllowedRange) UnmarshalJSON(data []byte) error
- type AmqpD2CMessagesNotInAllowedRange
- func (a *AmqpD2CMessagesNotInAllowedRange) GetCustomAlertRule() *CustomAlertRule
- func (a *AmqpD2CMessagesNotInAllowedRange) GetThresholdCustomAlertRule() *ThresholdCustomAlertRule
- func (a *AmqpD2CMessagesNotInAllowedRange) GetTimeWindowCustomAlertRule() *TimeWindowCustomAlertRule
- func (a AmqpD2CMessagesNotInAllowedRange) MarshalJSON() ([]byte, error)
- func (a *AmqpD2CMessagesNotInAllowedRange) UnmarshalJSON(data []byte) error
- type AnnotateDefaultBranchState
- type Application
- type ApplicationClient
- func (client *ApplicationClient) CreateOrUpdate(ctx context.Context, applicationID string, application Application, ...) (ApplicationClientCreateOrUpdateResponse, error)
- func (client *ApplicationClient) Delete(ctx context.Context, applicationID string, ...) (ApplicationClientDeleteResponse, error)
- func (client *ApplicationClient) Get(ctx context.Context, applicationID string, ...) (ApplicationClientGetResponse, error)
- type ApplicationClientCreateOrUpdateOptions
- type ApplicationClientCreateOrUpdateResponse
- type ApplicationClientDeleteOptions
- type ApplicationClientDeleteResponse
- type ApplicationClientGetOptions
- type ApplicationClientGetResponse
- type ApplicationCondition
- type ApplicationConditionOperator
- type ApplicationProperties
- type ApplicationSourceResourceType
- type ApplicationsClient
- type ApplicationsClientListOptions
- type ApplicationsClientListResponse
- type ApplicationsList
- type ArcAutoProvisioning
- type ArcAutoProvisioningAws
- type ArcAutoProvisioningConfiguration
- type ArcAutoProvisioningGcp
- type AscLocation
- type AscLocationList
- type AssessedResourceType
- type Assessment
- type AssessmentLinks
- type AssessmentList
- type AssessmentMetadata
- type AssessmentMetadataPartnerData
- type AssessmentMetadataProperties
- type AssessmentMetadataPropertiesResponse
- type AssessmentMetadataPropertiesResponsePublishDates
- type AssessmentMetadataResponse
- type AssessmentMetadataResponseList
- type AssessmentPartnerData
- type AssessmentProperties
- type AssessmentPropertiesBase
- type AssessmentPropertiesResponse
- type AssessmentResponse
- type AssessmentStatus
- type AssessmentStatusCode
- type AssessmentStatusResponse
- type AssessmentType
- type AssessmentsClient
- func (client *AssessmentsClient) CreateOrUpdate(ctx context.Context, resourceID string, assessmentName string, ...) (AssessmentsClientCreateOrUpdateResponse, error)
- func (client *AssessmentsClient) Delete(ctx context.Context, resourceID string, assessmentName string, ...) (AssessmentsClientDeleteResponse, error)
- func (client *AssessmentsClient) Get(ctx context.Context, resourceID string, assessmentName string, ...) (AssessmentsClientGetResponse, error)
- func (client *AssessmentsClient) NewListPager(scope string, options *AssessmentsClientListOptions) *runtime.Pager[AssessmentsClientListResponse]
- type AssessmentsClientCreateOrUpdateOptions
- type AssessmentsClientCreateOrUpdateResponse
- type AssessmentsClientDeleteOptions
- type AssessmentsClientDeleteResponse
- type AssessmentsClientGetOptions
- type AssessmentsClientGetResponse
- type AssessmentsClientListOptions
- type AssessmentsClientListResponse
- type AssessmentsMetadataClient
- func (client *AssessmentsMetadataClient) CreateInSubscription(ctx context.Context, assessmentMetadataName string, ...) (AssessmentsMetadataClientCreateInSubscriptionResponse, error)
- func (client *AssessmentsMetadataClient) DeleteInSubscription(ctx context.Context, assessmentMetadataName string, ...) (AssessmentsMetadataClientDeleteInSubscriptionResponse, error)
- func (client *AssessmentsMetadataClient) Get(ctx context.Context, assessmentMetadataName string, ...) (AssessmentsMetadataClientGetResponse, error)
- func (client *AssessmentsMetadataClient) GetInSubscription(ctx context.Context, assessmentMetadataName string, ...) (AssessmentsMetadataClientGetInSubscriptionResponse, error)
- func (client *AssessmentsMetadataClient) NewListBySubscriptionPager(options *AssessmentsMetadataClientListBySubscriptionOptions) *runtime.Pager[AssessmentsMetadataClientListBySubscriptionResponse]
- func (client *AssessmentsMetadataClient) NewListPager(options *AssessmentsMetadataClientListOptions) *runtime.Pager[AssessmentsMetadataClientListResponse]
- type AssessmentsMetadataClientCreateInSubscriptionOptions
- type AssessmentsMetadataClientCreateInSubscriptionResponse
- type AssessmentsMetadataClientDeleteInSubscriptionOptions
- type AssessmentsMetadataClientDeleteInSubscriptionResponse
- type AssessmentsMetadataClientGetInSubscriptionOptions
- type AssessmentsMetadataClientGetInSubscriptionResponse
- type AssessmentsMetadataClientGetOptions
- type AssessmentsMetadataClientGetResponse
- type AssessmentsMetadataClientListBySubscriptionOptions
- type AssessmentsMetadataClientListBySubscriptionResponse
- type AssessmentsMetadataClientListOptions
- type AssessmentsMetadataClientListResponse
- type AtaExternalSecuritySolution
- type AtaSolutionProperties
- type AuthenticationDetailsProperties
- type AuthenticationDetailsPropertiesClassification
- type AuthenticationProvisioningState
- type AuthenticationType
- type Authorization
- type AutoDiscovery
- type AutoProvision
- type AutoProvisioningSetting
- type AutoProvisioningSettingList
- type AutoProvisioningSettingProperties
- type AutoProvisioningSettingsClient
- func (client *AutoProvisioningSettingsClient) Create(ctx context.Context, settingName string, setting AutoProvisioningSetting, ...) (AutoProvisioningSettingsClientCreateResponse, error)
- func (client *AutoProvisioningSettingsClient) Get(ctx context.Context, settingName string, ...) (AutoProvisioningSettingsClientGetResponse, error)
- func (client *AutoProvisioningSettingsClient) NewListPager(options *AutoProvisioningSettingsClientListOptions) *runtime.Pager[AutoProvisioningSettingsClientListResponse]
- type AutoProvisioningSettingsClientCreateOptions
- type AutoProvisioningSettingsClientCreateResponse
- type AutoProvisioningSettingsClientGetOptions
- type AutoProvisioningSettingsClientGetResponse
- type AutoProvisioningSettingsClientListOptions
- type AutoProvisioningSettingsClientListResponse
- type Automation
- type AutomationAction
- type AutomationActionClassification
- type AutomationActionEventHub
- type AutomationActionLogicApp
- type AutomationActionWorkspace
- type AutomationList
- type AutomationProperties
- type AutomationRuleSet
- type AutomationScope
- type AutomationSource
- type AutomationTriggeringRule
- type AutomationUpdateModel
- type AutomationValidationStatus
- type AutomationsClient
- func (client *AutomationsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, automationName string, ...) (AutomationsClientCreateOrUpdateResponse, error)
- func (client *AutomationsClient) Delete(ctx context.Context, resourceGroupName string, automationName string, ...) (AutomationsClientDeleteResponse, error)
- func (client *AutomationsClient) Get(ctx context.Context, resourceGroupName string, automationName string, ...) (AutomationsClientGetResponse, error)
- func (client *AutomationsClient) NewListByResourceGroupPager(resourceGroupName string, options *AutomationsClientListByResourceGroupOptions) *runtime.Pager[AutomationsClientListByResourceGroupResponse]
- func (client *AutomationsClient) NewListPager(options *AutomationsClientListOptions) *runtime.Pager[AutomationsClientListResponse]
- func (client *AutomationsClient) Update(ctx context.Context, resourceGroupName string, automationName string, ...) (AutomationsClientUpdateResponse, error)
- func (client *AutomationsClient) Validate(ctx context.Context, resourceGroupName string, automationName string, ...) (AutomationsClientValidateResponse, error)
- type AutomationsClientCreateOrUpdateOptions
- type AutomationsClientCreateOrUpdateResponse
- type AutomationsClientDeleteOptions
- type AutomationsClientDeleteResponse
- type AutomationsClientGetOptions
- type AutomationsClientGetResponse
- type AutomationsClientListByResourceGroupOptions
- type AutomationsClientListByResourceGroupResponse
- type AutomationsClientListOptions
- type AutomationsClientListResponse
- type AutomationsClientUpdateOptions
- type AutomationsClientUpdateResponse
- type AutomationsClientValidateOptions
- type AutomationsClientValidateResponse
- type AwAssumeRoleAuthenticationDetailsProperties
- type AwsCredsAuthenticationDetailsProperties
- type AwsEnvironmentData
- type AwsOrganizationalData
- type AwsOrganizationalDataClassification
- type AwsOrganizationalDataMaster
- type AwsOrganizationalDataMember
- type AzureDevOpsOrg
- type AzureDevOpsOrgListResponse
- type AzureDevOpsOrgProperties
- type AzureDevOpsOrganizationConfiguration
- type AzureDevOpsOrgsClient
- func (client *AzureDevOpsOrgsClient) BeginCreateOrUpdate(ctx context.Context, resourceGroupName string, securityConnectorName string, ...) (*runtime.Poller[AzureDevOpsOrgsClientCreateOrUpdateResponse], error)
- func (client *AzureDevOpsOrgsClient) BeginUpdate(ctx context.Context, resourceGroupName string, securityConnectorName string, ...) (*runtime.Poller[AzureDevOpsOrgsClientUpdateResponse], error)
- func (client *AzureDevOpsOrgsClient) Get(ctx context.Context, resourceGroupName string, securityConnectorName string, ...) (AzureDevOpsOrgsClientGetResponse, error)
- func (client *AzureDevOpsOrgsClient) ListAvailable(ctx context.Context, resourceGroupName string, securityConnectorName string, ...) (AzureDevOpsOrgsClientListAvailableResponse, error)
- func (client *AzureDevOpsOrgsClient) NewListPager(resourceGroupName string, securityConnectorName string, ...) *runtime.Pager[AzureDevOpsOrgsClientListResponse]
- type AzureDevOpsOrgsClientBeginCreateOrUpdateOptions
- type AzureDevOpsOrgsClientBeginUpdateOptions
- type AzureDevOpsOrgsClientCreateOrUpdateResponse
- type AzureDevOpsOrgsClientGetOptions
- type AzureDevOpsOrgsClientGetResponse
- type AzureDevOpsOrgsClientListAvailableOptions
- type AzureDevOpsOrgsClientListAvailableResponse
- type AzureDevOpsOrgsClientListOptions
- type AzureDevOpsOrgsClientListResponse
- type AzureDevOpsOrgsClientUpdateResponse
- type AzureDevOpsProject
- type AzureDevOpsProjectConfiguration
- type AzureDevOpsProjectListResponse
- type AzureDevOpsProjectProperties
- type AzureDevOpsProjectsClient
- func (client *AzureDevOpsProjectsClient) BeginCreateOrUpdate(ctx context.Context, resourceGroupName string, securityConnectorName string, ...) (*runtime.Poller[AzureDevOpsProjectsClientCreateOrUpdateResponse], error)
- func (client *AzureDevOpsProjectsClient) BeginUpdate(ctx context.Context, resourceGroupName string, securityConnectorName string, ...) (*runtime.Poller[AzureDevOpsProjectsClientUpdateResponse], error)
- func (client *AzureDevOpsProjectsClient) Get(ctx context.Context, resourceGroupName string, securityConnectorName string, ...) (AzureDevOpsProjectsClientGetResponse, error)
- func (client *AzureDevOpsProjectsClient) NewListPager(resourceGroupName string, securityConnectorName string, orgName string, ...) *runtime.Pager[AzureDevOpsProjectsClientListResponse]
- type AzureDevOpsProjectsClientBeginCreateOrUpdateOptions
- type AzureDevOpsProjectsClientBeginUpdateOptions
- type AzureDevOpsProjectsClientCreateOrUpdateResponse
- type AzureDevOpsProjectsClientGetOptions
- type AzureDevOpsProjectsClientGetResponse
- type AzureDevOpsProjectsClientListOptions
- type AzureDevOpsProjectsClientListResponse
- type AzureDevOpsProjectsClientUpdateResponse
- type AzureDevOpsReposClient
- func (client *AzureDevOpsReposClient) BeginCreateOrUpdate(ctx context.Context, resourceGroupName string, securityConnectorName string, ...) (*runtime.Poller[AzureDevOpsReposClientCreateOrUpdateResponse], error)
- func (client *AzureDevOpsReposClient) BeginUpdate(ctx context.Context, resourceGroupName string, securityConnectorName string, ...) (*runtime.Poller[AzureDevOpsReposClientUpdateResponse], error)
- func (client *AzureDevOpsReposClient) Get(ctx context.Context, resourceGroupName string, securityConnectorName string, ...) (AzureDevOpsReposClientGetResponse, error)
- func (client *AzureDevOpsReposClient) NewListPager(resourceGroupName string, securityConnectorName string, orgName string, ...) *runtime.Pager[AzureDevOpsReposClientListResponse]
- type AzureDevOpsReposClientBeginCreateOrUpdateOptions
- type AzureDevOpsReposClientBeginUpdateOptions
- type AzureDevOpsReposClientCreateOrUpdateResponse
- type AzureDevOpsReposClientGetOptions
- type AzureDevOpsReposClientGetResponse
- type AzureDevOpsReposClientListOptions
- type AzureDevOpsReposClientListResponse
- type AzureDevOpsReposClientUpdateResponse
- type AzureDevOpsRepository
- type AzureDevOpsRepositoryListResponse
- type AzureDevOpsRepositoryProperties
- type AzureDevOpsScopeEnvironmentData
- type AzureResourceDetails
- type AzureResourceIdentifier
- type AzureResourceLink
- type AzureServersSetting
- type AzureTrackedResourceLocation
- type BaseResourceConfiguration
- type Baseline
- type BaselineAdjustedResult
- type BenchmarkReference
- type BuiltInInfoType
- type BundleType
- type CVE
- type CVSS
- type Categories
- type CategoryConfiguration
- type CefExternalSecuritySolution
- type CefSolutionProperties
- type ClientFactory
- func (c *ClientFactory) NewAPICollectionsClient() *APICollectionsClient
- func (c *ClientFactory) NewAccountConnectorsClient() *AccountConnectorsClient
- func (c *ClientFactory) NewAdaptiveApplicationControlsClient() *AdaptiveApplicationControlsClient
- func (c *ClientFactory) NewAdaptiveNetworkHardeningsClient() *AdaptiveNetworkHardeningsClient
- func (c *ClientFactory) NewAdvancedThreatProtectionClient() *AdvancedThreatProtectionClient
- func (c *ClientFactory) NewAlertsClient() *AlertsClient
- func (c *ClientFactory) NewAlertsSuppressionRulesClient() *AlertsSuppressionRulesClient
- func (c *ClientFactory) NewAllowedConnectionsClient() *AllowedConnectionsClient
- func (c *ClientFactory) NewApplicationClient() *ApplicationClient
- func (c *ClientFactory) NewApplicationsClient() *ApplicationsClient
- func (c *ClientFactory) NewAssessmentsClient() *AssessmentsClient
- func (c *ClientFactory) NewAssessmentsMetadataClient() *AssessmentsMetadataClient
- func (c *ClientFactory) NewAutoProvisioningSettingsClient() *AutoProvisioningSettingsClient
- func (c *ClientFactory) NewAutomationsClient() *AutomationsClient
- func (c *ClientFactory) NewAzureDevOpsOrgsClient() *AzureDevOpsOrgsClient
- func (c *ClientFactory) NewAzureDevOpsProjectsClient() *AzureDevOpsProjectsClient
- func (c *ClientFactory) NewAzureDevOpsReposClient() *AzureDevOpsReposClient
- func (c *ClientFactory) NewComplianceResultsClient() *ComplianceResultsClient
- func (c *ClientFactory) NewCompliancesClient() *CompliancesClient
- func (c *ClientFactory) NewConnectorApplicationClient() *ConnectorApplicationClient
- func (c *ClientFactory) NewConnectorApplicationsClient() *ConnectorApplicationsClient
- func (c *ClientFactory) NewConnectorsClient() *ConnectorsClient
- func (c *ClientFactory) NewContactsClient() *ContactsClient
- func (c *ClientFactory) NewCustomAssessmentAutomationsClient() *CustomAssessmentAutomationsClient
- func (c *ClientFactory) NewCustomEntityStoreAssignmentsClient() *CustomEntityStoreAssignmentsClient
- func (c *ClientFactory) NewDefenderForStorageClient() *DefenderForStorageClient
- func (c *ClientFactory) NewDevOpsConfigurationsClient() *DevOpsConfigurationsClient
- func (c *ClientFactory) NewDevOpsOperationResultsClient() *DevOpsOperationResultsClient
- func (c *ClientFactory) NewDeviceSecurityGroupsClient() *DeviceSecurityGroupsClient
- func (c *ClientFactory) NewDiscoveredSecuritySolutionsClient() *DiscoveredSecuritySolutionsClient
- func (c *ClientFactory) NewExternalSecuritySolutionsClient() *ExternalSecuritySolutionsClient
- func (c *ClientFactory) NewGitHubOwnersClient() *GitHubOwnersClient
- func (c *ClientFactory) NewGitHubReposClient() *GitHubReposClient
- func (c *ClientFactory) NewGitLabGroupsClient() *GitLabGroupsClient
- func (c *ClientFactory) NewGitLabProjectsClient() *GitLabProjectsClient
- func (c *ClientFactory) NewGitLabSubgroupsClient() *GitLabSubgroupsClient
- func (c *ClientFactory) NewGovernanceAssignmentsClient() *GovernanceAssignmentsClient
- func (c *ClientFactory) NewGovernanceRulesClient() *GovernanceRulesClient
- func (c *ClientFactory) NewHealthReportsClient() *HealthReportsClient
- func (c *ClientFactory) NewInformationProtectionPoliciesClient() *InformationProtectionPoliciesClient
- func (c *ClientFactory) NewIotSecuritySolutionAnalyticsClient() *IotSecuritySolutionAnalyticsClient
- func (c *ClientFactory) NewIotSecuritySolutionClient() *IotSecuritySolutionClient
- func (c *ClientFactory) NewIotSecuritySolutionsAnalyticsAggregatedAlertClient() *IotSecuritySolutionsAnalyticsAggregatedAlertClient
- func (c *ClientFactory) NewIotSecuritySolutionsAnalyticsRecommendationClient() *IotSecuritySolutionsAnalyticsRecommendationClient
- func (c *ClientFactory) NewJitNetworkAccessPoliciesClient() *JitNetworkAccessPoliciesClient
- func (c *ClientFactory) NewLocationsClient() *LocationsClient
- func (c *ClientFactory) NewMdeOnboardingsClient() *MdeOnboardingsClient
- func (c *ClientFactory) NewOperationsClient() *OperationsClient
- func (c *ClientFactory) NewOperatorsClient() *OperatorsClient
- func (c *ClientFactory) NewPricingsClient() *PricingsClient
- func (c *ClientFactory) NewRegulatoryComplianceAssessmentsClient() *RegulatoryComplianceAssessmentsClient
- func (c *ClientFactory) NewRegulatoryComplianceControlsClient() *RegulatoryComplianceControlsClient
- func (c *ClientFactory) NewRegulatoryComplianceStandardsClient() *RegulatoryComplianceStandardsClient
- func (c *ClientFactory) NewSQLVulnerabilityAssessmentBaselineRulesClient() *SQLVulnerabilityAssessmentBaselineRulesClient
- func (c *ClientFactory) NewSQLVulnerabilityAssessmentScanResultsClient() *SQLVulnerabilityAssessmentScanResultsClient
- func (c *ClientFactory) NewSQLVulnerabilityAssessmentScansClient() *SQLVulnerabilityAssessmentScansClient
- func (c *ClientFactory) NewSecureScoreControlDefinitionsClient() *SecureScoreControlDefinitionsClient
- func (c *ClientFactory) NewSecureScoreControlsClient() *SecureScoreControlsClient
- func (c *ClientFactory) NewSecureScoresClient() *SecureScoresClient
- func (c *ClientFactory) NewSensitivitySettingsClient() *SensitivitySettingsClient
- func (c *ClientFactory) NewServerVulnerabilityAssessmentClient() *ServerVulnerabilityAssessmentClient
- func (c *ClientFactory) NewServerVulnerabilityAssessmentsSettingsClient() *ServerVulnerabilityAssessmentsSettingsClient
- func (c *ClientFactory) NewSettingsClient() *SettingsClient
- func (c *ClientFactory) NewSoftwareInventoriesClient() *SoftwareInventoriesClient
- func (c *ClientFactory) NewSolutionsClient() *SolutionsClient
- func (c *ClientFactory) NewSolutionsReferenceDataClient() *SolutionsReferenceDataClient
- func (c *ClientFactory) NewSubAssessmentsClient() *SubAssessmentsClient
- func (c *ClientFactory) NewTasksClient() *TasksClient
- func (c *ClientFactory) NewTopologyClient() *TopologyClient
- func (c *ClientFactory) NewWorkspaceSettingsClient() *WorkspaceSettingsClient
- type CloudName
- type CloudOffering
- type CloudOfferingClassification
- type Code
- type Compliance
- type ComplianceList
- type ComplianceProperties
- type ComplianceResult
- type ComplianceResultList
- type ComplianceResultProperties
- type ComplianceResultsClient
- func (client *ComplianceResultsClient) Get(ctx context.Context, resourceID string, complianceResultName string, ...) (ComplianceResultsClientGetResponse, error)
- func (client *ComplianceResultsClient) NewListPager(scope string, options *ComplianceResultsClientListOptions) *runtime.Pager[ComplianceResultsClientListResponse]
- type ComplianceResultsClientGetOptions
- type ComplianceResultsClientGetResponse
- type ComplianceResultsClientListOptions
- type ComplianceResultsClientListResponse
- type ComplianceSegment
- type CompliancesClient
- type CompliancesClientGetOptions
- type CompliancesClientGetResponse
- type CompliancesClientListOptions
- type CompliancesClientListResponse
- type Condition
- type ConfigurationStatus
- type ConnectableResource
- type ConnectedResource
- type ConnectedWorkspace
- type ConnectionFromIPNotAllowed
- func (c *ConnectionFromIPNotAllowed) GetAllowlistCustomAlertRule() *AllowlistCustomAlertRule
- func (c *ConnectionFromIPNotAllowed) GetCustomAlertRule() *CustomAlertRule
- func (c *ConnectionFromIPNotAllowed) GetListCustomAlertRule() *ListCustomAlertRule
- func (c ConnectionFromIPNotAllowed) MarshalJSON() ([]byte, error)
- func (c *ConnectionFromIPNotAllowed) UnmarshalJSON(data []byte) error
- type ConnectionToIPNotAllowed
- func (c *ConnectionToIPNotAllowed) GetAllowlistCustomAlertRule() *AllowlistCustomAlertRule
- func (c *ConnectionToIPNotAllowed) GetCustomAlertRule() *CustomAlertRule
- func (c *ConnectionToIPNotAllowed) GetListCustomAlertRule() *ListCustomAlertRule
- func (c ConnectionToIPNotAllowed) MarshalJSON() ([]byte, error)
- func (c *ConnectionToIPNotAllowed) UnmarshalJSON(data []byte) error
- type ConnectionType
- type Connector
- type ConnectorApplicationClient
- func (client *ConnectorApplicationClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, securityConnectorName string, ...) (ConnectorApplicationClientCreateOrUpdateResponse, error)
- func (client *ConnectorApplicationClient) Delete(ctx context.Context, resourceGroupName string, securityConnectorName string, ...) (ConnectorApplicationClientDeleteResponse, error)
- func (client *ConnectorApplicationClient) Get(ctx context.Context, resourceGroupName string, securityConnectorName string, ...) (ConnectorApplicationClientGetResponse, error)
- type ConnectorApplicationClientCreateOrUpdateOptions
- type ConnectorApplicationClientCreateOrUpdateResponse
- type ConnectorApplicationClientDeleteOptions
- type ConnectorApplicationClientDeleteResponse
- type ConnectorApplicationClientGetOptions
- type ConnectorApplicationClientGetResponse
- type ConnectorApplicationsClient
- type ConnectorApplicationsClientListOptions
- type ConnectorApplicationsClientListResponse
- type ConnectorProperties
- type ConnectorSetting
- type ConnectorSettingList
- type ConnectorSettingProperties
- type ConnectorsClient
- func (client *ConnectorsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, securityConnectorName string, ...) (ConnectorsClientCreateOrUpdateResponse, error)
- func (client *ConnectorsClient) Delete(ctx context.Context, resourceGroupName string, securityConnectorName string, ...) (ConnectorsClientDeleteResponse, error)
- func (client *ConnectorsClient) Get(ctx context.Context, resourceGroupName string, securityConnectorName string, ...) (ConnectorsClientGetResponse, error)
- func (client *ConnectorsClient) NewListByResourceGroupPager(resourceGroupName string, options *ConnectorsClientListByResourceGroupOptions) *runtime.Pager[ConnectorsClientListByResourceGroupResponse]
- func (client *ConnectorsClient) NewListPager(options *ConnectorsClientListOptions) *runtime.Pager[ConnectorsClientListResponse]
- func (client *ConnectorsClient) Update(ctx context.Context, resourceGroupName string, securityConnectorName string, ...) (ConnectorsClientUpdateResponse, error)
- type ConnectorsClientCreateOrUpdateOptions
- type ConnectorsClientCreateOrUpdateResponse
- type ConnectorsClientDeleteOptions
- type ConnectorsClientDeleteResponse
- type ConnectorsClientGetOptions
- type ConnectorsClientGetResponse
- type ConnectorsClientListByResourceGroupOptions
- type ConnectorsClientListByResourceGroupResponse
- type ConnectorsClientListOptions
- type ConnectorsClientListResponse
- type ConnectorsClientUpdateOptions
- type ConnectorsClientUpdateResponse
- type ConnectorsList
- type Contact
- type ContactList
- type ContactProperties
- type ContactPropertiesNotificationsByRole
- type ContactsClient
- func (client *ContactsClient) Create(ctx context.Context, securityContactName SecurityContactName, ...) (ContactsClientCreateResponse, error)
- func (client *ContactsClient) Delete(ctx context.Context, securityContactName SecurityContactName, ...) (ContactsClientDeleteResponse, error)
- func (client *ContactsClient) Get(ctx context.Context, securityContactName SecurityContactName, ...) (ContactsClientGetResponse, error)
- func (client *ContactsClient) NewListPager(options *ContactsClientListOptions) *runtime.Pager[ContactsClientListResponse]
- type ContactsClientCreateOptions
- type ContactsClientCreateResponse
- type ContactsClientDeleteOptions
- type ContactsClientDeleteResponse
- type ContactsClientGetOptions
- type ContactsClientGetResponse
- type ContactsClientListOptions
- type ContactsClientListResponse
- type ContainerRegistryVulnerabilityProperties
- type ControlType
- type CreatedByType
- type CspmMonitorAwsOffering
- type CspmMonitorAwsOfferingNativeCloudConnection
- type CspmMonitorAzureDevOpsOffering
- type CspmMonitorGcpOffering
- type CspmMonitorGcpOfferingNativeCloudConnection
- type CspmMonitorGitLabOffering
- type CspmMonitorGithubOffering
- type CustomAlertRule
- type CustomAlertRuleClassification
- type CustomAssessmentAutomation
- type CustomAssessmentAutomationProperties
- type CustomAssessmentAutomationRequest
- type CustomAssessmentAutomationRequestProperties
- type CustomAssessmentAutomationsClient
- func (client *CustomAssessmentAutomationsClient) Create(ctx context.Context, resourceGroupName string, ...) (CustomAssessmentAutomationsClientCreateResponse, error)
- func (client *CustomAssessmentAutomationsClient) Delete(ctx context.Context, resourceGroupName string, ...) (CustomAssessmentAutomationsClientDeleteResponse, error)
- func (client *CustomAssessmentAutomationsClient) Get(ctx context.Context, resourceGroupName string, ...) (CustomAssessmentAutomationsClientGetResponse, error)
- func (client *CustomAssessmentAutomationsClient) NewListByResourceGroupPager(resourceGroupName string, ...) *runtime.Pager[CustomAssessmentAutomationsClientListByResourceGroupResponse]
- func (client *CustomAssessmentAutomationsClient) NewListBySubscriptionPager(options *CustomAssessmentAutomationsClientListBySubscriptionOptions) *runtime.Pager[CustomAssessmentAutomationsClientListBySubscriptionResponse]
- type CustomAssessmentAutomationsClientCreateOptions
- type CustomAssessmentAutomationsClientCreateResponse
- type CustomAssessmentAutomationsClientDeleteOptions
- type CustomAssessmentAutomationsClientDeleteResponse
- type CustomAssessmentAutomationsClientGetOptions
- type CustomAssessmentAutomationsClientGetResponse
- type CustomAssessmentAutomationsClientListByResourceGroupOptions
- type CustomAssessmentAutomationsClientListByResourceGroupResponse
- type CustomAssessmentAutomationsClientListBySubscriptionOptions
- type CustomAssessmentAutomationsClientListBySubscriptionResponse
- type CustomAssessmentAutomationsListResult
- type CustomEntityStoreAssignment
- type CustomEntityStoreAssignmentProperties
- type CustomEntityStoreAssignmentRequest
- type CustomEntityStoreAssignmentRequestProperties
- type CustomEntityStoreAssignmentsClient
- func (client *CustomEntityStoreAssignmentsClient) Create(ctx context.Context, resourceGroupName string, ...) (CustomEntityStoreAssignmentsClientCreateResponse, error)
- func (client *CustomEntityStoreAssignmentsClient) Delete(ctx context.Context, resourceGroupName string, ...) (CustomEntityStoreAssignmentsClientDeleteResponse, error)
- func (client *CustomEntityStoreAssignmentsClient) Get(ctx context.Context, resourceGroupName string, ...) (CustomEntityStoreAssignmentsClientGetResponse, error)
- func (client *CustomEntityStoreAssignmentsClient) NewListByResourceGroupPager(resourceGroupName string, ...) *runtime.Pager[CustomEntityStoreAssignmentsClientListByResourceGroupResponse]
- func (client *CustomEntityStoreAssignmentsClient) NewListBySubscriptionPager(options *CustomEntityStoreAssignmentsClientListBySubscriptionOptions) *runtime.Pager[CustomEntityStoreAssignmentsClientListBySubscriptionResponse]
- type CustomEntityStoreAssignmentsClientCreateOptions
- type CustomEntityStoreAssignmentsClientCreateResponse
- type CustomEntityStoreAssignmentsClientDeleteOptions
- type CustomEntityStoreAssignmentsClientDeleteResponse
- type CustomEntityStoreAssignmentsClientGetOptions
- type CustomEntityStoreAssignmentsClientGetResponse
- type CustomEntityStoreAssignmentsClientListByResourceGroupOptions
- type CustomEntityStoreAssignmentsClientListByResourceGroupResponse
- type CustomEntityStoreAssignmentsClientListBySubscriptionOptions
- type CustomEntityStoreAssignmentsClientListBySubscriptionResponse
- type CustomEntityStoreAssignmentsListResult
- type DataExportSettingProperties
- type DataExportSettings
- type DataSource
- type DefenderCspmAwsOffering
- type DefenderCspmAwsOfferingCiem
- type DefenderCspmAwsOfferingCiemDiscovery
- type DefenderCspmAwsOfferingCiemOidc
- type DefenderCspmAwsOfferingDataSensitivityDiscovery
- type DefenderCspmAwsOfferingDatabasesDspm
- type DefenderCspmAwsOfferingMdcContainersAgentlessDiscoveryK8S
- type DefenderCspmAwsOfferingMdcContainersImageAssessment
- type DefenderCspmAwsOfferingVMScanners
- type DefenderCspmGcpOffering
- type DefenderCspmGcpOfferingCiemDiscovery
- type DefenderCspmGcpOfferingDataSensitivityDiscovery
- type DefenderCspmGcpOfferingMdcContainersAgentlessDiscoveryK8S
- type DefenderCspmGcpOfferingMdcContainersImageAssessment
- type DefenderCspmGcpOfferingVMScanners
- type DefenderFoDatabasesAwsOffering
- type DefenderFoDatabasesAwsOfferingArcAutoProvisioning
- type DefenderFoDatabasesAwsOfferingDatabasesDspm
- type DefenderFoDatabasesAwsOfferingRds
- type DefenderForContainersAwsOffering
- type DefenderForContainersAwsOfferingCloudWatchToKinesis
- type DefenderForContainersAwsOfferingKinesisToS3
- type DefenderForContainersAwsOfferingKubernetesDataCollection
- type DefenderForContainersAwsOfferingKubernetesService
- type DefenderForContainersAwsOfferingMdcContainersAgentlessDiscoveryK8S
- type DefenderForContainersAwsOfferingMdcContainersImageAssessment
- type DefenderForContainersAwsOfferingVMScanners
- type DefenderForContainersGcpOffering
- type DefenderForContainersGcpOfferingDataPipelineNativeCloudConnection
- type DefenderForContainersGcpOfferingMdcContainersAgentlessDiscoveryK8S
- type DefenderForContainersGcpOfferingMdcContainersImageAssessment
- type DefenderForContainersGcpOfferingNativeCloudConnection
- type DefenderForContainersGcpOfferingVMScanners
- type DefenderForDatabasesGcpOffering
- type DefenderForDatabasesGcpOfferingArcAutoProvisioning
- type DefenderForDatabasesGcpOfferingDefenderForDatabasesArcAutoProvisioning
- type DefenderForServersAwsOffering
- type DefenderForServersAwsOfferingArcAutoProvisioning
- type DefenderForServersAwsOfferingDefenderForServers
- type DefenderForServersAwsOfferingMdeAutoProvisioning
- type DefenderForServersAwsOfferingSubPlan
- type DefenderForServersAwsOfferingVMScanners
- type DefenderForServersAwsOfferingVaAutoProvisioning
- type DefenderForServersAwsOfferingVaAutoProvisioningConfiguration
- type DefenderForServersGcpOffering
- type DefenderForServersGcpOfferingArcAutoProvisioning
- type DefenderForServersGcpOfferingDefenderForServers
- type DefenderForServersGcpOfferingMdeAutoProvisioning
- type DefenderForServersGcpOfferingSubPlan
- type DefenderForServersGcpOfferingVMScanners
- type DefenderForServersGcpOfferingVaAutoProvisioning
- type DefenderForServersGcpOfferingVaAutoProvisioningConfiguration
- type DefenderForStorageClient
- func (client *DefenderForStorageClient) Create(ctx context.Context, resourceID string, settingName SettingName, ...) (DefenderForStorageClientCreateResponse, error)
- func (client *DefenderForStorageClient) Get(ctx context.Context, resourceID string, settingName SettingName, ...) (DefenderForStorageClientGetResponse, error)
- type DefenderForStorageClientCreateOptions
- type DefenderForStorageClientCreateResponse
- type DefenderForStorageClientGetOptions
- type DefenderForStorageClientGetResponse
- type DefenderForStorageSetting
- type DefenderForStorageSettingProperties
- type DenylistCustomAlertRule
- type DesiredOnboardingState
- type DevOpsConfiguration
- type DevOpsConfigurationListResponse
- type DevOpsConfigurationProperties
- type DevOpsConfigurationsClient
- func (client *DevOpsConfigurationsClient) BeginCreateOrUpdate(ctx context.Context, resourceGroupName string, securityConnectorName string, ...) (*runtime.Poller[DevOpsConfigurationsClientCreateOrUpdateResponse], error)
- func (client *DevOpsConfigurationsClient) BeginDelete(ctx context.Context, resourceGroupName string, securityConnectorName string, ...) (*runtime.Poller[DevOpsConfigurationsClientDeleteResponse], error)
- func (client *DevOpsConfigurationsClient) BeginUpdate(ctx context.Context, resourceGroupName string, securityConnectorName string, ...) (*runtime.Poller[DevOpsConfigurationsClientUpdateResponse], error)
- func (client *DevOpsConfigurationsClient) Get(ctx context.Context, resourceGroupName string, securityConnectorName string, ...) (DevOpsConfigurationsClientGetResponse, error)
- func (client *DevOpsConfigurationsClient) NewListPager(resourceGroupName string, securityConnectorName string, ...) *runtime.Pager[DevOpsConfigurationsClientListResponse]
- type DevOpsConfigurationsClientBeginCreateOrUpdateOptions
- type DevOpsConfigurationsClientBeginDeleteOptions
- type DevOpsConfigurationsClientBeginUpdateOptions
- type DevOpsConfigurationsClientCreateOrUpdateResponse
- type DevOpsConfigurationsClientDeleteResponse
- type DevOpsConfigurationsClientGetOptions
- type DevOpsConfigurationsClientGetResponse
- type DevOpsConfigurationsClientListOptions
- type DevOpsConfigurationsClientListResponse
- type DevOpsConfigurationsClientUpdateResponse
- type DevOpsOperationResultsClient
- type DevOpsOperationResultsClientGetOptions
- type DevOpsOperationResultsClientGetResponse
- type DevOpsProvisioningState
- type DeviceSecurityGroup
- type DeviceSecurityGroupList
- type DeviceSecurityGroupProperties
- type DeviceSecurityGroupsClient
- func (client *DeviceSecurityGroupsClient) CreateOrUpdate(ctx context.Context, resourceID string, deviceSecurityGroupName string, ...) (DeviceSecurityGroupsClientCreateOrUpdateResponse, error)
- func (client *DeviceSecurityGroupsClient) Delete(ctx context.Context, resourceID string, deviceSecurityGroupName string, ...) (DeviceSecurityGroupsClientDeleteResponse, error)
- func (client *DeviceSecurityGroupsClient) Get(ctx context.Context, resourceID string, deviceSecurityGroupName string, ...) (DeviceSecurityGroupsClientGetResponse, error)
- func (client *DeviceSecurityGroupsClient) NewListPager(resourceID string, options *DeviceSecurityGroupsClientListOptions) *runtime.Pager[DeviceSecurityGroupsClientListResponse]
- type DeviceSecurityGroupsClientCreateOrUpdateOptions
- type DeviceSecurityGroupsClientCreateOrUpdateResponse
- type DeviceSecurityGroupsClientDeleteOptions
- type DeviceSecurityGroupsClientDeleteResponse
- type DeviceSecurityGroupsClientGetOptions
- type DeviceSecurityGroupsClientGetResponse
- type DeviceSecurityGroupsClientListOptions
- type DeviceSecurityGroupsClientListResponse
- type DirectMethodInvokesNotInAllowedRange
- func (d *DirectMethodInvokesNotInAllowedRange) GetCustomAlertRule() *CustomAlertRule
- func (d *DirectMethodInvokesNotInAllowedRange) GetThresholdCustomAlertRule() *ThresholdCustomAlertRule
- func (d *DirectMethodInvokesNotInAllowedRange) GetTimeWindowCustomAlertRule() *TimeWindowCustomAlertRule
- func (d DirectMethodInvokesNotInAllowedRange) MarshalJSON() ([]byte, error)
- func (d *DirectMethodInvokesNotInAllowedRange) UnmarshalJSON(data []byte) error
- type Direction
- type DiscoveredSecuritySolution
- type DiscoveredSecuritySolutionList
- type DiscoveredSecuritySolutionProperties
- type DiscoveredSecuritySolutionsClient
- func (client *DiscoveredSecuritySolutionsClient) Get(ctx context.Context, resourceGroupName string, ascLocation string, ...) (DiscoveredSecuritySolutionsClientGetResponse, error)
- func (client *DiscoveredSecuritySolutionsClient) NewListByHomeRegionPager(ascLocation string, ...) *runtime.Pager[DiscoveredSecuritySolutionsClientListByHomeRegionResponse]
- func (client *DiscoveredSecuritySolutionsClient) NewListPager(options *DiscoveredSecuritySolutionsClientListOptions) *runtime.Pager[DiscoveredSecuritySolutionsClientListResponse]
- type DiscoveredSecuritySolutionsClientGetOptions
- type DiscoveredSecuritySolutionsClientGetResponse
- type DiscoveredSecuritySolutionsClientListByHomeRegionOptions
- type DiscoveredSecuritySolutionsClientListByHomeRegionResponse
- type DiscoveredSecuritySolutionsClientListOptions
- type DiscoveredSecuritySolutionsClientListResponse
- type ETag
- type EffectiveNetworkSecurityGroups
- type EndOfSupportStatus
- type Enforce
- type EnforcementMode
- type EnforcementSupport
- type EnvironmentData
- type EnvironmentDataClassification
- type EnvironmentDetails
- type EnvironmentType
- type ErrorAdditionalInfo
- type ErrorDetail
- type ErrorDetailAutoGenerated
- type ErrorResponse
- type ErrorResponseAutoGenerated
- type EventSource
- type ExecuteGovernanceRuleParams
- type ExpandControlsEnum
- type ExpandEnum
- type ExportData
- type Extension
- type ExternalSecuritySolution
- type ExternalSecuritySolutionClassification
- type ExternalSecuritySolutionKind
- type ExternalSecuritySolutionList
- type ExternalSecuritySolutionProperties
- type ExternalSecuritySolutionsClient
- func (client *ExternalSecuritySolutionsClient) Get(ctx context.Context, resourceGroupName string, ascLocation string, ...) (ExternalSecuritySolutionsClientGetResponse, error)
- func (client *ExternalSecuritySolutionsClient) NewListByHomeRegionPager(ascLocation string, ...) *runtime.Pager[ExternalSecuritySolutionsClientListByHomeRegionResponse]
- func (client *ExternalSecuritySolutionsClient) NewListPager(options *ExternalSecuritySolutionsClientListOptions) *runtime.Pager[ExternalSecuritySolutionsClientListResponse]
- type ExternalSecuritySolutionsClientGetOptions
- type ExternalSecuritySolutionsClientGetResponse
- type ExternalSecuritySolutionsClientListByHomeRegionOptions
- type ExternalSecuritySolutionsClientListByHomeRegionResponse
- type ExternalSecuritySolutionsClientListOptions
- type ExternalSecuritySolutionsClientListResponse
- type FailedLocalLoginsNotInAllowedRange
- func (f *FailedLocalLoginsNotInAllowedRange) GetCustomAlertRule() *CustomAlertRule
- func (f *FailedLocalLoginsNotInAllowedRange) GetThresholdCustomAlertRule() *ThresholdCustomAlertRule
- func (f *FailedLocalLoginsNotInAllowedRange) GetTimeWindowCustomAlertRule() *TimeWindowCustomAlertRule
- func (f FailedLocalLoginsNotInAllowedRange) MarshalJSON() ([]byte, error)
- func (f *FailedLocalLoginsNotInAllowedRange) UnmarshalJSON(data []byte) error
- type FileType
- type FileUploadsNotInAllowedRange
- func (f *FileUploadsNotInAllowedRange) GetCustomAlertRule() *CustomAlertRule
- func (f *FileUploadsNotInAllowedRange) GetThresholdCustomAlertRule() *ThresholdCustomAlertRule
- func (f *FileUploadsNotInAllowedRange) GetTimeWindowCustomAlertRule() *TimeWindowCustomAlertRule
- func (f FileUploadsNotInAllowedRange) MarshalJSON() ([]byte, error)
- func (f *FileUploadsNotInAllowedRange) UnmarshalJSON(data []byte) error
- type GcpCredentialsDetailsProperties
- type GcpOrganizationalData
- type GcpOrganizationalDataClassification
- type GcpOrganizationalDataMember
- type GcpOrganizationalDataOrganization
- type GcpProjectDetails
- type GcpProjectEnvironmentData
- type GetSensitivitySettingsListResponse
- type GetSensitivitySettingsResponse
- type GetSensitivitySettingsResponseProperties
- type GetSensitivitySettingsResponsePropertiesMipInformation
- type GitHubOwner
- type GitHubOwnerConfiguration
- type GitHubOwnerListResponse
- type GitHubOwnerProperties
- type GitHubOwnersClient
- func (client *GitHubOwnersClient) Get(ctx context.Context, resourceGroupName string, securityConnectorName string, ...) (GitHubOwnersClientGetResponse, error)
- func (client *GitHubOwnersClient) ListAvailable(ctx context.Context, resourceGroupName string, securityConnectorName string, ...) (GitHubOwnersClientListAvailableResponse, error)
- func (client *GitHubOwnersClient) NewListPager(resourceGroupName string, securityConnectorName string, ...) *runtime.Pager[GitHubOwnersClientListResponse]
- type GitHubOwnersClientGetOptions
- type GitHubOwnersClientGetResponse
- type GitHubOwnersClientListAvailableOptions
- type GitHubOwnersClientListAvailableResponse
- type GitHubOwnersClientListOptions
- type GitHubOwnersClientListResponse
- type GitHubReposClient
- func (client *GitHubReposClient) Get(ctx context.Context, resourceGroupName string, securityConnectorName string, ...) (GitHubReposClientGetResponse, error)
- func (client *GitHubReposClient) NewListPager(resourceGroupName string, securityConnectorName string, ownerName string, ...) *runtime.Pager[GitHubReposClientListResponse]
- type GitHubReposClientGetOptions
- type GitHubReposClientGetResponse
- type GitHubReposClientListOptions
- type GitHubReposClientListResponse
- type GitHubRepository
- type GitHubRepositoryListResponse
- type GitHubRepositoryProperties
- type GitLabGroup
- type GitLabGroupConfiguration
- type GitLabGroupListResponse
- type GitLabGroupProperties
- type GitLabGroupsClient
- func (client *GitLabGroupsClient) Get(ctx context.Context, resourceGroupName string, securityConnectorName string, ...) (GitLabGroupsClientGetResponse, error)
- func (client *GitLabGroupsClient) ListAvailable(ctx context.Context, resourceGroupName string, securityConnectorName string, ...) (GitLabGroupsClientListAvailableResponse, error)
- func (client *GitLabGroupsClient) NewListPager(resourceGroupName string, securityConnectorName string, ...) *runtime.Pager[GitLabGroupsClientListResponse]
- type GitLabGroupsClientGetOptions
- type GitLabGroupsClientGetResponse
- type GitLabGroupsClientListAvailableOptions
- type GitLabGroupsClientListAvailableResponse
- type GitLabGroupsClientListOptions
- type GitLabGroupsClientListResponse
- type GitLabProject
- type GitLabProjectListResponse
- type GitLabProjectProperties
- type GitLabProjectsClient
- func (client *GitLabProjectsClient) Get(ctx context.Context, resourceGroupName string, securityConnectorName string, ...) (GitLabProjectsClientGetResponse, error)
- func (client *GitLabProjectsClient) NewListPager(resourceGroupName string, securityConnectorName string, groupFQName string, ...) *runtime.Pager[GitLabProjectsClientListResponse]
- type GitLabProjectsClientGetOptions
- type GitLabProjectsClientGetResponse
- type GitLabProjectsClientListOptions
- type GitLabProjectsClientListResponse
- type GitLabSubgroupsClient
- type GitLabSubgroupsClientListOptions
- type GitLabSubgroupsClientListResponse
- type GithubScopeEnvironmentData
- type GitlabScopeEnvironmentData
- type GovernanceAssignment
- type GovernanceAssignmentAdditionalData
- type GovernanceAssignmentProperties
- type GovernanceAssignmentsClient
- func (client *GovernanceAssignmentsClient) CreateOrUpdate(ctx context.Context, scope string, assessmentName string, assignmentKey string, ...) (GovernanceAssignmentsClientCreateOrUpdateResponse, error)
- func (client *GovernanceAssignmentsClient) Delete(ctx context.Context, scope string, assessmentName string, assignmentKey string, ...) (GovernanceAssignmentsClientDeleteResponse, error)
- func (client *GovernanceAssignmentsClient) Get(ctx context.Context, scope string, assessmentName string, assignmentKey string, ...) (GovernanceAssignmentsClientGetResponse, error)
- func (client *GovernanceAssignmentsClient) NewListPager(scope string, assessmentName string, ...) *runtime.Pager[GovernanceAssignmentsClientListResponse]
- type GovernanceAssignmentsClientCreateOrUpdateOptions
- type GovernanceAssignmentsClientCreateOrUpdateResponse
- type GovernanceAssignmentsClientDeleteOptions
- type GovernanceAssignmentsClientDeleteResponse
- type GovernanceAssignmentsClientGetOptions
- type GovernanceAssignmentsClientGetResponse
- type GovernanceAssignmentsClientListOptions
- type GovernanceAssignmentsClientListResponse
- type GovernanceAssignmentsList
- type GovernanceEmailNotification
- type GovernanceRule
- type GovernanceRuleConditionOperator
- type GovernanceRuleEmailNotification
- type GovernanceRuleList
- type GovernanceRuleMetadata
- type GovernanceRuleOwnerSource
- type GovernanceRuleOwnerSourceType
- type GovernanceRuleProperties
- type GovernanceRuleSourceResourceType
- type GovernanceRuleType
- type GovernanceRulesClient
- func (client *GovernanceRulesClient) BeginDelete(ctx context.Context, scope string, ruleID string, ...) (*runtime.Poller[GovernanceRulesClientDeleteResponse], error)
- func (client *GovernanceRulesClient) BeginExecute(ctx context.Context, scope string, ruleID string, ...) (*runtime.Poller[GovernanceRulesClientExecuteResponse], error)
- func (client *GovernanceRulesClient) CreateOrUpdate(ctx context.Context, scope string, ruleID string, ...) (GovernanceRulesClientCreateOrUpdateResponse, error)
- func (client *GovernanceRulesClient) Get(ctx context.Context, scope string, ruleID string, ...) (GovernanceRulesClientGetResponse, error)
- func (client *GovernanceRulesClient) NewListPager(scope string, options *GovernanceRulesClientListOptions) *runtime.Pager[GovernanceRulesClientListResponse]
- func (client *GovernanceRulesClient) OperationResults(ctx context.Context, scope string, ruleID string, operationID string, ...) (GovernanceRulesClientOperationResultsResponse, error)
- type GovernanceRulesClientBeginDeleteOptions
- type GovernanceRulesClientBeginExecuteOptions
- type GovernanceRulesClientCreateOrUpdateOptions
- type GovernanceRulesClientCreateOrUpdateResponse
- type GovernanceRulesClientDeleteResponse
- type GovernanceRulesClientExecuteResponse
- type GovernanceRulesClientGetOptions
- type GovernanceRulesClientGetResponse
- type GovernanceRulesClientListOptions
- type GovernanceRulesClientListResponse
- type GovernanceRulesClientOperationResultsOptions
- type GovernanceRulesClientOperationResultsResponse
- type HTTPC2DMessagesNotInAllowedRange
- func (h *HTTPC2DMessagesNotInAllowedRange) GetCustomAlertRule() *CustomAlertRule
- func (h *HTTPC2DMessagesNotInAllowedRange) GetThresholdCustomAlertRule() *ThresholdCustomAlertRule
- func (h *HTTPC2DMessagesNotInAllowedRange) GetTimeWindowCustomAlertRule() *TimeWindowCustomAlertRule
- func (h HTTPC2DMessagesNotInAllowedRange) MarshalJSON() ([]byte, error)
- func (h *HTTPC2DMessagesNotInAllowedRange) UnmarshalJSON(data []byte) error
- type HTTPC2DRejectedMessagesNotInAllowedRange
- func (h *HTTPC2DRejectedMessagesNotInAllowedRange) GetCustomAlertRule() *CustomAlertRule
- func (h *HTTPC2DRejectedMessagesNotInAllowedRange) GetThresholdCustomAlertRule() *ThresholdCustomAlertRule
- func (h *HTTPC2DRejectedMessagesNotInAllowedRange) GetTimeWindowCustomAlertRule() *TimeWindowCustomAlertRule
- func (h HTTPC2DRejectedMessagesNotInAllowedRange) MarshalJSON() ([]byte, error)
- func (h *HTTPC2DRejectedMessagesNotInAllowedRange) UnmarshalJSON(data []byte) error
- type HTTPD2CMessagesNotInAllowedRange
- func (h *HTTPD2CMessagesNotInAllowedRange) GetCustomAlertRule() *CustomAlertRule
- func (h *HTTPD2CMessagesNotInAllowedRange) GetThresholdCustomAlertRule() *ThresholdCustomAlertRule
- func (h *HTTPD2CMessagesNotInAllowedRange) GetTimeWindowCustomAlertRule() *TimeWindowCustomAlertRule
- func (h HTTPD2CMessagesNotInAllowedRange) MarshalJSON() ([]byte, error)
- func (h *HTTPD2CMessagesNotInAllowedRange) UnmarshalJSON(data []byte) error
- type HealthDataClassification
- type HealthReport
- type HealthReportProperties
- type HealthReportsClient
- type HealthReportsClientGetOptions
- type HealthReportsClientGetResponse
- type HealthReportsClientListOptions
- type HealthReportsClientListResponse
- type HealthReportsList
- type HybridComputeProvisioningState
- type HybridComputeSettingsProperties
- type Identity
- type ImplementationEffort
- type InfoType
- type InformationProtectionKeyword
- type InformationProtectionPoliciesClient
- func (client *InformationProtectionPoliciesClient) CreateOrUpdate(ctx context.Context, scope string, ...) (InformationProtectionPoliciesClientCreateOrUpdateResponse, error)
- func (client *InformationProtectionPoliciesClient) Get(ctx context.Context, scope string, ...) (InformationProtectionPoliciesClientGetResponse, error)
- func (client *InformationProtectionPoliciesClient) NewListPager(scope string, options *InformationProtectionPoliciesClientListOptions) *runtime.Pager[InformationProtectionPoliciesClientListResponse]
- type InformationProtectionPoliciesClientCreateOrUpdateOptions
- type InformationProtectionPoliciesClientCreateOrUpdateResponse
- type InformationProtectionPoliciesClientGetOptions
- type InformationProtectionPoliciesClientGetResponse
- type InformationProtectionPoliciesClientListOptions
- type InformationProtectionPoliciesClientListResponse
- type InformationProtectionPolicy
- type InformationProtectionPolicyList
- type InformationProtectionPolicyName
- type InformationProtectionPolicyProperties
- type InformationType
- type InheritFromParentState
- type Inherited
- type Intent
- type IoTSecurityAggregatedAlert
- type IoTSecurityAggregatedAlertList
- type IoTSecurityAggregatedAlertProperties
- type IoTSecurityAggregatedAlertPropertiesTopDevicesListItem
- type IoTSecurityAggregatedRecommendation
- type IoTSecurityAggregatedRecommendationList
- type IoTSecurityAggregatedRecommendationProperties
- type IoTSecurityAlertedDevice
- type IoTSecurityDeviceAlert
- type IoTSecurityDeviceRecommendation
- type IoTSecuritySolutionAnalyticsModel
- type IoTSecuritySolutionAnalyticsModelList
- type IoTSecuritySolutionAnalyticsModelProperties
- type IoTSecuritySolutionAnalyticsModelPropertiesDevicesMetricsItem
- type IoTSecuritySolutionModel
- type IoTSecuritySolutionProperties
- type IoTSecuritySolutionsList
- type IoTSeverityMetrics
- type IotSecuritySolutionAnalyticsClient
- func (client *IotSecuritySolutionAnalyticsClient) Get(ctx context.Context, resourceGroupName string, solutionName string, ...) (IotSecuritySolutionAnalyticsClientGetResponse, error)
- func (client *IotSecuritySolutionAnalyticsClient) List(ctx context.Context, resourceGroupName string, solutionName string, ...) (IotSecuritySolutionAnalyticsClientListResponse, error)
- type IotSecuritySolutionAnalyticsClientGetOptions
- type IotSecuritySolutionAnalyticsClientGetResponse
- type IotSecuritySolutionAnalyticsClientListOptions
- type IotSecuritySolutionAnalyticsClientListResponse
- type IotSecuritySolutionClient
- func (client *IotSecuritySolutionClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, solutionName string, ...) (IotSecuritySolutionClientCreateOrUpdateResponse, error)
- func (client *IotSecuritySolutionClient) Delete(ctx context.Context, resourceGroupName string, solutionName string, ...) (IotSecuritySolutionClientDeleteResponse, error)
- func (client *IotSecuritySolutionClient) Get(ctx context.Context, resourceGroupName string, solutionName string, ...) (IotSecuritySolutionClientGetResponse, error)
- func (client *IotSecuritySolutionClient) NewListByResourceGroupPager(resourceGroupName string, ...) *runtime.Pager[IotSecuritySolutionClientListByResourceGroupResponse]
- func (client *IotSecuritySolutionClient) NewListBySubscriptionPager(options *IotSecuritySolutionClientListBySubscriptionOptions) *runtime.Pager[IotSecuritySolutionClientListBySubscriptionResponse]
- func (client *IotSecuritySolutionClient) Update(ctx context.Context, resourceGroupName string, solutionName string, ...) (IotSecuritySolutionClientUpdateResponse, error)
- type IotSecuritySolutionClientCreateOrUpdateOptions
- type IotSecuritySolutionClientCreateOrUpdateResponse
- type IotSecuritySolutionClientDeleteOptions
- type IotSecuritySolutionClientDeleteResponse
- type IotSecuritySolutionClientGetOptions
- type IotSecuritySolutionClientGetResponse
- type IotSecuritySolutionClientListByResourceGroupOptions
- type IotSecuritySolutionClientListByResourceGroupResponse
- type IotSecuritySolutionClientListBySubscriptionOptions
- type IotSecuritySolutionClientListBySubscriptionResponse
- type IotSecuritySolutionClientUpdateOptions
- type IotSecuritySolutionClientUpdateResponse
- type IotSecuritySolutionsAnalyticsAggregatedAlertClient
- func (client *IotSecuritySolutionsAnalyticsAggregatedAlertClient) Dismiss(ctx context.Context, resourceGroupName string, solutionName string, ...) (IotSecuritySolutionsAnalyticsAggregatedAlertClientDismissResponse, error)
- func (client *IotSecuritySolutionsAnalyticsAggregatedAlertClient) Get(ctx context.Context, resourceGroupName string, solutionName string, ...) (IotSecuritySolutionsAnalyticsAggregatedAlertClientGetResponse, error)
- func (client *IotSecuritySolutionsAnalyticsAggregatedAlertClient) NewListPager(resourceGroupName string, solutionName string, ...) *runtime.Pager[IotSecuritySolutionsAnalyticsAggregatedAlertClientListResponse]
- type IotSecuritySolutionsAnalyticsAggregatedAlertClientDismissOptions
- type IotSecuritySolutionsAnalyticsAggregatedAlertClientDismissResponse
- type IotSecuritySolutionsAnalyticsAggregatedAlertClientGetOptions
- type IotSecuritySolutionsAnalyticsAggregatedAlertClientGetResponse
- type IotSecuritySolutionsAnalyticsAggregatedAlertClientListOptions
- type IotSecuritySolutionsAnalyticsAggregatedAlertClientListResponse
- type IotSecuritySolutionsAnalyticsRecommendationClient
- func (client *IotSecuritySolutionsAnalyticsRecommendationClient) Get(ctx context.Context, resourceGroupName string, solutionName string, ...) (IotSecuritySolutionsAnalyticsRecommendationClientGetResponse, error)
- func (client *IotSecuritySolutionsAnalyticsRecommendationClient) NewListPager(resourceGroupName string, solutionName string, ...) *runtime.Pager[IotSecuritySolutionsAnalyticsRecommendationClientListResponse]
- type IotSecuritySolutionsAnalyticsRecommendationClientGetOptions
- type IotSecuritySolutionsAnalyticsRecommendationClientGetResponse
- type IotSecuritySolutionsAnalyticsRecommendationClientListOptions
- type IotSecuritySolutionsAnalyticsRecommendationClientListResponse
- type IsEnabled
- type Issue
- type JitNetworkAccessPoliciesClient
- func (client *JitNetworkAccessPoliciesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, ascLocation string, ...) (JitNetworkAccessPoliciesClientCreateOrUpdateResponse, error)
- func (client *JitNetworkAccessPoliciesClient) Delete(ctx context.Context, resourceGroupName string, ascLocation string, ...) (JitNetworkAccessPoliciesClientDeleteResponse, error)
- func (client *JitNetworkAccessPoliciesClient) Get(ctx context.Context, resourceGroupName string, ascLocation string, ...) (JitNetworkAccessPoliciesClientGetResponse, error)
- func (client *JitNetworkAccessPoliciesClient) Initiate(ctx context.Context, resourceGroupName string, ascLocation string, ...) (JitNetworkAccessPoliciesClientInitiateResponse, error)
- func (client *JitNetworkAccessPoliciesClient) NewListByRegionPager(ascLocation string, options *JitNetworkAccessPoliciesClientListByRegionOptions) *runtime.Pager[JitNetworkAccessPoliciesClientListByRegionResponse]
- func (client *JitNetworkAccessPoliciesClient) NewListByResourceGroupAndRegionPager(resourceGroupName string, ascLocation string, ...) ...
- func (client *JitNetworkAccessPoliciesClient) NewListByResourceGroupPager(resourceGroupName string, ...) *runtime.Pager[JitNetworkAccessPoliciesClientListByResourceGroupResponse]
- func (client *JitNetworkAccessPoliciesClient) NewListPager(options *JitNetworkAccessPoliciesClientListOptions) *runtime.Pager[JitNetworkAccessPoliciesClientListResponse]
- type JitNetworkAccessPoliciesClientCreateOrUpdateOptions
- type JitNetworkAccessPoliciesClientCreateOrUpdateResponse
- type JitNetworkAccessPoliciesClientDeleteOptions
- type JitNetworkAccessPoliciesClientDeleteResponse
- type JitNetworkAccessPoliciesClientGetOptions
- type JitNetworkAccessPoliciesClientGetResponse
- type JitNetworkAccessPoliciesClientInitiateOptions
- type JitNetworkAccessPoliciesClientInitiateResponse
- type JitNetworkAccessPoliciesClientListByRegionOptions
- type JitNetworkAccessPoliciesClientListByRegionResponse
- type JitNetworkAccessPoliciesClientListByResourceGroupAndRegionOptions
- type JitNetworkAccessPoliciesClientListByResourceGroupAndRegionResponse
- type JitNetworkAccessPoliciesClientListByResourceGroupOptions
- type JitNetworkAccessPoliciesClientListByResourceGroupResponse
- type JitNetworkAccessPoliciesClientListOptions
- type JitNetworkAccessPoliciesClientListResponse
- type JitNetworkAccessPoliciesList
- type JitNetworkAccessPolicy
- type JitNetworkAccessPolicyInitiatePort
- type JitNetworkAccessPolicyInitiateRequest
- type JitNetworkAccessPolicyInitiateVirtualMachine
- type JitNetworkAccessPolicyProperties
- type JitNetworkAccessPolicyVirtualMachine
- type JitNetworkAccessPortRule
- type JitNetworkAccessRequest
- type JitNetworkAccessRequestPort
- type JitNetworkAccessRequestVirtualMachine
- type Kind
- type KindAutoGenerated
- type Label
- type ListCustomAlertRule
- type ListCustomAlertRuleClassification
- type LocalUserNotAllowed
- func (l *LocalUserNotAllowed) GetAllowlistCustomAlertRule() *AllowlistCustomAlertRule
- func (l *LocalUserNotAllowed) GetCustomAlertRule() *CustomAlertRule
- func (l *LocalUserNotAllowed) GetListCustomAlertRule() *ListCustomAlertRule
- func (l LocalUserNotAllowed) MarshalJSON() ([]byte, error)
- func (l *LocalUserNotAllowed) UnmarshalJSON(data []byte) error
- type Location
- type LocationsClient
- type LocationsClientGetOptions
- type LocationsClientGetResponse
- type LocationsClientListOptions
- type LocationsClientListResponse
- type LogAnalyticsIdentifier
- type MalwareScanningProperties
- type MdeOnboardingData
- type MdeOnboardingDataList
- type MdeOnboardingDataProperties
- type MdeOnboardingsClient
- type MdeOnboardingsClientGetOptions
- type MdeOnboardingsClientGetResponse
- type MdeOnboardingsClientListOptions
- type MdeOnboardingsClientListResponse
- type MinimalRiskLevel
- type MinimalSeverity
- type MipIntegrationStatus
- type MqttC2DMessagesNotInAllowedRange
- func (m *MqttC2DMessagesNotInAllowedRange) GetCustomAlertRule() *CustomAlertRule
- func (m *MqttC2DMessagesNotInAllowedRange) GetThresholdCustomAlertRule() *ThresholdCustomAlertRule
- func (m *MqttC2DMessagesNotInAllowedRange) GetTimeWindowCustomAlertRule() *TimeWindowCustomAlertRule
- func (m MqttC2DMessagesNotInAllowedRange) MarshalJSON() ([]byte, error)
- func (m *MqttC2DMessagesNotInAllowedRange) UnmarshalJSON(data []byte) error
- type MqttC2DRejectedMessagesNotInAllowedRange
- func (m *MqttC2DRejectedMessagesNotInAllowedRange) GetCustomAlertRule() *CustomAlertRule
- func (m *MqttC2DRejectedMessagesNotInAllowedRange) GetThresholdCustomAlertRule() *ThresholdCustomAlertRule
- func (m *MqttC2DRejectedMessagesNotInAllowedRange) GetTimeWindowCustomAlertRule() *TimeWindowCustomAlertRule
- func (m MqttC2DRejectedMessagesNotInAllowedRange) MarshalJSON() ([]byte, error)
- func (m *MqttC2DRejectedMessagesNotInAllowedRange) UnmarshalJSON(data []byte) error
- type MqttD2CMessagesNotInAllowedRange
- func (m *MqttD2CMessagesNotInAllowedRange) GetCustomAlertRule() *CustomAlertRule
- func (m *MqttD2CMessagesNotInAllowedRange) GetThresholdCustomAlertRule() *ThresholdCustomAlertRule
- func (m *MqttD2CMessagesNotInAllowedRange) GetTimeWindowCustomAlertRule() *TimeWindowCustomAlertRule
- func (m MqttD2CMessagesNotInAllowedRange) MarshalJSON() ([]byte, error)
- func (m *MqttD2CMessagesNotInAllowedRange) UnmarshalJSON(data []byte) error
- type NotificationsSource
- type NotificationsSourceAlert
- type NotificationsSourceAttackPath
- type NotificationsSourceClassification
- type OfferingType
- type OnPremiseResourceDetails
- type OnPremiseResourceDetailsClassification
- type OnPremiseSQLResourceDetails
- func (o *OnPremiseSQLResourceDetails) GetOnPremiseResourceDetails() *OnPremiseResourceDetails
- func (o *OnPremiseSQLResourceDetails) GetResourceDetails() *ResourceDetails
- func (o OnPremiseSQLResourceDetails) MarshalJSON() ([]byte, error)
- func (o *OnPremiseSQLResourceDetails) UnmarshalJSON(data []byte) error
- type OnUploadProperties
- type OnboardingState
- type Operation
- type OperationDisplay
- type OperationList
- type OperationResult
- type OperationResultAutoGenerated
- type OperationStatus
- type OperationStatusAutoGenerated
- type OperationStatusResult
- type OperationsClient
- type OperationsClientListOptions
- type OperationsClientListResponse
- type Operator
- type OperatorList
- type OperatorResource
- type OperatorsClient
- func (client *OperatorsClient) CreateOrUpdate(ctx context.Context, pricingName string, securityOperatorName string, ...) (OperatorsClientCreateOrUpdateResponse, error)
- func (client *OperatorsClient) Delete(ctx context.Context, pricingName string, securityOperatorName string, ...) (OperatorsClientDeleteResponse, error)
- func (client *OperatorsClient) Get(ctx context.Context, pricingName string, securityOperatorName string, ...) (OperatorsClientGetResponse, error)
- func (client *OperatorsClient) List(ctx context.Context, pricingName string, options *OperatorsClientListOptions) (OperatorsClientListResponse, error)
- type OperatorsClientCreateOrUpdateOptions
- type OperatorsClientCreateOrUpdateResponse
- type OperatorsClientDeleteOptions
- type OperatorsClientDeleteResponse
- type OperatorsClientGetOptions
- type OperatorsClientGetResponse
- type OperatorsClientListOptions
- type OperatorsClientListResponse
- type OrganizationMembershipType
- type PathRecommendation
- type PermissionProperty
- type Pricing
- type PricingList
- type PricingProperties
- type PricingTier
- type PricingsClient
- func (client *PricingsClient) Delete(ctx context.Context, scopeID string, pricingName string, ...) (PricingsClientDeleteResponse, error)
- func (client *PricingsClient) Get(ctx context.Context, scopeID string, pricingName string, ...) (PricingsClientGetResponse, error)
- func (client *PricingsClient) List(ctx context.Context, scopeID string, options *PricingsClientListOptions) (PricingsClientListResponse, error)
- func (client *PricingsClient) Update(ctx context.Context, scopeID string, pricingName string, pricing Pricing, ...) (PricingsClientUpdateResponse, error)
- type PricingsClientDeleteOptions
- type PricingsClientDeleteResponse
- type PricingsClientGetOptions
- type PricingsClientGetResponse
- type PricingsClientListOptions
- type PricingsClientListResponse
- type PricingsClientUpdateOptions
- type PricingsClientUpdateResponse
- type ProcessNotAllowed
- func (p *ProcessNotAllowed) GetAllowlistCustomAlertRule() *AllowlistCustomAlertRule
- func (p *ProcessNotAllowed) GetCustomAlertRule() *CustomAlertRule
- func (p *ProcessNotAllowed) GetListCustomAlertRule() *ListCustomAlertRule
- func (p ProcessNotAllowed) MarshalJSON() ([]byte, error)
- func (p *ProcessNotAllowed) UnmarshalJSON(data []byte) error
- type PropertyType
- type ProtectionMode
- type Protocol
- type ProvisioningState
- type ProxyResource
- type ProxyServerProperties
- type PublisherInfo
- type QueryCheck
- type QueuePurgesNotInAllowedRange
- func (q *QueuePurgesNotInAllowedRange) GetCustomAlertRule() *CustomAlertRule
- func (q *QueuePurgesNotInAllowedRange) GetThresholdCustomAlertRule() *ThresholdCustomAlertRule
- func (q *QueuePurgesNotInAllowedRange) GetTimeWindowCustomAlertRule() *TimeWindowCustomAlertRule
- func (q QueuePurgesNotInAllowedRange) MarshalJSON() ([]byte, error)
- func (q *QueuePurgesNotInAllowedRange) UnmarshalJSON(data []byte) error
- type Rank
- type RecommendationAction
- type RecommendationConfigStatus
- type RecommendationConfigurationProperties
- type RecommendationStatus
- type RecommendationType
- type RegulatoryComplianceAssessment
- type RegulatoryComplianceAssessmentList
- type RegulatoryComplianceAssessmentProperties
- type RegulatoryComplianceAssessmentsClient
- func (client *RegulatoryComplianceAssessmentsClient) Get(ctx context.Context, regulatoryComplianceStandardName string, ...) (RegulatoryComplianceAssessmentsClientGetResponse, error)
- func (client *RegulatoryComplianceAssessmentsClient) NewListPager(regulatoryComplianceStandardName string, ...) *runtime.Pager[RegulatoryComplianceAssessmentsClientListResponse]
- type RegulatoryComplianceAssessmentsClientGetOptions
- type RegulatoryComplianceAssessmentsClientGetResponse
- type RegulatoryComplianceAssessmentsClientListOptions
- type RegulatoryComplianceAssessmentsClientListResponse
- type RegulatoryComplianceControl
- type RegulatoryComplianceControlList
- type RegulatoryComplianceControlProperties
- type RegulatoryComplianceControlsClient
- func (client *RegulatoryComplianceControlsClient) Get(ctx context.Context, regulatoryComplianceStandardName string, ...) (RegulatoryComplianceControlsClientGetResponse, error)
- func (client *RegulatoryComplianceControlsClient) NewListPager(regulatoryComplianceStandardName string, ...) *runtime.Pager[RegulatoryComplianceControlsClientListResponse]
- type RegulatoryComplianceControlsClientGetOptions
- type RegulatoryComplianceControlsClientGetResponse
- type RegulatoryComplianceControlsClientListOptions
- type RegulatoryComplianceControlsClientListResponse
- type RegulatoryComplianceStandard
- type RegulatoryComplianceStandardList
- type RegulatoryComplianceStandardProperties
- type RegulatoryComplianceStandardsClient
- func (client *RegulatoryComplianceStandardsClient) Get(ctx context.Context, regulatoryComplianceStandardName string, ...) (RegulatoryComplianceStandardsClientGetResponse, error)
- func (client *RegulatoryComplianceStandardsClient) NewListPager(options *RegulatoryComplianceStandardsClientListOptions) *runtime.Pager[RegulatoryComplianceStandardsClientListResponse]
- type RegulatoryComplianceStandardsClientGetOptions
- type RegulatoryComplianceStandardsClientGetResponse
- type RegulatoryComplianceStandardsClientListOptions
- type RegulatoryComplianceStandardsClientListResponse
- type Remediation
- type RemediationEta
- type ReportedSeverity
- type Resource
- type ResourceAutoGenerated
- type ResourceAutoGenerated2
- type ResourceDetails
- type ResourceDetailsAutoGenerated
- type ResourceDetailsClassification
- type ResourceIdentifier
- type ResourceIdentifierClassification
- type ResourceIdentifierType
- type ResourceStatus
- type ResourcesCoverageStatus
- type Rule
- type RuleCategory
- type RuleResults
- type RuleResultsInput
- type RuleResultsProperties
- type RuleSeverity
- type RuleState
- type RuleStatus
- type RuleType
- type RulesResults
- type RulesResultsInput
- type SQLServerVulnerabilityProperties
- type SQLVulnerabilityAssessmentBaselineRulesClient
- func (client *SQLVulnerabilityAssessmentBaselineRulesClient) Add(ctx context.Context, workspaceID string, resourceID string, ...) (SQLVulnerabilityAssessmentBaselineRulesClientAddResponse, error)
- func (client *SQLVulnerabilityAssessmentBaselineRulesClient) CreateOrUpdate(ctx context.Context, ruleID string, workspaceID string, resourceID string, ...) (SQLVulnerabilityAssessmentBaselineRulesClientCreateOrUpdateResponse, error)
- func (client *SQLVulnerabilityAssessmentBaselineRulesClient) Delete(ctx context.Context, ruleID string, workspaceID string, resourceID string, ...) (SQLVulnerabilityAssessmentBaselineRulesClientDeleteResponse, error)
- func (client *SQLVulnerabilityAssessmentBaselineRulesClient) Get(ctx context.Context, ruleID string, workspaceID string, resourceID string, ...) (SQLVulnerabilityAssessmentBaselineRulesClientGetResponse, error)
- func (client *SQLVulnerabilityAssessmentBaselineRulesClient) List(ctx context.Context, workspaceID string, resourceID string, ...) (SQLVulnerabilityAssessmentBaselineRulesClientListResponse, error)
- type SQLVulnerabilityAssessmentBaselineRulesClientAddOptions
- type SQLVulnerabilityAssessmentBaselineRulesClientAddResponse
- type SQLVulnerabilityAssessmentBaselineRulesClientCreateOrUpdateOptions
- type SQLVulnerabilityAssessmentBaselineRulesClientCreateOrUpdateResponse
- type SQLVulnerabilityAssessmentBaselineRulesClientDeleteOptions
- type SQLVulnerabilityAssessmentBaselineRulesClientDeleteResponse
- type SQLVulnerabilityAssessmentBaselineRulesClientGetOptions
- type SQLVulnerabilityAssessmentBaselineRulesClientGetResponse
- type SQLVulnerabilityAssessmentBaselineRulesClientListOptions
- type SQLVulnerabilityAssessmentBaselineRulesClientListResponse
- type SQLVulnerabilityAssessmentScanResultsClient
- func (client *SQLVulnerabilityAssessmentScanResultsClient) Get(ctx context.Context, scanID string, scanResultID string, workspaceID string, ...) (SQLVulnerabilityAssessmentScanResultsClientGetResponse, error)
- func (client *SQLVulnerabilityAssessmentScanResultsClient) List(ctx context.Context, scanID string, workspaceID string, resourceID string, ...) (SQLVulnerabilityAssessmentScanResultsClientListResponse, error)
- type SQLVulnerabilityAssessmentScanResultsClientGetOptions
- type SQLVulnerabilityAssessmentScanResultsClientGetResponse
- type SQLVulnerabilityAssessmentScanResultsClientListOptions
- type SQLVulnerabilityAssessmentScanResultsClientListResponse
- type SQLVulnerabilityAssessmentScansClient
- func (client *SQLVulnerabilityAssessmentScansClient) Get(ctx context.Context, scanID string, workspaceID string, resourceID string, ...) (SQLVulnerabilityAssessmentScansClientGetResponse, error)
- func (client *SQLVulnerabilityAssessmentScansClient) List(ctx context.Context, workspaceID string, resourceID string, ...) (SQLVulnerabilityAssessmentScansClientListResponse, error)
- type SQLVulnerabilityAssessmentScansClientGetOptions
- type SQLVulnerabilityAssessmentScansClientGetResponse
- type SQLVulnerabilityAssessmentScansClientListOptions
- type SQLVulnerabilityAssessmentScansClientListResponse
- type Scan
- type ScanProperties
- type ScanResult
- type ScanResultProperties
- type ScanResults
- type ScanState
- type ScanTriggerType
- type ScanningMode
- type Scans
- type ScopeElement
- type ScoreDetails
- type SecureScoreControlDefinitionItem
- type SecureScoreControlDefinitionItemProperties
- type SecureScoreControlDefinitionList
- type SecureScoreControlDefinitionSource
- type SecureScoreControlDefinitionsClient
- func (client *SecureScoreControlDefinitionsClient) NewListBySubscriptionPager(options *SecureScoreControlDefinitionsClientListBySubscriptionOptions) *runtime.Pager[SecureScoreControlDefinitionsClientListBySubscriptionResponse]
- func (client *SecureScoreControlDefinitionsClient) NewListPager(options *SecureScoreControlDefinitionsClientListOptions) *runtime.Pager[SecureScoreControlDefinitionsClientListResponse]
- type SecureScoreControlDefinitionsClientListBySubscriptionOptions
- type SecureScoreControlDefinitionsClientListBySubscriptionResponse
- type SecureScoreControlDefinitionsClientListOptions
- type SecureScoreControlDefinitionsClientListResponse
- type SecureScoreControlDetails
- type SecureScoreControlList
- type SecureScoreControlScore
- type SecureScoreControlScoreDetails
- type SecureScoreControlsClient
- func (client *SecureScoreControlsClient) NewListBySecureScorePager(secureScoreName string, ...) *runtime.Pager[SecureScoreControlsClientListBySecureScoreResponse]
- func (client *SecureScoreControlsClient) NewListPager(options *SecureScoreControlsClientListOptions) *runtime.Pager[SecureScoreControlsClientListResponse]
- type SecureScoreControlsClientListBySecureScoreOptions
- type SecureScoreControlsClientListBySecureScoreResponse
- type SecureScoreControlsClientListOptions
- type SecureScoreControlsClientListResponse
- type SecureScoreItem
- type SecureScoreItemProperties
- type SecureScoresClient
- type SecureScoresClientGetOptions
- type SecureScoresClientGetResponse
- type SecureScoresClientListOptions
- type SecureScoresClientListResponse
- type SecureScoresList
- type SecurityContactName
- type SecurityContactRole
- type SecurityFamily
- type SecuritySolutionStatus
- type SensitiveDataDiscoveryProperties
- type SensitivityLabel
- type SensitivitySettingsClient
- func (client *SensitivitySettingsClient) CreateOrUpdate(ctx context.Context, sensitivitySettings UpdateSensitivitySettingsRequest, ...) (SensitivitySettingsClientCreateOrUpdateResponse, error)
- func (client *SensitivitySettingsClient) Get(ctx context.Context, options *SensitivitySettingsClientGetOptions) (SensitivitySettingsClientGetResponse, error)
- func (client *SensitivitySettingsClient) List(ctx context.Context, options *SensitivitySettingsClientListOptions) (SensitivitySettingsClientListResponse, error)
- type SensitivitySettingsClientCreateOrUpdateOptions
- type SensitivitySettingsClientCreateOrUpdateResponse
- type SensitivitySettingsClientGetOptions
- type SensitivitySettingsClientGetResponse
- type SensitivitySettingsClientListOptions
- type SensitivitySettingsClientListResponse
- type ServerVulnerabilityAssessment
- type ServerVulnerabilityAssessmentClient
- func (client *ServerVulnerabilityAssessmentClient) BeginDelete(ctx context.Context, resourceGroupName string, resourceNamespace string, ...) (*runtime.Poller[ServerVulnerabilityAssessmentClientDeleteResponse], error)
- func (client *ServerVulnerabilityAssessmentClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, resourceNamespace string, ...) (ServerVulnerabilityAssessmentClientCreateOrUpdateResponse, error)
- func (client *ServerVulnerabilityAssessmentClient) Get(ctx context.Context, resourceGroupName string, resourceNamespace string, ...) (ServerVulnerabilityAssessmentClientGetResponse, error)
- func (client *ServerVulnerabilityAssessmentClient) ListByExtendedResource(ctx context.Context, resourceGroupName string, resourceNamespace string, ...) (ServerVulnerabilityAssessmentClientListByExtendedResourceResponse, error)
- type ServerVulnerabilityAssessmentClientBeginDeleteOptions
- type ServerVulnerabilityAssessmentClientCreateOrUpdateOptions
- type ServerVulnerabilityAssessmentClientCreateOrUpdateResponse
- type ServerVulnerabilityAssessmentClientDeleteResponse
- type ServerVulnerabilityAssessmentClientGetOptions
- type ServerVulnerabilityAssessmentClientGetResponse
- type ServerVulnerabilityAssessmentClientListByExtendedResourceOptions
- type ServerVulnerabilityAssessmentClientListByExtendedResourceResponse
- type ServerVulnerabilityAssessmentProperties
- type ServerVulnerabilityAssessmentPropertiesProvisioningState
- type ServerVulnerabilityAssessmentsAzureSettingProperties
- type ServerVulnerabilityAssessmentsAzureSettingSelectedProvider
- type ServerVulnerabilityAssessmentsList
- type ServerVulnerabilityAssessmentsSetting
- type ServerVulnerabilityAssessmentsSettingClassification
- type ServerVulnerabilityAssessmentsSettingKind
- type ServerVulnerabilityAssessmentsSettingKindName
- type ServerVulnerabilityAssessmentsSettingsClient
- func (client *ServerVulnerabilityAssessmentsSettingsClient) CreateOrUpdate(ctx context.Context, settingKind ServerVulnerabilityAssessmentsSettingKindName, ...) (ServerVulnerabilityAssessmentsSettingsClientCreateOrUpdateResponse, error)
- func (client *ServerVulnerabilityAssessmentsSettingsClient) Delete(ctx context.Context, settingKind ServerVulnerabilityAssessmentsSettingKindName, ...) (ServerVulnerabilityAssessmentsSettingsClientDeleteResponse, error)
- func (client *ServerVulnerabilityAssessmentsSettingsClient) Get(ctx context.Context, settingKind ServerVulnerabilityAssessmentsSettingKindName, ...) (ServerVulnerabilityAssessmentsSettingsClientGetResponse, error)
- func (client *ServerVulnerabilityAssessmentsSettingsClient) NewListBySubscriptionPager(options *ServerVulnerabilityAssessmentsSettingsClientListBySubscriptionOptions) ...
- type ServerVulnerabilityAssessmentsSettingsClientCreateOrUpdateOptions
- type ServerVulnerabilityAssessmentsSettingsClientCreateOrUpdateResponse
- type ServerVulnerabilityAssessmentsSettingsClientDeleteOptions
- type ServerVulnerabilityAssessmentsSettingsClientDeleteResponse
- type ServerVulnerabilityAssessmentsSettingsClientGetOptions
- type ServerVulnerabilityAssessmentsSettingsClientGetResponse
- type ServerVulnerabilityAssessmentsSettingsClientListBySubscriptionOptions
- type ServerVulnerabilityAssessmentsSettingsClientListBySubscriptionResponse
- type ServerVulnerabilityAssessmentsSettingsList
- type ServerVulnerabilityProperties
- type ServicePrincipalProperties
- type Setting
- type SettingClassification
- type SettingKind
- type SettingName
- type SettingNameAutoGenerated
- type SettingsClient
- func (client *SettingsClient) Get(ctx context.Context, settingName SettingNameAutoGenerated, ...) (SettingsClientGetResponse, error)
- func (client *SettingsClient) NewListPager(options *SettingsClientListOptions) *runtime.Pager[SettingsClientListResponse]
- func (client *SettingsClient) Update(ctx context.Context, settingName SettingNameAutoGenerated, ...) (SettingsClientUpdateResponse, error)
- type SettingsClientGetOptions
- type SettingsClientGetResponse
- type SettingsClientListOptions
- type SettingsClientListResponse
- type SettingsClientUpdateOptions
- type SettingsClientUpdateResponse
- type SettingsList
- type Severity
- type SeverityEnum
- type Software
- type SoftwareInventoriesClient
- func (client *SoftwareInventoriesClient) Get(ctx context.Context, resourceGroupName string, resourceNamespace string, ...) (SoftwareInventoriesClientGetResponse, error)
- func (client *SoftwareInventoriesClient) NewListByExtendedResourcePager(resourceGroupName string, resourceNamespace string, resourceType string, ...) *runtime.Pager[SoftwareInventoriesClientListByExtendedResourceResponse]
- func (client *SoftwareInventoriesClient) NewListBySubscriptionPager(options *SoftwareInventoriesClientListBySubscriptionOptions) *runtime.Pager[SoftwareInventoriesClientListBySubscriptionResponse]
- type SoftwareInventoriesClientGetOptions
- type SoftwareInventoriesClientGetResponse
- type SoftwareInventoriesClientListByExtendedResourceOptions
- type SoftwareInventoriesClientListByExtendedResourceResponse
- type SoftwareInventoriesClientListBySubscriptionOptions
- type SoftwareInventoriesClientListBySubscriptionResponse
- type SoftwareProperties
- type SoftwaresList
- type Solution
- type SolutionList
- type SolutionProperties
- type SolutionsClient
- type SolutionsClientGetOptions
- type SolutionsClientGetResponse
- type SolutionsClientListOptions
- type SolutionsClientListResponse
- type SolutionsReferenceData
- type SolutionsReferenceDataClient
- func (client *SolutionsReferenceDataClient) List(ctx context.Context, options *SolutionsReferenceDataClientListOptions) (SolutionsReferenceDataClientListResponse, error)
- func (client *SolutionsReferenceDataClient) ListByHomeRegion(ctx context.Context, ascLocation string, ...) (SolutionsReferenceDataClientListByHomeRegionResponse, error)
- type SolutionsReferenceDataClientListByHomeRegionOptions
- type SolutionsReferenceDataClientListByHomeRegionResponse
- type SolutionsReferenceDataClientListOptions
- type SolutionsReferenceDataClientListResponse
- type SolutionsReferenceDataList
- type SolutionsReferenceDataProperties
- type Source
- type SourceSystem
- type SourceType
- type State
- type Status
- type StatusAutoGenerated
- type StatusName
- type StatusReason
- type SubAssessment
- type SubAssessmentList
- type SubAssessmentProperties
- type SubAssessmentStatus
- type SubAssessmentStatusCode
- type SubAssessmentsClient
- func (client *SubAssessmentsClient) Get(ctx context.Context, scope string, assessmentName string, ...) (SubAssessmentsClientGetResponse, error)
- func (client *SubAssessmentsClient) NewListAllPager(scope string, options *SubAssessmentsClientListAllOptions) *runtime.Pager[SubAssessmentsClientListAllResponse]
- func (client *SubAssessmentsClient) NewListPager(scope string, assessmentName string, options *SubAssessmentsClientListOptions) *runtime.Pager[SubAssessmentsClientListResponse]
- type SubAssessmentsClientGetOptions
- type SubAssessmentsClientGetResponse
- type SubAssessmentsClientListAllOptions
- type SubAssessmentsClientListAllResponse
- type SubAssessmentsClientListOptions
- type SubAssessmentsClientListResponse
- type SubPlan
- type SupportedCloudEnum
- type SuppressionAlertsScope
- type SystemData
- type Tactics
- type Tags
- type TagsResource
- type TargetBranchConfiguration
- type Task
- type TaskList
- type TaskParameters
- type TaskProperties
- type TaskUpdateActionType
- type TasksClient
- func (client *TasksClient) GetResourceGroupLevelTask(ctx context.Context, resourceGroupName string, ascLocation string, ...) (TasksClientGetResourceGroupLevelTaskResponse, error)
- func (client *TasksClient) GetSubscriptionLevelTask(ctx context.Context, ascLocation string, taskName string, ...) (TasksClientGetSubscriptionLevelTaskResponse, error)
- func (client *TasksClient) NewListByHomeRegionPager(ascLocation string, options *TasksClientListByHomeRegionOptions) *runtime.Pager[TasksClientListByHomeRegionResponse]
- func (client *TasksClient) NewListByResourceGroupPager(resourceGroupName string, ascLocation string, ...) *runtime.Pager[TasksClientListByResourceGroupResponse]
- func (client *TasksClient) NewListPager(options *TasksClientListOptions) *runtime.Pager[TasksClientListResponse]
- func (client *TasksClient) UpdateResourceGroupLevelTaskState(ctx context.Context, resourceGroupName string, ascLocation string, ...) (TasksClientUpdateResourceGroupLevelTaskStateResponse, error)
- func (client *TasksClient) UpdateSubscriptionLevelTaskState(ctx context.Context, ascLocation string, taskName string, ...) (TasksClientUpdateSubscriptionLevelTaskStateResponse, error)
- type TasksClientGetResourceGroupLevelTaskOptions
- type TasksClientGetResourceGroupLevelTaskResponse
- type TasksClientGetSubscriptionLevelTaskOptions
- type TasksClientGetSubscriptionLevelTaskResponse
- type TasksClientListByHomeRegionOptions
- type TasksClientListByHomeRegionResponse
- type TasksClientListByResourceGroupOptions
- type TasksClientListByResourceGroupResponse
- type TasksClientListOptions
- type TasksClientListResponse
- type TasksClientUpdateResourceGroupLevelTaskStateOptions
- type TasksClientUpdateResourceGroupLevelTaskStateResponse
- type TasksClientUpdateSubscriptionLevelTaskStateOptions
- type TasksClientUpdateSubscriptionLevelTaskStateResponse
- type Techniques
- type Threats
- type ThresholdCustomAlertRule
- type ThresholdCustomAlertRuleClassification
- type TimeWindowCustomAlertRule
- func (t *TimeWindowCustomAlertRule) GetCustomAlertRule() *CustomAlertRule
- func (t *TimeWindowCustomAlertRule) GetThresholdCustomAlertRule() *ThresholdCustomAlertRule
- func (t *TimeWindowCustomAlertRule) GetTimeWindowCustomAlertRule() *TimeWindowCustomAlertRule
- func (t TimeWindowCustomAlertRule) MarshalJSON() ([]byte, error)
- func (t *TimeWindowCustomAlertRule) UnmarshalJSON(data []byte) error
- type TimeWindowCustomAlertRuleClassification
- type TopologyClient
- func (client *TopologyClient) Get(ctx context.Context, resourceGroupName string, ascLocation string, ...) (TopologyClientGetResponse, error)
- func (client *TopologyClient) NewListByHomeRegionPager(ascLocation string, options *TopologyClientListByHomeRegionOptions) *runtime.Pager[TopologyClientListByHomeRegionResponse]
- func (client *TopologyClient) NewListPager(options *TopologyClientListOptions) *runtime.Pager[TopologyClientListResponse]
- type TopologyClientGetOptions
- type TopologyClientGetResponse
- type TopologyClientListByHomeRegionOptions
- type TopologyClientListByHomeRegionResponse
- type TopologyClientListOptions
- type TopologyClientListResponse
- type TopologyList
- type TopologyResource
- type TopologyResourceProperties
- type TopologySingleResource
- type TopologySingleResourceChild
- type TopologySingleResourceParent
- type TrackedResource
- type TransportProtocol
- type TwinUpdatesNotInAllowedRange
- func (t *TwinUpdatesNotInAllowedRange) GetCustomAlertRule() *CustomAlertRule
- func (t *TwinUpdatesNotInAllowedRange) GetThresholdCustomAlertRule() *ThresholdCustomAlertRule
- func (t *TwinUpdatesNotInAllowedRange) GetTimeWindowCustomAlertRule() *TimeWindowCustomAlertRule
- func (t TwinUpdatesNotInAllowedRange) MarshalJSON() ([]byte, error)
- func (t *TwinUpdatesNotInAllowedRange) UnmarshalJSON(data []byte) error
- type Type
- type UnauthorizedOperationsNotInAllowedRange
- func (u *UnauthorizedOperationsNotInAllowedRange) GetCustomAlertRule() *CustomAlertRule
- func (u *UnauthorizedOperationsNotInAllowedRange) GetThresholdCustomAlertRule() *ThresholdCustomAlertRule
- func (u *UnauthorizedOperationsNotInAllowedRange) GetTimeWindowCustomAlertRule() *TimeWindowCustomAlertRule
- func (u UnauthorizedOperationsNotInAllowedRange) MarshalJSON() ([]byte, error)
- func (u *UnauthorizedOperationsNotInAllowedRange) UnmarshalJSON(data []byte) error
- type UnmaskedIPLoggingStatus
- type UpdateIoTSecuritySolutionProperties
- type UpdateIotSecuritySolutionData
- type UpdateSensitivitySettingsRequest
- type UserDefinedResourcesProperties
- type UserImpact
- type UserRecommendation
- type VMRecommendation
- type VMScannersAws
- type VMScannersBase
- type VMScannersBaseConfiguration
- type VMScannersGcp
- type VaRule
- type ValueType
- type VendorReference
- type WorkspaceSetting
- type WorkspaceSettingList
- type WorkspaceSettingProperties
- type WorkspaceSettingsClient
- func (client *WorkspaceSettingsClient) Create(ctx context.Context, workspaceSettingName string, ...) (WorkspaceSettingsClientCreateResponse, error)
- func (client *WorkspaceSettingsClient) Delete(ctx context.Context, workspaceSettingName string, ...) (WorkspaceSettingsClientDeleteResponse, error)
- func (client *WorkspaceSettingsClient) Get(ctx context.Context, workspaceSettingName string, ...) (WorkspaceSettingsClientGetResponse, error)
- func (client *WorkspaceSettingsClient) NewListPager(options *WorkspaceSettingsClientListOptions) *runtime.Pager[WorkspaceSettingsClientListResponse]
- func (client *WorkspaceSettingsClient) Update(ctx context.Context, workspaceSettingName string, ...) (WorkspaceSettingsClientUpdateResponse, error)
- type WorkspaceSettingsClientCreateOptions
- type WorkspaceSettingsClientCreateResponse
- type WorkspaceSettingsClientDeleteOptions
- type WorkspaceSettingsClientDeleteResponse
- type WorkspaceSettingsClientGetOptions
- type WorkspaceSettingsClientGetResponse
- type WorkspaceSettingsClientListOptions
- type WorkspaceSettingsClientListResponse
- type WorkspaceSettingsClientUpdateOptions
- type WorkspaceSettingsClientUpdateResponse
Examples ¶
- APICollectionsClient.BeginOnboardAzureAPIManagementAPI
- APICollectionsClient.GetByAzureAPIManagementService
- APICollectionsClient.NewListByAzureAPIManagementServicePager
- APICollectionsClient.NewListByResourceGroupPager
- APICollectionsClient.NewListBySubscriptionPager
- APICollectionsClient.OffboardAzureAPIManagementAPI
- AccountConnectorsClient.CreateOrUpdate (AwsAssumeRoleCreateACloudAccountConnectorForASubscription)
- AccountConnectorsClient.CreateOrUpdate (AwsCredCreateACloudAccountConnectorForASubscription)
- AccountConnectorsClient.CreateOrUpdate (GcpCredentialsCreateACloudAccountConnectorForASubscription)
- AccountConnectorsClient.Delete
- AccountConnectorsClient.Get
- AccountConnectorsClient.NewListPager
- AdaptiveApplicationControlsClient.Delete
- AdaptiveApplicationControlsClient.Get
- AdaptiveApplicationControlsClient.List
- AdaptiveApplicationControlsClient.Put
- AdaptiveNetworkHardeningsClient.BeginEnforce
- AdaptiveNetworkHardeningsClient.Get
- AdaptiveNetworkHardeningsClient.NewListByExtendedResourcePager
- AdvancedThreatProtectionClient.Create
- AdvancedThreatProtectionClient.Get
- AlertsClient.BeginSimulate
- AlertsClient.GetResourceGroupLevel
- AlertsClient.GetSubscriptionLevel
- AlertsClient.NewListByResourceGroupPager
- AlertsClient.NewListPager
- AlertsClient.NewListResourceGroupLevelByRegionPager
- AlertsClient.NewListSubscriptionLevelByRegionPager
- AlertsClient.UpdateResourceGroupLevelStateToActivate
- AlertsClient.UpdateResourceGroupLevelStateToDismiss
- AlertsClient.UpdateResourceGroupLevelStateToInProgress
- AlertsClient.UpdateResourceGroupLevelStateToResolve
- AlertsClient.UpdateSubscriptionLevelStateToActivate
- AlertsClient.UpdateSubscriptionLevelStateToDismiss
- AlertsClient.UpdateSubscriptionLevelStateToInProgress
- AlertsClient.UpdateSubscriptionLevelStateToResolve
- AlertsSuppressionRulesClient.Delete
- AlertsSuppressionRulesClient.Get
- AlertsSuppressionRulesClient.NewListPager (GetSuppressionAlertRuleForSubscriptionFilteredByAlertType)
- AlertsSuppressionRulesClient.NewListPager (GetSuppressionRulesForSubscription)
- AlertsSuppressionRulesClient.Update
- AllowedConnectionsClient.Get
- AllowedConnectionsClient.NewListByHomeRegionPager
- AllowedConnectionsClient.NewListPager
- ApplicationClient.CreateOrUpdate
- ApplicationClient.Delete
- ApplicationClient.Get
- ApplicationsClient.NewListPager
- AssessmentsClient.CreateOrUpdate
- AssessmentsClient.Delete
- AssessmentsClient.Get (GetSecurityRecommendationTaskFromSecurityDataLocation)
- AssessmentsClient.Get (GetSecurityRecommendationTaskFromSecurityDataLocationWithExpandParameter)
- AssessmentsClient.NewListPager
- AssessmentsMetadataClient.CreateInSubscription
- AssessmentsMetadataClient.DeleteInSubscription
- AssessmentsMetadataClient.Get
- AssessmentsMetadataClient.GetInSubscription
- AssessmentsMetadataClient.NewListBySubscriptionPager
- AssessmentsMetadataClient.NewListPager
- AutoProvisioningSettingsClient.Create
- AutoProvisioningSettingsClient.Get
- AutoProvisioningSettingsClient.NewListPager
- AutomationsClient.CreateOrUpdate (CreateOrUpdateASecurityAutomationForAllAssessmentsIncludingAllSeverities)
- AutomationsClient.CreateOrUpdate (CreateOrUpdateASecurityAutomationForAllHighSeverityAssessments)
- AutomationsClient.CreateOrUpdate (DisableOrEnableASecurityAutomation)
- AutomationsClient.Delete
- AutomationsClient.Get
- AutomationsClient.NewListByResourceGroupPager
- AutomationsClient.NewListPager
- AutomationsClient.Update
- AutomationsClient.Validate
- AzureDevOpsOrgsClient.BeginCreateOrUpdate
- AzureDevOpsOrgsClient.BeginUpdate
- AzureDevOpsOrgsClient.Get
- AzureDevOpsOrgsClient.ListAvailable
- AzureDevOpsOrgsClient.NewListPager
- AzureDevOpsProjectsClient.BeginCreateOrUpdate
- AzureDevOpsProjectsClient.BeginUpdate
- AzureDevOpsProjectsClient.Get
- AzureDevOpsProjectsClient.NewListPager
- AzureDevOpsReposClient.BeginCreateOrUpdate
- AzureDevOpsReposClient.BeginUpdate
- AzureDevOpsReposClient.Get
- AzureDevOpsReposClient.NewListPager
- ComplianceResultsClient.Get
- ComplianceResultsClient.NewListPager
- CompliancesClient.Get
- CompliancesClient.NewListPager
- ConnectorApplicationClient.CreateOrUpdate
- ConnectorApplicationClient.Delete
- ConnectorApplicationClient.Get
- ConnectorApplicationsClient.NewListPager
- ConnectorsClient.CreateOrUpdate
- ConnectorsClient.Delete
- ConnectorsClient.Get
- ConnectorsClient.NewListByResourceGroupPager
- ConnectorsClient.NewListPager
- ConnectorsClient.Update
- ContactsClient.Create
- ContactsClient.Delete
- ContactsClient.Get
- ContactsClient.NewListPager
- CustomAssessmentAutomationsClient.Create
- CustomAssessmentAutomationsClient.Delete
- CustomAssessmentAutomationsClient.Get
- CustomAssessmentAutomationsClient.NewListByResourceGroupPager
- CustomAssessmentAutomationsClient.NewListBySubscriptionPager
- CustomEntityStoreAssignmentsClient.Create
- CustomEntityStoreAssignmentsClient.Delete
- CustomEntityStoreAssignmentsClient.Get
- CustomEntityStoreAssignmentsClient.NewListByResourceGroupPager
- CustomEntityStoreAssignmentsClient.NewListBySubscriptionPager
- DefenderForStorageClient.Create
- DefenderForStorageClient.Get
- DevOpsConfigurationsClient.BeginCreateOrUpdate (CreateOrUpdateDevOpsConfigurationsOnboardCurrentAndFuture)
- DevOpsConfigurationsClient.BeginCreateOrUpdate (CreateOrUpdateDevOpsConfigurationsOnboardCurrentOnly)
- DevOpsConfigurationsClient.BeginCreateOrUpdate (CreateOrUpdateDevOpsConfigurationsOnboardSelected)
- DevOpsConfigurationsClient.BeginDelete
- DevOpsConfigurationsClient.BeginUpdate
- DevOpsConfigurationsClient.Get
- DevOpsConfigurationsClient.NewListPager
- DevOpsOperationResultsClient.Get (GetDevOpsOperationResultsFailed)
- DevOpsOperationResultsClient.Get (GetDevOpsOperationResultsSucceeded)
- DeviceSecurityGroupsClient.CreateOrUpdate
- DeviceSecurityGroupsClient.Delete
- DeviceSecurityGroupsClient.Get
- DeviceSecurityGroupsClient.NewListPager
- DiscoveredSecuritySolutionsClient.Get
- DiscoveredSecuritySolutionsClient.NewListByHomeRegionPager
- DiscoveredSecuritySolutionsClient.NewListPager
- ExternalSecuritySolutionsClient.Get
- ExternalSecuritySolutionsClient.NewListByHomeRegionPager
- ExternalSecuritySolutionsClient.NewListPager
- GitHubOwnersClient.Get
- GitHubOwnersClient.ListAvailable
- GitHubOwnersClient.NewListPager
- GitHubReposClient.Get
- GitHubReposClient.NewListPager
- GitLabGroupsClient.Get
- GitLabGroupsClient.ListAvailable
- GitLabGroupsClient.NewListPager
- GitLabProjectsClient.Get
- GitLabProjectsClient.NewListPager
- GitLabSubgroupsClient.List
- GovernanceAssignmentsClient.CreateOrUpdate
- GovernanceAssignmentsClient.Delete
- GovernanceAssignmentsClient.Get
- GovernanceAssignmentsClient.NewListPager
- GovernanceRulesClient.BeginDelete (DeleteAGovernanceRuleOverManagementGroupScope)
- GovernanceRulesClient.BeginDelete (DeleteAGovernanceRuleOverSecurityConnectorScope)
- GovernanceRulesClient.BeginDelete (DeleteAGovernanceRuleOverSubscriptionScope)
- GovernanceRulesClient.BeginExecute (ExecuteGovernanceRuleOverManagementGroupScope)
- GovernanceRulesClient.BeginExecute (ExecuteGovernanceRuleOverSecurityConnectorScope)
- GovernanceRulesClient.BeginExecute (ExecuteGovernanceRuleOverSubscriptionScope)
- GovernanceRulesClient.CreateOrUpdate (CreateOrUpdateGovernanceRuleOverManagementGroupScope)
- GovernanceRulesClient.CreateOrUpdate (CreateOrUpdateGovernanceRuleOverSecurityConnectorScope)
- GovernanceRulesClient.CreateOrUpdate (CreateOrUpdateGovernanceRuleOverSubscriptionScope)
- GovernanceRulesClient.Get (GetAGovernanceRuleOverManagementGroupScope)
- GovernanceRulesClient.Get (GetAGovernanceRuleOverSecurityConnectorScope)
- GovernanceRulesClient.Get (GetAGovernanceRuleOverSubscriptionScope)
- GovernanceRulesClient.NewListPager (ListGovernanceRulesByManagementGroupScope)
- GovernanceRulesClient.NewListPager (ListGovernanceRulesBySecurityConnectorScope)
- GovernanceRulesClient.NewListPager (ListGovernanceRulesBySubscriptionScope)
- GovernanceRulesClient.OperationResults (GetGovernanceRulesLongRunOperationResultOverManagementGroup)
- GovernanceRulesClient.OperationResults (GetGovernanceRulesLongRunOperationResultOverSecurityConnector)
- GovernanceRulesClient.OperationResults (GetGovernanceRulesLongRunOperationResultOverSubscription)
- HealthReportsClient.Get
- HealthReportsClient.NewListPager
- InformationProtectionPoliciesClient.CreateOrUpdate
- InformationProtectionPoliciesClient.Get (GetTheCustomizedInformationProtectionPolicyForAManagementGroup)
- InformationProtectionPoliciesClient.Get (GetTheEffectiveInformationProtectionPolicyForAManagementGroup)
- InformationProtectionPoliciesClient.NewListPager
- IotSecuritySolutionAnalyticsClient.Get
- IotSecuritySolutionAnalyticsClient.List
- IotSecuritySolutionClient.CreateOrUpdate
- IotSecuritySolutionClient.Delete
- IotSecuritySolutionClient.Get
- IotSecuritySolutionClient.NewListByResourceGroupPager (ListIoTSecuritySolutionsByResourceGroup)
- IotSecuritySolutionClient.NewListByResourceGroupPager (ListIoTSecuritySolutionsByResourceGroupAndIoTHub)
- IotSecuritySolutionClient.NewListBySubscriptionPager (ListIoTSecuritySolutionsByIoTHub)
- IotSecuritySolutionClient.NewListBySubscriptionPager (ListIoTSecuritySolutionsBySubscription)
- IotSecuritySolutionClient.Update
- IotSecuritySolutionsAnalyticsAggregatedAlertClient.Dismiss
- IotSecuritySolutionsAnalyticsAggregatedAlertClient.Get
- IotSecuritySolutionsAnalyticsAggregatedAlertClient.NewListPager
- IotSecuritySolutionsAnalyticsRecommendationClient.Get
- IotSecuritySolutionsAnalyticsRecommendationClient.NewListPager
- JitNetworkAccessPoliciesClient.CreateOrUpdate
- JitNetworkAccessPoliciesClient.Delete
- JitNetworkAccessPoliciesClient.Get
- JitNetworkAccessPoliciesClient.Initiate
- JitNetworkAccessPoliciesClient.NewListByRegionPager
- JitNetworkAccessPoliciesClient.NewListByResourceGroupAndRegionPager
- JitNetworkAccessPoliciesClient.NewListByResourceGroupPager
- JitNetworkAccessPoliciesClient.NewListPager
- LocationsClient.Get
- LocationsClient.NewListPager
- MdeOnboardingsClient.Get
- MdeOnboardingsClient.List
- OperatorsClient.CreateOrUpdate
- OperatorsClient.Delete
- OperatorsClient.Get
- OperatorsClient.List
- PricingsClient.Delete
- PricingsClient.Get (GetPricingsOnResourceVirtualMachinesPlan)
- PricingsClient.Get (GetPricingsOnSubscriptionCloudPosturePlan)
- PricingsClient.Get (GetPricingsOnSubscriptionContainersPlan)
- PricingsClient.Get (GetPricingsOnSubscriptionDnsPlan)
- PricingsClient.Get (GetPricingsOnSubscriptionStorageAccountsPlan)
- PricingsClient.Get (GetPricingsOnSubscriptionVirtualMachinesPlan)
- PricingsClient.List (GetPricingsOnResource)
- PricingsClient.List (GetPricingsOnSubscription)
- PricingsClient.List (GetPricingsOnSubscriptionWithPlansFilter)
- PricingsClient.Update (UpdatePricingOnResourceExampleForVirtualMachinesPlan)
- PricingsClient.Update (UpdatePricingOnSubscriptionExampleForCloudPosturePlan)
- PricingsClient.Update (UpdatePricingOnSubscriptionExampleForCloudPosturePlanPartialSuccess)
- PricingsClient.Update (UpdatePricingOnSubscriptionExampleForVirtualMachinesPlan)
- RegulatoryComplianceAssessmentsClient.Get
- RegulatoryComplianceAssessmentsClient.NewListPager
- RegulatoryComplianceControlsClient.Get
- RegulatoryComplianceControlsClient.NewListPager
- RegulatoryComplianceStandardsClient.Get
- RegulatoryComplianceStandardsClient.NewListPager
- SQLVulnerabilityAssessmentBaselineRulesClient.Add (CreateABaselineForAllRules)
- SQLVulnerabilityAssessmentBaselineRulesClient.Add (CreateABaselineForAllRulesUsingTheLatestScanResults)
- SQLVulnerabilityAssessmentBaselineRulesClient.CreateOrUpdate (CreateABaseline)
- SQLVulnerabilityAssessmentBaselineRulesClient.CreateOrUpdate (CreateABaselineUsingTheLatestScanResults)
- SQLVulnerabilityAssessmentBaselineRulesClient.Delete
- SQLVulnerabilityAssessmentBaselineRulesClient.Get
- SQLVulnerabilityAssessmentBaselineRulesClient.List
- SQLVulnerabilityAssessmentScanResultsClient.Get (GetScanDetailsOfAScanRecord)
- SQLVulnerabilityAssessmentScanResultsClient.Get (GetScanDetailsOfTheLatestScanRecord)
- SQLVulnerabilityAssessmentScanResultsClient.List (ListScanResults)
- SQLVulnerabilityAssessmentScanResultsClient.List (ListScanResultsOfTheLatestScan)
- SQLVulnerabilityAssessmentScansClient.Get (GetScanDetailsOfAScanRecord)
- SQLVulnerabilityAssessmentScansClient.Get (GetScanDetailsOfTheLatestScanRecord)
- SQLVulnerabilityAssessmentScansClient.List
- SecureScoreControlDefinitionsClient.NewListBySubscriptionPager
- SecureScoreControlDefinitionsClient.NewListPager
- SecureScoreControlsClient.NewListBySecureScorePager (GetSecurityControlsAndTheirCurrentScoreForTheSpecifiedInitiative)
- SecureScoreControlsClient.NewListBySecureScorePager (GetSecurityControlsAndTheirCurrentScoreForTheSpecifiedInitiativeWithTheExpandParameter)
- SecureScoreControlsClient.NewListPager
- SecureScoresClient.Get
- SecureScoresClient.NewListPager
- SensitivitySettingsClient.CreateOrUpdate
- SensitivitySettingsClient.Get
- SensitivitySettingsClient.List
- ServerVulnerabilityAssessmentClient.BeginDelete
- ServerVulnerabilityAssessmentClient.CreateOrUpdate
- ServerVulnerabilityAssessmentClient.Get
- ServerVulnerabilityAssessmentClient.ListByExtendedResource
- ServerVulnerabilityAssessmentsSettingsClient.CreateOrUpdate
- ServerVulnerabilityAssessmentsSettingsClient.Delete
- ServerVulnerabilityAssessmentsSettingsClient.Get
- ServerVulnerabilityAssessmentsSettingsClient.NewListBySubscriptionPager
- SettingsClient.Get
- SettingsClient.NewListPager
- SettingsClient.Update
- SoftwareInventoriesClient.Get
- SoftwareInventoriesClient.NewListByExtendedResourcePager
- SoftwareInventoriesClient.NewListBySubscriptionPager
- SolutionsClient.Get
- SolutionsClient.NewListPager
- SolutionsReferenceDataClient.List
- SolutionsReferenceDataClient.ListByHomeRegion
- SubAssessmentsClient.Get
- SubAssessmentsClient.NewListAllPager
- SubAssessmentsClient.NewListPager
- TasksClient.GetResourceGroupLevelTask
- TasksClient.GetSubscriptionLevelTask
- TasksClient.NewListByHomeRegionPager
- TasksClient.NewListByResourceGroupPager
- TasksClient.NewListPager
- TasksClient.UpdateResourceGroupLevelTaskState
- TasksClient.UpdateSubscriptionLevelTaskState
- TopologyClient.Get
- TopologyClient.NewListByHomeRegionPager
- TopologyClient.NewListPager
- WorkspaceSettingsClient.Create
- WorkspaceSettingsClient.Delete
- WorkspaceSettingsClient.Get
- WorkspaceSettingsClient.NewListPager
- WorkspaceSettingsClient.Update
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AADConnectivityState ¶
type AADConnectivityState string
AADConnectivityState - The connectivity state of the external AAD solution
const ( AADConnectivityStateConnected AADConnectivityState = "Connected" AADConnectivityStateDiscovered AADConnectivityState = "Discovered" AADConnectivityStateNotLicensed AADConnectivityState = "NotLicensed" )
func PossibleAADConnectivityStateValues ¶
func PossibleAADConnectivityStateValues() []AADConnectivityState
PossibleAADConnectivityStateValues returns the possible values for the AADConnectivityState const type.
type AADConnectivityStateAutoGenerated ¶
type AADConnectivityStateAutoGenerated struct {
// The connectivity state of the external AAD solution
ConnectivityState *AADConnectivityState
}
AADConnectivityStateAutoGenerated - Describes an Azure resource with kind
func (AADConnectivityStateAutoGenerated) MarshalJSON ¶
func (a AADConnectivityStateAutoGenerated) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AADConnectivityStateAutoGenerated.
func (*AADConnectivityStateAutoGenerated) UnmarshalJSON ¶
func (a *AADConnectivityStateAutoGenerated) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AADConnectivityStateAutoGenerated.
type AADExternalSecuritySolution ¶
type AADExternalSecuritySolution struct {
// REQUIRED; The kind of the external solution
Kind *ExternalSecuritySolutionKind
// The external security solution properties for AAD solutions
Properties *AADSolutionProperties
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Location where the resource is stored
Location *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Resource type
Type *string
}
AADExternalSecuritySolution - Represents an AAD identity protection solution which sends logs to an OMS workspace.
func (*AADExternalSecuritySolution) GetExternalSecuritySolution ¶
func (a *AADExternalSecuritySolution) GetExternalSecuritySolution() *ExternalSecuritySolution
GetExternalSecuritySolution implements the ExternalSecuritySolutionClassification interface for type AADExternalSecuritySolution.
func (AADExternalSecuritySolution) MarshalJSON ¶
func (a AADExternalSecuritySolution) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AADExternalSecuritySolution.
func (*AADExternalSecuritySolution) UnmarshalJSON ¶
func (a *AADExternalSecuritySolution) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AADExternalSecuritySolution.
type AADSolutionProperties ¶
type AADSolutionProperties struct {
// OPTIONAL; Contains additional key/value pairs not defined in the schema.
AdditionalProperties map[string]any
// The connectivity state of the external AAD solution
ConnectivityState *AADConnectivityState
DeviceType *string
DeviceVendor *string
// Represents an OMS workspace to which the solution is connected
Workspace *ConnectedWorkspace
}
AADSolutionProperties - The external security solution properties for AAD solutions
func (AADSolutionProperties) MarshalJSON ¶
func (a AADSolutionProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AADSolutionProperties.
func (*AADSolutionProperties) UnmarshalJSON ¶
func (a *AADSolutionProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AADSolutionProperties.
type APICollection ¶
type APICollection struct {
// Describes the properties of an API collection.
Properties *APICollectionProperties
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Resource type
Type *string
}
APICollection - An API collection as represented by Microsoft Defender for APIs.
func (APICollection) MarshalJSON ¶
func (a APICollection) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type APICollection.
func (*APICollection) UnmarshalJSON ¶
func (a *APICollection) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type APICollection.
type APICollectionList ¶
type APICollectionList struct {
// READ-ONLY; The URI to fetch the next page.
NextLink *string
// READ-ONLY; API collections in this page.
Value []*APICollection
}
APICollectionList - Page of a list of API collections as represented by Microsoft Defender for APIs.
func (APICollectionList) MarshalJSON ¶
func (a APICollectionList) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type APICollectionList.
func (*APICollectionList) UnmarshalJSON ¶
func (a *APICollectionList) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type APICollectionList.
type APICollectionProperties ¶
type APICollectionProperties struct {
// READ-ONLY; The base URI for this API collection. All endpoints of this API collection extend this base URI.
BaseURL *string
// READ-ONLY; The resource Id of the resource from where this API collection was discovered.
DiscoveredVia *string
// READ-ONLY; The display name of the API collection.
DisplayName *string
// READ-ONLY; The number of API endpoints discovered in this API collection.
NumberOfAPIEndpoints *int64
// READ-ONLY; The number of API endpoints in this API collection which are exposing sensitive data in their requests and/or
// responses.
NumberOfAPIEndpointsWithSensitiveDataExposed *int64
// READ-ONLY; The number of API endpoints in this API collection for which API traffic from the internet was observed.
NumberOfExternalAPIEndpoints *int64
// READ-ONLY; The number of API endpoints in this API collection that have not received any API traffic in the last 30 days.
NumberOfInactiveAPIEndpoints *int64
// READ-ONLY; The number of API endpoints in this API collection that are unauthenticated.
NumberOfUnauthenticatedAPIEndpoints *int64
// READ-ONLY; Gets the provisioning state of the API collection.
ProvisioningState *ProvisioningState
// READ-ONLY; The highest priority sensitivity label from Microsoft Purview in this API collection.
SensitivityLabel *string
}
APICollectionProperties - Describes the properties of an API collection.
func (APICollectionProperties) MarshalJSON ¶
func (a APICollectionProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type APICollectionProperties.
func (*APICollectionProperties) UnmarshalJSON ¶
func (a *APICollectionProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type APICollectionProperties.
type APICollectionsClient ¶
type APICollectionsClient struct {
// contains filtered or unexported fields
}
APICollectionsClient contains the methods for the APICollections group. Don't use this type directly, use NewAPICollectionsClient() instead.
func NewAPICollectionsClient ¶
func NewAPICollectionsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*APICollectionsClient, error)
NewAPICollectionsClient creates a new instance of APICollectionsClient with the specified values.
- subscriptionID - Azure subscription ID
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*APICollectionsClient) BeginOnboardAzureAPIManagementAPI ¶
func (client *APICollectionsClient) BeginOnboardAzureAPIManagementAPI(ctx context.Context, resourceGroupName string, serviceName string, apiID string, options *APICollectionsClientBeginOnboardAzureAPIManagementAPIOptions) (*runtime.Poller[APICollectionsClientOnboardAzureAPIManagementAPIResponse], error)
BeginOnboardAzureAPIManagementAPI - Onboard an Azure API Management API to Microsoft Defender for APIs. The system will start monitoring the operations within the Azure Management API for intrusive behaviors and provide alerts for attacks that have been detected. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2023-11-15
- resourceGroupName - The name of the resource group. The name is case insensitive.
- serviceName - The name of the API Management service.
- apiID - API revision identifier. Must be unique in the API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number.
- options - APICollectionsClientBeginOnboardAzureAPIManagementAPIOptions contains the optional parameters for the APICollectionsClient.BeginOnboardAzureAPIManagementAPI method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2023-11-15/examples/ApiCollections/APICollections_OnboardAzureApiManagementApi_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewAPICollectionsClient().BeginOnboardAzureAPIManagementAPI(ctx, "rg1", "apimService1", "echo-api", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.APICollection = armsecurity.APICollection{
// Name: to.Ptr("echo-api"),
// Type: to.Ptr("Microsoft.Security/apiCollections"),
// ID: to.Ptr("/subscriptions/3fa85f64-5717-4562-b3fc-2c963f66afa6/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/providers/Microsoft.Security/apiCollections/echo-api"),
// Properties: &armsecurity.APICollectionProperties{
// BaseURL: to.Ptr("https://apimservice1.azure-api.net/echo"),
// DiscoveredVia: to.Ptr("/subscriptions/3fa85f64-5717-4562-b3fc-2c963f66afa6/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1"),
// DisplayName: to.Ptr("Echo API"),
// NumberOfAPIEndpoints: to.Ptr[int64](6),
// NumberOfAPIEndpointsWithSensitiveDataExposed: to.Ptr[int64](1),
// NumberOfExternalAPIEndpoints: to.Ptr[int64](3),
// NumberOfInactiveAPIEndpoints: to.Ptr[int64](3),
// NumberOfUnauthenticatedAPIEndpoints: to.Ptr[int64](1),
// ProvisioningState: to.Ptr(armsecurity.ProvisioningStateSucceeded),
// SensitivityLabel: to.Ptr("Highly Confidential"),
// },
// }
}
func (*APICollectionsClient) GetByAzureAPIManagementService ¶
func (client *APICollectionsClient) GetByAzureAPIManagementService(ctx context.Context, resourceGroupName string, serviceName string, apiID string, options *APICollectionsClientGetByAzureAPIManagementServiceOptions) (APICollectionsClientGetByAzureAPIManagementServiceResponse, error)
GetByAzureAPIManagementService - Gets an Azure API Management API if it has been onboarded to Microsoft Defender for APIs. If an Azure API Management API is onboarded to Microsoft Defender for APIs, the system will monitor the operations within the Azure API Management API for intrusive behaviors and provide alerts for attacks that have been detected. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2023-11-15
- resourceGroupName - The name of the resource group. The name is case insensitive.
- serviceName - The name of the API Management service.
- apiID - API revision identifier. Must be unique in the API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number.
- options - APICollectionsClientGetByAzureAPIManagementServiceOptions contains the optional parameters for the APICollectionsClient.GetByAzureAPIManagementService method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2023-11-15/examples/ApiCollections/APICollections_GetByAzureApiManagementService_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewAPICollectionsClient().GetByAzureAPIManagementService(ctx, "rg1", "apimService1", "echo-api", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.APICollection = armsecurity.APICollection{
// Name: to.Ptr("echo-api"),
// Type: to.Ptr("Microsoft.Security/apiCollections"),
// ID: to.Ptr("/subscriptions/3fa85f64-5717-4562-b3fc-2c963f66afa6/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/providers/Microsoft.Security/apiCollections/echo-api"),
// Properties: &armsecurity.APICollectionProperties{
// BaseURL: to.Ptr("https://apimservice1.azure-api.net/echo"),
// DiscoveredVia: to.Ptr("/subscriptions/3fa85f64-5717-4562-b3fc-2c963f66afa6/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1"),
// DisplayName: to.Ptr("Echo API"),
// NumberOfAPIEndpoints: to.Ptr[int64](6),
// NumberOfAPIEndpointsWithSensitiveDataExposed: to.Ptr[int64](1),
// NumberOfExternalAPIEndpoints: to.Ptr[int64](3),
// NumberOfInactiveAPIEndpoints: to.Ptr[int64](3),
// NumberOfUnauthenticatedAPIEndpoints: to.Ptr[int64](1),
// ProvisioningState: to.Ptr(armsecurity.ProvisioningStateSucceeded),
// SensitivityLabel: to.Ptr("Highly Confidential"),
// },
// }
}
func (*APICollectionsClient) NewListByAzureAPIManagementServicePager ¶
func (client *APICollectionsClient) NewListByAzureAPIManagementServicePager(resourceGroupName string, serviceName string, options *APICollectionsClientListByAzureAPIManagementServiceOptions) *runtime.Pager[APICollectionsClientListByAzureAPIManagementServiceResponse]
NewListByAzureAPIManagementServicePager - Gets a list of Azure API Management APIs that have been onboarded to Microsoft Defender for APIs. If an Azure API Management API is onboarded to Microsoft Defender for APIs, the system will monitor the operations within the Azure API Management API for intrusive behaviors and provide alerts for attacks that have been detected.
Generated from API version 2023-11-15
- resourceGroupName - The name of the resource group. The name is case insensitive.
- serviceName - The name of the API Management service.
- options - APICollectionsClientListByAzureAPIManagementServiceOptions contains the optional parameters for the APICollectionsClient.NewListByAzureAPIManagementServicePager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2023-11-15/examples/ApiCollections/APICollections_ListByAzureApiManagementService_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewAPICollectionsClient().NewListByAzureAPIManagementServicePager("rg1", "apimService1", nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.APICollectionList = armsecurity.APICollectionList{
// Value: []*armsecurity.APICollection{
// {
// Name: to.Ptr("echo-api"),
// Type: to.Ptr("Microsoft.Security/apiCollections"),
// ID: to.Ptr("/subscriptions/3fa85f64-5717-4562-b3fc-2c963f66afa6/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/providers/Microsoft.Security/apiCollections/echo-api"),
// Properties: &armsecurity.APICollectionProperties{
// BaseURL: to.Ptr("https://apimservice1.azure-api.net/echo"),
// DiscoveredVia: to.Ptr("/subscriptions/3fa85f64-5717-4562-b3fc-2c963f66afa6/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1"),
// DisplayName: to.Ptr("Echo API"),
// NumberOfAPIEndpoints: to.Ptr[int64](6),
// NumberOfAPIEndpointsWithSensitiveDataExposed: to.Ptr[int64](1),
// NumberOfExternalAPIEndpoints: to.Ptr[int64](3),
// NumberOfInactiveAPIEndpoints: to.Ptr[int64](3),
// NumberOfUnauthenticatedAPIEndpoints: to.Ptr[int64](1),
// ProvisioningState: to.Ptr(armsecurity.ProvisioningStateSucceeded),
// SensitivityLabel: to.Ptr("Highly Confidential"),
// },
// }},
// }
}
}
func (*APICollectionsClient) NewListByResourceGroupPager ¶
func (client *APICollectionsClient) NewListByResourceGroupPager(resourceGroupName string, options *APICollectionsClientListByResourceGroupOptions) *runtime.Pager[APICollectionsClientListByResourceGroupResponse]
NewListByResourceGroupPager - Gets a list of API collections within a resource group that have been onboarded to Microsoft Defender for APIs.
Generated from API version 2023-11-15
- resourceGroupName - The name of the resource group. The name is case insensitive.
- options - APICollectionsClientListByResourceGroupOptions contains the optional parameters for the APICollectionsClient.NewListByResourceGroupPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2023-11-15/examples/ApiCollections/APICollections_ListByResourceGroup_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewAPICollectionsClient().NewListByResourceGroupPager("rg1", nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.APICollectionList = armsecurity.APICollectionList{
// Value: []*armsecurity.APICollection{
// {
// Name: to.Ptr("echo-api"),
// Type: to.Ptr("Microsoft.Security/apiCollections"),
// ID: to.Ptr("/subscriptions/3fa85f64-5717-4562-b3fc-2c963f66afa6/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/providers/Microsoft.Security/apiCollections/echo-api"),
// Properties: &armsecurity.APICollectionProperties{
// BaseURL: to.Ptr("https://apimservice1.azure-api.net/echo"),
// DiscoveredVia: to.Ptr("/subscriptions/3fa85f64-5717-4562-b3fc-2c963f66afa6/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1"),
// DisplayName: to.Ptr("Echo API"),
// NumberOfAPIEndpoints: to.Ptr[int64](6),
// NumberOfAPIEndpointsWithSensitiveDataExposed: to.Ptr[int64](1),
// NumberOfExternalAPIEndpoints: to.Ptr[int64](3),
// NumberOfInactiveAPIEndpoints: to.Ptr[int64](3),
// NumberOfUnauthenticatedAPIEndpoints: to.Ptr[int64](1),
// ProvisioningState: to.Ptr(armsecurity.ProvisioningStateSucceeded),
// SensitivityLabel: to.Ptr("Highly Confidential"),
// },
// }},
// }
}
}
func (*APICollectionsClient) NewListBySubscriptionPager ¶
func (client *APICollectionsClient) NewListBySubscriptionPager(options *APICollectionsClientListBySubscriptionOptions) *runtime.Pager[APICollectionsClientListBySubscriptionResponse]
NewListBySubscriptionPager - Gets a list of API collections within a subscription that have been onboarded to Microsoft Defender for APIs.
Generated from API version 2023-11-15
- options - APICollectionsClientListBySubscriptionOptions contains the optional parameters for the APICollectionsClient.NewListBySubscriptionPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2023-11-15/examples/ApiCollections/APICollections_ListBySubscription_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewAPICollectionsClient().NewListBySubscriptionPager(nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.APICollectionList = armsecurity.APICollectionList{
// Value: []*armsecurity.APICollection{
// {
// Name: to.Ptr("echo-api"),
// Type: to.Ptr("Microsoft.Security/apiCollections"),
// ID: to.Ptr("/subscriptions/3fa85f64-5717-4562-b3fc-2c963f66afa6/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/providers/Microsoft.Security/apiCollections/echo-api"),
// Properties: &armsecurity.APICollectionProperties{
// BaseURL: to.Ptr("https://apimservice1.azure-api.net/echo"),
// DiscoveredVia: to.Ptr("/subscriptions/3fa85f64-5717-4562-b3fc-2c963f66afa6/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1"),
// DisplayName: to.Ptr("Echo API"),
// NumberOfAPIEndpoints: to.Ptr[int64](6),
// NumberOfAPIEndpointsWithSensitiveDataExposed: to.Ptr[int64](1),
// NumberOfExternalAPIEndpoints: to.Ptr[int64](3),
// NumberOfInactiveAPIEndpoints: to.Ptr[int64](3),
// NumberOfUnauthenticatedAPIEndpoints: to.Ptr[int64](1),
// ProvisioningState: to.Ptr(armsecurity.ProvisioningStateSucceeded),
// SensitivityLabel: to.Ptr("Highly Confidential"),
// },
// }},
// }
}
}
func (*APICollectionsClient) OffboardAzureAPIManagementAPI ¶
func (client *APICollectionsClient) OffboardAzureAPIManagementAPI(ctx context.Context, resourceGroupName string, serviceName string, apiID string, options *APICollectionsClientOffboardAzureAPIManagementAPIOptions) (APICollectionsClientOffboardAzureAPIManagementAPIResponse, error)
OffboardAzureAPIManagementAPI - Offboard an Azure API Management API from Microsoft Defender for APIs. The system will stop monitoring the operations within the Azure API Management API for intrusive behaviors. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2023-11-15
- resourceGroupName - The name of the resource group. The name is case insensitive.
- serviceName - The name of the API Management service.
- apiID - API revision identifier. Must be unique in the API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number.
- options - APICollectionsClientOffboardAzureAPIManagementAPIOptions contains the optional parameters for the APICollectionsClient.OffboardAzureAPIManagementAPI method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2023-11-15/examples/ApiCollections/APICollections_OffboardAzureApiManagementApi_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewAPICollectionsClient().OffboardAzureAPIManagementAPI(ctx, "rg1", "apimService1", "echo-api", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
}
type APICollectionsClientBeginOnboardAzureAPIManagementAPIOptions ¶
type APICollectionsClientBeginOnboardAzureAPIManagementAPIOptions struct {
// Resumes the LRO from the provided token.
ResumeToken string
}
APICollectionsClientBeginOnboardAzureAPIManagementAPIOptions contains the optional parameters for the APICollectionsClient.BeginOnboardAzureAPIManagementAPI method.
type APICollectionsClientGetByAzureAPIManagementServiceOptions ¶
type APICollectionsClientGetByAzureAPIManagementServiceOptions struct {
}
APICollectionsClientGetByAzureAPIManagementServiceOptions contains the optional parameters for the APICollectionsClient.GetByAzureAPIManagementService method.
type APICollectionsClientGetByAzureAPIManagementServiceResponse ¶
type APICollectionsClientGetByAzureAPIManagementServiceResponse struct {
// An API collection as represented by Microsoft Defender for APIs.
APICollection
}
APICollectionsClientGetByAzureAPIManagementServiceResponse contains the response from method APICollectionsClient.GetByAzureAPIManagementService.
type APICollectionsClientListByAzureAPIManagementServiceOptions ¶
type APICollectionsClientListByAzureAPIManagementServiceOptions struct {
}
APICollectionsClientListByAzureAPIManagementServiceOptions contains the optional parameters for the APICollectionsClient.NewListByAzureAPIManagementServicePager method.
type APICollectionsClientListByAzureAPIManagementServiceResponse ¶
type APICollectionsClientListByAzureAPIManagementServiceResponse struct {
// Page of a list of API collections as represented by Microsoft Defender for APIs.
APICollectionList
}
APICollectionsClientListByAzureAPIManagementServiceResponse contains the response from method APICollectionsClient.NewListByAzureAPIManagementServicePager.
type APICollectionsClientListByResourceGroupOptions ¶
type APICollectionsClientListByResourceGroupOptions struct {
}
APICollectionsClientListByResourceGroupOptions contains the optional parameters for the APICollectionsClient.NewListByResourceGroupPager method.
type APICollectionsClientListByResourceGroupResponse ¶
type APICollectionsClientListByResourceGroupResponse struct {
// Page of a list of API collections as represented by Microsoft Defender for APIs.
APICollectionList
}
APICollectionsClientListByResourceGroupResponse contains the response from method APICollectionsClient.NewListByResourceGroupPager.
type APICollectionsClientListBySubscriptionOptions ¶
type APICollectionsClientListBySubscriptionOptions struct {
}
APICollectionsClientListBySubscriptionOptions contains the optional parameters for the APICollectionsClient.NewListBySubscriptionPager method.
type APICollectionsClientListBySubscriptionResponse ¶
type APICollectionsClientListBySubscriptionResponse struct {
// Page of a list of API collections as represented by Microsoft Defender for APIs.
APICollectionList
}
APICollectionsClientListBySubscriptionResponse contains the response from method APICollectionsClient.NewListBySubscriptionPager.
type APICollectionsClientOffboardAzureAPIManagementAPIOptions ¶
type APICollectionsClientOffboardAzureAPIManagementAPIOptions struct {
}
APICollectionsClientOffboardAzureAPIManagementAPIOptions contains the optional parameters for the APICollectionsClient.OffboardAzureAPIManagementAPI method.
type APICollectionsClientOffboardAzureAPIManagementAPIResponse ¶
type APICollectionsClientOffboardAzureAPIManagementAPIResponse struct {
}
APICollectionsClientOffboardAzureAPIManagementAPIResponse contains the response from method APICollectionsClient.OffboardAzureAPIManagementAPI.
type APICollectionsClientOnboardAzureAPIManagementAPIResponse ¶
type APICollectionsClientOnboardAzureAPIManagementAPIResponse struct {
// An API collection as represented by Microsoft Defender for APIs.
APICollection
}
APICollectionsClientOnboardAzureAPIManagementAPIResponse contains the response from method APICollectionsClient.BeginOnboardAzureAPIManagementAPI.
type AccountConnectorsClient ¶
type AccountConnectorsClient struct {
// contains filtered or unexported fields
}
AccountConnectorsClient contains the methods for the AccountConnectors group. Don't use this type directly, use NewAccountConnectorsClient() instead.
func NewAccountConnectorsClient ¶
func NewAccountConnectorsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*AccountConnectorsClient, error)
NewAccountConnectorsClient creates a new instance of AccountConnectorsClient with the specified values.
- subscriptionID - Azure subscription ID
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*AccountConnectorsClient) CreateOrUpdate ¶
func (client *AccountConnectorsClient) CreateOrUpdate(ctx context.Context, connectorName string, connectorSetting ConnectorSetting, options *AccountConnectorsClientCreateOrUpdateOptions) (AccountConnectorsClientCreateOrUpdateResponse, error)
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. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2020-01-01-preview
- connectorName - Name of the cloud account connector
- connectorSetting - Settings for the cloud account connector
- options - AccountConnectorsClientCreateOrUpdateOptions contains the optional parameters for the AccountConnectorsClient.CreateOrUpdate method.
Example (AwsAssumeRoleCreateACloudAccountConnectorForASubscription) ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/Connectors/CreateUpdateAwsAssumeRoleConnectorSubscription_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewAccountConnectorsClient().CreateOrUpdate(ctx, "aws_dev2", armsecurity.ConnectorSetting{
Properties: &armsecurity.ConnectorSettingProperties{
AuthenticationDetails: &armsecurity.AwAssumeRoleAuthenticationDetailsProperties{
AuthenticationType: to.Ptr(armsecurity.AuthenticationTypeAwsAssumeRole),
AwsAssumeRoleArn: to.Ptr("arn:aws:iam::81231569658:role/AscConnector"),
AwsExternalID: to.Ptr("20ff7fc3-e762-44dd-bd96-b71116dcdc23"),
},
HybridComputeSettings: &armsecurity.HybridComputeSettingsProperties{
AutoProvision: to.Ptr(armsecurity.AutoProvisionOn),
ProxyServer: &armsecurity.ProxyServerProperties{
IP: to.Ptr("167.220.197.140"),
Port: to.Ptr("34"),
},
Region: to.Ptr("West US 2"),
ResourceGroupName: to.Ptr("AwsConnectorRG"),
ServicePrincipal: &armsecurity.ServicePrincipalProperties{
ApplicationID: to.Ptr("ad9bcd79-be9c-45ab-abd8-80ca1654a7d1"),
Secret: to.Ptr("<secret>"),
},
},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ConnectorSetting = armsecurity.ConnectorSetting{
// Name: to.Ptr("aws_dev2"),
// Type: to.Ptr("Microsoft.Security/connectors"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/connectors/aws_dev2"),
// Properties: &armsecurity.ConnectorSettingProperties{
// AuthenticationDetails: &armsecurity.AwAssumeRoleAuthenticationDetailsProperties{
// AuthenticationProvisioningState: to.Ptr(armsecurity.AuthenticationProvisioningStateValid),
// AuthenticationType: to.Ptr(armsecurity.AuthenticationTypeAwsAssumeRole),
// GrantedPermissions: []*armsecurity.PermissionProperty{
// to.Ptr(armsecurity.PermissionPropertyAWSAWSSecurityHubReadOnlyAccess),
// to.Ptr(armsecurity.PermissionPropertyAWSSecurityAudit),
// to.Ptr(armsecurity.PermissionPropertyAWSAmazonSSMAutomationRole)},
// AccountID: to.Ptr("81231569658"),
// AwsAssumeRoleArn: to.Ptr("arn:aws:iam::81231569658:role/AscConnector"),
// AwsExternalID: to.Ptr("20ff7fc3-e762-44dd-bd96-b71116dcdc23"),
// },
// HybridComputeSettings: &armsecurity.HybridComputeSettingsProperties{
// AutoProvision: to.Ptr(armsecurity.AutoProvisionOn),
// HybridComputeProvisioningState: to.Ptr(armsecurity.HybridComputeProvisioningStateValid),
// ProxyServer: &armsecurity.ProxyServerProperties{
// IP: to.Ptr("167.220.197.140"),
// Port: to.Ptr("34"),
// },
// Region: to.Ptr("West US 2"),
// ResourceGroupName: to.Ptr("AwsConnectorRG"),
// ServicePrincipal: &armsecurity.ServicePrincipalProperties{
// ApplicationID: to.Ptr("ad9bcd79-be9c-45ab-abd8-80ca1654a7d1"),
// },
// },
// },
// }
}
Example (AwsCredCreateACloudAccountConnectorForASubscription) ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/Connectors/CreateUpdateAwsCredConnectorSubscription_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewAccountConnectorsClient().CreateOrUpdate(ctx, "aws_dev1", armsecurity.ConnectorSetting{
Properties: &armsecurity.ConnectorSettingProperties{
AuthenticationDetails: &armsecurity.AwsCredsAuthenticationDetailsProperties{
AuthenticationType: to.Ptr(armsecurity.AuthenticationTypeAwsCreds),
AwsAccessKeyID: to.Ptr("<awsAccessKeyId>"),
AwsSecretAccessKey: to.Ptr("<awsSecretAccessKey>"),
},
HybridComputeSettings: &armsecurity.HybridComputeSettingsProperties{
AutoProvision: to.Ptr(armsecurity.AutoProvisionOn),
ProxyServer: &armsecurity.ProxyServerProperties{
IP: to.Ptr("167.220.197.140"),
Port: to.Ptr("34"),
},
Region: to.Ptr("West US 2"),
ResourceGroupName: to.Ptr("AwsConnectorRG"),
ServicePrincipal: &armsecurity.ServicePrincipalProperties{
ApplicationID: to.Ptr("ad9bcd79-be9c-45ab-abd8-80ca1654a7d1"),
Secret: to.Ptr("<secret>"),
},
},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ConnectorSetting = armsecurity.ConnectorSetting{
// Name: to.Ptr("aws_dev1"),
// Type: to.Ptr("Microsoft.Security/connectors"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/connectors/aws_dev1"),
// Properties: &armsecurity.ConnectorSettingProperties{
// AuthenticationDetails: &armsecurity.AwsCredsAuthenticationDetailsProperties{
// AuthenticationProvisioningState: to.Ptr(armsecurity.AuthenticationProvisioningStateValid),
// AuthenticationType: to.Ptr(armsecurity.AuthenticationTypeAwsCreds),
// GrantedPermissions: []*armsecurity.PermissionProperty{
// to.Ptr(armsecurity.PermissionPropertyAWSAWSSecurityHubReadOnlyAccess),
// to.Ptr(armsecurity.PermissionPropertyAWSSecurityAudit),
// to.Ptr(armsecurity.PermissionPropertyAWSAmazonSSMAutomationRole)},
// AccountID: to.Ptr("922315681122"),
// AwsAccessKeyID: to.Ptr(""),
// AwsSecretAccessKey: to.Ptr(""),
// },
// HybridComputeSettings: &armsecurity.HybridComputeSettingsProperties{
// AutoProvision: to.Ptr(armsecurity.AutoProvisionOn),
// HybridComputeProvisioningState: to.Ptr(armsecurity.HybridComputeProvisioningStateValid),
// ProxyServer: &armsecurity.ProxyServerProperties{
// IP: to.Ptr("287.221.107.152"),
// Port: to.Ptr("34"),
// },
// Region: to.Ptr("West US 2"),
// ResourceGroupName: to.Ptr("AwsConnectorRG"),
// ServicePrincipal: &armsecurity.ServicePrincipalProperties{
// ApplicationID: to.Ptr("ad9bcd79-be9c-45ab-abd8-80ca1654a7d1"),
// },
// },
// },
// }
}
Example (GcpCredentialsCreateACloudAccountConnectorForASubscription) ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/Connectors/CreateUpdateGcpCredentialsConnectorSubscription_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewAccountConnectorsClient().CreateOrUpdate(ctx, "gcp_dev", armsecurity.ConnectorSetting{
Properties: &armsecurity.ConnectorSettingProperties{
AuthenticationDetails: &armsecurity.GcpCredentialsDetailsProperties{
AuthenticationType: to.Ptr(armsecurity.AuthenticationTypeGcpCredentials),
Type: to.Ptr("service_account"),
AuthProviderX509CertURL: to.Ptr("https://www.googleapis.com/oauth2/v1/certs"),
AuthURI: to.Ptr("https://accounts.google.com/o/oauth2/auth"),
ClientEmail: to.Ptr("asc-135@asc-project-1234.iam.gserviceaccount.com"),
ClientID: to.Ptr("105889053725632919854"),
ClientX509CertURL: to.Ptr("https://www.googleapis.com/robot/v1/metadata/x509/asc-135%40asc-project-1234.iam.gserviceaccount.com"),
OrganizationID: to.Ptr("AscDemoOrg"),
PrivateKey: to.Ptr("******"),
PrivateKeyID: to.Ptr("6efg587hra2568as34d22326b044cc20dc2af"),
ProjectID: to.Ptr("asc-project-1234"),
TokenURI: to.Ptr("https://oauth2.googleapis.com/token"),
},
HybridComputeSettings: &armsecurity.HybridComputeSettingsProperties{
AutoProvision: to.Ptr(armsecurity.AutoProvisionOff),
},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ConnectorSetting = armsecurity.ConnectorSetting{
// Name: to.Ptr("gcp_dev"),
// Type: to.Ptr("Microsoft.Security/connectors"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/connectors/gcp_dev"),
// Properties: &armsecurity.ConnectorSettingProperties{
// AuthenticationDetails: &armsecurity.GcpCredentialsDetailsProperties{
// AuthenticationProvisioningState: to.Ptr(armsecurity.AuthenticationProvisioningStateValid),
// AuthenticationType: to.Ptr(armsecurity.AuthenticationTypeGcpCredentials),
// GrantedPermissions: []*armsecurity.PermissionProperty{
// to.Ptr(armsecurity.PermissionPropertyGCPSecurityCenterAdminViewer)},
// Type: to.Ptr(""),
// AuthProviderX509CertURL: to.Ptr(""),
// AuthURI: to.Ptr(""),
// ClientEmail: to.Ptr(""),
// ClientID: to.Ptr(""),
// ClientX509CertURL: to.Ptr(""),
// OrganizationID: to.Ptr("AscDemoOrg"),
// PrivateKey: to.Ptr(""),
// PrivateKeyID: to.Ptr(""),
// ProjectID: to.Ptr(""),
// TokenURI: to.Ptr(""),
// },
// HybridComputeSettings: &armsecurity.HybridComputeSettingsProperties{
// AutoProvision: to.Ptr(armsecurity.AutoProvisionOff),
// HybridComputeProvisioningState: to.Ptr(armsecurity.HybridComputeProvisioningStateInvalid),
// Region: to.Ptr(""),
// ResourceGroupName: to.Ptr(""),
// },
// },
// }
}
func (*AccountConnectorsClient) Delete ¶
func (client *AccountConnectorsClient) Delete(ctx context.Context, connectorName string, options *AccountConnectorsClientDeleteOptions) (AccountConnectorsClientDeleteResponse, error)
Delete - Delete a cloud account connector from a subscription If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2020-01-01-preview
- connectorName - Name of the cloud account connector
- options - AccountConnectorsClientDeleteOptions contains the optional parameters for the AccountConnectorsClient.Delete method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/Connectors/DeleteConnectorSubscription_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewAccountConnectorsClient().Delete(ctx, "aws_dev1", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
}
func (*AccountConnectorsClient) Get ¶
func (client *AccountConnectorsClient) Get(ctx context.Context, connectorName string, options *AccountConnectorsClientGetOptions) (AccountConnectorsClientGetResponse, error)
Get - Details of a specific cloud account connector If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2020-01-01-preview
- connectorName - Name of the cloud account connector
- options - AccountConnectorsClientGetOptions contains the optional parameters for the AccountConnectorsClient.Get method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/Connectors/GetConnectorSubscription_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewAccountConnectorsClient().Get(ctx, "aws_dev1", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ConnectorSetting = armsecurity.ConnectorSetting{
// Name: to.Ptr("aws_dev1"),
// Type: to.Ptr("Microsoft.Security/connectors"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/connectors/aws_dev1"),
// Properties: &armsecurity.ConnectorSettingProperties{
// AuthenticationDetails: &armsecurity.AwsCredsAuthenticationDetailsProperties{
// AuthenticationProvisioningState: to.Ptr(armsecurity.AuthenticationProvisioningStateValid),
// AuthenticationType: to.Ptr(armsecurity.AuthenticationTypeAwsCreds),
// GrantedPermissions: []*armsecurity.PermissionProperty{
// to.Ptr(armsecurity.PermissionPropertyAWSAWSSecurityHubReadOnlyAccess),
// to.Ptr(armsecurity.PermissionPropertyAWSSecurityAudit),
// to.Ptr(armsecurity.PermissionPropertyAWSAmazonSSMAutomationRole)},
// AccountID: to.Ptr("922315681122"),
// AwsAccessKeyID: to.Ptr(""),
// AwsSecretAccessKey: to.Ptr(""),
// },
// HybridComputeSettings: &armsecurity.HybridComputeSettingsProperties{
// AutoProvision: to.Ptr(armsecurity.AutoProvisionOn),
// HybridComputeProvisioningState: to.Ptr(armsecurity.HybridComputeProvisioningStateValid),
// ProxyServer: &armsecurity.ProxyServerProperties{
// IP: to.Ptr("287.221.107.152"),
// Port: to.Ptr("34"),
// },
// Region: to.Ptr("West US 2"),
// ResourceGroupName: to.Ptr("AwsConnectorRG"),
// ServicePrincipal: &armsecurity.ServicePrincipalProperties{
// ApplicationID: to.Ptr("ad9bcd79-be9c-45ab-abd8-80ca1654a7d1"),
// },
// },
// },
// }
}
func (*AccountConnectorsClient) NewListPager ¶
func (client *AccountConnectorsClient) NewListPager(options *AccountConnectorsClientListOptions) *runtime.Pager[AccountConnectorsClientListResponse]
NewListPager - Cloud accounts connectors of a subscription
Generated from API version 2020-01-01-preview
- options - AccountConnectorsClientListOptions contains the optional parameters for the AccountConnectorsClient.NewListPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/Connectors/GetListConnectorSubscription_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewAccountConnectorsClient().NewListPager(nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.ConnectorSettingList = armsecurity.ConnectorSettingList{
// Value: []*armsecurity.ConnectorSetting{
// {
// Name: to.Ptr("aws_dev1"),
// Type: to.Ptr("Microsoft.Security/connectors"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/connectors/aws_dev1"),
// Properties: &armsecurity.ConnectorSettingProperties{
// AuthenticationDetails: &armsecurity.AwsCredsAuthenticationDetailsProperties{
// AuthenticationProvisioningState: to.Ptr(armsecurity.AuthenticationProvisioningStateValid),
// AuthenticationType: to.Ptr(armsecurity.AuthenticationTypeAwsCreds),
// GrantedPermissions: []*armsecurity.PermissionProperty{
// to.Ptr(armsecurity.PermissionPropertyAWSAWSSecurityHubReadOnlyAccess),
// to.Ptr(armsecurity.PermissionPropertyAWSSecurityAudit),
// to.Ptr(armsecurity.PermissionPropertyAWSAmazonSSMAutomationRole)},
// AccountID: to.Ptr("922315681122"),
// AwsAccessKeyID: to.Ptr(""),
// AwsSecretAccessKey: to.Ptr(""),
// },
// HybridComputeSettings: &armsecurity.HybridComputeSettingsProperties{
// AutoProvision: to.Ptr(armsecurity.AutoProvisionOn),
// HybridComputeProvisioningState: to.Ptr(armsecurity.HybridComputeProvisioningStateValid),
// ProxyServer: &armsecurity.ProxyServerProperties{
// IP: to.Ptr("287.221.107.152"),
// Port: to.Ptr("34"),
// },
// Region: to.Ptr("West US 2"),
// ResourceGroupName: to.Ptr("AwsConnectorRG"),
// ServicePrincipal: &armsecurity.ServicePrincipalProperties{
// ApplicationID: to.Ptr("ad9bcd79-be9c-45ab-abd8-80ca1654a7d1"),
// },
// },
// },
// },
// {
// Name: to.Ptr("aws_dev2"),
// Type: to.Ptr("Microsoft.Security/connectors"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/connectors/aws_dev2"),
// Properties: &armsecurity.ConnectorSettingProperties{
// AuthenticationDetails: &armsecurity.AwAssumeRoleAuthenticationDetailsProperties{
// AuthenticationProvisioningState: to.Ptr(armsecurity.AuthenticationProvisioningStateValid),
// AuthenticationType: to.Ptr(armsecurity.AuthenticationTypeAwsAssumeRole),
// GrantedPermissions: []*armsecurity.PermissionProperty{
// to.Ptr(armsecurity.PermissionPropertyAWSAWSSecurityHubReadOnlyAccess),
// to.Ptr(armsecurity.PermissionPropertyAWSSecurityAudit),
// to.Ptr(armsecurity.PermissionPropertyAWSAmazonSSMAutomationRole)},
// AccountID: to.Ptr("81231569658"),
// AwsAssumeRoleArn: to.Ptr("arn:aws:iam::81231569658:role/AscConnector"),
// AwsExternalID: to.Ptr("20ff7fc3-e762-44dd-bd96-b71116dcdc23"),
// },
// HybridComputeSettings: &armsecurity.HybridComputeSettingsProperties{
// AutoProvision: to.Ptr(armsecurity.AutoProvisionOn),
// HybridComputeProvisioningState: to.Ptr(armsecurity.HybridComputeProvisioningStateValid),
// ProxyServer: &armsecurity.ProxyServerProperties{
// IP: to.Ptr("167.210.187.160"),
// Port: to.Ptr("34"),
// },
// Region: to.Ptr("West US 2"),
// ResourceGroupName: to.Ptr("AwsConnectorRG"),
// ServicePrincipal: &armsecurity.ServicePrincipalProperties{
// ApplicationID: to.Ptr("ad9bcd79-be9c-45ab-abd8-80ca1654a7d1"),
// },
// },
// },
// },
// {
// Name: to.Ptr("gcp_dev"),
// Type: to.Ptr("Microsoft.Security/connectors"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/connectors/gcp_dev"),
// Properties: &armsecurity.ConnectorSettingProperties{
// AuthenticationDetails: &armsecurity.GcpCredentialsDetailsProperties{
// AuthenticationProvisioningState: to.Ptr(armsecurity.AuthenticationProvisioningStateValid),
// AuthenticationType: to.Ptr(armsecurity.AuthenticationTypeGcpCredentials),
// GrantedPermissions: []*armsecurity.PermissionProperty{
// to.Ptr(armsecurity.PermissionPropertyGCPSecurityCenterAdminViewer)},
// Type: to.Ptr(""),
// AuthProviderX509CertURL: to.Ptr(""),
// AuthURI: to.Ptr(""),
// ClientEmail: to.Ptr(""),
// ClientID: to.Ptr(""),
// ClientX509CertURL: to.Ptr(""),
// OrganizationID: to.Ptr("AscDemoOrg"),
// PrivateKey: to.Ptr(""),
// PrivateKeyID: to.Ptr(""),
// ProjectID: to.Ptr(""),
// TokenURI: to.Ptr(""),
// },
// HybridComputeSettings: &armsecurity.HybridComputeSettingsProperties{
// AutoProvision: to.Ptr(armsecurity.AutoProvisionOff),
// HybridComputeProvisioningState: to.Ptr(armsecurity.HybridComputeProvisioningStateInvalid),
// Region: to.Ptr(""),
// ResourceGroupName: to.Ptr(""),
// },
// },
// }},
// }
}
}
type AccountConnectorsClientCreateOrUpdateOptions ¶
type AccountConnectorsClientCreateOrUpdateOptions struct {
}
AccountConnectorsClientCreateOrUpdateOptions contains the optional parameters for the AccountConnectorsClient.CreateOrUpdate method.
type AccountConnectorsClientCreateOrUpdateResponse ¶
type AccountConnectorsClientCreateOrUpdateResponse struct {
// The connector setting
ConnectorSetting
}
AccountConnectorsClientCreateOrUpdateResponse contains the response from method AccountConnectorsClient.CreateOrUpdate.
type AccountConnectorsClientDeleteOptions ¶
type AccountConnectorsClientDeleteOptions struct {
}
AccountConnectorsClientDeleteOptions contains the optional parameters for the AccountConnectorsClient.Delete method.
type AccountConnectorsClientDeleteResponse ¶
type AccountConnectorsClientDeleteResponse struct {
}
AccountConnectorsClientDeleteResponse contains the response from method AccountConnectorsClient.Delete.
type AccountConnectorsClientGetOptions ¶
type AccountConnectorsClientGetOptions struct {
}
AccountConnectorsClientGetOptions contains the optional parameters for the AccountConnectorsClient.Get method.
type AccountConnectorsClientGetResponse ¶
type AccountConnectorsClientGetResponse struct {
// The connector setting
ConnectorSetting
}
AccountConnectorsClientGetResponse contains the response from method AccountConnectorsClient.Get.
type AccountConnectorsClientListOptions ¶
type AccountConnectorsClientListOptions struct {
}
AccountConnectorsClientListOptions contains the optional parameters for the AccountConnectorsClient.NewListPager method.
type AccountConnectorsClientListResponse ¶
type AccountConnectorsClientListResponse struct {
// For a subscription, list of all cloud account connectors and their settings
ConnectorSettingList
}
AccountConnectorsClientListResponse contains the response from method AccountConnectorsClient.NewListPager.
type ActionType ¶
type ActionType string
ActionType - The type of the action that will be triggered by the Automation
const ( ActionTypeEventHub ActionType = "EventHub" ActionTypeLogicApp ActionType = "LogicApp" ActionTypeWorkspace ActionType = "Workspace" )
func PossibleActionTypeValues ¶
func PossibleActionTypeValues() []ActionType
PossibleActionTypeValues returns the possible values for the ActionType const type.
type ActionableRemediation ¶
type ActionableRemediation struct {
// Repository branch configuration for PR Annotations.
BranchConfiguration *TargetBranchConfiguration
// Gets or sets list of categories and severity levels.
CategoryConfigurations []*CategoryConfiguration
// Update Settings.
// Enabled - Resource should inherit configurations from parent. Disabled - Resource should not inherit configurations from
// parent.
InheritFromParentState *InheritFromParentState
// ActionableRemediation Setting. None - the setting was never set. Enabled - ActionableRemediation is enabled. Disabled -
// ActionableRemediation is disabled.
State *ActionableRemediationState
}
ActionableRemediation - Configuration payload for PR Annotations.
func (ActionableRemediation) MarshalJSON ¶
func (a ActionableRemediation) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ActionableRemediation.
func (*ActionableRemediation) UnmarshalJSON ¶
func (a *ActionableRemediation) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ActionableRemediation.
type ActionableRemediationState ¶
type ActionableRemediationState string
ActionableRemediationState - ActionableRemediation Setting. None - the setting was never set. Enabled - ActionableRemediation is enabled. Disabled - ActionableRemediation is disabled.
const ( ActionableRemediationStateDisabled ActionableRemediationState = "Disabled" ActionableRemediationStateEnabled ActionableRemediationState = "Enabled" ActionableRemediationStateNone ActionableRemediationState = "None" )
func PossibleActionableRemediationStateValues ¶
func PossibleActionableRemediationStateValues() []ActionableRemediationState
PossibleActionableRemediationStateValues returns the possible values for the ActionableRemediationState const type.
type ActiveConnectionsNotInAllowedRange ¶
type ActiveConnectionsNotInAllowedRange struct {
// REQUIRED; Status of the custom alert.
IsEnabled *bool
// REQUIRED; The maximum threshold.
MaxThreshold *int32
// REQUIRED; The minimum threshold.
MinThreshold *int32
// REQUIRED; The type of the custom alert rule.
RuleType *string
// REQUIRED; The time window size in iso8601 format.
TimeWindowSize *string
// READ-ONLY; The description of the custom alert.
Description *string
// READ-ONLY; The display name of the custom alert.
DisplayName *string
}
ActiveConnectionsNotInAllowedRange - Number of active connections is not in allowed range.
func (*ActiveConnectionsNotInAllowedRange) GetCustomAlertRule ¶
func (a *ActiveConnectionsNotInAllowedRange) GetCustomAlertRule() *CustomAlertRule
GetCustomAlertRule implements the CustomAlertRuleClassification interface for type ActiveConnectionsNotInAllowedRange.
func (*ActiveConnectionsNotInAllowedRange) GetThresholdCustomAlertRule ¶
func (a *ActiveConnectionsNotInAllowedRange) GetThresholdCustomAlertRule() *ThresholdCustomAlertRule
GetThresholdCustomAlertRule implements the ThresholdCustomAlertRuleClassification interface for type ActiveConnectionsNotInAllowedRange.
func (*ActiveConnectionsNotInAllowedRange) GetTimeWindowCustomAlertRule ¶
func (a *ActiveConnectionsNotInAllowedRange) GetTimeWindowCustomAlertRule() *TimeWindowCustomAlertRule
GetTimeWindowCustomAlertRule implements the TimeWindowCustomAlertRuleClassification interface for type ActiveConnectionsNotInAllowedRange.
func (ActiveConnectionsNotInAllowedRange) MarshalJSON ¶
func (a ActiveConnectionsNotInAllowedRange) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ActiveConnectionsNotInAllowedRange.
func (*ActiveConnectionsNotInAllowedRange) UnmarshalJSON ¶
func (a *ActiveConnectionsNotInAllowedRange) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ActiveConnectionsNotInAllowedRange.
type AdaptiveApplicationControlGroup ¶
type AdaptiveApplicationControlGroup struct {
// REQUIRED; Represents a machines group and set of rules to be allowed running on a machine
Properties *AdaptiveApplicationControlGroupData
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Location where the resource is stored
Location *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Resource type
Type *string
}
func (AdaptiveApplicationControlGroup) MarshalJSON ¶
func (a AdaptiveApplicationControlGroup) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AdaptiveApplicationControlGroup.
func (*AdaptiveApplicationControlGroup) UnmarshalJSON ¶
func (a *AdaptiveApplicationControlGroup) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AdaptiveApplicationControlGroup.
type AdaptiveApplicationControlGroupData ¶
type AdaptiveApplicationControlGroupData struct {
// The application control policy enforcement/protection mode of the machine group
EnforcementMode *EnforcementMode
PathRecommendations []*PathRecommendation
// The protection mode of the collection/file types. Exe/Msi/Script are used for Windows, Executable is used for Linux.
ProtectionMode *ProtectionMode
VMRecommendations []*VMRecommendation
// READ-ONLY; The configuration status of the machines group or machine or rule
ConfigurationStatus *ConfigurationStatus
// READ-ONLY
Issues []*AdaptiveApplicationControlIssueSummary
// READ-ONLY; The initial recommendation status of the machine group or machine
RecommendationStatus *RecommendationStatus
// READ-ONLY; The source type of the machine group
SourceSystem *SourceSystem
}
AdaptiveApplicationControlGroupData - Represents a machines group and set of rules to be allowed running on a machine
func (AdaptiveApplicationControlGroupData) MarshalJSON ¶
func (a AdaptiveApplicationControlGroupData) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AdaptiveApplicationControlGroupData.
func (*AdaptiveApplicationControlGroupData) UnmarshalJSON ¶
func (a *AdaptiveApplicationControlGroupData) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AdaptiveApplicationControlGroupData.
type AdaptiveApplicationControlGroups ¶
type AdaptiveApplicationControlGroups struct {
Value []*AdaptiveApplicationControlGroup
}
AdaptiveApplicationControlGroups - Represents a list of VM/server groups and set of rules that are Recommended by Microsoft Defender for Cloud to be allowed
func (AdaptiveApplicationControlGroups) MarshalJSON ¶
func (a AdaptiveApplicationControlGroups) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AdaptiveApplicationControlGroups.
func (*AdaptiveApplicationControlGroups) UnmarshalJSON ¶
func (a *AdaptiveApplicationControlGroups) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AdaptiveApplicationControlGroups.
type AdaptiveApplicationControlIssue ¶
type AdaptiveApplicationControlIssue string
AdaptiveApplicationControlIssue - An alert that machines within a group can have
const ( AdaptiveApplicationControlIssueExecutableViolationsAudited AdaptiveApplicationControlIssue = "ExecutableViolationsAudited" AdaptiveApplicationControlIssueMsiAndScriptViolationsAudited AdaptiveApplicationControlIssue = "MsiAndScriptViolationsAudited" AdaptiveApplicationControlIssueMsiAndScriptViolationsBlocked AdaptiveApplicationControlIssue = "MsiAndScriptViolationsBlocked" AdaptiveApplicationControlIssueRulesViolatedManually AdaptiveApplicationControlIssue = "RulesViolatedManually" AdaptiveApplicationControlIssueViolationsAudited AdaptiveApplicationControlIssue = "ViolationsAudited" AdaptiveApplicationControlIssueViolationsBlocked AdaptiveApplicationControlIssue = "ViolationsBlocked" )
func PossibleAdaptiveApplicationControlIssueValues ¶
func PossibleAdaptiveApplicationControlIssueValues() []AdaptiveApplicationControlIssue
PossibleAdaptiveApplicationControlIssueValues returns the possible values for the AdaptiveApplicationControlIssue const type.
type AdaptiveApplicationControlIssueSummary ¶
type AdaptiveApplicationControlIssueSummary struct {
// An alert that machines within a group can have
Issue *AdaptiveApplicationControlIssue
// The number of machines in the group that have this alert
NumberOfVMs *float32
}
AdaptiveApplicationControlIssueSummary - Represents a summary of the alerts of the machine group
func (AdaptiveApplicationControlIssueSummary) MarshalJSON ¶
func (a AdaptiveApplicationControlIssueSummary) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AdaptiveApplicationControlIssueSummary.
func (*AdaptiveApplicationControlIssueSummary) UnmarshalJSON ¶
func (a *AdaptiveApplicationControlIssueSummary) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AdaptiveApplicationControlIssueSummary.
type AdaptiveApplicationControlsClient ¶
type AdaptiveApplicationControlsClient struct {
// contains filtered or unexported fields
}
AdaptiveApplicationControlsClient contains the methods for the AdaptiveApplicationControls group. Don't use this type directly, use NewAdaptiveApplicationControlsClient() instead.
func NewAdaptiveApplicationControlsClient ¶
func NewAdaptiveApplicationControlsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*AdaptiveApplicationControlsClient, error)
NewAdaptiveApplicationControlsClient creates a new instance of AdaptiveApplicationControlsClient with the specified values.
- subscriptionID - Azure subscription ID
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*AdaptiveApplicationControlsClient) Delete ¶
func (client *AdaptiveApplicationControlsClient) Delete(ctx context.Context, ascLocation string, groupName string, options *AdaptiveApplicationControlsClientDeleteOptions) (AdaptiveApplicationControlsClientDeleteResponse, error)
Delete - Delete an application control machine group If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2020-01-01
- ascLocation - The location where ASC stores the data of the subscription. can be retrieved from Get locations
- groupName - Name of an application control machine group
- options - AdaptiveApplicationControlsClientDeleteOptions contains the optional parameters for the AdaptiveApplicationControlsClient.Delete method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ApplicationWhitelistings/DeleteAdaptiveApplicationControls_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewAdaptiveApplicationControlsClient().Delete(ctx, "centralus", "GROUP1", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
}
func (*AdaptiveApplicationControlsClient) Get ¶
func (client *AdaptiveApplicationControlsClient) Get(ctx context.Context, ascLocation string, groupName string, options *AdaptiveApplicationControlsClientGetOptions) (AdaptiveApplicationControlsClientGetResponse, error)
Get - Gets an application control VM/server group. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2020-01-01
- ascLocation - The location where ASC stores the data of the subscription. can be retrieved from Get locations
- groupName - Name of an application control machine group
- options - AdaptiveApplicationControlsClientGetOptions contains the optional parameters for the AdaptiveApplicationControlsClient.Get method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ApplicationWhitelistings/GetAdaptiveApplicationControlsGroup_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewAdaptiveApplicationControlsClient().Get(ctx, "centralus", "ERELGROUP1", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.AdaptiveApplicationControlGroup = armsecurity.AdaptiveApplicationControlGroup{
// Location: to.Ptr("centralus"),
// Name: to.Ptr("ERELGROUP1"),
// Type: to.Ptr("Microsoft.Security/applicationWhitelistings"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/locations/centralus/applicationWhitelistings/ERELGROUP1"),
// Properties: &armsecurity.AdaptiveApplicationControlGroupData{
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// EnforcementMode: to.Ptr(armsecurity.EnforcementModeAudit),
// Issues: []*armsecurity.AdaptiveApplicationControlIssueSummary{
// },
// PathRecommendations: []*armsecurity.PathRecommendation{
// {
// Type: to.Ptr(armsecurity.RecommendationType("PublisherSignature")),
// Path: to.Ptr("[Exe] O=MICROSOFT CORPORATION, L=REDMOND, S=WASHINGTON, C=US\\*\\*\\0.0.0.0"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExe),
// PublisherInfo: &armsecurity.PublisherInfo{
// BinaryName: to.Ptr("*"),
// ProductName: to.Ptr("*"),
// PublisherName: to.Ptr("O=MICROSOFT CORPORATION, L=REDMOND, S=WASHINGTON, C=US"),
// Version: to.Ptr("0.0.0.0"),
// },
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("Everyone"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("ProductSignature")),
// Path: to.Ptr("%OSDRIVE%\\WINDOWSAZURE\\SECAGENT\\WASECAGENTPROV.EXE"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExe),
// PublisherInfo: &armsecurity.PublisherInfo{
// BinaryName: to.Ptr("*"),
// ProductName: to.Ptr("MICROSOFT® COREXT"),
// PublisherName: to.Ptr("CN=MICROSOFT AZURE DEPENDENCY CODE SIGN"),
// Version: to.Ptr("0.0.0.0"),
// },
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("NT AUTHORITY\\SYSTEM"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("PublisherSignature")),
// Path: to.Ptr("%OSDRIVE%\\WINDOWSAZURE\\PACKAGES_201973_7415\\COLLECTGUESTLOGS.EXE"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExe),
// PublisherInfo: &armsecurity.PublisherInfo{
// BinaryName: to.Ptr("*"),
// ProductName: to.Ptr("*"),
// PublisherName: to.Ptr("CN=MICROSOFT AZURE DEPENDENCY CODE SIGN"),
// Version: to.Ptr("0.0.0.0"),
// },
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("NT AUTHORITY\\SYSTEM"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("C:\\directory\\file.exe"),
// Action: to.Ptr(armsecurity.RecommendationActionAdd),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExe),
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("Everyone"),
// }},
// }},
// ProtectionMode: &armsecurity.ProtectionMode{
// Exe: to.Ptr(armsecurity.EnforcementModeAudit),
// Msi: to.Ptr(armsecurity.EnforcementModeAudit),
// Script: to.Ptr(armsecurity.EnforcementModeNone),
// },
// RecommendationStatus: to.Ptr(armsecurity.RecommendationStatusRecommended),
// SourceSystem: to.Ptr(armsecurity.SourceSystemAzureAppLocker),
// VMRecommendations: []*armsecurity.VMRecommendation{
// {
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// EnforcementSupport: to.Ptr(armsecurity.EnforcementSupportSupported),
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// ResourceID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/erelh-stable/providers/microsoft.compute/virtualmachines/erelh-16090"),
// },
// {
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// EnforcementSupport: to.Ptr(armsecurity.EnforcementSupportSupported),
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// ResourceID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/matanvs/providers/microsoft.compute/virtualmachines/matanvs19"),
// }},
// },
// }
}
func (*AdaptiveApplicationControlsClient) List ¶
func (client *AdaptiveApplicationControlsClient) List(ctx context.Context, options *AdaptiveApplicationControlsClientListOptions) (AdaptiveApplicationControlsClientListResponse, error)
List - Gets a list of application control machine groups for the subscription. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2020-01-01
- options - AdaptiveApplicationControlsClientListOptions contains the optional parameters for the AdaptiveApplicationControlsClient.List method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ApplicationWhitelistings/GetAdaptiveApplicationControlsSubscription_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewAdaptiveApplicationControlsClient().List(ctx, &armsecurity.AdaptiveApplicationControlsClientListOptions{IncludePathRecommendations: to.Ptr(true),
Summary: to.Ptr(false),
})
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.AdaptiveApplicationControlGroups = armsecurity.AdaptiveApplicationControlGroups{
// Value: []*armsecurity.AdaptiveApplicationControlGroup{
// {
// Location: to.Ptr("centralus"),
// Name: to.Ptr("AMIT-VA"),
// Type: to.Ptr("Microsoft.Security/applicationWhitelistings"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/locations/centralus/applicationWhitelistings/AMIT-VA"),
// Properties: &armsecurity.AdaptiveApplicationControlGroupData{
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// EnforcementMode: to.Ptr(armsecurity.EnforcementModeAudit),
// Issues: []*armsecurity.AdaptiveApplicationControlIssueSummary{
// },
// PathRecommendations: []*armsecurity.PathRecommendation{
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("C:\\Windows\\SoftwareDistribution\\Download\\Install\\Windows-KB890830-x64-V5.53-delta.exe"),
// Action: to.Ptr(armsecurity.RecommendationActionRemove),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusNoStatus),
// FileType: to.Ptr(armsecurity.FileTypeExe),
// UserSids: []*string{
// to.Ptr("S-1-5-18")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("LOCAL SYSTEM"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("C:\\WindowsAzure\\GuestAgent_2.7.1198.822\\CollectGuestLogs.exe"),
// Action: to.Ptr(armsecurity.RecommendationActionRemove),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusNoStatus),
// FileType: to.Ptr(armsecurity.FileTypeExe),
// UserSids: []*string{
// to.Ptr("S-1-5-18")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("LOCAL SYSTEM"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("PublisherSignature")),
// Path: to.Ptr("C:\\Windows\\System32\\wbem\\WmiPrvSE.exe"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExe),
// PublisherInfo: &armsecurity.PublisherInfo{
// BinaryName: to.Ptr("*"),
// ProductName: to.Ptr("*"),
// PublisherName: to.Ptr("O=MICROSOFT CORPORATION, L=REDMOND, S=WASHINGTON, C=US"),
// Version: to.Ptr("0.0.0.0"),
// },
// UserSids: []*string{
// to.Ptr("S-1-5-18"),
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("Everyone"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("%OSDRIVE%\\WINDOWSAZURE\\SECAGENT\\WASECAGENTPROV.EXE"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExe),
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("Everyone"),
// }},
// }},
// ProtectionMode: &armsecurity.ProtectionMode{
// Exe: to.Ptr(armsecurity.EnforcementModeAudit),
// Msi: to.Ptr(armsecurity.EnforcementModeAudit),
// Script: to.Ptr(armsecurity.EnforcementModeNone),
// },
// RecommendationStatus: to.Ptr(armsecurity.RecommendationStatusRecommended),
// SourceSystem: to.Ptr(armsecurity.SourceSystemAzureAppLocker),
// VMRecommendations: []*armsecurity.VMRecommendation{
// {
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// EnforcementSupport: to.Ptr(armsecurity.EnforcementSupportSupported),
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// ResourceID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/erelh-dsc/providers/microsoft.compute/virtualmachines/erelh-14011"),
// },
// {
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// EnforcementSupport: to.Ptr(armsecurity.EnforcementSupportSupported),
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// ResourceID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/amit-va/providers/microsoft.compute/virtualmachines/ream-test"),
// },
// {
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// EnforcementSupport: to.Ptr(armsecurity.EnforcementSupportSupported),
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// ResourceID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/v-arrikl-scheduledapps/providers/microsoft.compute/virtualmachines/v-arrikl-14060"),
// }},
// },
// },
// {
// Location: to.Ptr("centralus"),
// Name: to.Ptr("ERELGROUP1"),
// Type: to.Ptr("Microsoft.Security/applicationWhitelistings"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/locations/centralus/applicationWhitelistings/ERELGROUP1"),
// Properties: &armsecurity.AdaptiveApplicationControlGroupData{
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// EnforcementMode: to.Ptr(armsecurity.EnforcementModeAudit),
// Issues: []*armsecurity.AdaptiveApplicationControlIssueSummary{
// },
// PathRecommendations: []*armsecurity.PathRecommendation{
// {
// Type: to.Ptr(armsecurity.RecommendationType("PublisherSignature")),
// Path: to.Ptr("[Exe] O=MICROSOFT CORPORATION, L=REDMOND, S=WASHINGTON, C=US\\*\\*\\0.0.0.0"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExe),
// PublisherInfo: &armsecurity.PublisherInfo{
// BinaryName: to.Ptr("*"),
// ProductName: to.Ptr("*"),
// PublisherName: to.Ptr("O=MICROSOFT CORPORATION, L=REDMOND, S=WASHINGTON, C=US"),
// Version: to.Ptr("0.0.0.0"),
// },
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("Everyone"),
// }},
// }},
// ProtectionMode: &armsecurity.ProtectionMode{
// Exe: to.Ptr(armsecurity.EnforcementModeAudit),
// Msi: to.Ptr(armsecurity.EnforcementModeNone),
// Script: to.Ptr(armsecurity.EnforcementModeNone),
// },
// RecommendationStatus: to.Ptr(armsecurity.RecommendationStatusRecommended),
// SourceSystem: to.Ptr(armsecurity.SourceSystemAzureAppLocker),
// VMRecommendations: []*armsecurity.VMRecommendation{
// {
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// EnforcementSupport: to.Ptr(armsecurity.EnforcementSupportNotSupported),
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// ResourceID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/erelh-stable/providers/microsoft.compute/virtualmachines/erelh-16090"),
// }},
// },
// },
// {
// Location: to.Ptr("centralus"),
// Name: to.Ptr("GROUP1"),
// Type: to.Ptr("Microsoft.Security/applicationWhitelistings"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/locations/centralus/applicationWhitelistings/GROUP1"),
// Properties: &armsecurity.AdaptiveApplicationControlGroupData{
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// EnforcementMode: to.Ptr(armsecurity.EnforcementModeAudit),
// Issues: []*armsecurity.AdaptiveApplicationControlIssueSummary{
// },
// PathRecommendations: []*armsecurity.PathRecommendation{
// {
// Type: to.Ptr(armsecurity.RecommendationType("PublisherSignature")),
// Path: to.Ptr("[Exe] O=MICROSOFT CORPORATION, L=REDMOND, S=WASHINGTON, C=US\\*\\*\\0.0.0.0"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExe),
// PublisherInfo: &armsecurity.PublisherInfo{
// BinaryName: to.Ptr("*"),
// ProductName: to.Ptr("*"),
// PublisherName: to.Ptr("O=MICROSOFT CORPORATION, L=REDMOND, S=WASHINGTON, C=US"),
// Version: to.Ptr("0.0.0.0"),
// },
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("Everyone"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("ProductSignature")),
// Path: to.Ptr("%OSDRIVE%\\WINDOWSAZURE\\SECAGENT\\WASECAGENTPROV.EXE"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExe),
// PublisherInfo: &armsecurity.PublisherInfo{
// BinaryName: to.Ptr("*"),
// ProductName: to.Ptr("MICROSOFT® COREXT"),
// PublisherName: to.Ptr("CN=MICROSOFT AZURE DEPENDENCY CODE SIGN"),
// Version: to.Ptr("0.0.0.0"),
// },
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("NT AUTHORITY\\SYSTEM"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("PublisherSignature")),
// Path: to.Ptr("%PROGRAMFILES%\\RAPID7\\INSIGHT AGENT\\COMPONENTS\\INSIGHT_AGENT\\2.6.7.9\\GET_PROXY.EXE"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExe),
// PublisherInfo: &armsecurity.PublisherInfo{
// BinaryName: to.Ptr("*"),
// ProductName: to.Ptr("*"),
// PublisherName: to.Ptr("O=RAPID7 LLC, L=BOSTON, S=MASSACHUSETTS, C=US"),
// Version: to.Ptr("0.0.0.0"),
// },
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("NT AUTHORITY\\SYSTEM"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("ProductSignature")),
// Path: to.Ptr("%PROGRAMFILES%\\GOOGLE\\CHROME\\APPLICATION\\CHROME.EXE"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExe),
// PublisherInfo: &armsecurity.PublisherInfo{
// BinaryName: to.Ptr("*"),
// ProductName: to.Ptr("GOOGLE CHROME"),
// PublisherName: to.Ptr("O=GOOGLE LLC, L=MOUNTAIN VIEW, S=CA, C=US"),
// Version: to.Ptr("0.0.0.0"),
// },
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("NT AUTHORITY\\SYSTEM"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("ProductSignature")),
// Path: to.Ptr("O=GOOGLE INC, L=MOUNTAIN VIEW, S=CALIFORNIA, C=US\\GOOGLE UPDATE\\*\\0.0.0.0"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExe),
// PublisherInfo: &armsecurity.PublisherInfo{
// BinaryName: to.Ptr("*"),
// ProductName: to.Ptr("GOOGLE UPDATE"),
// PublisherName: to.Ptr("O=GOOGLE INC, L=MOUNTAIN VIEW, S=CALIFORNIA, C=US"),
// Version: to.Ptr("0.0.0.0"),
// },
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("NT AUTHORITY\\SYSTEM"),
// }},
// }},
// ProtectionMode: &armsecurity.ProtectionMode{
// Exe: to.Ptr(armsecurity.EnforcementModeAudit),
// Msi: to.Ptr(armsecurity.EnforcementModeNone),
// Script: to.Ptr(armsecurity.EnforcementModeNone),
// },
// RecommendationStatus: to.Ptr(armsecurity.RecommendationStatusRecommended),
// SourceSystem: to.Ptr(armsecurity.SourceSystemAzureAppLocker),
// VMRecommendations: []*armsecurity.VMRecommendation{
// {
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// EnforcementSupport: to.Ptr(armsecurity.EnforcementSupportSupported),
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// ResourceID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/talk-va/providers/microsoft.compute/virtualmachines/tal-win-vm"),
// },
// {
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// EnforcementSupport: to.Ptr(armsecurity.EnforcementSupportSupported),
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// ResourceID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/talk-va/providers/microsoft.compute/virtualmachines/tal-win-vm-jit"),
// },
// {
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// EnforcementSupport: to.Ptr(armsecurity.EnforcementSupportSupported),
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// ResourceID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/myresourcegroup/providers/microsoft.compute/virtualmachines/myvmweb"),
// },
// {
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// EnforcementSupport: to.Ptr(armsecurity.EnforcementSupportSupported),
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// ResourceID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/v-arrikl-scheduledapps/providers/microsoft.compute/virtualmachines/v-arrikl-14061"),
// }},
// },
// },
// {
// Location: to.Ptr("westeurope"),
// Name: to.Ptr("GROUP1"),
// Type: to.Ptr("Microsoft.Security/applicationWhitelistings"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/locations/westeurope/applicationWhitelistings/GROUP1"),
// Properties: &armsecurity.AdaptiveApplicationControlGroupData{
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// EnforcementMode: to.Ptr(armsecurity.EnforcementModeAudit),
// Issues: []*armsecurity.AdaptiveApplicationControlIssueSummary{
// {
// Issue: to.Ptr(armsecurity.AdaptiveApplicationControlIssueExecutableViolationsAudited),
// NumberOfVMs: to.Ptr[float32](1),
// }},
// PathRecommendations: []*armsecurity.PathRecommendation{
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("/sbin/init"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExecutable),
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("root"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("/sbin/upstart-udev-bridge"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExecutable),
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("root"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("/lib/systemd/systemd-udevd"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExecutable),
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("root"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("/sbin/upstart-socket-bridge"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExecutable),
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("root"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("/sbin/dhclient"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExecutable),
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("root"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("/usr/bin/python3.4"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExecutable),
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("root"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("/sbin/upstart-file-bridge"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExecutable),
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("root"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("/bin/dbus-daemon"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExecutable),
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("messagebus"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("/lib/systemd/systemd-logind"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExecutable),
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("root"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("/sbin/getty"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExecutable),
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("root"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("/usr/sbin/atd"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExecutable),
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("root"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("/usr/sbin/cron"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExecutable),
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("root"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("/usr/sbin/acpid"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExecutable),
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("root"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("/usr/sbin/sshd"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExecutable),
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("root"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("/usr/lib/linux-lts-xenial-tools-4.4.0-103/hv_vss_daemon"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExecutable),
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("root"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("/usr/lib/linux-lts-xenial-tools-4.4.0-103/hv_kvp_daemon"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExecutable),
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("root"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("/usr/sbin/nscd"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExecutable),
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("unscd"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("/usr/sbin/ntpd"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExecutable),
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("ntp"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("/opt/microsoft/auoms/bin/auomscollect"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExecutable),
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("root"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("/opt/omi/bin/omiserver"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExecutable),
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("root"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("/opt/omi/bin/omiengine"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExecutable),
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("omi"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("/opt/omi/bin/omiagent"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExecutable),
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("root"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("/usr/sbin/rsyslogd"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExecutable),
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("syslog"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("/usr/bin/python2.7"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExecutable),
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("root"),
// },
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("omsagent"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("/opt/microsoft/omsagent/ruby/bin/ruby"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExecutable),
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("omsagent"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("/opt/microsoft/auoms/bin/auoms"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExecutable),
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("root"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("/usr/local/qualys/cloud-agent/bin/qualys-cloud-agent"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExecutable),
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("root"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("/bin/dash"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExecutable),
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("omsagent"),
// },
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("root"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("/bin/sleep"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExecutable),
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("omsagent"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("/opt/dsc/bin/dsc_host"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(false),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExecutable),
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("omsagent"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("/usr/bin/sudo"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(false),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExecutable),
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("root"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("/bin/bash"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(false),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExecutable),
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("root"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("/usr/bin/apt-get"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(false),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExecutable),
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("root"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("/usr/lib/apt/methods/http"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(false),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExecutable),
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("root"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("/usr/lib/apt/methods/gpgv"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(false),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExecutable),
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("root"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("/usr/lib/apt/methods/copy"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(false),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExecutable),
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("root"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("/usr/bin/pgrep"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExecutable),
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("omsagent"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("/opt/microsoft/omsconfig/bin/omsconsistencyinvoker"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(false),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExecutable),
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("omsagent"),
// }},
// }},
// ProtectionMode: &armsecurity.ProtectionMode{
// Executable: to.Ptr(armsecurity.EnforcementModeAudit),
// },
// RecommendationStatus: to.Ptr(armsecurity.RecommendationStatusRecommended),
// SourceSystem: to.Ptr(armsecurity.SourceSystemAzureAuditD),
// VMRecommendations: []*armsecurity.VMRecommendation{
// {
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// EnforcementSupport: to.Ptr(armsecurity.EnforcementSupportUnknown),
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// ResourceID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/nic-no-pip/providers/microsoft.compute/virtualmachines/nic-no-pip-vm"),
// }},
// },
// }},
// }
}
func (*AdaptiveApplicationControlsClient) Put ¶
func (client *AdaptiveApplicationControlsClient) Put(ctx context.Context, ascLocation string, groupName string, body AdaptiveApplicationControlGroup, options *AdaptiveApplicationControlsClientPutOptions) (AdaptiveApplicationControlsClientPutResponse, error)
Put - Update an application control machine group If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2020-01-01
- ascLocation - The location where ASC stores the data of the subscription. can be retrieved from Get locations
- groupName - Name of an application control machine group
- options - AdaptiveApplicationControlsClientPutOptions contains the optional parameters for the AdaptiveApplicationControlsClient.Put method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ApplicationWhitelistings/PutAdaptiveApplicationControls_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewAdaptiveApplicationControlsClient().Put(ctx, "centralus", "ERELGROUP1", armsecurity.AdaptiveApplicationControlGroup{
Properties: &armsecurity.AdaptiveApplicationControlGroupData{
EnforcementMode: to.Ptr(armsecurity.EnforcementModeAudit),
PathRecommendations: []*armsecurity.PathRecommendation{
{
Type: to.Ptr(armsecurity.RecommendationType("PublisherSignature")),
Path: to.Ptr("[Exe] O=MICROSOFT CORPORATION, L=REDMOND, S=WASHINGTON, C=US\\*\\*\\0.0.0.0"),
Action: to.Ptr(armsecurity.RecommendationActionRecommended),
Common: to.Ptr(true),
ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
FileType: to.Ptr(armsecurity.FileTypeExe),
PublisherInfo: &armsecurity.PublisherInfo{
BinaryName: to.Ptr("*"),
ProductName: to.Ptr("*"),
PublisherName: to.Ptr("O=MICROSOFT CORPORATION, L=REDMOND, S=WASHINGTON, C=US"),
Version: to.Ptr("0.0.0.0"),
},
UserSids: []*string{
to.Ptr("S-1-1-0")},
Usernames: []*armsecurity.UserRecommendation{
{
RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
Username: to.Ptr("Everyone"),
}},
},
{
Type: to.Ptr(armsecurity.RecommendationType("ProductSignature")),
Path: to.Ptr("%OSDRIVE%\\WINDOWSAZURE\\SECAGENT\\WASECAGENTPROV.EXE"),
Action: to.Ptr(armsecurity.RecommendationActionRecommended),
Common: to.Ptr(true),
ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
FileType: to.Ptr(armsecurity.FileTypeExe),
PublisherInfo: &armsecurity.PublisherInfo{
BinaryName: to.Ptr("*"),
ProductName: to.Ptr("MICROSOFT® COREXT"),
PublisherName: to.Ptr("CN=MICROSOFT AZURE DEPENDENCY CODE SIGN"),
Version: to.Ptr("0.0.0.0"),
},
UserSids: []*string{
to.Ptr("S-1-1-0")},
Usernames: []*armsecurity.UserRecommendation{
{
RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
Username: to.Ptr("NT AUTHORITY\\SYSTEM"),
}},
},
{
Type: to.Ptr(armsecurity.RecommendationType("PublisherSignature")),
Path: to.Ptr("%OSDRIVE%\\WINDOWSAZURE\\PACKAGES_201973_7415\\COLLECTGUESTLOGS.EXE"),
Action: to.Ptr(armsecurity.RecommendationActionRecommended),
Common: to.Ptr(true),
ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
FileType: to.Ptr(armsecurity.FileTypeExe),
PublisherInfo: &armsecurity.PublisherInfo{
BinaryName: to.Ptr("*"),
ProductName: to.Ptr("*"),
PublisherName: to.Ptr("CN=MICROSOFT AZURE DEPENDENCY CODE SIGN"),
Version: to.Ptr("0.0.0.0"),
},
UserSids: []*string{
to.Ptr("S-1-1-0")},
Usernames: []*armsecurity.UserRecommendation{
{
RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
Username: to.Ptr("NT AUTHORITY\\SYSTEM"),
}},
},
{
Type: to.Ptr(armsecurity.RecommendationType("File")),
Path: to.Ptr("C:\\directory\\file.exe"),
Action: to.Ptr(armsecurity.RecommendationActionAdd),
Common: to.Ptr(true),
}},
ProtectionMode: &armsecurity.ProtectionMode{
Exe: to.Ptr(armsecurity.EnforcementModeAudit),
Msi: to.Ptr(armsecurity.EnforcementModeNone),
Script: to.Ptr(armsecurity.EnforcementModeNone),
},
VMRecommendations: []*armsecurity.VMRecommendation{
{
ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
EnforcementSupport: to.Ptr(armsecurity.EnforcementSupportSupported),
RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
ResourceID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/erelh-stable/providers/microsoft.compute/virtualmachines/erelh-16090"),
},
{
ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
EnforcementSupport: to.Ptr(armsecurity.EnforcementSupportSupported),
RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
ResourceID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/matanvs/providers/microsoft.compute/virtualmachines/matanvs19"),
}},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.AdaptiveApplicationControlGroup = armsecurity.AdaptiveApplicationControlGroup{
// Location: to.Ptr("centralus"),
// Name: to.Ptr("ERELGROUP1"),
// Type: to.Ptr("Microsoft.Security/applicationWhitelistings"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/locations/centralus/applicationWhitelistings/ERELGROUP1"),
// Properties: &armsecurity.AdaptiveApplicationControlGroupData{
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusInProgress),
// EnforcementMode: to.Ptr(armsecurity.EnforcementModeAudit),
// Issues: []*armsecurity.AdaptiveApplicationControlIssueSummary{
// },
// PathRecommendations: []*armsecurity.PathRecommendation{
// {
// Type: to.Ptr(armsecurity.RecommendationType("PublisherSignature")),
// Path: to.Ptr("[Exe] O=MICROSOFT CORPORATION, L=REDMOND, S=WASHINGTON, C=US\\*\\*\\0.0.0.0"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExe),
// PublisherInfo: &armsecurity.PublisherInfo{
// BinaryName: to.Ptr("*"),
// ProductName: to.Ptr("*"),
// PublisherName: to.Ptr("O=MICROSOFT CORPORATION, L=REDMOND, S=WASHINGTON, C=US"),
// Version: to.Ptr("0.0.0.0"),
// },
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("Everyone"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("ProductSignature")),
// Path: to.Ptr("%OSDRIVE%\\WINDOWSAZURE\\SECAGENT\\WASECAGENTPROV.EXE"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExe),
// PublisherInfo: &armsecurity.PublisherInfo{
// BinaryName: to.Ptr("*"),
// ProductName: to.Ptr("MICROSOFT® COREXT"),
// PublisherName: to.Ptr("CN=MICROSOFT AZURE DEPENDENCY CODE SIGN"),
// Version: to.Ptr("0.0.0.0"),
// },
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("NT AUTHORITY\\SYSTEM"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("PublisherSignature")),
// Path: to.Ptr("%OSDRIVE%\\WINDOWSAZURE\\PACKAGES_201973_7415\\COLLECTGUESTLOGS.EXE"),
// Action: to.Ptr(armsecurity.RecommendationActionRecommended),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExe),
// PublisherInfo: &armsecurity.PublisherInfo{
// BinaryName: to.Ptr("*"),
// ProductName: to.Ptr("*"),
// PublisherName: to.Ptr("CN=MICROSOFT AZURE DEPENDENCY CODE SIGN"),
// Version: to.Ptr("0.0.0.0"),
// },
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("NT AUTHORITY\\SYSTEM"),
// }},
// },
// {
// Type: to.Ptr(armsecurity.RecommendationType("File")),
// Path: to.Ptr("C:\\directory\\file.exe"),
// Action: to.Ptr(armsecurity.RecommendationActionAdd),
// Common: to.Ptr(true),
// ConfigurationStatus: to.Ptr(armsecurity.ConfigurationStatusNotConfigured),
// FileType: to.Ptr(armsecurity.FileTypeExe),
// UserSids: []*string{
// to.Ptr("S-1-1-0")},
// Usernames: []*armsecurity.UserRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// Username: to.Ptr("Everyone"),
// }},
// }},
// ProtectionMode: &armsecurity.ProtectionMode{
// Exe: to.Ptr(armsecurity.EnforcementModeAudit),
// Msi: to.Ptr(armsecurity.EnforcementModeNone),
// Script: to.Ptr(armsecurity.EnforcementModeNone),
// },
// RecommendationStatus: to.Ptr(armsecurity.RecommendationStatusRecommended),
// SourceSystem: to.Ptr(armsecurity.SourceSystemAzureAppLocker),
// VMRecommendations: []*armsecurity.VMRecommendation{
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// ResourceID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/erelh-stable/providers/microsoft.compute/virtualmachines/erelh-16090"),
// },
// {
// RecommendationAction: to.Ptr(armsecurity.RecommendationActionRecommended),
// ResourceID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/matanvs/providers/microsoft.compute/virtualmachines/matanvs19"),
// }},
// },
// }
}
type AdaptiveApplicationControlsClientDeleteOptions ¶
type AdaptiveApplicationControlsClientDeleteOptions struct {
}
AdaptiveApplicationControlsClientDeleteOptions contains the optional parameters for the AdaptiveApplicationControlsClient.Delete method.
type AdaptiveApplicationControlsClientDeleteResponse ¶
type AdaptiveApplicationControlsClientDeleteResponse struct {
}
AdaptiveApplicationControlsClientDeleteResponse contains the response from method AdaptiveApplicationControlsClient.Delete.
type AdaptiveApplicationControlsClientGetOptions ¶
type AdaptiveApplicationControlsClientGetOptions struct {
}
AdaptiveApplicationControlsClientGetOptions contains the optional parameters for the AdaptiveApplicationControlsClient.Get method.
type AdaptiveApplicationControlsClientGetResponse ¶
type AdaptiveApplicationControlsClientGetResponse struct {
AdaptiveApplicationControlGroup
}
AdaptiveApplicationControlsClientGetResponse contains the response from method AdaptiveApplicationControlsClient.Get.
type AdaptiveApplicationControlsClientListOptions ¶
type AdaptiveApplicationControlsClientListOptions struct {
// Include the policy rules
IncludePathRecommendations *bool
// Return output in a summarized form
Summary *bool
}
AdaptiveApplicationControlsClientListOptions contains the optional parameters for the AdaptiveApplicationControlsClient.List method.
type AdaptiveApplicationControlsClientListResponse ¶
type AdaptiveApplicationControlsClientListResponse struct {
// Represents a list of VM/server groups and set of rules that are Recommended by Microsoft Defender for Cloud to be allowed
AdaptiveApplicationControlGroups
}
AdaptiveApplicationControlsClientListResponse contains the response from method AdaptiveApplicationControlsClient.List.
type AdaptiveApplicationControlsClientPutOptions ¶
type AdaptiveApplicationControlsClientPutOptions struct {
}
AdaptiveApplicationControlsClientPutOptions contains the optional parameters for the AdaptiveApplicationControlsClient.Put method.
type AdaptiveApplicationControlsClientPutResponse ¶
type AdaptiveApplicationControlsClientPutResponse struct {
AdaptiveApplicationControlGroup
}
AdaptiveApplicationControlsClientPutResponse contains the response from method AdaptiveApplicationControlsClient.Put.
type AdaptiveNetworkHardening ¶
type AdaptiveNetworkHardening struct {
// Properties of the Adaptive Network Hardening resource
Properties *AdaptiveNetworkHardeningProperties
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Resource type
Type *string
}
AdaptiveNetworkHardening - The resource whose properties describes the Adaptive Network Hardening settings for some Azure resource
func (AdaptiveNetworkHardening) MarshalJSON ¶
func (a AdaptiveNetworkHardening) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AdaptiveNetworkHardening.
func (*AdaptiveNetworkHardening) UnmarshalJSON ¶
func (a *AdaptiveNetworkHardening) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AdaptiveNetworkHardening.
type AdaptiveNetworkHardeningEnforceRequest ¶
type AdaptiveNetworkHardeningEnforceRequest struct {
// REQUIRED; The Azure resource IDs of the effective network security groups that will be updated with the created security
// rules from the Adaptive Network Hardening rules
NetworkSecurityGroups []*string
// REQUIRED; The rules to enforce
Rules []*Rule
}
func (AdaptiveNetworkHardeningEnforceRequest) MarshalJSON ¶
func (a AdaptiveNetworkHardeningEnforceRequest) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AdaptiveNetworkHardeningEnforceRequest.
func (*AdaptiveNetworkHardeningEnforceRequest) UnmarshalJSON ¶
func (a *AdaptiveNetworkHardeningEnforceRequest) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AdaptiveNetworkHardeningEnforceRequest.
type AdaptiveNetworkHardeningProperties ¶
type AdaptiveNetworkHardeningProperties struct {
// The Network Security Groups effective on the network interfaces of the protected resource
EffectiveNetworkSecurityGroups []*EffectiveNetworkSecurityGroups
// The security rules which are recommended to be effective on the VM
Rules []*Rule
// The UTC time on which the rules were calculated
RulesCalculationTime *time.Time
}
AdaptiveNetworkHardeningProperties - Adaptive Network Hardening resource properties
func (AdaptiveNetworkHardeningProperties) MarshalJSON ¶
func (a AdaptiveNetworkHardeningProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AdaptiveNetworkHardeningProperties.
func (*AdaptiveNetworkHardeningProperties) UnmarshalJSON ¶
func (a *AdaptiveNetworkHardeningProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AdaptiveNetworkHardeningProperties.
type AdaptiveNetworkHardeningsClient ¶
type AdaptiveNetworkHardeningsClient struct {
// contains filtered or unexported fields
}
AdaptiveNetworkHardeningsClient contains the methods for the AdaptiveNetworkHardenings group. Don't use this type directly, use NewAdaptiveNetworkHardeningsClient() instead.
func NewAdaptiveNetworkHardeningsClient ¶
func NewAdaptiveNetworkHardeningsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*AdaptiveNetworkHardeningsClient, error)
NewAdaptiveNetworkHardeningsClient creates a new instance of AdaptiveNetworkHardeningsClient with the specified values.
- subscriptionID - Azure subscription ID
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*AdaptiveNetworkHardeningsClient) BeginEnforce ¶
func (client *AdaptiveNetworkHardeningsClient) BeginEnforce(ctx context.Context, resourceGroupName string, resourceNamespace string, resourceType string, resourceName string, adaptiveNetworkHardeningResourceName string, body AdaptiveNetworkHardeningEnforceRequest, options *AdaptiveNetworkHardeningsClientBeginEnforceOptions) (*runtime.Poller[AdaptiveNetworkHardeningsClientEnforceResponse], error)
BeginEnforce - Enforces the given rules on the NSG(s) listed in the request If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2020-01-01
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- resourceNamespace - The Namespace of the resource.
- resourceType - The type of the resource.
- resourceName - Name of the resource.
- adaptiveNetworkHardeningResourceName - The name of the Adaptive Network Hardening resource.
- options - AdaptiveNetworkHardeningsClientBeginEnforceOptions contains the optional parameters for the AdaptiveNetworkHardeningsClient.BeginEnforce method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/AdaptiveNetworkHardenings/EnforceAdaptiveNetworkHardeningRules_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewAdaptiveNetworkHardeningsClient().BeginEnforce(ctx, "rg1", "Microsoft.Compute", "virtualMachines", "vm1", "default", armsecurity.AdaptiveNetworkHardeningEnforceRequest{
NetworkSecurityGroups: []*string{
to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1"),
to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg2")},
Rules: []*armsecurity.Rule{
{
Name: to.Ptr("rule1"),
DestinationPort: to.Ptr[int32](3389),
Direction: to.Ptr(armsecurity.DirectionInbound),
IPAddresses: []*string{
to.Ptr("100.10.1.1"),
to.Ptr("200.20.2.2"),
to.Ptr("81.199.3.0/24")},
Protocols: []*armsecurity.TransportProtocol{
to.Ptr(armsecurity.TransportProtocolTCP)},
},
{
Name: to.Ptr("rule2"),
DestinationPort: to.Ptr[int32](22),
Direction: to.Ptr(armsecurity.DirectionInbound),
IPAddresses: []*string{},
Protocols: []*armsecurity.TransportProtocol{
to.Ptr(armsecurity.TransportProtocolTCP)},
}},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
_, err = poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
}
func (*AdaptiveNetworkHardeningsClient) Get ¶
func (client *AdaptiveNetworkHardeningsClient) Get(ctx context.Context, resourceGroupName string, resourceNamespace string, resourceType string, resourceName string, adaptiveNetworkHardeningResourceName string, options *AdaptiveNetworkHardeningsClientGetOptions) (AdaptiveNetworkHardeningsClientGetResponse, error)
Get - Gets a single Adaptive Network Hardening resource If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2020-01-01
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- resourceNamespace - The Namespace of the resource.
- resourceType - The type of the resource.
- resourceName - Name of the resource.
- adaptiveNetworkHardeningResourceName - The name of the Adaptive Network Hardening resource.
- options - AdaptiveNetworkHardeningsClientGetOptions contains the optional parameters for the AdaptiveNetworkHardeningsClient.Get method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/AdaptiveNetworkHardenings/GetAdaptiveNetworkHardening_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewAdaptiveNetworkHardeningsClient().Get(ctx, "rg1", "Microsoft.Compute", "virtualMachines", "vm1", "default", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.AdaptiveNetworkHardening = armsecurity.AdaptiveNetworkHardening{
// Name: to.Ptr("default"),
// Type: to.Ptr("Microsoft.Security/adaptiveNetworkHardenings"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1/providers/Microsoft.Security/adaptiveNetworkHardenings/default"),
// Properties: &armsecurity.AdaptiveNetworkHardeningProperties{
// EffectiveNetworkSecurityGroups: []*armsecurity.EffectiveNetworkSecurityGroups{
// {
// NetworkInterface: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/rg1/providers/Microsoft.Network/networkInterfaces/nic1"),
// NetworkSecurityGroups: []*string{
// to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nicNsg"),
// to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/subnetNsg")},
// },
// {
// NetworkInterface: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/rg2/providers/Microsoft.Network/networkInterfaces/nic2"),
// NetworkSecurityGroups: []*string{
// to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nicNsg")},
// }},
// Rules: []*armsecurity.Rule{
// {
// Name: to.Ptr("rule1"),
// DestinationPort: to.Ptr[int32](3389),
// Direction: to.Ptr(armsecurity.DirectionInbound),
// IPAddresses: []*string{
// to.Ptr("100.10.1.1"),
// to.Ptr("200.20.2.2"),
// to.Ptr("81.199.3.0/24")},
// Protocols: []*armsecurity.TransportProtocol{
// to.Ptr(armsecurity.TransportProtocolTCP)},
// },
// {
// Name: to.Ptr("rule2"),
// DestinationPort: to.Ptr[int32](22),
// Direction: to.Ptr(armsecurity.DirectionInbound),
// IPAddresses: []*string{
// },
// Protocols: []*armsecurity.TransportProtocol{
// to.Ptr(armsecurity.TransportProtocolTCP)},
// }},
// RulesCalculationTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-08-15T00:00:00.000Z"); return t}()),
// },
// }
}
func (*AdaptiveNetworkHardeningsClient) NewListByExtendedResourcePager ¶
func (client *AdaptiveNetworkHardeningsClient) NewListByExtendedResourcePager(resourceGroupName string, resourceNamespace string, resourceType string, resourceName string, options *AdaptiveNetworkHardeningsClientListByExtendedResourceOptions) *runtime.Pager[AdaptiveNetworkHardeningsClientListByExtendedResourceResponse]
NewListByExtendedResourcePager - Gets a list of Adaptive Network Hardenings resources in scope of an extended resource.
Generated from API version 2020-01-01
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- resourceNamespace - The Namespace of the resource.
- resourceType - The type of the resource.
- resourceName - Name of the resource.
- options - AdaptiveNetworkHardeningsClientListByExtendedResourceOptions contains the optional parameters for the AdaptiveNetworkHardeningsClient.NewListByExtendedResourcePager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/AdaptiveNetworkHardenings/ListByExtendedResourceAdaptiveNetworkHardenings_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewAdaptiveNetworkHardeningsClient().NewListByExtendedResourcePager("rg1", "Microsoft.Compute", "virtualMachines", "vm1", nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.AdaptiveNetworkHardeningsList = armsecurity.AdaptiveNetworkHardeningsList{
// Value: []*armsecurity.AdaptiveNetworkHardening{
// {
// Name: to.Ptr("default"),
// Type: to.Ptr("Microsoft.Security/adaptiveNetworkHardenings"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1/providers/Microsoft.Security/adaptiveNetworkHardenings/default"),
// Properties: &armsecurity.AdaptiveNetworkHardeningProperties{
// EffectiveNetworkSecurityGroups: []*armsecurity.EffectiveNetworkSecurityGroups{
// {
// NetworkInterface: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/rg1/providers/Microsoft.Network/networkInterfaces/nic1"),
// NetworkSecurityGroups: []*string{
// to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nicNsg"),
// to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/subnetNsg")},
// },
// {
// NetworkInterface: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/rg1/providers/Microsoft.Network/networkInterfaces/nic2"),
// NetworkSecurityGroups: []*string{
// to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nicNsg2")},
// }},
// Rules: []*armsecurity.Rule{
// {
// Name: to.Ptr("rule1"),
// DestinationPort: to.Ptr[int32](3389),
// Direction: to.Ptr(armsecurity.DirectionInbound),
// IPAddresses: []*string{
// to.Ptr("100.10.1.1"),
// to.Ptr("200.20.2.2"),
// to.Ptr("81.199.3.0/24")},
// Protocols: []*armsecurity.TransportProtocol{
// to.Ptr(armsecurity.TransportProtocolTCP)},
// },
// {
// Name: to.Ptr("rule2"),
// DestinationPort: to.Ptr[int32](22),
// Direction: to.Ptr(armsecurity.DirectionInbound),
// IPAddresses: []*string{
// },
// Protocols: []*armsecurity.TransportProtocol{
// to.Ptr(armsecurity.TransportProtocolTCP)},
// }},
// RulesCalculationTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-08-15T00:00:00.000Z"); return t}()),
// },
// }},
// }
}
}
type AdaptiveNetworkHardeningsClientBeginEnforceOptions ¶
type AdaptiveNetworkHardeningsClientBeginEnforceOptions struct {
// Resumes the LRO from the provided token.
ResumeToken string
}
AdaptiveNetworkHardeningsClientBeginEnforceOptions contains the optional parameters for the AdaptiveNetworkHardeningsClient.BeginEnforce method.
type AdaptiveNetworkHardeningsClientEnforceResponse ¶
type AdaptiveNetworkHardeningsClientEnforceResponse struct {
}
AdaptiveNetworkHardeningsClientEnforceResponse contains the response from method AdaptiveNetworkHardeningsClient.BeginEnforce.
type AdaptiveNetworkHardeningsClientGetOptions ¶
type AdaptiveNetworkHardeningsClientGetOptions struct {
}
AdaptiveNetworkHardeningsClientGetOptions contains the optional parameters for the AdaptiveNetworkHardeningsClient.Get method.
type AdaptiveNetworkHardeningsClientGetResponse ¶
type AdaptiveNetworkHardeningsClientGetResponse struct {
// The resource whose properties describes the Adaptive Network Hardening settings for some Azure resource
AdaptiveNetworkHardening
}
AdaptiveNetworkHardeningsClientGetResponse contains the response from method AdaptiveNetworkHardeningsClient.Get.
type AdaptiveNetworkHardeningsClientListByExtendedResourceOptions ¶
type AdaptiveNetworkHardeningsClientListByExtendedResourceOptions struct {
}
AdaptiveNetworkHardeningsClientListByExtendedResourceOptions contains the optional parameters for the AdaptiveNetworkHardeningsClient.NewListByExtendedResourcePager method.
type AdaptiveNetworkHardeningsClientListByExtendedResourceResponse ¶
type AdaptiveNetworkHardeningsClientListByExtendedResourceResponse struct {
// Response for ListAdaptiveNetworkHardenings API service call
AdaptiveNetworkHardeningsList
}
AdaptiveNetworkHardeningsClientListByExtendedResourceResponse contains the response from method AdaptiveNetworkHardeningsClient.NewListByExtendedResourcePager.
type AdaptiveNetworkHardeningsList ¶
type AdaptiveNetworkHardeningsList struct {
// The URL to get the next set of results
NextLink *string
// A list of Adaptive Network Hardenings resources
Value []*AdaptiveNetworkHardening
}
AdaptiveNetworkHardeningsList - Response for ListAdaptiveNetworkHardenings API service call
func (AdaptiveNetworkHardeningsList) MarshalJSON ¶
func (a AdaptiveNetworkHardeningsList) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AdaptiveNetworkHardeningsList.
func (*AdaptiveNetworkHardeningsList) UnmarshalJSON ¶
func (a *AdaptiveNetworkHardeningsList) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AdaptiveNetworkHardeningsList.
type AdditionalData ¶
type AdditionalData struct {
// REQUIRED; Sub-assessment resource type
AssessedResourceType *AssessedResourceType
}
AdditionalData - Details of the sub-assessment
func (*AdditionalData) GetAdditionalData ¶
func (a *AdditionalData) GetAdditionalData() *AdditionalData
GetAdditionalData implements the AdditionalDataClassification interface for type AdditionalData.
func (AdditionalData) MarshalJSON ¶
func (a AdditionalData) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AdditionalData.
func (*AdditionalData) UnmarshalJSON ¶
func (a *AdditionalData) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AdditionalData.
type AdditionalDataClassification ¶
type AdditionalDataClassification interface {
// GetAdditionalData returns the AdditionalData content of the underlying type.
GetAdditionalData() *AdditionalData
}
AdditionalDataClassification provides polymorphic access to related types. Call the interface's GetAdditionalData() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AdditionalData, *ContainerRegistryVulnerabilityProperties, *SQLServerVulnerabilityProperties, *ServerVulnerabilityProperties
type AdditionalWorkspaceDataType ¶
type AdditionalWorkspaceDataType string
AdditionalWorkspaceDataType - Data types sent to workspace.
const ( AdditionalWorkspaceDataTypeAlerts AdditionalWorkspaceDataType = "Alerts" AdditionalWorkspaceDataTypeRawEvents AdditionalWorkspaceDataType = "RawEvents" )
func PossibleAdditionalWorkspaceDataTypeValues ¶
func PossibleAdditionalWorkspaceDataTypeValues() []AdditionalWorkspaceDataType
PossibleAdditionalWorkspaceDataTypeValues returns the possible values for the AdditionalWorkspaceDataType const type.
type AdditionalWorkspaceType ¶
type AdditionalWorkspaceType string
AdditionalWorkspaceType - Workspace type.
const (
AdditionalWorkspaceTypeSentinel AdditionalWorkspaceType = "Sentinel"
)
func PossibleAdditionalWorkspaceTypeValues ¶
func PossibleAdditionalWorkspaceTypeValues() []AdditionalWorkspaceType
PossibleAdditionalWorkspaceTypeValues returns the possible values for the AdditionalWorkspaceType const type.
type AdditionalWorkspacesProperties ¶
type AdditionalWorkspacesProperties struct {
// List of data types sent to workspace
DataTypes []*AdditionalWorkspaceDataType
// Workspace type.
Type *AdditionalWorkspaceType
// Workspace resource id
Workspace *string
}
AdditionalWorkspacesProperties - Properties of the additional workspaces.
func (AdditionalWorkspacesProperties) MarshalJSON ¶
func (a AdditionalWorkspacesProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AdditionalWorkspacesProperties.
func (*AdditionalWorkspacesProperties) UnmarshalJSON ¶
func (a *AdditionalWorkspacesProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AdditionalWorkspacesProperties.
type AdvancedThreatProtectionClient ¶
type AdvancedThreatProtectionClient struct {
// contains filtered or unexported fields
}
AdvancedThreatProtectionClient contains the methods for the AdvancedThreatProtection group. Don't use this type directly, use NewAdvancedThreatProtectionClient() instead.
func NewAdvancedThreatProtectionClient ¶
func NewAdvancedThreatProtectionClient(credential azcore.TokenCredential, options *arm.ClientOptions) (*AdvancedThreatProtectionClient, error)
NewAdvancedThreatProtectionClient creates a new instance of AdvancedThreatProtectionClient with the specified values.
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*AdvancedThreatProtectionClient) Create ¶
func (client *AdvancedThreatProtectionClient) Create(ctx context.Context, resourceID string, advancedThreatProtectionSetting AdvancedThreatProtectionSetting, options *AdvancedThreatProtectionClientCreateOptions) (AdvancedThreatProtectionClientCreateResponse, error)
Create - Creates or updates the Advanced Threat Protection settings on a specified resource. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2019-01-01
- resourceID - The identifier of the resource.
- advancedThreatProtectionSetting - Advanced Threat Protection Settings
- options - AdvancedThreatProtectionClientCreateOptions contains the optional parameters for the AdvancedThreatProtectionClient.Create method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2019-01-01/examples/AdvancedThreatProtection/PutAdvancedThreatProtectionSettings_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewAdvancedThreatProtectionClient().Create(ctx, "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SampleRG/providers/Microsoft.Storage/storageAccounts/samplestorageaccount", armsecurity.AdvancedThreatProtectionSetting{
Name: to.Ptr("current"),
Type: to.Ptr("Microsoft.Security/advancedThreatProtectionSettings"),
ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SampleRG/providers/Microsoft.Storage/storageAccounts/samplestorageaccount/providers/Microsoft.Security/advancedThreatProtectionSettings/current"),
Properties: &armsecurity.AdvancedThreatProtectionProperties{
IsEnabled: to.Ptr(true),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.AdvancedThreatProtectionSetting = armsecurity.AdvancedThreatProtectionSetting{
// Name: to.Ptr("current"),
// Type: to.Ptr("Microsoft.Security/advancedThreatProtectionSettings"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SampleRG/providers/Microsoft.Storage/storageAccounts/samplestorageaccount/providers/Microsoft.Security/advancedThreatProtectionSettings/current"),
// Properties: &armsecurity.AdvancedThreatProtectionProperties{
// IsEnabled: to.Ptr(true),
// },
// }
}
func (*AdvancedThreatProtectionClient) Get ¶
func (client *AdvancedThreatProtectionClient) Get(ctx context.Context, resourceID string, options *AdvancedThreatProtectionClientGetOptions) (AdvancedThreatProtectionClientGetResponse, error)
Get - Gets the Advanced Threat Protection settings for the specified resource. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2019-01-01
- resourceID - The identifier of the resource.
- options - AdvancedThreatProtectionClientGetOptions contains the optional parameters for the AdvancedThreatProtectionClient.Get method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2019-01-01/examples/AdvancedThreatProtection/GetAdvancedThreatProtectionSettings_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewAdvancedThreatProtectionClient().Get(ctx, "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SampleRG/providers/Microsoft.Storage/storageAccounts/samplestorageaccount", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.AdvancedThreatProtectionSetting = armsecurity.AdvancedThreatProtectionSetting{
// Name: to.Ptr("current"),
// Type: to.Ptr("Microsoft.Security/advancedThreatProtectionSettings"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SampleRG/providers/Microsoft.Storage/storageAccounts/samplestorageaccount/providers/Microsoft.Security/advancedThreatProtectionSettings/current"),
// Properties: &armsecurity.AdvancedThreatProtectionProperties{
// IsEnabled: to.Ptr(true),
// },
// }
}
type AdvancedThreatProtectionClientCreateOptions ¶
type AdvancedThreatProtectionClientCreateOptions struct {
}
AdvancedThreatProtectionClientCreateOptions contains the optional parameters for the AdvancedThreatProtectionClient.Create method.
type AdvancedThreatProtectionClientCreateResponse ¶
type AdvancedThreatProtectionClientCreateResponse struct {
// The Advanced Threat Protection resource.
AdvancedThreatProtectionSetting
}
AdvancedThreatProtectionClientCreateResponse contains the response from method AdvancedThreatProtectionClient.Create.
type AdvancedThreatProtectionClientGetOptions ¶
type AdvancedThreatProtectionClientGetOptions struct {
}
AdvancedThreatProtectionClientGetOptions contains the optional parameters for the AdvancedThreatProtectionClient.Get method.
type AdvancedThreatProtectionClientGetResponse ¶
type AdvancedThreatProtectionClientGetResponse struct {
// The Advanced Threat Protection resource.
AdvancedThreatProtectionSetting
}
AdvancedThreatProtectionClientGetResponse contains the response from method AdvancedThreatProtectionClient.Get.
type AdvancedThreatProtectionProperties ¶
type AdvancedThreatProtectionProperties struct {
// Indicates whether Advanced Threat Protection is enabled.
IsEnabled *bool
}
AdvancedThreatProtectionProperties - The Advanced Threat Protection settings.
func (AdvancedThreatProtectionProperties) MarshalJSON ¶
func (a AdvancedThreatProtectionProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AdvancedThreatProtectionProperties.
func (*AdvancedThreatProtectionProperties) UnmarshalJSON ¶
func (a *AdvancedThreatProtectionProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AdvancedThreatProtectionProperties.
type AdvancedThreatProtectionSetting ¶
type AdvancedThreatProtectionSetting struct {
// The Advanced Threat Protection settings.
Properties *AdvancedThreatProtectionProperties
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Resource type
Type *string
}
AdvancedThreatProtectionSetting - The Advanced Threat Protection resource.
func (AdvancedThreatProtectionSetting) MarshalJSON ¶
func (a AdvancedThreatProtectionSetting) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AdvancedThreatProtectionSetting.
func (*AdvancedThreatProtectionSetting) UnmarshalJSON ¶
func (a *AdvancedThreatProtectionSetting) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AdvancedThreatProtectionSetting.
type Alert ¶
type Alert struct {
// describes security alert properties.
Properties *AlertProperties
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Resource type
Type *string
}
Alert - Security alert
func (Alert) MarshalJSON ¶
MarshalJSON implements the json.Marshaller interface for type Alert.
func (*Alert) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaller interface for type Alert.
type AlertEntity ¶
type AlertEntity struct {
// OPTIONAL; Contains additional key/value pairs not defined in the schema.
AdditionalProperties map[string]any
// READ-ONLY; Type of entity
Type *string
}
AlertEntity - Changing set of properties depending on the entity type.
func (AlertEntity) MarshalJSON ¶
func (a AlertEntity) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AlertEntity.
func (*AlertEntity) UnmarshalJSON ¶
func (a *AlertEntity) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AlertEntity.
type AlertList ¶
type AlertList struct {
// describes security alert properties.
Value []*Alert
// READ-ONLY; The URI to fetch the next page.
NextLink *string
}
AlertList - List of security alerts
func (AlertList) MarshalJSON ¶
MarshalJSON implements the json.Marshaller interface for type AlertList.
func (*AlertList) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaller interface for type AlertList.
type AlertProperties ¶
type AlertProperties struct {
// Custom properties for the alert.
ExtendedProperties map[string]*string
// Changing set of properties depending on the supportingEvidence type.
SupportingEvidence *AlertPropertiesSupportingEvidence
// READ-ONLY; The display name of the alert.
AlertDisplayName *string
// READ-ONLY; Unique identifier for the detection logic (all alert instances from the same detection logic will have the same
// alertType).
AlertType *string
// READ-ONLY; A direct link to the alert page in Azure Portal.
AlertURI *string
// READ-ONLY; The display name of the resource most related to this alert.
CompromisedEntity *string
// READ-ONLY; Key for corelating related alerts. Alerts with the same correlation key considered to be related.
CorrelationKey *string
// READ-ONLY; Description of the suspicious activity that was detected.
Description *string
// READ-ONLY; The UTC time of the last event or activity included in the alert in ISO8601 format.
EndTimeUTC *time.Time
// READ-ONLY; A list of entities related to the alert.
Entities []*AlertEntity
// READ-ONLY; Links related to the alert
ExtendedLinks []map[string]*string
// READ-ONLY; The kill chain related intent behind the alert. For list of supported values, and explanations of Azure Security
// Center's supported kill chain intents.
Intent *Intent
// READ-ONLY; This field determines whether the alert is an incident (a compound grouping of several alerts) or a single alert.
IsIncident *bool
// READ-ONLY; The UTC processing end time of the alert in ISO8601 format.
ProcessingEndTimeUTC *time.Time
// READ-ONLY; The name of Azure Security Center pricing tier which powering this alert. Learn more: https://docs.microsoft.com/en-us/azure/security-center/security-center-pricing
ProductComponentName *string
// READ-ONLY; The name of the product which published this alert (Microsoft Sentinel, Microsoft Defender for Identity, Microsoft
// Defender for Endpoint, Microsoft Defender for Office, Microsoft Defender for Cloud
// Apps, and so on).
ProductName *string
// READ-ONLY; Manual action items to take to remediate the alert.
RemediationSteps []*string
// READ-ONLY; The resource identifiers that can be used to direct the alert to the right product exposure group (tenant, workspace,
// subscription etc.). There can be multiple identifiers of different type per alert.
ResourceIdentifiers []ResourceIdentifierClassification
// READ-ONLY; The risk level of the threat that was detected. Learn more: https://docs.microsoft.com/en-us/azure/security-center/security-center-alerts-overview#how-are-alerts-classified.
Severity *AlertSeverity
// READ-ONLY; The UTC time of the first event or activity included in the alert in ISO8601 format.
StartTimeUTC *time.Time
// READ-ONLY; The life cycle status of the alert.
Status *AlertStatus
// READ-ONLY; Kill chain related sub-techniques behind the alert.
SubTechniques []*string
// READ-ONLY; Unique identifier for the alert.
SystemAlertID *string
// READ-ONLY; kill chain related techniques behind the alert.
Techniques []*string
// READ-ONLY; The UTC time the alert was generated in ISO8601 format.
TimeGeneratedUTC *time.Time
// READ-ONLY; The name of the vendor that raises the alert.
VendorName *string
// READ-ONLY; Schema version.
Version *string
}
AlertProperties - describes security alert properties.
func (AlertProperties) MarshalJSON ¶
func (a AlertProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AlertProperties.
func (*AlertProperties) UnmarshalJSON ¶
func (a *AlertProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AlertProperties.
type AlertPropertiesSupportingEvidence ¶
type AlertPropertiesSupportingEvidence struct {
// OPTIONAL; Contains additional key/value pairs not defined in the schema.
AdditionalProperties map[string]any
// READ-ONLY; Type of the supportingEvidence
Type *string
}
AlertPropertiesSupportingEvidence - Changing set of properties depending on the supportingEvidence type.
func (AlertPropertiesSupportingEvidence) MarshalJSON ¶
func (a AlertPropertiesSupportingEvidence) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AlertPropertiesSupportingEvidence.
func (*AlertPropertiesSupportingEvidence) UnmarshalJSON ¶
func (a *AlertPropertiesSupportingEvidence) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AlertPropertiesSupportingEvidence.
type AlertSeverity ¶
type AlertSeverity string
AlertSeverity - The risk level of the threat that was detected. Learn more: https://docs.microsoft.com/en-us/azure/security-center/security-center-alerts-overview#how-are-alerts-classified.
const ( // AlertSeverityHigh - High AlertSeverityHigh AlertSeverity = "High" // AlertSeverityInformational - Informational AlertSeverityInformational AlertSeverity = "Informational" // AlertSeverityLow - Low AlertSeverityLow AlertSeverity = "Low" // AlertSeverityMedium - Medium AlertSeverityMedium AlertSeverity = "Medium" )
func PossibleAlertSeverityValues ¶
func PossibleAlertSeverityValues() []AlertSeverity
PossibleAlertSeverityValues returns the possible values for the AlertSeverity const type.
type AlertSimulatorBundlesRequestProperties ¶
type AlertSimulatorBundlesRequestProperties struct {
// REQUIRED; The kind of alert simulation.
Kind *Kind
// OPTIONAL; Contains additional key/value pairs not defined in the schema.
AdditionalProperties map[string]any
// Bundles list.
Bundles []*BundleType
}
AlertSimulatorBundlesRequestProperties - Simulate alerts according to this bundles.
func (*AlertSimulatorBundlesRequestProperties) GetAlertSimulatorRequestProperties ¶
func (a *AlertSimulatorBundlesRequestProperties) GetAlertSimulatorRequestProperties() *AlertSimulatorRequestProperties
GetAlertSimulatorRequestProperties implements the AlertSimulatorRequestPropertiesClassification interface for type AlertSimulatorBundlesRequestProperties.
func (AlertSimulatorBundlesRequestProperties) MarshalJSON ¶
func (a AlertSimulatorBundlesRequestProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AlertSimulatorBundlesRequestProperties.
func (*AlertSimulatorBundlesRequestProperties) UnmarshalJSON ¶
func (a *AlertSimulatorBundlesRequestProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AlertSimulatorBundlesRequestProperties.
type AlertSimulatorRequestBody ¶
type AlertSimulatorRequestBody struct {
// Alert Simulator request body data.
Properties AlertSimulatorRequestPropertiesClassification
}
AlertSimulatorRequestBody - Alert Simulator request body.
func (AlertSimulatorRequestBody) MarshalJSON ¶
func (a AlertSimulatorRequestBody) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AlertSimulatorRequestBody.
func (*AlertSimulatorRequestBody) UnmarshalJSON ¶
func (a *AlertSimulatorRequestBody) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AlertSimulatorRequestBody.
type AlertSimulatorRequestProperties ¶
type AlertSimulatorRequestProperties struct {
// REQUIRED; The kind of alert simulation.
Kind *Kind
// OPTIONAL; Contains additional key/value pairs not defined in the schema.
AdditionalProperties map[string]any
}
AlertSimulatorRequestProperties - Describes properties of an alert simulation request
func (*AlertSimulatorRequestProperties) GetAlertSimulatorRequestProperties ¶
func (a *AlertSimulatorRequestProperties) GetAlertSimulatorRequestProperties() *AlertSimulatorRequestProperties
GetAlertSimulatorRequestProperties implements the AlertSimulatorRequestPropertiesClassification interface for type AlertSimulatorRequestProperties.
func (AlertSimulatorRequestProperties) MarshalJSON ¶
func (a AlertSimulatorRequestProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AlertSimulatorRequestProperties.
func (*AlertSimulatorRequestProperties) UnmarshalJSON ¶
func (a *AlertSimulatorRequestProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AlertSimulatorRequestProperties.
type AlertSimulatorRequestPropertiesClassification ¶
type AlertSimulatorRequestPropertiesClassification interface {
// GetAlertSimulatorRequestProperties returns the AlertSimulatorRequestProperties content of the underlying type.
GetAlertSimulatorRequestProperties() *AlertSimulatorRequestProperties
}
AlertSimulatorRequestPropertiesClassification provides polymorphic access to related types. Call the interface's GetAlertSimulatorRequestProperties() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AlertSimulatorBundlesRequestProperties, *AlertSimulatorRequestProperties
type AlertStatus ¶
type AlertStatus string
AlertStatus - The life cycle status of the alert.
const ( // AlertStatusActive - An alert which doesn't specify a value is assigned the status 'Active' AlertStatusActive AlertStatus = "Active" // AlertStatusDismissed - Alert dismissed as false positive AlertStatusDismissed AlertStatus = "Dismissed" // AlertStatusInProgress - An alert which is in handling state AlertStatusInProgress AlertStatus = "InProgress" // AlertStatusResolved - Alert closed after handling AlertStatusResolved AlertStatus = "Resolved" )
func PossibleAlertStatusValues ¶
func PossibleAlertStatusValues() []AlertStatus
PossibleAlertStatusValues returns the possible values for the AlertStatus const type.
type AlertSyncSettingProperties ¶
type AlertSyncSettingProperties struct {
// REQUIRED; Is the alert sync setting enabled
Enabled *bool
}
AlertSyncSettingProperties - The alert sync setting properties
func (AlertSyncSettingProperties) MarshalJSON ¶
func (a AlertSyncSettingProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AlertSyncSettingProperties.
func (*AlertSyncSettingProperties) UnmarshalJSON ¶
func (a *AlertSyncSettingProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AlertSyncSettingProperties.
type AlertSyncSettings ¶
type AlertSyncSettings struct {
// REQUIRED; the kind of the settings string
Kind *SettingKind
// Alert sync setting data
Properties *AlertSyncSettingProperties
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Resource type
Type *string
}
AlertSyncSettings - Represents an alert sync setting
func (*AlertSyncSettings) GetSetting ¶
func (a *AlertSyncSettings) GetSetting() *Setting
GetSetting implements the SettingClassification interface for type AlertSyncSettings.
func (AlertSyncSettings) MarshalJSON ¶
func (a AlertSyncSettings) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AlertSyncSettings.
func (*AlertSyncSettings) UnmarshalJSON ¶
func (a *AlertSyncSettings) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AlertSyncSettings.
type AlertsClient ¶
type AlertsClient struct {
// contains filtered or unexported fields
}
AlertsClient contains the methods for the Alerts group. Don't use this type directly, use NewAlertsClient() instead.
func NewAlertsClient ¶
func NewAlertsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*AlertsClient, error)
NewAlertsClient creates a new instance of AlertsClient with the specified values.
- subscriptionID - Azure subscription ID
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*AlertsClient) BeginSimulate ¶
func (client *AlertsClient) BeginSimulate(ctx context.Context, ascLocation string, alertSimulatorRequestBody AlertSimulatorRequestBody, options *AlertsClientBeginSimulateOptions) (*runtime.Poller[AlertsClientSimulateResponse], error)
BeginSimulate - Simulate security alerts If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2022-01-01
- ascLocation - The location where ASC stores the data of the subscription. can be retrieved from Get locations
- alertSimulatorRequestBody - Alert Simulator Request Properties
- options - AlertsClientBeginSimulateOptions contains the optional parameters for the AlertsClient.BeginSimulate method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2022-01-01/examples/Alerts/SimulateAlerts_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewAlertsClient().BeginSimulate(ctx, "centralus", armsecurity.AlertSimulatorRequestBody{
Properties: &armsecurity.AlertSimulatorBundlesRequestProperties{
Kind: to.Ptr(armsecurity.KindBundles),
Bundles: []*armsecurity.BundleType{
to.Ptr(armsecurity.BundleTypeAppServices),
to.Ptr(armsecurity.BundleTypeDNS),
to.Ptr(armsecurity.BundleTypeKeyVaults),
to.Ptr(armsecurity.BundleTypeKubernetesService),
to.Ptr(armsecurity.BundleTypeResourceManager),
to.Ptr(armsecurity.BundleTypeSQLServers),
to.Ptr(armsecurity.BundleTypeStorageAccounts),
to.Ptr(armsecurity.BundleTypeVirtualMachines),
to.Ptr(armsecurity.BundleTypeCosmosDbs)},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
_, err = poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
}
func (*AlertsClient) GetResourceGroupLevel ¶
func (client *AlertsClient) GetResourceGroupLevel(ctx context.Context, resourceGroupName string, ascLocation string, alertName string, options *AlertsClientGetResourceGroupLevelOptions) (AlertsClientGetResourceGroupLevelResponse, error)
GetResourceGroupLevel - Get an alert that is associated a resource group or a resource in a resource group If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2022-01-01
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- ascLocation - The location where ASC stores the data of the subscription. can be retrieved from Get locations
- alertName - Name of the alert object
- options - AlertsClientGetResourceGroupLevelOptions contains the optional parameters for the AlertsClient.GetResourceGroupLevel method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2022-01-01/examples/Alerts/GetAlertResourceGroupLocation_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewAlertsClient().GetResourceGroupLevel(ctx, "myRg1", "westeurope", "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.Alert = armsecurity.Alert{
// Name: to.Ptr("2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a"),
// Type: to.Ptr("Microsoft.Security/Locations/alerts"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Security/locations/westeurope/alerts/2518770965529163669_F144EE95-A3E5-42DA-A279-967D115809AA"),
// Properties: &armsecurity.AlertProperties{
// Description: to.Ptr("This is a test alert generated by Azure Security Center. No further action is needed."),
// AlertDisplayName: to.Ptr("Azure Security Center test alert (not a threat)"),
// AlertType: to.Ptr("VM_EICAR"),
// AlertURI: to.Ptr("https://portal.azure.com/#blade/Microsoft_Azure_Security/AlertBlade/alertId/2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a/subscriptionId/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroup/myRg1/referencedFrom/alertDeepLink/location/westeurope"),
// CompromisedEntity: to.Ptr("vm1"),
// CorrelationKey: to.Ptr("kso0LFWxzCll5tqrk5hmrBJ+MY1BX806W6q6+0s9Lk="),
// EndTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-22T00:00:00.000Z"); return t}()),
// Entities: []*armsecurity.AlertEntity{
// {
// AdditionalProperties: map[string]any{
// "address": "192.0.2.1",
// "location": map[string]any{
// "asn": float64(6584),
// "city": "sonning",
// "countryCode": "gb",
// "latitude": float64(51.468),
// "longitude": float64(-0.909),
// "state": "wokingham",
// },
// },
// Type: to.Ptr("ip"),
// }},
// ExtendedLinks: []map[string]*string{
// map[string]*string{
// "Category": to.Ptr("threat_reports"),
// "Href": to.Ptr("https://contoso.com/reports/DisplayReport"),
// "Label": to.Ptr("Report: RDP Brute Forcing"),
// "Type": to.Ptr("webLink"),
// }},
// ExtendedProperties: map[string]*string{
// "Property1": to.Ptr("Property1 information"),
// },
// Intent: to.Ptr(armsecurity.IntentExecution),
// IsIncident: to.Ptr(true),
// ProcessingEndTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-23T13:47:58.920Z"); return t}()),
// ProductComponentName: to.Ptr("testName"),
// ProductName: to.Ptr("Azure Security Center"),
// RemediationSteps: []*string{
// to.Ptr("No further action is needed.")},
// ResourceIdentifiers: []armsecurity.ResourceIdentifierClassification{
// &armsecurity.AzureResourceIdentifier{
// Type: to.Ptr(armsecurity.ResourceIdentifierTypeAzureResource),
// AzureResourceID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1"),
// },
// &armsecurity.LogAnalyticsIdentifier{
// Type: to.Ptr(armsecurity.ResourceIdentifierTypeLogAnalytics),
// AgentID: to.Ptr("75724a01-f021-4aa8-9ec2-329792373e6e"),
// WorkspaceID: to.Ptr("f419f624-acad-4d89-b86d-f62fa387f019"),
// WorkspaceResourceGroup: to.Ptr("myRg1"),
// WorkspaceSubscriptionID: to.Ptr("20ff7fc3-e762-44dd-bd96-b71116dcdc23"),
// }},
// Severity: to.Ptr(armsecurity.AlertSeverityHigh),
// StartTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-22T00:00:00.000Z"); return t}()),
// Status: to.Ptr(armsecurity.AlertStatusActive),
// SubTechniques: []*string{
// to.Ptr("T1059.001"),
// to.Ptr("T1059.006"),
// to.Ptr("T1053.002")},
// SupportingEvidence: &armsecurity.AlertPropertiesSupportingEvidence{
// AdditionalProperties: map[string]any{
// "supportingEvidenceList": []any{
// map[string]any{
// "type": "nestedList",
// "evidenceElements":[]any{
// map[string]any{
// "type": "evidenceElement",
// "innerElements": nil,
// "text":map[string]any{
// "arguments":map[string]any{
// "domainName":map[string]any{
// "type": "string",
// "value": "domainName",
// },
// "sensitiveEnumerationTypes":map[string]any{
// "type": "string[]",
// "value":[]any{
// "UseDesKey",
// },
// },
// },
// "fallback": "Actor enumerated UseDesKey on domain1.test.local",
// "localizationKey": "AATP_ALERTS_LDAP_SENSITIVE_ATTRIBUTE_RECONNAISSANCE_SECURITY_ALERT_EVIDENCE_ENUMERATION_DETAIL_A7C00BD7",
// },
// },
// },
// },
// map[string]any{
// "type": "tabularEvidences",
// "columns":[]any{
// "Date",
// "Activity",
// "User",
// "TestedText",
// "TestedValue",
// },
// "rows":[]any{
// []any{
// "2022-01-17T07:03:52.034Z",
// "Log on",
// "testUser",
// "false",
// false,
// },
// []any{
// "2022-01-17T07:03:52.034Z",
// "Log on",
// "testUser2",
// "false",
// false,
// },
// []any{
// "2022-01-17T07:03:52.034Z",
// "Log on",
// "testUser3",
// "true",
// true,
// },
// },
// "title": "Investigate activity test",
// },
// },
// },
// Type: to.Ptr("supportingEvidenceList"),
// },
// SystemAlertID: to.Ptr("2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a"),
// Techniques: []*string{
// to.Ptr("T1059"),
// to.Ptr("T1053"),
// to.Ptr("T1072")},
// TimeGeneratedUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-23T13:47:58.000Z"); return t}()),
// VendorName: to.Ptr("Microsoft"),
// Version: to.Ptr("2022-01-01"),
// },
// }
}
func (*AlertsClient) GetSubscriptionLevel ¶
func (client *AlertsClient) GetSubscriptionLevel(ctx context.Context, ascLocation string, alertName string, options *AlertsClientGetSubscriptionLevelOptions) (AlertsClientGetSubscriptionLevelResponse, error)
GetSubscriptionLevel - Get an alert that is associated with a subscription If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2022-01-01
- ascLocation - The location where ASC stores the data of the subscription. can be retrieved from Get locations
- alertName - Name of the alert object
- options - AlertsClientGetSubscriptionLevelOptions contains the optional parameters for the AlertsClient.GetSubscriptionLevel method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2022-01-01/examples/Alerts/GetAlertSubscriptionLocation_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewAlertsClient().GetSubscriptionLevel(ctx, "westeurope", "2518770965529163669_F144EE95-A3E5-42DA-A279-967D115809AA", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.Alert = armsecurity.Alert{
// Name: to.Ptr("2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a"),
// Type: to.Ptr("Microsoft.Security/Locations/alerts"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Security/locations/westeurope/alerts/2518770965529163669_F144EE95-A3E5-42DA-A279-967D115809AA"),
// Properties: &armsecurity.AlertProperties{
// Description: to.Ptr("This is a test alert generated by Azure Security Center. No further action is needed."),
// AlertDisplayName: to.Ptr("Azure Security Center test alert (not a threat)"),
// AlertType: to.Ptr("VM_EICAR"),
// AlertURI: to.Ptr("https://portal.azure.com/#blade/Microsoft_Azure_Security/AlertBlade/alertId/2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a/subscriptionId/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroup/myRg1/referencedFrom/alertDeepLink/location/westeurope"),
// CompromisedEntity: to.Ptr("vm1"),
// CorrelationKey: to.Ptr("kso0LFWxzCll5tqrk5hmrBJ+MY1BX806W6q6+0s9Lk="),
// EndTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-22T00:00:00.000Z"); return t}()),
// Entities: []*armsecurity.AlertEntity{
// {
// AdditionalProperties: map[string]any{
// "address": "192.0.2.1",
// "location": map[string]any{
// "asn": float64(6584),
// "city": "sonning",
// "countryCode": "gb",
// "latitude": float64(51.468),
// "longitude": float64(-0.909),
// "state": "wokingham",
// },
// },
// Type: to.Ptr("ip"),
// }},
// ExtendedLinks: []map[string]*string{
// map[string]*string{
// "Category": to.Ptr("threat_reports"),
// "Href": to.Ptr("https://contoso.com/reports/DisplayReport"),
// "Label": to.Ptr("Report: RDP Brute Forcing"),
// "Type": to.Ptr("webLink"),
// }},
// ExtendedProperties: map[string]*string{
// "Property1": to.Ptr("Property1 information"),
// },
// Intent: to.Ptr(armsecurity.IntentExecution),
// IsIncident: to.Ptr(true),
// ProcessingEndTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-23T13:47:58.920Z"); return t}()),
// ProductComponentName: to.Ptr("testName"),
// ProductName: to.Ptr("Azure Security Center"),
// RemediationSteps: []*string{
// to.Ptr("No further action is needed.")},
// ResourceIdentifiers: []armsecurity.ResourceIdentifierClassification{
// &armsecurity.AzureResourceIdentifier{
// Type: to.Ptr(armsecurity.ResourceIdentifierTypeAzureResource),
// AzureResourceID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1"),
// },
// &armsecurity.LogAnalyticsIdentifier{
// Type: to.Ptr(armsecurity.ResourceIdentifierTypeLogAnalytics),
// AgentID: to.Ptr("75724a01-f021-4aa8-9ec2-329792373e6e"),
// WorkspaceID: to.Ptr("f419f624-acad-4d89-b86d-f62fa387f019"),
// WorkspaceResourceGroup: to.Ptr("myRg1"),
// WorkspaceSubscriptionID: to.Ptr("20ff7fc3-e762-44dd-bd96-b71116dcdc23"),
// }},
// Severity: to.Ptr(armsecurity.AlertSeverityHigh),
// StartTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-22T00:00:00.000Z"); return t}()),
// Status: to.Ptr(armsecurity.AlertStatusActive),
// SubTechniques: []*string{
// to.Ptr("T1059.001"),
// to.Ptr("T1059.006"),
// to.Ptr("T1053.002")},
// SupportingEvidence: &armsecurity.AlertPropertiesSupportingEvidence{
// AdditionalProperties: map[string]any{
// "columns": []any{
// "Date",
// "Activity",
// "User",
// "TestedText",
// "TestedValue",
// },
// "rows": []any{
// []any{
// "2022-01-17T07:03:52.034Z",
// "Log on",
// "testUser",
// "false",
// false,
// },
// []any{
// "2022-01-17T07:03:52.034Z",
// "Log on",
// "testUser2",
// "false",
// false,
// },
// []any{
// "2022-01-17T07:03:52.034Z",
// "Log on",
// "testUser3",
// "true",
// true,
// },
// },
// "title": "Investigate activity test",
// },
// Type: to.Ptr("tabularEvidences"),
// },
// SystemAlertID: to.Ptr("2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a"),
// Techniques: []*string{
// to.Ptr("T1059"),
// to.Ptr("T1053"),
// to.Ptr("T1072")},
// TimeGeneratedUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-23T13:47:58.000Z"); return t}()),
// VendorName: to.Ptr("Microsoft"),
// Version: to.Ptr("2022-01-01"),
// },
// }
}
func (*AlertsClient) NewListByResourceGroupPager ¶
func (client *AlertsClient) NewListByResourceGroupPager(resourceGroupName string, options *AlertsClientListByResourceGroupOptions) *runtime.Pager[AlertsClientListByResourceGroupResponse]
NewListByResourceGroupPager - List all the alerts that are associated with the resource group
Generated from API version 2022-01-01
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- options - AlertsClientListByResourceGroupOptions contains the optional parameters for the AlertsClient.NewListByResourceGroupPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2022-01-01/examples/Alerts/GetAlertsResourceGroup_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewAlertsClient().NewListByResourceGroupPager("myRg1", nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.AlertList = armsecurity.AlertList{
// Value: []*armsecurity.Alert{
// {
// Name: to.Ptr("2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a"),
// Type: to.Ptr("Microsoft.Security/Locations/alerts"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Security/locations/westeurope/alerts/2518770965529163669_F144EE95-A3E5-42DA-A279-967D115809AA"),
// Properties: &armsecurity.AlertProperties{
// Description: to.Ptr("This is a test alert generated by Azure Security Center. No further action is needed."),
// AlertDisplayName: to.Ptr("Azure Security Center test alert (not a threat)"),
// AlertType: to.Ptr("VM_EICAR"),
// AlertURI: to.Ptr("https://portal.azure.com/#blade/Microsoft_Azure_Security/AlertBlade/alertId/2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a/subscriptionId/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroup/myRg1/referencedFrom/alertDeepLink/location/westeurope"),
// CompromisedEntity: to.Ptr("vm1"),
// CorrelationKey: to.Ptr("kso0LFWxzCll5tqrk5hmrBJ+MY1BX806W6q6+0s9Lk="),
// EndTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-22T00:00:00.000Z"); return t}()),
// Entities: []*armsecurity.AlertEntity{
// {
// AdditionalProperties: map[string]any{
// "address": "192.0.2.1",
// "location": map[string]any{
// "asn": float64(6584),
// "city": "sonning",
// "countryCode": "gb",
// "latitude": float64(51.468),
// "longitude": float64(-0.909),
// "state": "wokingham",
// },
// },
// Type: to.Ptr("ip"),
// }},
// ExtendedLinks: []map[string]*string{
// map[string]*string{
// "Category": to.Ptr("threat_reports"),
// "Href": to.Ptr("https://contoso.com/reports/DisplayReport"),
// "Label": to.Ptr("Report: RDP Brute Forcing"),
// "Type": to.Ptr("webLink"),
// }},
// ExtendedProperties: map[string]*string{
// "Property1": to.Ptr("Property1 information"),
// },
// Intent: to.Ptr(armsecurity.IntentExecution),
// IsIncident: to.Ptr(true),
// ProcessingEndTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-23T13:47:58.920Z"); return t}()),
// ProductComponentName: to.Ptr("testName"),
// ProductName: to.Ptr("Azure Security Center"),
// RemediationSteps: []*string{
// to.Ptr("No further action is needed.")},
// ResourceIdentifiers: []armsecurity.ResourceIdentifierClassification{
// &armsecurity.AzureResourceIdentifier{
// Type: to.Ptr(armsecurity.ResourceIdentifierTypeAzureResource),
// AzureResourceID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1"),
// },
// &armsecurity.LogAnalyticsIdentifier{
// Type: to.Ptr(armsecurity.ResourceIdentifierTypeLogAnalytics),
// AgentID: to.Ptr("75724a01-f021-4aa8-9ec2-329792373e6e"),
// WorkspaceID: to.Ptr("f419f624-acad-4d89-b86d-f62fa387f019"),
// WorkspaceResourceGroup: to.Ptr("myRg1"),
// WorkspaceSubscriptionID: to.Ptr("20ff7fc3-e762-44dd-bd96-b71116dcdc23"),
// }},
// Severity: to.Ptr(armsecurity.AlertSeverityHigh),
// StartTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-22T00:00:00.000Z"); return t}()),
// Status: to.Ptr(armsecurity.AlertStatusActive),
// SubTechniques: []*string{
// to.Ptr("T1059.001"),
// to.Ptr("T1059.006"),
// to.Ptr("T1053.002")},
// SupportingEvidence: &armsecurity.AlertPropertiesSupportingEvidence{
// AdditionalProperties: map[string]any{
// "supportingEvidenceList": []any{
// map[string]any{
// "type": "nestedList",
// "evidenceElements":[]any{
// map[string]any{
// "type": "evidenceElement",
// "innerElements": nil,
// "text":map[string]any{
// "arguments":map[string]any{
// "domainName":map[string]any{
// "type": "string",
// "value": "domainName",
// },
// "sensitiveEnumerationTypes":map[string]any{
// "type": "string[]",
// "value":[]any{
// "UseDesKey",
// },
// },
// },
// "fallback": "Actor enumerated UseDesKey on domain1.test.local",
// "localizationKey": "AATP_ALERTS_LDAP_SENSITIVE_ATTRIBUTE_RECONNAISSANCE_SECURITY_ALERT_EVIDENCE_ENUMERATION_DETAIL_A7C00BD7",
// },
// },
// },
// },
// map[string]any{
// "type": "tabularEvidences",
// "columns":[]any{
// "Date",
// "Activity",
// "User",
// "TestedText",
// "TestedValue",
// },
// "rows":[]any{
// []any{
// "2022-01-17T07:03:52.034Z",
// "Log on",
// "testUser",
// "false",
// false,
// },
// []any{
// "2022-01-17T07:03:52.034Z",
// "Log on",
// "testUser2",
// "false",
// false,
// },
// []any{
// "2022-01-17T07:03:52.034Z",
// "Log on",
// "testUser3",
// "true",
// true,
// },
// },
// "title": "Investigate activity test",
// },
// },
// },
// Type: to.Ptr("supportingEvidenceList"),
// },
// SystemAlertID: to.Ptr("2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a"),
// Techniques: []*string{
// to.Ptr("T1059"),
// to.Ptr("T1053"),
// to.Ptr("T1072")},
// TimeGeneratedUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-23T13:47:58.000Z"); return t}()),
// VendorName: to.Ptr("Microsoft"),
// Version: to.Ptr("2022-01-01"),
// },
// }},
// }
}
}
func (*AlertsClient) NewListPager ¶
func (client *AlertsClient) NewListPager(options *AlertsClientListOptions) *runtime.Pager[AlertsClientListResponse]
NewListPager - List all the alerts that are associated with the subscription
Generated from API version 2022-01-01
- options - AlertsClientListOptions contains the optional parameters for the AlertsClient.NewListPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2022-01-01/examples/Alerts/GetAlertsSubscription_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewAlertsClient().NewListPager(nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.AlertList = armsecurity.AlertList{
// Value: []*armsecurity.Alert{
// {
// Name: to.Ptr("2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a"),
// Type: to.Ptr("Microsoft.Security/Locations/alerts"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Security/locations/westeurope/alerts/2518770965529163669_F144EE95-A3E5-42DA-A279-967D115809AA"),
// Properties: &armsecurity.AlertProperties{
// Description: to.Ptr("This is a test alert generated by Azure Security Center. No further action is needed."),
// AlertDisplayName: to.Ptr("Azure Security Center test alert (not a threat)"),
// AlertType: to.Ptr("VM_EICAR"),
// AlertURI: to.Ptr("https://portal.azure.com/#blade/Microsoft_Azure_Security/AlertBlade/alertId/2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a/subscriptionId/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroup/myRg1/referencedFrom/alertDeepLink/location/westeurope"),
// CompromisedEntity: to.Ptr("vm1"),
// CorrelationKey: to.Ptr("kso0LFWxzCll5tqrk5hmrBJ+MY1BX806W6q6+0s9Lk="),
// EndTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-22T00:00:00.000Z"); return t}()),
// Entities: []*armsecurity.AlertEntity{
// {
// AdditionalProperties: map[string]any{
// "address": "192.0.2.1",
// "location": map[string]any{
// "asn": float64(6584),
// "city": "sonning",
// "countryCode": "gb",
// "latitude": float64(51.468),
// "longitude": float64(-0.909),
// "state": "wokingham",
// },
// },
// Type: to.Ptr("ip"),
// }},
// ExtendedLinks: []map[string]*string{
// map[string]*string{
// "Category": to.Ptr("threat_reports"),
// "Href": to.Ptr("https://contoso.com/reports/DisplayReport"),
// "Label": to.Ptr("Report: RDP Brute Forcing"),
// "Type": to.Ptr("webLink"),
// }},
// ExtendedProperties: map[string]*string{
// "Property1": to.Ptr("Property1 information"),
// },
// Intent: to.Ptr(armsecurity.IntentExecution),
// IsIncident: to.Ptr(true),
// ProcessingEndTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-23T13:47:58.920Z"); return t}()),
// ProductComponentName: to.Ptr("testName"),
// ProductName: to.Ptr("Azure Security Center"),
// RemediationSteps: []*string{
// to.Ptr("No further action is needed.")},
// ResourceIdentifiers: []armsecurity.ResourceIdentifierClassification{
// &armsecurity.AzureResourceIdentifier{
// Type: to.Ptr(armsecurity.ResourceIdentifierTypeAzureResource),
// AzureResourceID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1"),
// },
// &armsecurity.LogAnalyticsIdentifier{
// Type: to.Ptr(armsecurity.ResourceIdentifierTypeLogAnalytics),
// AgentID: to.Ptr("75724a01-f021-4aa8-9ec2-329792373e6e"),
// WorkspaceID: to.Ptr("f419f624-acad-4d89-b86d-f62fa387f019"),
// WorkspaceResourceGroup: to.Ptr("myRg1"),
// WorkspaceSubscriptionID: to.Ptr("20ff7fc3-e762-44dd-bd96-b71116dcdc23"),
// }},
// Severity: to.Ptr(armsecurity.AlertSeverityHigh),
// StartTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-22T00:00:00.000Z"); return t}()),
// Status: to.Ptr(armsecurity.AlertStatusActive),
// SubTechniques: []*string{
// to.Ptr("T1059.001"),
// to.Ptr("T1059.006"),
// to.Ptr("T1053.002")},
// SupportingEvidence: &armsecurity.AlertPropertiesSupportingEvidence{
// AdditionalProperties: map[string]any{
// "columns": []any{
// "Date",
// "Activity",
// "User",
// "TestedText",
// "TestedValue",
// },
// "rows": []any{
// []any{
// "2022-01-17T07:03:52.034Z",
// "Log on",
// "testUser",
// "false",
// false,
// },
// []any{
// "2022-01-17T07:03:52.034Z",
// "Log on",
// "testUser2",
// "false",
// false,
// },
// []any{
// "2022-01-17T07:03:52.034Z",
// "Log on",
// "testUser3",
// "true",
// true,
// },
// },
// "title": "Investigate activity test",
// },
// Type: to.Ptr("tabularEvidences"),
// },
// SystemAlertID: to.Ptr("2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a"),
// Techniques: []*string{
// to.Ptr("T1059"),
// to.Ptr("T1053"),
// to.Ptr("T1072")},
// TimeGeneratedUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-23T13:47:58.000Z"); return t}()),
// VendorName: to.Ptr("Microsoft"),
// Version: to.Ptr("2022-01-01"),
// },
// },
// {
// Name: to.Ptr("2518765996949954086_2325cf9e-42a2-4f72-ae7f-9b863cba2d22"),
// Type: to.Ptr("Microsoft.Security/Locations/alerts"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg2/providers/Microsoft.Security/locations/westeurope/alerts/2518765996949954086_2325cf9e-42a2-4f72-ae7f-9b863cba2d22"),
// Properties: &armsecurity.AlertProperties{
// Description: to.Ptr("The process ‘c:\\users\\contosoUser\\scrsave.scr’ was observed executing from an uncommon location. Files with the .scr extensions are screen saver files and are normally reside and execute from the Windows system directory."),
// AlertDisplayName: to.Ptr("Suspicious Screensaver process executed"),
// AlertType: to.Ptr("VM_SuspiciousScreenSaver"),
// AlertURI: to.Ptr("https://portal.azure.com/#blade/Microsoft_Azure_Security/AlertBlade/alertId/2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a/subscriptionId/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroup/myRg1/referencedFrom/alertDeepLink/location/westeurope"),
// CompromisedEntity: to.Ptr("vm2"),
// CorrelationKey: to.Ptr("4hno6LF0xzCl5tqrk4nrBW+MY1BX816W6q6+0srk4"),
// EndTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-05-07T13:51:45.004Z"); return t}()),
// Entities: []*armsecurity.AlertEntity{
// {
// AdditionalProperties: map[string]any{
// "OsVersion": nil,
// "azureID": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/myRg2/providers/microsoft.compute/virtualmachines/vm2",
// "dnsDomain": "",
// "hostName": "vm2",
// "netBiosName": "vm2",
// "ntDomain": "",
// "omsAgentID": "45b44640-3b94-4892-a28c-4a5cae27065a",
// "operatingSystem": "Unknown",
// },
// Type: to.Ptr("host"),
// },
// {
// AdditionalProperties: map[string]any{
// "name": "contosoUser",
// "logonId": "0x61450d87",
// "ntDomain": "vm2",
// "sid": "S-1-5-21-2144575486-8928446540-5163864319-500",
// },
// Type: to.Ptr("account"),
// },
// {
// AdditionalProperties: map[string]any{
// "name": "cmd.exe",
// "directory": "c:\\windows\\system32",
// },
// Type: to.Ptr("file"),
// },
// {
// AdditionalProperties: map[string]any{
// "processId": "0x3c44",
// },
// Type: to.Ptr("process"),
// },
// {
// AdditionalProperties: map[string]any{
// "name": "scrsave.scr",
// "directory": "c:\\users\\contosoUser",
// },
// Type: to.Ptr("file"),
// },
// {
// AdditionalProperties: map[string]any{
// "commandLine": "c:\\users\\contosoUser\\scrsave.scr",
// "creationTimeUtc": "2018-05-07T13:51:45.0045913Z",
// "processId": "0x4aec",
// },
// Type: to.Ptr("process"),
// }},
// ExtendedLinks: []map[string]*string{
// map[string]*string{
// "Category": to.Ptr("threat_reports"),
// "Href": to.Ptr("https://contoso.com/reports/DisplayReport"),
// "Label": to.Ptr("Report: RDP Brute Forcing"),
// "Type": to.Ptr("webLink"),
// }},
// ExtendedProperties: map[string]*string{
// "account logon id": to.Ptr("0x61450d87"),
// "command line": to.Ptr("c:\\users\\contosoUser\\scrsave.scr"),
// "domain name": to.Ptr("vm2"),
// "parent process": to.Ptr("cmd.exe"),
// "parent process id": to.Ptr("0x3c44"),
// "process id": to.Ptr("0x4aec"),
// "process name": to.Ptr("c:\\users\\contosoUser\\scrsave.scr"),
// "resourceType": to.Ptr("Virtual Machine"),
// "user SID": to.Ptr("S-1-5-21-2144575486-8928446540-5163864319-500"),
// "user name": to.Ptr("vm2\\contosoUser"),
// },
// Intent: to.Ptr(armsecurity.IntentExecution),
// IsIncident: to.Ptr(true),
// ProcessingEndTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-05-07T13:51:48.981Z"); return t}()),
// ProductComponentName: to.Ptr("testName2"),
// ProductName: to.Ptr("Azure Security Center"),
// RemediationSteps: []*string{
// to.Ptr("1. Run Process Explorer and try to identify unknown running processes (see https://technet.microsoft.com/en-us/sysinternals/bb896653.aspx)"),
// to.Ptr("2. Make sure the machine is completely updated and has an updated anti-malware application installed"),
// to.Ptr("3. Run a full anti-malware scan and verify that the threat was removed"),
// to.Ptr("4. Install and run Microsoft’s Malicious Software Removal Tool (see https://www.microsoft.com/en-us/download/malicious-software-removal-tool-details.aspx)"),
// to.Ptr("5. Run Microsoft’s Autoruns utility and try to identify unknown applications that are configured to run at login (see https://technet.microsoft.com/en-us/sysinternals/bb963902.aspx)"),
// to.Ptr("6. Escalate the alert to the information security team")},
// ResourceIdentifiers: []armsecurity.ResourceIdentifierClassification{
// &armsecurity.AzureResourceIdentifier{
// Type: to.Ptr(armsecurity.ResourceIdentifierTypeAzureResource),
// AzureResourceID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1"),
// },
// &armsecurity.LogAnalyticsIdentifier{
// Type: to.Ptr(armsecurity.ResourceIdentifierTypeLogAnalytics),
// AgentID: to.Ptr("75724a01-f021-4aa8-9ec2-329792373e6e"),
// WorkspaceID: to.Ptr("f419f624-acad-4d89-b86d-f62fa387f019"),
// WorkspaceResourceGroup: to.Ptr("myRg1"),
// WorkspaceSubscriptionID: to.Ptr("20ff7fc3-e762-44dd-bd96-b71116dcdc23"),
// }},
// Severity: to.Ptr(armsecurity.AlertSeverityMedium),
// StartTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-05-07T13:51:45.004Z"); return t}()),
// Status: to.Ptr(armsecurity.AlertStatusActive),
// SubTechniques: []*string{
// to.Ptr("T1059.001"),
// to.Ptr("T1059.006"),
// to.Ptr("T1053.002")},
// SupportingEvidence: &armsecurity.AlertPropertiesSupportingEvidence{
// AdditionalProperties: map[string]any{
// "supportingEvidenceList": []any{
// map[string]any{
// "type": "nestedList",
// "evidenceElements":[]any{
// map[string]any{
// "type": "evidenceElement",
// "innerElements": nil,
// "text":map[string]any{
// "arguments":map[string]any{
// "domainName":map[string]any{
// "type": "string",
// "value": "domainName",
// },
// "sensitiveEnumerationTypes":map[string]any{
// "type": "string[]",
// "value":[]any{
// "UseDesKey",
// },
// },
// },
// "fallback": "Actor enumerated UseDesKey on domain1.test.local",
// "localizationKey": "AATP_ALERTS_LDAP_SENSITIVE_ATTRIBUTE_RECONNAISSANCE_SECURITY_ALERT_EVIDENCE_ENUMERATION_DETAIL_A7C00BD7",
// },
// },
// },
// },
// map[string]any{
// "type": "tabularEvidences",
// "columns":[]any{
// "Date",
// "Activity",
// "User",
// "TestedText",
// "TestedValue",
// },
// "rows":[]any{
// []any{
// "2022-01-17T07:03:52.034Z",
// "Log on",
// "testUser",
// "false",
// false,
// },
// []any{
// "2022-01-17T07:03:52.034Z",
// "Log on",
// "testUser2",
// "false",
// false,
// },
// []any{
// "2022-01-17T07:03:52.034Z",
// "Log on",
// "testUser3",
// "true",
// true,
// },
// },
// "title": "Investigate activity test",
// },
// },
// },
// Type: to.Ptr("supportingEvidenceList"),
// },
// SystemAlertID: to.Ptr("2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a"),
// Techniques: []*string{
// to.Ptr("T1059"),
// to.Ptr("T1053"),
// to.Ptr("T1072")},
// TimeGeneratedUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-05-07T13:51:48.381Z"); return t}()),
// VendorName: to.Ptr("Microsoft"),
// Version: to.Ptr("2022-01-01"),
// },
// }},
// }
}
}
func (*AlertsClient) NewListResourceGroupLevelByRegionPager ¶
func (client *AlertsClient) NewListResourceGroupLevelByRegionPager(ascLocation string, resourceGroupName string, options *AlertsClientListResourceGroupLevelByRegionOptions) *runtime.Pager[AlertsClientListResourceGroupLevelByRegionResponse]
NewListResourceGroupLevelByRegionPager - List all the alerts that are associated with the resource group that are stored in a specific location
Generated from API version 2022-01-01
- ascLocation - The location where ASC stores the data of the subscription. can be retrieved from Get locations
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- options - AlertsClientListResourceGroupLevelByRegionOptions contains the optional parameters for the AlertsClient.NewListResourceGroupLevelByRegionPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2022-01-01/examples/Alerts/GetAlertsResourceGroupLocation_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewAlertsClient().NewListResourceGroupLevelByRegionPager("westeurope", "myRg1", nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.AlertList = armsecurity.AlertList{
// Value: []*armsecurity.Alert{
// {
// Name: to.Ptr("2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a"),
// Type: to.Ptr("Microsoft.Security/Locations/alerts"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Security/locations/westeurope/alerts/2518770965529163669_F144EE95-A3E5-42DA-A279-967D115809AA"),
// Properties: &armsecurity.AlertProperties{
// Description: to.Ptr("This is a test alert generated by Azure Security Center. No further action is needed."),
// AlertDisplayName: to.Ptr("Azure Security Center test alert (not a threat)"),
// AlertType: to.Ptr("VM_EICAR"),
// AlertURI: to.Ptr("https://portal.azure.com/#blade/Microsoft_Azure_Security/AlertBlade/alertId/2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a/subscriptionId/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroup/myRg1/referencedFrom/alertDeepLink/location/westeurope"),
// CompromisedEntity: to.Ptr("vm1"),
// CorrelationKey: to.Ptr("kso0LFWxzCll5tqrk5hmrBJ+MY1BX806W6q6+0s9Lk="),
// EndTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-22T00:00:00.000Z"); return t}()),
// Entities: []*armsecurity.AlertEntity{
// {
// AdditionalProperties: map[string]any{
// "address": "192.0.2.1",
// "location": map[string]any{
// "asn": float64(6584),
// "city": "sonning",
// "countryCode": "gb",
// "latitude": float64(51.468),
// "longitude": float64(-0.909),
// "state": "wokingham",
// },
// },
// Type: to.Ptr("ip"),
// }},
// ExtendedLinks: []map[string]*string{
// map[string]*string{
// "Category": to.Ptr("threat_reports"),
// "Href": to.Ptr("https://contoso.com/reports/DisplayReport"),
// "Label": to.Ptr("Report: RDP Brute Forcing"),
// "Type": to.Ptr("webLink"),
// }},
// ExtendedProperties: map[string]*string{
// "Property1": to.Ptr("Property1 information"),
// },
// Intent: to.Ptr(armsecurity.IntentExecution),
// IsIncident: to.Ptr(true),
// ProcessingEndTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-23T13:47:58.920Z"); return t}()),
// ProductComponentName: to.Ptr("testName"),
// ProductName: to.Ptr("Azure Security Center"),
// RemediationSteps: []*string{
// to.Ptr("No further action is needed.")},
// ResourceIdentifiers: []armsecurity.ResourceIdentifierClassification{
// &armsecurity.AzureResourceIdentifier{
// Type: to.Ptr(armsecurity.ResourceIdentifierTypeAzureResource),
// AzureResourceID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1"),
// },
// &armsecurity.LogAnalyticsIdentifier{
// Type: to.Ptr(armsecurity.ResourceIdentifierTypeLogAnalytics),
// AgentID: to.Ptr("75724a01-f021-4aa8-9ec2-329792373e6e"),
// WorkspaceID: to.Ptr("f419f624-acad-4d89-b86d-f62fa387f019"),
// WorkspaceResourceGroup: to.Ptr("myRg1"),
// WorkspaceSubscriptionID: to.Ptr("20ff7fc3-e762-44dd-bd96-b71116dcdc23"),
// }},
// Severity: to.Ptr(armsecurity.AlertSeverityHigh),
// StartTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-22T00:00:00.000Z"); return t}()),
// Status: to.Ptr(armsecurity.AlertStatusActive),
// SubTechniques: []*string{
// to.Ptr("T1059.001"),
// to.Ptr("T1059.006"),
// to.Ptr("T1053.002")},
// SupportingEvidence: &armsecurity.AlertPropertiesSupportingEvidence{
// AdditionalProperties: map[string]any{
// "supportingEvidenceList": []any{
// map[string]any{
// "type": "nestedList",
// "evidenceElements":[]any{
// map[string]any{
// "type": "evidenceElement",
// "innerElements": nil,
// "text":map[string]any{
// "arguments":map[string]any{
// "domainName":map[string]any{
// "type": "string",
// "value": "domainName",
// },
// "sensitiveEnumerationTypes":map[string]any{
// "type": "string[]",
// "value":[]any{
// "UseDesKey",
// },
// },
// },
// "fallback": "Actor enumerated UseDesKey on domain1.test.local",
// "localizationKey": "AATP_ALERTS_LDAP_SENSITIVE_ATTRIBUTE_RECONNAISSANCE_SECURITY_ALERT_EVIDENCE_ENUMERATION_DETAIL_A7C00BD7",
// },
// },
// },
// },
// map[string]any{
// "type": "tabularEvidences",
// "columns":[]any{
// "Date",
// "Activity",
// "User",
// "TestedText",
// "TestedValue",
// },
// "rows":[]any{
// []any{
// "2022-01-17T07:03:52.034Z",
// "Log on",
// "testUser",
// "false",
// false,
// },
// []any{
// "2022-01-17T07:03:52.034Z",
// "Log on",
// "testUser2",
// "false",
// false,
// },
// []any{
// "2022-01-17T07:03:52.034Z",
// "Log on",
// "testUser3",
// "true",
// true,
// },
// },
// "title": "Investigate activity test",
// },
// },
// },
// Type: to.Ptr("supportingEvidenceList"),
// },
// SystemAlertID: to.Ptr("2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a"),
// Techniques: []*string{
// to.Ptr("T1059"),
// to.Ptr("T1053"),
// to.Ptr("T1072")},
// TimeGeneratedUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-23T13:47:58.000Z"); return t}()),
// VendorName: to.Ptr("Microsoft"),
// Version: to.Ptr("2022-01-01"),
// },
// }},
// }
}
}
func (*AlertsClient) NewListSubscriptionLevelByRegionPager ¶
func (client *AlertsClient) NewListSubscriptionLevelByRegionPager(ascLocation string, options *AlertsClientListSubscriptionLevelByRegionOptions) *runtime.Pager[AlertsClientListSubscriptionLevelByRegionResponse]
NewListSubscriptionLevelByRegionPager - List all the alerts that are associated with the subscription that are stored in a specific location
Generated from API version 2022-01-01
- ascLocation - The location where ASC stores the data of the subscription. can be retrieved from Get locations
- options - AlertsClientListSubscriptionLevelByRegionOptions contains the optional parameters for the AlertsClient.NewListSubscriptionLevelByRegionPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2022-01-01/examples/Alerts/GetAlertsSubscriptionsLocation_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewAlertsClient().NewListSubscriptionLevelByRegionPager("westeurope", nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.AlertList = armsecurity.AlertList{
// Value: []*armsecurity.Alert{
// {
// Name: to.Ptr("2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a"),
// Type: to.Ptr("Microsoft.Security/Locations/alerts"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Security/locations/westeurope/alerts/2518770965529163669_F144EE95-A3E5-42DA-A279-967D115809AA"),
// Properties: &armsecurity.AlertProperties{
// Description: to.Ptr("This is a test alert generated by Azure Security Center. No further action is needed."),
// AlertDisplayName: to.Ptr("Azure Security Center test alert (not a threat)"),
// AlertType: to.Ptr("VM_EICAR"),
// AlertURI: to.Ptr("https://portal.azure.com/#blade/Microsoft_Azure_Security/AlertBlade/alertId/2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a/subscriptionId/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroup/myRg1/referencedFrom/alertDeepLink/location/westeurope"),
// CompromisedEntity: to.Ptr("vm1"),
// CorrelationKey: to.Ptr("kso0LFWxzCll5tqrk5hmrBJ+MY1BX806W6q6+0s9Lk="),
// EndTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-22T00:00:00.000Z"); return t}()),
// Entities: []*armsecurity.AlertEntity{
// {
// AdditionalProperties: map[string]any{
// "address": "192.0.2.1",
// "location": map[string]any{
// "asn": float64(6584),
// "city": "sonning",
// "countryCode": "gb",
// "latitude": float64(51.468),
// "longitude": float64(-0.909),
// "state": "wokingham",
// },
// },
// Type: to.Ptr("ip"),
// }},
// ExtendedLinks: []map[string]*string{
// map[string]*string{
// "Category": to.Ptr("threat_reports"),
// "Href": to.Ptr("https://contoso.com/reports/DisplayReport"),
// "Label": to.Ptr("Report: RDP Brute Forcing"),
// "Type": to.Ptr("webLink"),
// }},
// ExtendedProperties: map[string]*string{
// "Property1": to.Ptr("Property1 information"),
// },
// Intent: to.Ptr(armsecurity.IntentExecution),
// IsIncident: to.Ptr(true),
// ProcessingEndTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-23T13:47:58.920Z"); return t}()),
// ProductComponentName: to.Ptr("testName"),
// ProductName: to.Ptr("Azure Security Center"),
// RemediationSteps: []*string{
// to.Ptr("No further action is needed.")},
// ResourceIdentifiers: []armsecurity.ResourceIdentifierClassification{
// &armsecurity.AzureResourceIdentifier{
// Type: to.Ptr(armsecurity.ResourceIdentifierTypeAzureResource),
// AzureResourceID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1"),
// },
// &armsecurity.LogAnalyticsIdentifier{
// Type: to.Ptr(armsecurity.ResourceIdentifierTypeLogAnalytics),
// AgentID: to.Ptr("75724a01-f021-4aa8-9ec2-329792373e6e"),
// WorkspaceID: to.Ptr("f419f624-acad-4d89-b86d-f62fa387f019"),
// WorkspaceResourceGroup: to.Ptr("myRg1"),
// WorkspaceSubscriptionID: to.Ptr("20ff7fc3-e762-44dd-bd96-b71116dcdc23"),
// }},
// Severity: to.Ptr(armsecurity.AlertSeverityHigh),
// StartTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-22T00:00:00.000Z"); return t}()),
// Status: to.Ptr(armsecurity.AlertStatusActive),
// SubTechniques: []*string{
// to.Ptr("T1059.001"),
// to.Ptr("T1059.006"),
// to.Ptr("T1053.002")},
// SupportingEvidence: &armsecurity.AlertPropertiesSupportingEvidence{
// AdditionalProperties: map[string]any{
// "columns": []any{
// "Date",
// "Activity",
// "User",
// "TestedText",
// "TestedValue",
// },
// "rows": []any{
// []any{
// "2022-01-17T07:03:52.034Z",
// "Log on",
// "testUser",
// "false",
// false,
// },
// []any{
// "2022-01-17T07:03:52.034Z",
// "Log on",
// "testUser2",
// "false",
// false,
// },
// []any{
// "2022-01-17T07:03:52.034Z",
// "Log on",
// "testUser3",
// "true",
// true,
// },
// },
// "title": "Investigate activity test",
// },
// Type: to.Ptr("tabularEvidences"),
// },
// SystemAlertID: to.Ptr("2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a"),
// Techniques: []*string{
// to.Ptr("T1059"),
// to.Ptr("T1053"),
// to.Ptr("T1072")},
// TimeGeneratedUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-23T13:47:58.000Z"); return t}()),
// VendorName: to.Ptr("Microsoft"),
// Version: to.Ptr("2022-01-01"),
// },
// },
// {
// Name: to.Ptr("2518765996949954086_2325cf9e-42a2-4f72-ae7f-9b863cba2d22"),
// Type: to.Ptr("Microsoft.Security/Locations/alerts"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg2/providers/Microsoft.Security/locations/westeurope/alerts/2518765996949954086_2325cf9e-42a2-4f72-ae7f-9b863cba2d22"),
// Properties: &armsecurity.AlertProperties{
// Description: to.Ptr("The process ‘c:\\users\\contosoUser\\scrsave.scr’ was observed executing from an uncommon location. Files with the .scr extensions are screen saver files and are normally reside and execute from the Windows system directory."),
// AlertDisplayName: to.Ptr("Suspicious Screensaver process executed"),
// AlertType: to.Ptr("VM_SuspiciousScreenSaver"),
// AlertURI: to.Ptr("https://portal.azure.com/#blade/Microsoft_Azure_Security/AlertBlade/alertId/2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a/subscriptionId/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroup/myRg1/referencedFrom/alertDeepLink/location/westeurope"),
// CompromisedEntity: to.Ptr("vm2"),
// CorrelationKey: to.Ptr("4hno6LF0xzCl5tqrk4nrBW+MY1BX816W6q6+0srk4"),
// EndTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-05-07T13:51:45.004Z"); return t}()),
// Entities: []*armsecurity.AlertEntity{
// {
// AdditionalProperties: map[string]any{
// "OsVersion": nil,
// "azureID": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/myRg2/providers/microsoft.compute/virtualmachines/vm2",
// "dnsDomain": "",
// "hostName": "vm2",
// "netBiosName": "vm2",
// "ntDomain": "",
// "omsAgentID": "45b44640-3b94-4892-a28c-4a5cae27065a",
// "operatingSystem": "Unknown",
// },
// Type: to.Ptr("host"),
// },
// {
// AdditionalProperties: map[string]any{
// "name": "contosoUser",
// "logonId": "0x61450d87",
// "ntDomain": "vm2",
// "sid": "S-1-5-21-2144575486-8928446540-5163864319-500",
// },
// Type: to.Ptr("account"),
// },
// {
// AdditionalProperties: map[string]any{
// "name": "cmd.exe",
// "directory": "c:\\windows\\system32",
// },
// Type: to.Ptr("file"),
// },
// {
// AdditionalProperties: map[string]any{
// "processId": "0x3c44",
// },
// Type: to.Ptr("process"),
// },
// {
// AdditionalProperties: map[string]any{
// "name": "scrsave.scr",
// "directory": "c:\\users\\contosoUser",
// },
// Type: to.Ptr("file"),
// },
// {
// AdditionalProperties: map[string]any{
// "commandLine": "c:\\users\\contosoUser\\scrsave.scr",
// "creationTimeUtc": "2018-05-07T13:51:45.0045913Z",
// "processId": "0x4aec",
// },
// Type: to.Ptr("process"),
// }},
// ExtendedLinks: []map[string]*string{
// map[string]*string{
// "Category": to.Ptr("threat_reports"),
// "Href": to.Ptr("https://contoso.com/reports/DisplayReport"),
// "Label": to.Ptr("Report: RDP Brute Forcing"),
// "Type": to.Ptr("webLink"),
// }},
// ExtendedProperties: map[string]*string{
// "account logon id": to.Ptr("0x61450d87"),
// "command line": to.Ptr("c:\\users\\contosoUser\\scrsave.scr"),
// "domainName": to.Ptr("vm2"),
// "parent process": to.Ptr("cmd.exe"),
// "parent process id": to.Ptr("0x3c44"),
// "process id": to.Ptr("0x4aec"),
// "processName": to.Ptr("c:\\users\\contosoUser\\scrsave.scr"),
// "resourceType": to.Ptr("Virtual Machine"),
// "user SID": to.Ptr("S-1-5-21-2144575486-8928446540-5163864319-500"),
// "userName": to.Ptr("vm2\\contosoUser"),
// },
// Intent: to.Ptr(armsecurity.IntentExecution),
// IsIncident: to.Ptr(true),
// ProcessingEndTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-05-07T13:51:48.981Z"); return t}()),
// ProductComponentName: to.Ptr("testName2"),
// ProductName: to.Ptr("Azure Security Center"),
// RemediationSteps: []*string{
// to.Ptr("1. Run Process Explorer and try to identify unknown running processes (see https://technet.microsoft.com/en-us/sysinternals/bb896653.aspx)"),
// to.Ptr("2. Make sure the machine is completely updated and has an updated anti-malware application installed"),
// to.Ptr("3. Run a full anti-malware scan and verify that the threat was removed"),
// to.Ptr("4. Install and run Microsoft’s Malicious Software Removal Tool (see https://www.microsoft.com/en-us/download/malicious-software-removal-tool-details.aspx)"),
// to.Ptr("5. Run Microsoft’s Autoruns utility and try to identify unknown applications that are configured to run at login (see https://technet.microsoft.com/en-us/sysinternals/bb963902.aspx)"),
// to.Ptr("6. Escalate the alert to the information security team")},
// ResourceIdentifiers: []armsecurity.ResourceIdentifierClassification{
// &armsecurity.AzureResourceIdentifier{
// Type: to.Ptr(armsecurity.ResourceIdentifierTypeAzureResource),
// AzureResourceID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1"),
// },
// &armsecurity.LogAnalyticsIdentifier{
// Type: to.Ptr(armsecurity.ResourceIdentifierTypeLogAnalytics),
// AgentID: to.Ptr("75724a01-f021-4aa8-9ec2-329792373e6e"),
// WorkspaceID: to.Ptr("f419f624-acad-4d89-b86d-f62fa387f019"),
// WorkspaceResourceGroup: to.Ptr("myRg1"),
// WorkspaceSubscriptionID: to.Ptr("20ff7fc3-e762-44dd-bd96-b71116dcdc23"),
// }},
// Severity: to.Ptr(armsecurity.AlertSeverityMedium),
// StartTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-05-07T13:51:45.004Z"); return t}()),
// Status: to.Ptr(armsecurity.AlertStatusActive),
// SubTechniques: []*string{
// to.Ptr("T1059.001"),
// to.Ptr("T1059.006"),
// to.Ptr("T1053.002")},
// SupportingEvidence: &armsecurity.AlertPropertiesSupportingEvidence{
// AdditionalProperties: map[string]any{
// "supportingEvidenceList": []any{
// map[string]any{
// "type": "nestedList",
// "evidenceElements":[]any{
// map[string]any{
// "type": "evidenceElement",
// "innerElements": nil,
// "text":map[string]any{
// "arguments":map[string]any{
// "domainName":map[string]any{
// "type": "string",
// "value": "domainName",
// },
// "sensitiveEnumerationTypes":map[string]any{
// "type": "string[]",
// "value":[]any{
// "UseDesKey",
// },
// },
// },
// "fallback": "Actor enumerated UseDesKey on domain1.test.local",
// "localizationKey": "AATP_ALERTS_LDAP_SENSITIVE_ATTRIBUTE_RECONNAISSANCE_SECURITY_ALERT_EVIDENCE_ENUMERATION_DETAIL_A7C00BD7",
// },
// },
// },
// },
// map[string]any{
// "type": "tabularEvidences",
// "columns":[]any{
// "Date",
// "Activity",
// "User",
// "TestedText",
// "TestedValue",
// },
// "rows":[]any{
// []any{
// "2022-01-17T07:03:52.034Z",
// "Log on",
// "testUser",
// "false",
// false,
// },
// []any{
// "2022-01-17T07:03:52.034Z",
// "Log on",
// "testUser2",
// "false",
// false,
// },
// []any{
// "2022-01-17T07:03:52.034Z",
// "Log on",
// "testUser3",
// "true",
// true,
// },
// },
// "title": "Investigate activity test",
// },
// },
// },
// Type: to.Ptr("supportingEvidenceList"),
// },
// SystemAlertID: to.Ptr("2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a"),
// Techniques: []*string{
// to.Ptr("T1059"),
// to.Ptr("T1053"),
// to.Ptr("T1072")},
// TimeGeneratedUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-05-07T13:51:48.381Z"); return t}()),
// VendorName: to.Ptr("Microsoft"),
// Version: to.Ptr("2022-01-01"),
// },
// }},
// }
}
}
func (*AlertsClient) UpdateResourceGroupLevelStateToActivate ¶
func (client *AlertsClient) UpdateResourceGroupLevelStateToActivate(ctx context.Context, resourceGroupName string, ascLocation string, alertName string, options *AlertsClientUpdateResourceGroupLevelStateToActivateOptions) (AlertsClientUpdateResourceGroupLevelStateToActivateResponse, error)
UpdateResourceGroupLevelStateToActivate - Update the alert's state If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2022-01-01
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- ascLocation - The location where ASC stores the data of the subscription. can be retrieved from Get locations
- alertName - Name of the alert object
- options - AlertsClientUpdateResourceGroupLevelStateToActivateOptions contains the optional parameters for the AlertsClient.UpdateResourceGroupLevelStateToActivate method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2022-01-01/examples/Alerts/UpdateAlertResourceGroupLocation_activate_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewAlertsClient().UpdateResourceGroupLevelStateToActivate(ctx, "myRg2", "westeurope", "2518765996949954086_2325cf9e-42a2-4f72-ae7f-9b863cba2d22", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
}
func (*AlertsClient) UpdateResourceGroupLevelStateToDismiss ¶
func (client *AlertsClient) UpdateResourceGroupLevelStateToDismiss(ctx context.Context, resourceGroupName string, ascLocation string, alertName string, options *AlertsClientUpdateResourceGroupLevelStateToDismissOptions) (AlertsClientUpdateResourceGroupLevelStateToDismissResponse, error)
UpdateResourceGroupLevelStateToDismiss - Update the alert's state If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2022-01-01
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- ascLocation - The location where ASC stores the data of the subscription. can be retrieved from Get locations
- alertName - Name of the alert object
- options - AlertsClientUpdateResourceGroupLevelStateToDismissOptions contains the optional parameters for the AlertsClient.UpdateResourceGroupLevelStateToDismiss method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2022-01-01/examples/Alerts/UpdateAlertResourceGroupLocation_dismiss_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewAlertsClient().UpdateResourceGroupLevelStateToDismiss(ctx, "myRg2", "westeurope", "2518765996949954086_2325cf9e-42a2-4f72-ae7f-9b863cba2d22", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
}
func (*AlertsClient) UpdateResourceGroupLevelStateToInProgress ¶
func (client *AlertsClient) UpdateResourceGroupLevelStateToInProgress(ctx context.Context, resourceGroupName string, ascLocation string, alertName string, options *AlertsClientUpdateResourceGroupLevelStateToInProgressOptions) (AlertsClientUpdateResourceGroupLevelStateToInProgressResponse, error)
UpdateResourceGroupLevelStateToInProgress - Update the alert's state If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2022-01-01
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- ascLocation - The location where ASC stores the data of the subscription. can be retrieved from Get locations
- alertName - Name of the alert object
- options - AlertsClientUpdateResourceGroupLevelStateToInProgressOptions contains the optional parameters for the AlertsClient.UpdateResourceGroupLevelStateToInProgress method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2022-01-01/examples/Alerts/UpdateAlertResourceGroupLocation_inProgress_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewAlertsClient().UpdateResourceGroupLevelStateToInProgress(ctx, "myRg2", "westeurope", "2518765996949954086_2325cf9e-42a2-4f72-ae7f-9b863cba2d22", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
}
func (*AlertsClient) UpdateResourceGroupLevelStateToResolve ¶
func (client *AlertsClient) UpdateResourceGroupLevelStateToResolve(ctx context.Context, resourceGroupName string, ascLocation string, alertName string, options *AlertsClientUpdateResourceGroupLevelStateToResolveOptions) (AlertsClientUpdateResourceGroupLevelStateToResolveResponse, error)
UpdateResourceGroupLevelStateToResolve - Update the alert's state If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2022-01-01
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- ascLocation - The location where ASC stores the data of the subscription. can be retrieved from Get locations
- alertName - Name of the alert object
- options - AlertsClientUpdateResourceGroupLevelStateToResolveOptions contains the optional parameters for the AlertsClient.UpdateResourceGroupLevelStateToResolve method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2022-01-01/examples/Alerts/UpdateAlertResourceGroupLocation_resolve_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewAlertsClient().UpdateResourceGroupLevelStateToResolve(ctx, "myRg2", "westeurope", "2518765996949954086_2325cf9e-42a2-4f72-ae7f-9b863cba2d22", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
}
func (*AlertsClient) UpdateSubscriptionLevelStateToActivate ¶
func (client *AlertsClient) UpdateSubscriptionLevelStateToActivate(ctx context.Context, ascLocation string, alertName string, options *AlertsClientUpdateSubscriptionLevelStateToActivateOptions) (AlertsClientUpdateSubscriptionLevelStateToActivateResponse, error)
UpdateSubscriptionLevelStateToActivate - Update the alert's state If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2022-01-01
- ascLocation - The location where ASC stores the data of the subscription. can be retrieved from Get locations
- alertName - Name of the alert object
- options - AlertsClientUpdateSubscriptionLevelStateToActivateOptions contains the optional parameters for the AlertsClient.UpdateSubscriptionLevelStateToActivate method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2022-01-01/examples/Alerts/UpdateAlertSubscriptionLocation_activate_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewAlertsClient().UpdateSubscriptionLevelStateToActivate(ctx, "westeurope", "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
}
func (*AlertsClient) UpdateSubscriptionLevelStateToDismiss ¶
func (client *AlertsClient) UpdateSubscriptionLevelStateToDismiss(ctx context.Context, ascLocation string, alertName string, options *AlertsClientUpdateSubscriptionLevelStateToDismissOptions) (AlertsClientUpdateSubscriptionLevelStateToDismissResponse, error)
UpdateSubscriptionLevelStateToDismiss - Update the alert's state If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2022-01-01
- ascLocation - The location where ASC stores the data of the subscription. can be retrieved from Get locations
- alertName - Name of the alert object
- options - AlertsClientUpdateSubscriptionLevelStateToDismissOptions contains the optional parameters for the AlertsClient.UpdateSubscriptionLevelStateToDismiss method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2022-01-01/examples/Alerts/UpdateAlertSubscriptionLocation_dismiss_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewAlertsClient().UpdateSubscriptionLevelStateToDismiss(ctx, "westeurope", "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
}
func (*AlertsClient) UpdateSubscriptionLevelStateToInProgress ¶
func (client *AlertsClient) UpdateSubscriptionLevelStateToInProgress(ctx context.Context, ascLocation string, alertName string, options *AlertsClientUpdateSubscriptionLevelStateToInProgressOptions) (AlertsClientUpdateSubscriptionLevelStateToInProgressResponse, error)
UpdateSubscriptionLevelStateToInProgress - Update the alert's state If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2022-01-01
- ascLocation - The location where ASC stores the data of the subscription. can be retrieved from Get locations
- alertName - Name of the alert object
- options - AlertsClientUpdateSubscriptionLevelStateToInProgressOptions contains the optional parameters for the AlertsClient.UpdateSubscriptionLevelStateToInProgress method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2022-01-01/examples/Alerts/UpdateAlertSubscriptionLocation_inProgress_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewAlertsClient().UpdateSubscriptionLevelStateToInProgress(ctx, "westeurope", "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
}
func (*AlertsClient) UpdateSubscriptionLevelStateToResolve ¶
func (client *AlertsClient) UpdateSubscriptionLevelStateToResolve(ctx context.Context, ascLocation string, alertName string, options *AlertsClientUpdateSubscriptionLevelStateToResolveOptions) (AlertsClientUpdateSubscriptionLevelStateToResolveResponse, error)
UpdateSubscriptionLevelStateToResolve - Update the alert's state If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2022-01-01
- ascLocation - The location where ASC stores the data of the subscription. can be retrieved from Get locations
- alertName - Name of the alert object
- options - AlertsClientUpdateSubscriptionLevelStateToResolveOptions contains the optional parameters for the AlertsClient.UpdateSubscriptionLevelStateToResolve method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2022-01-01/examples/Alerts/UpdateAlertSubscriptionLocation_resolve_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewAlertsClient().UpdateSubscriptionLevelStateToResolve(ctx, "westeurope", "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
}
type AlertsClientBeginSimulateOptions ¶
type AlertsClientBeginSimulateOptions struct {
// Resumes the LRO from the provided token.
ResumeToken string
}
AlertsClientBeginSimulateOptions contains the optional parameters for the AlertsClient.BeginSimulate method.
type AlertsClientGetResourceGroupLevelOptions ¶
type AlertsClientGetResourceGroupLevelOptions struct {
}
AlertsClientGetResourceGroupLevelOptions contains the optional parameters for the AlertsClient.GetResourceGroupLevel method.
type AlertsClientGetResourceGroupLevelResponse ¶
type AlertsClientGetResourceGroupLevelResponse struct {
// Security alert
Alert
}
AlertsClientGetResourceGroupLevelResponse contains the response from method AlertsClient.GetResourceGroupLevel.
type AlertsClientGetSubscriptionLevelOptions ¶
type AlertsClientGetSubscriptionLevelOptions struct {
}
AlertsClientGetSubscriptionLevelOptions contains the optional parameters for the AlertsClient.GetSubscriptionLevel method.
type AlertsClientGetSubscriptionLevelResponse ¶
type AlertsClientGetSubscriptionLevelResponse struct {
// Security alert
Alert
}
AlertsClientGetSubscriptionLevelResponse contains the response from method AlertsClient.GetSubscriptionLevel.
type AlertsClientListByResourceGroupOptions ¶
type AlertsClientListByResourceGroupOptions struct {
}
AlertsClientListByResourceGroupOptions contains the optional parameters for the AlertsClient.NewListByResourceGroupPager method.
type AlertsClientListByResourceGroupResponse ¶
type AlertsClientListByResourceGroupResponse struct {
// List of security alerts
AlertList
}
AlertsClientListByResourceGroupResponse contains the response from method AlertsClient.NewListByResourceGroupPager.
type AlertsClientListOptions ¶
type AlertsClientListOptions struct {
}
AlertsClientListOptions contains the optional parameters for the AlertsClient.NewListPager method.
type AlertsClientListResourceGroupLevelByRegionOptions ¶
type AlertsClientListResourceGroupLevelByRegionOptions struct {
}
AlertsClientListResourceGroupLevelByRegionOptions contains the optional parameters for the AlertsClient.NewListResourceGroupLevelByRegionPager method.
type AlertsClientListResourceGroupLevelByRegionResponse ¶
type AlertsClientListResourceGroupLevelByRegionResponse struct {
// List of security alerts
AlertList
}
AlertsClientListResourceGroupLevelByRegionResponse contains the response from method AlertsClient.NewListResourceGroupLevelByRegionPager.
type AlertsClientListResponse ¶
type AlertsClientListResponse struct {
// List of security alerts
AlertList
}
AlertsClientListResponse contains the response from method AlertsClient.NewListPager.
type AlertsClientListSubscriptionLevelByRegionOptions ¶
type AlertsClientListSubscriptionLevelByRegionOptions struct {
}
AlertsClientListSubscriptionLevelByRegionOptions contains the optional parameters for the AlertsClient.NewListSubscriptionLevelByRegionPager method.
type AlertsClientListSubscriptionLevelByRegionResponse ¶
type AlertsClientListSubscriptionLevelByRegionResponse struct {
// List of security alerts
AlertList
}
AlertsClientListSubscriptionLevelByRegionResponse contains the response from method AlertsClient.NewListSubscriptionLevelByRegionPager.
type AlertsClientSimulateResponse ¶
type AlertsClientSimulateResponse struct {
}
AlertsClientSimulateResponse contains the response from method AlertsClient.BeginSimulate.
type AlertsClientUpdateResourceGroupLevelStateToActivateOptions ¶
type AlertsClientUpdateResourceGroupLevelStateToActivateOptions struct {
}
AlertsClientUpdateResourceGroupLevelStateToActivateOptions contains the optional parameters for the AlertsClient.UpdateResourceGroupLevelStateToActivate method.
type AlertsClientUpdateResourceGroupLevelStateToActivateResponse ¶
type AlertsClientUpdateResourceGroupLevelStateToActivateResponse struct {
}
AlertsClientUpdateResourceGroupLevelStateToActivateResponse contains the response from method AlertsClient.UpdateResourceGroupLevelStateToActivate.
type AlertsClientUpdateResourceGroupLevelStateToDismissOptions ¶
type AlertsClientUpdateResourceGroupLevelStateToDismissOptions struct {
}
AlertsClientUpdateResourceGroupLevelStateToDismissOptions contains the optional parameters for the AlertsClient.UpdateResourceGroupLevelStateToDismiss method.
type AlertsClientUpdateResourceGroupLevelStateToDismissResponse ¶
type AlertsClientUpdateResourceGroupLevelStateToDismissResponse struct {
}
AlertsClientUpdateResourceGroupLevelStateToDismissResponse contains the response from method AlertsClient.UpdateResourceGroupLevelStateToDismiss.
type AlertsClientUpdateResourceGroupLevelStateToInProgressOptions ¶
type AlertsClientUpdateResourceGroupLevelStateToInProgressOptions struct {
}
AlertsClientUpdateResourceGroupLevelStateToInProgressOptions contains the optional parameters for the AlertsClient.UpdateResourceGroupLevelStateToInProgress method.
type AlertsClientUpdateResourceGroupLevelStateToInProgressResponse ¶
type AlertsClientUpdateResourceGroupLevelStateToInProgressResponse struct {
}
AlertsClientUpdateResourceGroupLevelStateToInProgressResponse contains the response from method AlertsClient.UpdateResourceGroupLevelStateToInProgress.
type AlertsClientUpdateResourceGroupLevelStateToResolveOptions ¶
type AlertsClientUpdateResourceGroupLevelStateToResolveOptions struct {
}
AlertsClientUpdateResourceGroupLevelStateToResolveOptions contains the optional parameters for the AlertsClient.UpdateResourceGroupLevelStateToResolve method.
type AlertsClientUpdateResourceGroupLevelStateToResolveResponse ¶
type AlertsClientUpdateResourceGroupLevelStateToResolveResponse struct {
}
AlertsClientUpdateResourceGroupLevelStateToResolveResponse contains the response from method AlertsClient.UpdateResourceGroupLevelStateToResolve.
type AlertsClientUpdateSubscriptionLevelStateToActivateOptions ¶
type AlertsClientUpdateSubscriptionLevelStateToActivateOptions struct {
}
AlertsClientUpdateSubscriptionLevelStateToActivateOptions contains the optional parameters for the AlertsClient.UpdateSubscriptionLevelStateToActivate method.
type AlertsClientUpdateSubscriptionLevelStateToActivateResponse ¶
type AlertsClientUpdateSubscriptionLevelStateToActivateResponse struct {
}
AlertsClientUpdateSubscriptionLevelStateToActivateResponse contains the response from method AlertsClient.UpdateSubscriptionLevelStateToActivate.
type AlertsClientUpdateSubscriptionLevelStateToDismissOptions ¶
type AlertsClientUpdateSubscriptionLevelStateToDismissOptions struct {
}
AlertsClientUpdateSubscriptionLevelStateToDismissOptions contains the optional parameters for the AlertsClient.UpdateSubscriptionLevelStateToDismiss method.
type AlertsClientUpdateSubscriptionLevelStateToDismissResponse ¶
type AlertsClientUpdateSubscriptionLevelStateToDismissResponse struct {
}
AlertsClientUpdateSubscriptionLevelStateToDismissResponse contains the response from method AlertsClient.UpdateSubscriptionLevelStateToDismiss.
type AlertsClientUpdateSubscriptionLevelStateToInProgressOptions ¶
type AlertsClientUpdateSubscriptionLevelStateToInProgressOptions struct {
}
AlertsClientUpdateSubscriptionLevelStateToInProgressOptions contains the optional parameters for the AlertsClient.UpdateSubscriptionLevelStateToInProgress method.
type AlertsClientUpdateSubscriptionLevelStateToInProgressResponse ¶
type AlertsClientUpdateSubscriptionLevelStateToInProgressResponse struct {
}
AlertsClientUpdateSubscriptionLevelStateToInProgressResponse contains the response from method AlertsClient.UpdateSubscriptionLevelStateToInProgress.
type AlertsClientUpdateSubscriptionLevelStateToResolveOptions ¶
type AlertsClientUpdateSubscriptionLevelStateToResolveOptions struct {
}
AlertsClientUpdateSubscriptionLevelStateToResolveOptions contains the optional parameters for the AlertsClient.UpdateSubscriptionLevelStateToResolve method.
type AlertsClientUpdateSubscriptionLevelStateToResolveResponse ¶
type AlertsClientUpdateSubscriptionLevelStateToResolveResponse struct {
}
AlertsClientUpdateSubscriptionLevelStateToResolveResponse contains the response from method AlertsClient.UpdateSubscriptionLevelStateToResolve.
type AlertsSuppressionRule ¶
type AlertsSuppressionRule struct {
// describes AlertsSuppressionRule properties
Properties *AlertsSuppressionRuleProperties
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Resource type
Type *string
}
AlertsSuppressionRule - Describes the suppression rule
func (AlertsSuppressionRule) MarshalJSON ¶
func (a AlertsSuppressionRule) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AlertsSuppressionRule.
func (*AlertsSuppressionRule) UnmarshalJSON ¶
func (a *AlertsSuppressionRule) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AlertsSuppressionRule.
type AlertsSuppressionRuleProperties ¶
type AlertsSuppressionRuleProperties struct {
// REQUIRED; Type of the alert to automatically suppress. For all alert types, use '*'
AlertType *string
// REQUIRED; The reason for dismissing the alert
Reason *string
// REQUIRED; Possible states of the rule
State *RuleState
// Any comment regarding the rule
Comment *string
// Expiration date of the rule, if value is not provided or provided as null there will no expiration at all
ExpirationDateUTC *time.Time
// The suppression conditions
SuppressionAlertsScope *SuppressionAlertsScope
// READ-ONLY; The last time this rule was modified
LastModifiedUTC *time.Time
}
AlertsSuppressionRuleProperties - describes AlertsSuppressionRule properties
func (AlertsSuppressionRuleProperties) MarshalJSON ¶
func (a AlertsSuppressionRuleProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AlertsSuppressionRuleProperties.
func (*AlertsSuppressionRuleProperties) UnmarshalJSON ¶
func (a *AlertsSuppressionRuleProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AlertsSuppressionRuleProperties.
type AlertsSuppressionRulesClient ¶
type AlertsSuppressionRulesClient struct {
// contains filtered or unexported fields
}
AlertsSuppressionRulesClient contains the methods for the AlertsSuppressionRules group. Don't use this type directly, use NewAlertsSuppressionRulesClient() instead.
func NewAlertsSuppressionRulesClient ¶
func NewAlertsSuppressionRulesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*AlertsSuppressionRulesClient, error)
NewAlertsSuppressionRulesClient creates a new instance of AlertsSuppressionRulesClient with the specified values.
- subscriptionID - Azure subscription ID
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*AlertsSuppressionRulesClient) Delete ¶
func (client *AlertsSuppressionRulesClient) Delete(ctx context.Context, alertsSuppressionRuleName string, options *AlertsSuppressionRulesClientDeleteOptions) (AlertsSuppressionRulesClientDeleteResponse, error)
Delete - Delete dismiss alert rule for this subscription. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2019-01-01-preview
- alertsSuppressionRuleName - The unique name of the suppression alert rule
- options - AlertsSuppressionRulesClientDeleteOptions contains the optional parameters for the AlertsSuppressionRulesClient.Delete method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/AlertsSuppressionRules/DeleteAlertsSuppressionRule_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewAlertsSuppressionRulesClient().Delete(ctx, "dismissIpAnomalyAlerts", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
}
func (*AlertsSuppressionRulesClient) Get ¶
func (client *AlertsSuppressionRulesClient) Get(ctx context.Context, alertsSuppressionRuleName string, options *AlertsSuppressionRulesClientGetOptions) (AlertsSuppressionRulesClientGetResponse, error)
Get - Get dismiss rule, with name: {alertsSuppressionRuleName}, for the given subscription If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2019-01-01-preview
- alertsSuppressionRuleName - The unique name of the suppression alert rule
- options - AlertsSuppressionRulesClientGetOptions contains the optional parameters for the AlertsSuppressionRulesClient.Get method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/AlertsSuppressionRules/GetAlertsSuppressionRule_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewAlertsSuppressionRulesClient().Get(ctx, "dismissIpAnomalyAlerts", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.AlertsSuppressionRule = armsecurity.AlertsSuppressionRule{
// Name: to.Ptr("dismissIpAnomalyAlerts"),
// Type: to.Ptr("Microsoft.Security/alertsSuppressionRules"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/alertsSuppressionRules/dismissIpAnomalyAlerts"),
// Properties: &armsecurity.AlertsSuppressionRuleProperties{
// AlertType: to.Ptr("IpAnomaly"),
// Comment: to.Ptr("Test VM"),
// ExpirationDateUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-12-01T19:50:47.083Z"); return t}()),
// LastModifiedUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-31T19:50:47.083Z"); return t}()),
// Reason: to.Ptr("FalsePositive"),
// State: to.Ptr(armsecurity.RuleStateEnabled),
// SuppressionAlertsScope: &armsecurity.SuppressionAlertsScope{
// AllOf: []*armsecurity.ScopeElement{
// {
// AdditionalProperties: map[string]any{
// "in": []any{
// "104.215.95.187",
// "52.164.206.56",
// },
// },
// Field: to.Ptr("entities.ip.address"),
// },
// {
// AdditionalProperties: map[string]any{
// "contains": "POWERSHELL.EXE",
// },
// Field: to.Ptr("entities.process.commandline"),
// }},
// },
// },
// }
}
func (*AlertsSuppressionRulesClient) NewListPager ¶
func (client *AlertsSuppressionRulesClient) NewListPager(options *AlertsSuppressionRulesClientListOptions) *runtime.Pager[AlertsSuppressionRulesClientListResponse]
NewListPager - List of all the dismiss rules for the given subscription
Generated from API version 2019-01-01-preview
- options - AlertsSuppressionRulesClientListOptions contains the optional parameters for the AlertsSuppressionRulesClient.NewListPager method.
Example (GetSuppressionAlertRuleForSubscriptionFilteredByAlertType) ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/AlertsSuppressionRules/GetAlertsSuppressionRulesWithAlertType_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewAlertsSuppressionRulesClient().NewListPager(&armsecurity.AlertsSuppressionRulesClientListOptions{AlertType: nil})
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.AlertsSuppressionRulesList = armsecurity.AlertsSuppressionRulesList{
// Value: []*armsecurity.AlertsSuppressionRule{
// {
// Name: to.Ptr("dismissIpAnomalyAlerts"),
// Type: to.Ptr("Microsoft.Security/alertsSuppressionRules"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/alertsSuppressionRules/dismissIpAnomalyAlerts"),
// Properties: &armsecurity.AlertsSuppressionRuleProperties{
// AlertType: to.Ptr("IpAnomaly"),
// Comment: to.Ptr("Test VM"),
// ExpirationDateUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-12-01T19:50:47.083Z"); return t}()),
// LastModifiedUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-31T19:50:47.083Z"); return t}()),
// Reason: to.Ptr("FalsePositive"),
// State: to.Ptr(armsecurity.RuleStateEnabled),
// SuppressionAlertsScope: &armsecurity.SuppressionAlertsScope{
// AllOf: []*armsecurity.ScopeElement{
// {
// AdditionalProperties: map[string]any{
// "in": []any{
// "104.215.95.187",
// "52.164.206.56",
// },
// },
// Field: to.Ptr("entities.ip.address"),
// },
// {
// AdditionalProperties: map[string]any{
// "contains": "POWERSHELL.EXE",
// },
// Field: to.Ptr("entities.process.commandline"),
// }},
// },
// },
// }},
// }
}
}
Example (GetSuppressionRulesForSubscription) ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/AlertsSuppressionRules/GetAlertsSuppressionRules_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewAlertsSuppressionRulesClient().NewListPager(&armsecurity.AlertsSuppressionRulesClientListOptions{AlertType: nil})
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.AlertsSuppressionRulesList = armsecurity.AlertsSuppressionRulesList{
// Value: []*armsecurity.AlertsSuppressionRule{
// {
// Name: to.Ptr("dismissIpAnomalyAlerts"),
// Type: to.Ptr("Microsoft.Security/alertsSuppressionRules"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/alertsSuppressionRules/dismissIpAnomalyAlerts"),
// Properties: &armsecurity.AlertsSuppressionRuleProperties{
// AlertType: to.Ptr("IpAnomaly"),
// Comment: to.Ptr("Test VM"),
// ExpirationDateUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-12-01T19:50:47.083Z"); return t}()),
// LastModifiedUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-31T19:50:47.083Z"); return t}()),
// Reason: to.Ptr("FalsePositive"),
// State: to.Ptr(armsecurity.RuleStateEnabled),
// SuppressionAlertsScope: &armsecurity.SuppressionAlertsScope{
// AllOf: []*armsecurity.ScopeElement{
// {
// AdditionalProperties: map[string]any{
// "in": []any{
// "104.215.95.187",
// "52.164.206.56",
// },
// },
// Field: to.Ptr("entities.ip.address"),
// },
// {
// AdditionalProperties: map[string]any{
// "contains": "POWERSHELL.EXE",
// },
// Field: to.Ptr("entities.process.commandline"),
// }},
// },
// },
// },
// {
// Name: to.Ptr("dismissDataExfiltrationAnomalyAlertsOnTestVMs"),
// Type: to.Ptr("Microsoft.Security/alertsSuppressionRules"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/alertsSuppressionRules/dismissDataExfiltrationAnomalyAlertsOnTestVMs"),
// Properties: &armsecurity.AlertsSuppressionRuleProperties{
// AlertType: to.Ptr("DataExfiltrationAnomaly"),
// ExpirationDateUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-12-01T19:50:47.083Z"); return t}()),
// LastModifiedUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-31T19:50:47.083Z"); return t}()),
// Reason: to.Ptr("FalsePositive"),
// State: to.Ptr(armsecurity.RuleStateEnabled),
// },
// }},
// }
}
}
func (*AlertsSuppressionRulesClient) Update ¶
func (client *AlertsSuppressionRulesClient) Update(ctx context.Context, alertsSuppressionRuleName string, alertsSuppressionRule AlertsSuppressionRule, options *AlertsSuppressionRulesClientUpdateOptions) (AlertsSuppressionRulesClientUpdateResponse, error)
Update - Update existing rule or create new rule if it doesn't exist If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2019-01-01-preview
- alertsSuppressionRuleName - The unique name of the suppression alert rule
- alertsSuppressionRule - Suppression rule object
- options - AlertsSuppressionRulesClientUpdateOptions contains the optional parameters for the AlertsSuppressionRulesClient.Update method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/AlertsSuppressionRules/PutAlertsSuppressionRule_example.json
package main
import (
"context"
"log"
"time"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewAlertsSuppressionRulesClient().Update(ctx, "dismissIpAnomalyAlerts", armsecurity.AlertsSuppressionRule{
Properties: &armsecurity.AlertsSuppressionRuleProperties{
AlertType: to.Ptr("IpAnomaly"),
Comment: to.Ptr("Test VM"),
ExpirationDateUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-12-01T19:50:47.083Z"); return t }()),
Reason: to.Ptr("FalsePositive"),
State: to.Ptr(armsecurity.RuleStateEnabled),
SuppressionAlertsScope: &armsecurity.SuppressionAlertsScope{
AllOf: []*armsecurity.ScopeElement{
{
AdditionalProperties: map[string]any{
"in": []any{
"104.215.95.187",
"52.164.206.56",
},
},
Field: to.Ptr("entities.ip.address"),
},
{
AdditionalProperties: map[string]any{
"contains": "POWERSHELL.EXE",
},
Field: to.Ptr("entities.process.commandline"),
}},
},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.AlertsSuppressionRule = armsecurity.AlertsSuppressionRule{
// Name: to.Ptr("dismissIpAnomalyAlerts"),
// Type: to.Ptr("Microsoft.Security/alertsSuppressionRules"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/alertsSuppressionRules/dismissIpAnomalyAlerts"),
// Properties: &armsecurity.AlertsSuppressionRuleProperties{
// AlertType: to.Ptr("IpAnomaly"),
// Comment: to.Ptr("Test VM"),
// ExpirationDateUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-12-01T19:50:47.083Z"); return t}()),
// LastModifiedUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-31T19:50:47.083Z"); return t}()),
// Reason: to.Ptr("FalsePositive"),
// State: to.Ptr(armsecurity.RuleStateEnabled),
// SuppressionAlertsScope: &armsecurity.SuppressionAlertsScope{
// AllOf: []*armsecurity.ScopeElement{
// {
// AdditionalProperties: map[string]any{
// "in": []any{
// "104.215.95.187",
// "52.164.206.56",
// },
// },
// Field: to.Ptr("entities.ip.address"),
// },
// {
// AdditionalProperties: map[string]any{
// "contains": "POWERSHELL.EXE",
// },
// Field: to.Ptr("entities.process.commandline"),
// }},
// },
// },
// }
}
type AlertsSuppressionRulesClientDeleteOptions ¶
type AlertsSuppressionRulesClientDeleteOptions struct {
}
AlertsSuppressionRulesClientDeleteOptions contains the optional parameters for the AlertsSuppressionRulesClient.Delete method.
type AlertsSuppressionRulesClientDeleteResponse ¶
type AlertsSuppressionRulesClientDeleteResponse struct {
}
AlertsSuppressionRulesClientDeleteResponse contains the response from method AlertsSuppressionRulesClient.Delete.
type AlertsSuppressionRulesClientGetOptions ¶
type AlertsSuppressionRulesClientGetOptions struct {
}
AlertsSuppressionRulesClientGetOptions contains the optional parameters for the AlertsSuppressionRulesClient.Get method.
type AlertsSuppressionRulesClientGetResponse ¶
type AlertsSuppressionRulesClientGetResponse struct {
// Describes the suppression rule
AlertsSuppressionRule
}
AlertsSuppressionRulesClientGetResponse contains the response from method AlertsSuppressionRulesClient.Get.
type AlertsSuppressionRulesClientListOptions ¶
type AlertsSuppressionRulesClientListOptions struct {
// Type of the alert to get rules for
AlertType *string
}
AlertsSuppressionRulesClientListOptions contains the optional parameters for the AlertsSuppressionRulesClient.NewListPager method.
type AlertsSuppressionRulesClientListResponse ¶
type AlertsSuppressionRulesClientListResponse struct {
// Suppression rules list for subscription.
AlertsSuppressionRulesList
}
AlertsSuppressionRulesClientListResponse contains the response from method AlertsSuppressionRulesClient.NewListPager.
type AlertsSuppressionRulesClientUpdateOptions ¶
type AlertsSuppressionRulesClientUpdateOptions struct {
}
AlertsSuppressionRulesClientUpdateOptions contains the optional parameters for the AlertsSuppressionRulesClient.Update method.
type AlertsSuppressionRulesClientUpdateResponse ¶
type AlertsSuppressionRulesClientUpdateResponse struct {
// Describes the suppression rule
AlertsSuppressionRule
}
AlertsSuppressionRulesClientUpdateResponse contains the response from method AlertsSuppressionRulesClient.Update.
type AlertsSuppressionRulesList ¶
type AlertsSuppressionRulesList struct {
// REQUIRED
Value []*AlertsSuppressionRule
// READ-ONLY; URI to fetch the next page.
NextLink *string
}
AlertsSuppressionRulesList - Suppression rules list for subscription.
func (AlertsSuppressionRulesList) MarshalJSON ¶
func (a AlertsSuppressionRulesList) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AlertsSuppressionRulesList.
func (*AlertsSuppressionRulesList) UnmarshalJSON ¶
func (a *AlertsSuppressionRulesList) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AlertsSuppressionRulesList.
type AllowedConnectionsClient ¶
type AllowedConnectionsClient struct {
// contains filtered or unexported fields
}
AllowedConnectionsClient contains the methods for the AllowedConnections group. Don't use this type directly, use NewAllowedConnectionsClient() instead.
func NewAllowedConnectionsClient ¶
func NewAllowedConnectionsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*AllowedConnectionsClient, error)
NewAllowedConnectionsClient creates a new instance of AllowedConnectionsClient with the specified values.
- subscriptionID - Azure subscription ID
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*AllowedConnectionsClient) Get ¶
func (client *AllowedConnectionsClient) Get(ctx context.Context, resourceGroupName string, ascLocation string, connectionType ConnectionType, options *AllowedConnectionsClientGetOptions) (AllowedConnectionsClientGetResponse, error)
Get - Gets the list of all possible traffic between resources for the subscription and location, based on connection type. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2020-01-01
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- ascLocation - The location where ASC stores the data of the subscription. can be retrieved from Get locations
- connectionType - The type of allowed connections (Internal, External)
- options - AllowedConnectionsClientGetOptions contains the optional parameters for the AllowedConnectionsClient.Get method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/AllowedConnections/GetAllowedConnections_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewAllowedConnectionsClient().Get(ctx, "myResourceGroup", "centralus", armsecurity.ConnectionTypeInternal, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.AllowedConnectionsResource = armsecurity.AllowedConnectionsResource{
// Location: to.Ptr("centralus"),
// Name: to.Ptr("Internal"),
// Type: to.Ptr("Microsoft.Security/locations/allowedConnections"),
// ID: to.Ptr("/subscriptions/3eeab341-f466-499c-a8be-85427e154baf/resourceGroups/myResourceGroup/providers/Microsoft.Security/locations/centralus/allowedConnections/Internal"),
// Properties: &armsecurity.AllowedConnectionsResourceProperties{
// CalculatedDateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-08-06T14:55:32.351Z"); return t}()),
// ConnectableResources: []*armsecurity.ConnectableResource{
// {
// ID: to.Ptr("/subscriptions/3eeab341-f466-499c-a8be-85427e154baf/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/virtaulMachine1"),
// InboundConnectedResources: []*armsecurity.ConnectedResource{
// {
// ConnectedResourceID: to.Ptr("/subscriptions/3eeab341-f466-499c-a8be-85427e154baf/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/virtaulMachine2"),
// TCPPorts: to.Ptr("[0-21,23-3388,3390-5984,5987-65535]"),
// UDPPorts: to.Ptr("[0-21,23-3388,3390-5984,5987-65535]"),
// }},
// OutboundConnectedResources: []*armsecurity.ConnectedResource{
// {
// ConnectedResourceID: to.Ptr("/subscriptions/3eeab341-f466-499c-a8be-85427e154baf/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/virtaulMachine2"),
// TCPPorts: to.Ptr("[0-21,23-3388,3390-5984,5987-65535]"),
// UDPPorts: to.Ptr("[0-21,23-3388,3390-5984,5987-65535]"),
// }},
// },
// {
// ID: to.Ptr("/subscriptions/3eeab341-f466-499c-a8be-85427e154baf/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/virtaulMachine2"),
// InboundConnectedResources: []*armsecurity.ConnectedResource{
// {
// ConnectedResourceID: to.Ptr("/subscriptions/3eeab341-f466-499c-a8be-85427e154baf/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/virtaulMachine1"),
// TCPPorts: to.Ptr("[0-21,23-3388,3390-5984,5987-65535]"),
// UDPPorts: to.Ptr("[0-21,23-3388,3390-5984,5987-65535]"),
// }},
// OutboundConnectedResources: []*armsecurity.ConnectedResource{
// {
// ConnectedResourceID: to.Ptr("/subscriptions/3eeab341-f466-499c-a8be-85427e154baf/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/virtaulMachine1"),
// TCPPorts: to.Ptr("[0-21,23-3388,3390-5984,5987-65535]"),
// UDPPorts: to.Ptr("[0-21,23-3388,3390-5984,5987-65535]"),
// }},
// },
// {
// ID: to.Ptr("/subscriptions/3eeab341-f466-499c-a8be-85427e154baf/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/virtaulMachine3"),
// InboundConnectedResources: []*armsecurity.ConnectedResource{
// },
// OutboundConnectedResources: []*armsecurity.ConnectedResource{
// },
// }},
// },
// }
}
func (*AllowedConnectionsClient) NewListByHomeRegionPager ¶
func (client *AllowedConnectionsClient) NewListByHomeRegionPager(ascLocation string, options *AllowedConnectionsClientListByHomeRegionOptions) *runtime.Pager[AllowedConnectionsClientListByHomeRegionResponse]
NewListByHomeRegionPager - Gets the list of all possible traffic between resources for the subscription and location.
Generated from API version 2020-01-01
- ascLocation - The location where ASC stores the data of the subscription. can be retrieved from Get locations
- options - AllowedConnectionsClientListByHomeRegionOptions contains the optional parameters for the AllowedConnectionsClient.NewListByHomeRegionPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/AllowedConnections/GetAllowedConnectionsSubscriptionLocation_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewAllowedConnectionsClient().NewListByHomeRegionPager("centralus", nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.AllowedConnectionsList = armsecurity.AllowedConnectionsList{
// Value: []*armsecurity.AllowedConnectionsResource{
// {
// Location: to.Ptr("centralus"),
// Name: to.Ptr("Internal"),
// Type: to.Ptr("Microsoft.Security/locations/allowedConnections"),
// ID: to.Ptr("/subscriptions/3eeab341-f466-499c-a8be-85427e154baf/resourceGroups/myResourceGroup/providers/Microsoft.Security/locations/centralus/allowedConnections/Internal"),
// Properties: &armsecurity.AllowedConnectionsResourceProperties{
// CalculatedDateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-08-06T14:55:32.351Z"); return t}()),
// ConnectableResources: []*armsecurity.ConnectableResource{
// {
// ID: to.Ptr("/subscriptions/3eeab341-f466-499c-a8be-85427e154baf/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/virtaulMachine1"),
// InboundConnectedResources: []*armsecurity.ConnectedResource{
// {
// ConnectedResourceID: to.Ptr("/subscriptions/3eeab341-f466-499c-a8be-85427e154baf/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/virtaulMachine2"),
// TCPPorts: to.Ptr("[0-21,23-3388,3390-5984,5987-65535]"),
// UDPPorts: to.Ptr("[0-21,23-3388,3390-5984,5987-65535]"),
// }},
// OutboundConnectedResources: []*armsecurity.ConnectedResource{
// {
// ConnectedResourceID: to.Ptr("/subscriptions/3eeab341-f466-499c-a8be-85427e154baf/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/virtaulMachine2"),
// TCPPorts: to.Ptr("[0-21,23-3388,3390-5984,5987-65535]"),
// UDPPorts: to.Ptr("[0-21,23-3388,3390-5984,5987-65535]"),
// }},
// },
// {
// ID: to.Ptr("/subscriptions/3eeab341-f466-499c-a8be-85427e154baf/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/virtaulMachine2"),
// InboundConnectedResources: []*armsecurity.ConnectedResource{
// {
// ConnectedResourceID: to.Ptr("/subscriptions/3eeab341-f466-499c-a8be-85427e154baf/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/virtaulMachine1"),
// TCPPorts: to.Ptr("[0-21,23-3388,3390-5984,5987-65535]"),
// UDPPorts: to.Ptr("[0-21,23-3388,3390-5984,5987-65535]"),
// }},
// OutboundConnectedResources: []*armsecurity.ConnectedResource{
// {
// ConnectedResourceID: to.Ptr("/subscriptions/3eeab341-f466-499c-a8be-85427e154baf/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/virtaulMachine1"),
// TCPPorts: to.Ptr("[0-21,23-3388,3390-5984,5987-65535]"),
// UDPPorts: to.Ptr("[0-21,23-3388,3390-5984,5987-65535]"),
// }},
// },
// {
// ID: to.Ptr("/subscriptions/3eeab341-f466-499c-a8be-85427e154baf/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/virtaulMachine3"),
// InboundConnectedResources: []*armsecurity.ConnectedResource{
// },
// OutboundConnectedResources: []*armsecurity.ConnectedResource{
// },
// }},
// },
// }},
// }
}
}
func (*AllowedConnectionsClient) NewListPager ¶
func (client *AllowedConnectionsClient) NewListPager(options *AllowedConnectionsClientListOptions) *runtime.Pager[AllowedConnectionsClientListResponse]
NewListPager - Gets the list of all possible traffic between resources for the subscription
Generated from API version 2020-01-01
- options - AllowedConnectionsClientListOptions contains the optional parameters for the AllowedConnectionsClient.NewListPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/AllowedConnections/GetAllowedConnectionsSubscription_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewAllowedConnectionsClient().NewListPager(nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.AllowedConnectionsList = armsecurity.AllowedConnectionsList{
// Value: []*armsecurity.AllowedConnectionsResource{
// {
// Location: to.Ptr("centralus"),
// Name: to.Ptr("Internal"),
// Type: to.Ptr("Microsoft.Security/locations/allowedConnections"),
// ID: to.Ptr("/subscriptions/3eeab341-f466-499c-a8be-85427e154baf/resourceGroups/myResourceGroup/providers/Microsoft.Security/locations/centralus/allowedConnections/Internal"),
// Properties: &armsecurity.AllowedConnectionsResourceProperties{
// CalculatedDateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-08-06T14:55:32.351Z"); return t}()),
// ConnectableResources: []*armsecurity.ConnectableResource{
// {
// ID: to.Ptr("/subscriptions/3eeab341-f466-499c-a8be-85427e154baf/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/virtaulMachine1"),
// InboundConnectedResources: []*armsecurity.ConnectedResource{
// {
// ConnectedResourceID: to.Ptr("/subscriptions/3eeab341-f466-499c-a8be-85427e154baf/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/virtaulMachine2"),
// TCPPorts: to.Ptr("[0-21,23-3388,3390-5984,5987-65535]"),
// UDPPorts: to.Ptr("[0-21,23-3388,3390-5984,5987-65535]"),
// }},
// OutboundConnectedResources: []*armsecurity.ConnectedResource{
// {
// ConnectedResourceID: to.Ptr("/subscriptions/3eeab341-f466-499c-a8be-85427e154baf/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/virtaulMachine2"),
// TCPPorts: to.Ptr("[0-21,23-3388,3390-5984,5987-65535]"),
// UDPPorts: to.Ptr("[0-21,23-3388,3390-5984,5987-65535]"),
// }},
// },
// {
// ID: to.Ptr("/subscriptions/3eeab341-f466-499c-a8be-85427e154baf/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/virtaulMachine2"),
// InboundConnectedResources: []*armsecurity.ConnectedResource{
// {
// ConnectedResourceID: to.Ptr("/subscriptions/3eeab341-f466-499c-a8be-85427e154baf/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/virtaulMachine1"),
// TCPPorts: to.Ptr("[0-21,23-3388,3390-5984,5987-65535]"),
// UDPPorts: to.Ptr("[0-21,23-3388,3390-5984,5987-65535]"),
// }},
// OutboundConnectedResources: []*armsecurity.ConnectedResource{
// {
// ConnectedResourceID: to.Ptr("/subscriptions/3eeab341-f466-499c-a8be-85427e154baf/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/virtaulMachine1"),
// TCPPorts: to.Ptr("[0-21,23-3388,3390-5984,5987-65535]"),
// UDPPorts: to.Ptr("[0-21,23-3388,3390-5984,5987-65535]"),
// }},
// },
// {
// ID: to.Ptr("/subscriptions/3eeab341-f466-499c-a8be-85427e154baf/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/virtaulMachine3"),
// InboundConnectedResources: []*armsecurity.ConnectedResource{
// },
// OutboundConnectedResources: []*armsecurity.ConnectedResource{
// },
// }},
// },
// }},
// }
}
}
type AllowedConnectionsClientGetOptions ¶
type AllowedConnectionsClientGetOptions struct {
}
AllowedConnectionsClientGetOptions contains the optional parameters for the AllowedConnectionsClient.Get method.
type AllowedConnectionsClientGetResponse ¶
type AllowedConnectionsClientGetResponse struct {
// The resource whose properties describes the allowed traffic between Azure resources
AllowedConnectionsResource
}
AllowedConnectionsClientGetResponse contains the response from method AllowedConnectionsClient.Get.
type AllowedConnectionsClientListByHomeRegionOptions ¶
type AllowedConnectionsClientListByHomeRegionOptions struct {
}
AllowedConnectionsClientListByHomeRegionOptions contains the optional parameters for the AllowedConnectionsClient.NewListByHomeRegionPager method.
type AllowedConnectionsClientListByHomeRegionResponse ¶
type AllowedConnectionsClientListByHomeRegionResponse struct {
// List of all possible traffic between Azure resources
AllowedConnectionsList
}
AllowedConnectionsClientListByHomeRegionResponse contains the response from method AllowedConnectionsClient.NewListByHomeRegionPager.
type AllowedConnectionsClientListOptions ¶
type AllowedConnectionsClientListOptions struct {
}
AllowedConnectionsClientListOptions contains the optional parameters for the AllowedConnectionsClient.NewListPager method.
type AllowedConnectionsClientListResponse ¶
type AllowedConnectionsClientListResponse struct {
// List of all possible traffic between Azure resources
AllowedConnectionsList
}
AllowedConnectionsClientListResponse contains the response from method AllowedConnectionsClient.NewListPager.
type AllowedConnectionsList ¶
type AllowedConnectionsList struct {
// READ-ONLY; The URI to fetch the next page.
NextLink *string
// READ-ONLY
Value []*AllowedConnectionsResource
}
AllowedConnectionsList - List of all possible traffic between Azure resources
func (AllowedConnectionsList) MarshalJSON ¶
func (a AllowedConnectionsList) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AllowedConnectionsList.
func (*AllowedConnectionsList) UnmarshalJSON ¶
func (a *AllowedConnectionsList) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AllowedConnectionsList.
type AllowedConnectionsResource ¶
type AllowedConnectionsResource struct {
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Location where the resource is stored
Location *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Describes the allowed traffic between Azure resources
Properties *AllowedConnectionsResourceProperties
// READ-ONLY; Resource type
Type *string
}
AllowedConnectionsResource - The resource whose properties describes the allowed traffic between Azure resources
func (AllowedConnectionsResource) MarshalJSON ¶
func (a AllowedConnectionsResource) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AllowedConnectionsResource.
func (*AllowedConnectionsResource) UnmarshalJSON ¶
func (a *AllowedConnectionsResource) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AllowedConnectionsResource.
type AllowedConnectionsResourceProperties ¶
type AllowedConnectionsResourceProperties struct {
// READ-ONLY; The UTC time on which the allowed connections resource was calculated
CalculatedDateTime *time.Time
// READ-ONLY; List of connectable resources
ConnectableResources []*ConnectableResource
}
AllowedConnectionsResourceProperties - Describes the allowed traffic between Azure resources
func (AllowedConnectionsResourceProperties) MarshalJSON ¶
func (a AllowedConnectionsResourceProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AllowedConnectionsResourceProperties.
func (*AllowedConnectionsResourceProperties) UnmarshalJSON ¶
func (a *AllowedConnectionsResourceProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AllowedConnectionsResourceProperties.
type AllowlistCustomAlertRule ¶
type AllowlistCustomAlertRule struct {
// REQUIRED; The values to allow. The format of the values depends on the rule type.
AllowlistValues []*string
// REQUIRED; Status of the custom alert.
IsEnabled *bool
// REQUIRED; The type of the custom alert rule.
RuleType *string
// READ-ONLY; The description of the custom alert.
Description *string
// READ-ONLY; The display name of the custom alert.
DisplayName *string
// READ-ONLY; The value type of the items in the list.
ValueType *ValueType
}
AllowlistCustomAlertRule - A custom alert rule that checks if a value (depends on the custom alert type) is allowed.
func (*AllowlistCustomAlertRule) GetAllowlistCustomAlertRule ¶
func (a *AllowlistCustomAlertRule) GetAllowlistCustomAlertRule() *AllowlistCustomAlertRule
GetAllowlistCustomAlertRule implements the AllowlistCustomAlertRuleClassification interface for type AllowlistCustomAlertRule.
func (*AllowlistCustomAlertRule) GetCustomAlertRule ¶
func (a *AllowlistCustomAlertRule) GetCustomAlertRule() *CustomAlertRule
GetCustomAlertRule implements the CustomAlertRuleClassification interface for type AllowlistCustomAlertRule.
func (*AllowlistCustomAlertRule) GetListCustomAlertRule ¶
func (a *AllowlistCustomAlertRule) GetListCustomAlertRule() *ListCustomAlertRule
GetListCustomAlertRule implements the ListCustomAlertRuleClassification interface for type AllowlistCustomAlertRule.
func (AllowlistCustomAlertRule) MarshalJSON ¶
func (a AllowlistCustomAlertRule) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AllowlistCustomAlertRule.
func (*AllowlistCustomAlertRule) UnmarshalJSON ¶
func (a *AllowlistCustomAlertRule) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AllowlistCustomAlertRule.
type AllowlistCustomAlertRuleClassification ¶
type AllowlistCustomAlertRuleClassification interface {
ListCustomAlertRuleClassification
// GetAllowlistCustomAlertRule returns the AllowlistCustomAlertRule content of the underlying type.
GetAllowlistCustomAlertRule() *AllowlistCustomAlertRule
}
AllowlistCustomAlertRuleClassification provides polymorphic access to related types. Call the interface's GetAllowlistCustomAlertRule() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AllowlistCustomAlertRule, *ConnectionFromIPNotAllowed, *ConnectionToIPNotAllowed, *LocalUserNotAllowed, *ProcessNotAllowed
type AmqpC2DMessagesNotInAllowedRange ¶
type AmqpC2DMessagesNotInAllowedRange struct {
// REQUIRED; Status of the custom alert.
IsEnabled *bool
// REQUIRED; The maximum threshold.
MaxThreshold *int32
// REQUIRED; The minimum threshold.
MinThreshold *int32
// REQUIRED; The type of the custom alert rule.
RuleType *string
// REQUIRED; The time window size in iso8601 format.
TimeWindowSize *string
// READ-ONLY; The description of the custom alert.
Description *string
// READ-ONLY; The display name of the custom alert.
DisplayName *string
}
AmqpC2DMessagesNotInAllowedRange - Number of cloud to device messages (AMQP protocol) is not in allowed range.
func (*AmqpC2DMessagesNotInAllowedRange) GetCustomAlertRule ¶
func (a *AmqpC2DMessagesNotInAllowedRange) GetCustomAlertRule() *CustomAlertRule
GetCustomAlertRule implements the CustomAlertRuleClassification interface for type AmqpC2DMessagesNotInAllowedRange.
func (*AmqpC2DMessagesNotInAllowedRange) GetThresholdCustomAlertRule ¶
func (a *AmqpC2DMessagesNotInAllowedRange) GetThresholdCustomAlertRule() *ThresholdCustomAlertRule
GetThresholdCustomAlertRule implements the ThresholdCustomAlertRuleClassification interface for type AmqpC2DMessagesNotInAllowedRange.
func (*AmqpC2DMessagesNotInAllowedRange) GetTimeWindowCustomAlertRule ¶
func (a *AmqpC2DMessagesNotInAllowedRange) GetTimeWindowCustomAlertRule() *TimeWindowCustomAlertRule
GetTimeWindowCustomAlertRule implements the TimeWindowCustomAlertRuleClassification interface for type AmqpC2DMessagesNotInAllowedRange.
func (AmqpC2DMessagesNotInAllowedRange) MarshalJSON ¶
func (a AmqpC2DMessagesNotInAllowedRange) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AmqpC2DMessagesNotInAllowedRange.
func (*AmqpC2DMessagesNotInAllowedRange) UnmarshalJSON ¶
func (a *AmqpC2DMessagesNotInAllowedRange) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AmqpC2DMessagesNotInAllowedRange.
type AmqpC2DRejectedMessagesNotInAllowedRange ¶
type AmqpC2DRejectedMessagesNotInAllowedRange struct {
// REQUIRED; Status of the custom alert.
IsEnabled *bool
// REQUIRED; The maximum threshold.
MaxThreshold *int32
// REQUIRED; The minimum threshold.
MinThreshold *int32
// REQUIRED; The type of the custom alert rule.
RuleType *string
// REQUIRED; The time window size in iso8601 format.
TimeWindowSize *string
// READ-ONLY; The description of the custom alert.
Description *string
// READ-ONLY; The display name of the custom alert.
DisplayName *string
}
AmqpC2DRejectedMessagesNotInAllowedRange - Number of rejected cloud to device messages (AMQP protocol) is not in allowed range.
func (*AmqpC2DRejectedMessagesNotInAllowedRange) GetCustomAlertRule ¶
func (a *AmqpC2DRejectedMessagesNotInAllowedRange) GetCustomAlertRule() *CustomAlertRule
GetCustomAlertRule implements the CustomAlertRuleClassification interface for type AmqpC2DRejectedMessagesNotInAllowedRange.
func (*AmqpC2DRejectedMessagesNotInAllowedRange) GetThresholdCustomAlertRule ¶
func (a *AmqpC2DRejectedMessagesNotInAllowedRange) GetThresholdCustomAlertRule() *ThresholdCustomAlertRule
GetThresholdCustomAlertRule implements the ThresholdCustomAlertRuleClassification interface for type AmqpC2DRejectedMessagesNotInAllowedRange.
func (*AmqpC2DRejectedMessagesNotInAllowedRange) GetTimeWindowCustomAlertRule ¶
func (a *AmqpC2DRejectedMessagesNotInAllowedRange) GetTimeWindowCustomAlertRule() *TimeWindowCustomAlertRule
GetTimeWindowCustomAlertRule implements the TimeWindowCustomAlertRuleClassification interface for type AmqpC2DRejectedMessagesNotInAllowedRange.
func (AmqpC2DRejectedMessagesNotInAllowedRange) MarshalJSON ¶
func (a AmqpC2DRejectedMessagesNotInAllowedRange) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AmqpC2DRejectedMessagesNotInAllowedRange.
func (*AmqpC2DRejectedMessagesNotInAllowedRange) UnmarshalJSON ¶
func (a *AmqpC2DRejectedMessagesNotInAllowedRange) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AmqpC2DRejectedMessagesNotInAllowedRange.
type AmqpD2CMessagesNotInAllowedRange ¶
type AmqpD2CMessagesNotInAllowedRange struct {
// REQUIRED; Status of the custom alert.
IsEnabled *bool
// REQUIRED; The maximum threshold.
MaxThreshold *int32
// REQUIRED; The minimum threshold.
MinThreshold *int32
// REQUIRED; The type of the custom alert rule.
RuleType *string
// REQUIRED; The time window size in iso8601 format.
TimeWindowSize *string
// READ-ONLY; The description of the custom alert.
Description *string
// READ-ONLY; The display name of the custom alert.
DisplayName *string
}
AmqpD2CMessagesNotInAllowedRange - Number of device to cloud messages (AMQP protocol) is not in allowed range.
func (*AmqpD2CMessagesNotInAllowedRange) GetCustomAlertRule ¶
func (a *AmqpD2CMessagesNotInAllowedRange) GetCustomAlertRule() *CustomAlertRule
GetCustomAlertRule implements the CustomAlertRuleClassification interface for type AmqpD2CMessagesNotInAllowedRange.
func (*AmqpD2CMessagesNotInAllowedRange) GetThresholdCustomAlertRule ¶
func (a *AmqpD2CMessagesNotInAllowedRange) GetThresholdCustomAlertRule() *ThresholdCustomAlertRule
GetThresholdCustomAlertRule implements the ThresholdCustomAlertRuleClassification interface for type AmqpD2CMessagesNotInAllowedRange.
func (*AmqpD2CMessagesNotInAllowedRange) GetTimeWindowCustomAlertRule ¶
func (a *AmqpD2CMessagesNotInAllowedRange) GetTimeWindowCustomAlertRule() *TimeWindowCustomAlertRule
GetTimeWindowCustomAlertRule implements the TimeWindowCustomAlertRuleClassification interface for type AmqpD2CMessagesNotInAllowedRange.
func (AmqpD2CMessagesNotInAllowedRange) MarshalJSON ¶
func (a AmqpD2CMessagesNotInAllowedRange) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AmqpD2CMessagesNotInAllowedRange.
func (*AmqpD2CMessagesNotInAllowedRange) UnmarshalJSON ¶
func (a *AmqpD2CMessagesNotInAllowedRange) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AmqpD2CMessagesNotInAllowedRange.
type AnnotateDefaultBranchState ¶
type AnnotateDefaultBranchState string
AnnotateDefaultBranchState - Configuration of PR Annotations on default branch. Enabled - PR Annotations are enabled on the resource's default branch. Disabled - PR Annotations are disabled on the resource's default branch.
const ( AnnotateDefaultBranchStateDisabled AnnotateDefaultBranchState = "Disabled" AnnotateDefaultBranchStateEnabled AnnotateDefaultBranchState = "Enabled" )
func PossibleAnnotateDefaultBranchStateValues ¶
func PossibleAnnotateDefaultBranchStateValues() []AnnotateDefaultBranchState
PossibleAnnotateDefaultBranchStateValues returns the possible values for the AnnotateDefaultBranchState const type.
type Application ¶
type Application struct {
// Properties of a security application
Properties *ApplicationProperties
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Resource type
Type *string
}
Application - Security Application over a given scope
func (Application) MarshalJSON ¶
func (a Application) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type Application.
func (*Application) UnmarshalJSON ¶
func (a *Application) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type Application.
type ApplicationClient ¶
type ApplicationClient struct {
// contains filtered or unexported fields
}
ApplicationClient contains the methods for the Application group. Don't use this type directly, use NewApplicationClient() instead.
func NewApplicationClient ¶
func NewApplicationClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ApplicationClient, error)
NewApplicationClient creates a new instance of ApplicationClient with the specified values.
- subscriptionID - Azure subscription ID
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*ApplicationClient) CreateOrUpdate ¶
func (client *ApplicationClient) CreateOrUpdate(ctx context.Context, applicationID string, application Application, options *ApplicationClientCreateOrUpdateOptions) (ApplicationClientCreateOrUpdateResponse, error)
CreateOrUpdate - Creates or update a security application on the given subscription. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2022-07-01-preview
- applicationID - The security Application key - unique key for the standard application
- application - Application over a subscription scope
- options - ApplicationClientCreateOrUpdateOptions contains the optional parameters for the ApplicationClient.CreateOrUpdate method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2022-07-01-preview/examples/Applications/PutApplication_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewApplicationClient().CreateOrUpdate(ctx, "ad9a8e26-29d9-4829-bb30-e597a58cdbb8", armsecurity.Application{
Properties: &armsecurity.ApplicationProperties{
Description: to.Ptr("An application on critical recommendations"),
ConditionSets: []any{
map[string]any{
"conditions": []any{
map[string]any{
"operator": "contains",
"property": "$.Id",
"value": "-bil-",
},
},
}},
DisplayName: to.Ptr("Admin's application"),
SourceResourceType: to.Ptr(armsecurity.ApplicationSourceResourceTypeAssessments),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.Application = armsecurity.Application{
// Name: to.Ptr("1f3afdf9-d0c9-4c3d-847f-89da613e70a8"),
// Type: to.Ptr("Microsoft.Security/applications"),
// ID: to.Ptr("subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/applications/ad9a8e26-29d9-4829-bb30-e597a58cdbb8"),
// Properties: &armsecurity.ApplicationProperties{
// Description: to.Ptr("An application on critical recommendations"),
// ConditionSets: []any{
// map[string]any{
// "conditions":[]any{
// map[string]any{
// "operator": "contains",
// "property": "$.Id",
// "value": "-dev-",
// },
// },
// }},
// DisplayName: to.Ptr("Admin's application"),
// SourceResourceType: to.Ptr(armsecurity.ApplicationSourceResourceTypeAssessments),
// },
// }
}
func (*ApplicationClient) Delete ¶
func (client *ApplicationClient) Delete(ctx context.Context, applicationID string, options *ApplicationClientDeleteOptions) (ApplicationClientDeleteResponse, error)
Delete - Delete an Application over a given scope If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2022-07-01-preview
- applicationID - The security Application key - unique key for the standard application
- options - ApplicationClientDeleteOptions contains the optional parameters for the ApplicationClient.Delete method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2022-07-01-preview/examples/Applications/DeleteApplication_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewApplicationClient().Delete(ctx, "ad9a8e26-29d9-4829-bb30-e597a58cdbb8", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
}
func (*ApplicationClient) Get ¶
func (client *ApplicationClient) Get(ctx context.Context, applicationID string, options *ApplicationClientGetOptions) (ApplicationClientGetResponse, error)
Get - Get a specific application for the requested scope by applicationId If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2022-07-01-preview
- applicationID - The security Application key - unique key for the standard application
- options - ApplicationClientGetOptions contains the optional parameters for the ApplicationClient.Get method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2022-07-01-preview/examples/Applications/GetApplication_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewApplicationClient().Get(ctx, "ad9a8e26-29d9-4829-bb30-e597a58cdbb8", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.Application = armsecurity.Application{
// Name: to.Ptr("ad9a8e26-29d9-4829-bb30-e597a58cdbb8"),
// Type: to.Ptr("Microsoft.Security/applications"),
// ID: to.Ptr("subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/applications/ad9a8e26-29d9-4829-bb30-e597a58cdbb8"),
// Properties: &armsecurity.ApplicationProperties{
// Description: to.Ptr("An application on critical recommendations"),
// ConditionSets: []any{
// map[string]any{
// "conditions":[]any{
// map[string]any{
// "operator": "contains",
// "property": "$.Id",
// "value": "-bil-",
// },
// },
// }},
// DisplayName: to.Ptr("Admin's application"),
// SourceResourceType: to.Ptr(armsecurity.ApplicationSourceResourceTypeAssessments),
// },
// }
}
type ApplicationClientCreateOrUpdateOptions ¶
type ApplicationClientCreateOrUpdateOptions struct {
}
ApplicationClientCreateOrUpdateOptions contains the optional parameters for the ApplicationClient.CreateOrUpdate method.
type ApplicationClientCreateOrUpdateResponse ¶
type ApplicationClientCreateOrUpdateResponse struct {
// Security Application over a given scope
Application
}
ApplicationClientCreateOrUpdateResponse contains the response from method ApplicationClient.CreateOrUpdate.
type ApplicationClientDeleteOptions ¶
type ApplicationClientDeleteOptions struct {
}
ApplicationClientDeleteOptions contains the optional parameters for the ApplicationClient.Delete method.
type ApplicationClientDeleteResponse ¶
type ApplicationClientDeleteResponse struct {
}
ApplicationClientDeleteResponse contains the response from method ApplicationClient.Delete.
type ApplicationClientGetOptions ¶
type ApplicationClientGetOptions struct {
}
ApplicationClientGetOptions contains the optional parameters for the ApplicationClient.Get method.
type ApplicationClientGetResponse ¶
type ApplicationClientGetResponse struct {
// Security Application over a given scope
Application
}
ApplicationClientGetResponse contains the response from method ApplicationClient.Get.
type ApplicationCondition ¶
type ApplicationCondition struct {
// The application Condition's Operator, for example Contains for id or In for list of possible IDs, see examples
Operator *ApplicationConditionOperator
// The application Condition's Property, e.g. ID, see examples
Property *string
// The application Condition's Value like IDs that contain some string, see examples
Value *string
}
ApplicationCondition - Application's condition
func (ApplicationCondition) MarshalJSON ¶
func (a ApplicationCondition) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ApplicationCondition.
func (*ApplicationCondition) UnmarshalJSON ¶
func (a *ApplicationCondition) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationCondition.
type ApplicationConditionOperator ¶
type ApplicationConditionOperator string
ApplicationConditionOperator - The application Condition's Operator, for example Contains for id or In for list of possible IDs, see examples
const ( // ApplicationConditionOperatorContains - Checks that the string value of the data defined in Property contains the given // value ApplicationConditionOperatorContains ApplicationConditionOperator = "Contains" // ApplicationConditionOperatorEquals - Checks that the string value of the data defined in Property equals the given value ApplicationConditionOperatorEquals ApplicationConditionOperator = "Equals" // ApplicationConditionOperatorIn - Checks that the string value of the data defined in Property equals any of the given values // (exact fit) ApplicationConditionOperatorIn ApplicationConditionOperator = "In" )
func PossibleApplicationConditionOperatorValues ¶
func PossibleApplicationConditionOperatorValues() []ApplicationConditionOperator
PossibleApplicationConditionOperatorValues returns the possible values for the ApplicationConditionOperator const type.
type ApplicationProperties ¶
type ApplicationProperties struct {
// REQUIRED; The application conditionSets - see examples
ConditionSets []any
// REQUIRED; The application source, what it affects, e.g. Assessments
SourceResourceType *ApplicationSourceResourceType
// description of the application
Description *string
// display name of the application
DisplayName *string
}
ApplicationProperties - Describes properties of an application
func (ApplicationProperties) MarshalJSON ¶
func (a ApplicationProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ApplicationProperties.
func (*ApplicationProperties) UnmarshalJSON ¶
func (a *ApplicationProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationProperties.
type ApplicationSourceResourceType ¶
type ApplicationSourceResourceType string
ApplicationSourceResourceType - The application source, what it affects, e.g. Assessments
const ( // ApplicationSourceResourceTypeAssessments - The source of the application is assessments ApplicationSourceResourceTypeAssessments ApplicationSourceResourceType = "Assessments" )
func PossibleApplicationSourceResourceTypeValues ¶
func PossibleApplicationSourceResourceTypeValues() []ApplicationSourceResourceType
PossibleApplicationSourceResourceTypeValues returns the possible values for the ApplicationSourceResourceType const type.
type ApplicationsClient ¶
type ApplicationsClient struct {
// contains filtered or unexported fields
}
ApplicationsClient contains the methods for the Applications group. Don't use this type directly, use NewApplicationsClient() instead.
func NewApplicationsClient ¶
func NewApplicationsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ApplicationsClient, error)
NewApplicationsClient creates a new instance of ApplicationsClient with the specified values.
- subscriptionID - Azure subscription ID
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*ApplicationsClient) NewListPager ¶
func (client *ApplicationsClient) NewListPager(options *ApplicationsClientListOptions) *runtime.Pager[ApplicationsClientListResponse]
NewListPager - Get a list of all relevant applications over a subscription level scope
Generated from API version 2022-07-01-preview
- options - ApplicationsClientListOptions contains the optional parameters for the ApplicationsClient.NewListPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2022-07-01-preview/examples/Applications/ListBySubscriptionApplications_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewApplicationsClient().NewListPager(nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.ApplicationsList = armsecurity.ApplicationsList{
// Value: []*armsecurity.Application{
// {
// Name: to.Ptr("ad9a8e26-29d9-4829-bb30-e597a58cdbb8"),
// Type: to.Ptr("Microsoft.Security/applications"),
// ID: to.Ptr("subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/applications/ad9a8e26-29d9-4829-bb30-e597a58cdbb8"),
// Properties: &armsecurity.ApplicationProperties{
// Description: to.Ptr("An application on critical recommendations"),
// ConditionSets: []any{
// map[string]any{
// "conditions":[]any{
// map[string]any{
// "operator": "contains",
// "property": "$.Id",
// "value": "-bil-",
// },
// },
// }},
// DisplayName: to.Ptr("Admin's application"),
// SourceResourceType: to.Ptr(armsecurity.ApplicationSourceResourceTypeAssessments),
// },
// },
// {
// Name: to.Ptr("4106f43c-6d82-4fc8-a92c-dcfe50799d1d"),
// Type: to.Ptr("Microsoft.Security/applications"),
// ID: to.Ptr("subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/applications/4106f43c-6d82-4fc8-a92c-dcfe50799d1d"),
// Properties: &armsecurity.ApplicationProperties{
// Description: to.Ptr("An application on critical recommendations"),
// ConditionSets: []any{
// map[string]any{
// "conditions":[]any{
// map[string]any{
// "operator": "contains",
// "property": "$.Id",
// "value": "-prod-",
// },
// },
// }},
// DisplayName: to.Ptr("Admin's application"),
// SourceResourceType: to.Ptr(armsecurity.ApplicationSourceResourceTypeAssessments),
// },
// }},
// }
}
}
type ApplicationsClientListOptions ¶
type ApplicationsClientListOptions struct {
}
ApplicationsClientListOptions contains the optional parameters for the ApplicationsClient.NewListPager method.
type ApplicationsClientListResponse ¶
type ApplicationsClientListResponse struct {
// Page of a security applications list
ApplicationsList
}
ApplicationsClientListResponse contains the response from method ApplicationsClient.NewListPager.
type ApplicationsList ¶
type ApplicationsList struct {
// READ-ONLY; The URI to fetch the next page
NextLink *string
// READ-ONLY; Collection of applications in this page
Value []*Application
}
ApplicationsList - Page of a security applications list
func (ApplicationsList) MarshalJSON ¶
func (a ApplicationsList) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ApplicationsList.
func (*ApplicationsList) UnmarshalJSON ¶
func (a *ApplicationsList) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationsList.
type ArcAutoProvisioning ¶
type ArcAutoProvisioning struct {
// Configuration for servers Arc auto provisioning for a given environment
Configuration *ArcAutoProvisioningConfiguration
// Is arc auto provisioning enabled
Enabled *bool
}
ArcAutoProvisioning - The ARC autoprovisioning configuration
func (ArcAutoProvisioning) MarshalJSON ¶
func (a ArcAutoProvisioning) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ArcAutoProvisioning.
func (*ArcAutoProvisioning) UnmarshalJSON ¶
func (a *ArcAutoProvisioning) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ArcAutoProvisioning.
type ArcAutoProvisioningAws ¶
type ArcAutoProvisioningAws struct {
// The cloud role ARN in AWS for this feature
CloudRoleArn *string
// Configuration for servers Arc auto provisioning for a given environment
Configuration *ArcAutoProvisioningConfiguration
// Is arc auto provisioning enabled
Enabled *bool
}
ArcAutoProvisioningAws - The ARC autoprovisioning configuration for an AWS environment
func (ArcAutoProvisioningAws) MarshalJSON ¶
func (a ArcAutoProvisioningAws) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ArcAutoProvisioningAws.
func (*ArcAutoProvisioningAws) UnmarshalJSON ¶
func (a *ArcAutoProvisioningAws) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ArcAutoProvisioningAws.
type ArcAutoProvisioningConfiguration ¶
type ArcAutoProvisioningConfiguration struct {
// Optional Arc private link scope resource id to link the Arc agent
PrivateLinkScope *string
// Optional HTTP proxy endpoint to use for the Arc agent
Proxy *string
}
ArcAutoProvisioningConfiguration - Configuration for servers Arc auto provisioning for a given environment
func (ArcAutoProvisioningConfiguration) MarshalJSON ¶
func (a ArcAutoProvisioningConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ArcAutoProvisioningConfiguration.
func (*ArcAutoProvisioningConfiguration) UnmarshalJSON ¶
func (a *ArcAutoProvisioningConfiguration) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ArcAutoProvisioningConfiguration.
type ArcAutoProvisioningGcp ¶
type ArcAutoProvisioningGcp struct {
// Configuration for servers Arc auto provisioning for a given environment
Configuration *ArcAutoProvisioningConfiguration
// Is arc auto provisioning enabled
Enabled *bool
}
ArcAutoProvisioningGcp - The ARC autoprovisioning configuration for an GCP environment
func (ArcAutoProvisioningGcp) MarshalJSON ¶
func (a ArcAutoProvisioningGcp) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ArcAutoProvisioningGcp.
func (*ArcAutoProvisioningGcp) UnmarshalJSON ¶
func (a *ArcAutoProvisioningGcp) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ArcAutoProvisioningGcp.
type AscLocation ¶
type AscLocation struct {
// An empty set of properties
Properties any
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Resource type
Type *string
}
AscLocation - The ASC location of the subscription is in the "name" field
func (AscLocation) MarshalJSON ¶
func (a AscLocation) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AscLocation.
func (*AscLocation) UnmarshalJSON ¶
func (a *AscLocation) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AscLocation.
type AscLocationList ¶
type AscLocationList struct {
// READ-ONLY; The URI to fetch the next page.
NextLink *string
// READ-ONLY
Value []*AscLocation
}
AscLocationList - List of locations where ASC saves your data
func (AscLocationList) MarshalJSON ¶
func (a AscLocationList) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AscLocationList.
func (*AscLocationList) UnmarshalJSON ¶
func (a *AscLocationList) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AscLocationList.
type AssessedResourceType ¶
type AssessedResourceType string
AssessedResourceType - Sub-assessment resource type
const ( AssessedResourceTypeContainerRegistryVulnerability AssessedResourceType = "ContainerRegistryVulnerability" AssessedResourceTypeSQLServerVulnerability AssessedResourceType = "SqlServerVulnerability" AssessedResourceTypeServerVulnerability AssessedResourceType = "ServerVulnerability" )
func PossibleAssessedResourceTypeValues ¶
func PossibleAssessedResourceTypeValues() []AssessedResourceType
PossibleAssessedResourceTypeValues returns the possible values for the AssessedResourceType const type.
type Assessment ¶
type Assessment struct {
// Describes properties of an assessment.
Properties *AssessmentProperties
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Resource type
Type *string
}
Assessment - Security assessment on a resource
func (Assessment) MarshalJSON ¶
func (a Assessment) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type Assessment.
func (*Assessment) UnmarshalJSON ¶
func (a *Assessment) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type Assessment.
type AssessmentLinks ¶
type AssessmentLinks struct {
// READ-ONLY; Link to assessment in Azure Portal
AzurePortalURI *string
}
AssessmentLinks - Links relevant to the assessment
func (AssessmentLinks) MarshalJSON ¶
func (a AssessmentLinks) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AssessmentLinks.
func (*AssessmentLinks) UnmarshalJSON ¶
func (a *AssessmentLinks) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AssessmentLinks.
type AssessmentList ¶
type AssessmentList struct {
// READ-ONLY; The URI to fetch the next page.
NextLink *string
// READ-ONLY; Collection of security assessments in this page
Value []*AssessmentResponse
}
AssessmentList - Page of a security assessments list
func (AssessmentList) MarshalJSON ¶
func (a AssessmentList) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AssessmentList.
func (*AssessmentList) UnmarshalJSON ¶
func (a *AssessmentList) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AssessmentList.
type AssessmentMetadata ¶
type AssessmentMetadata struct {
// Describes properties of an assessment metadata.
Properties *AssessmentMetadataProperties
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Resource type
Type *string
}
AssessmentMetadata - Security assessment metadata
func (AssessmentMetadata) MarshalJSON ¶
func (a AssessmentMetadata) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AssessmentMetadata.
func (*AssessmentMetadata) UnmarshalJSON ¶
func (a *AssessmentMetadata) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AssessmentMetadata.
type AssessmentMetadataPartnerData ¶
type AssessmentMetadataPartnerData struct {
// REQUIRED; Name of the company of the partner
PartnerName *string
// REQUIRED; Secret to authenticate the partner and verify it created the assessment - write only
Secret *string
// Name of the product of the partner that created the assessment
ProductName *string
}
AssessmentMetadataPartnerData - Describes the partner that created the assessment
func (AssessmentMetadataPartnerData) MarshalJSON ¶
func (a AssessmentMetadataPartnerData) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AssessmentMetadataPartnerData.
func (*AssessmentMetadataPartnerData) UnmarshalJSON ¶
func (a *AssessmentMetadataPartnerData) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AssessmentMetadataPartnerData.
type AssessmentMetadataProperties ¶
type AssessmentMetadataProperties struct {
// REQUIRED; BuiltIn if the assessment based on built-in Azure Policy definition, Custom if the assessment based on custom
// Azure Policy definition
AssessmentType *AssessmentType
// REQUIRED; User friendly display name of the assessment
DisplayName *string
// REQUIRED; The severity level of the assessment
Severity *Severity
Categories []*Categories
// Human readable description of the assessment
Description *string
// The implementation effort required to remediate this assessment
ImplementationEffort *ImplementationEffort
// Describes the partner that created the assessment
PartnerData *AssessmentMetadataPartnerData
// True if this assessment is in preview release status
Preview *bool
// Human readable description of what you should do to mitigate this security issue
RemediationDescription *string
Threats []*Threats
// The user impact of the assessment
UserImpact *UserImpact
// READ-ONLY; Azure resource ID of the policy definition that turns this assessment calculation on
PolicyDefinitionID *string
}
AssessmentMetadataProperties - Describes properties of an assessment metadata.
func (AssessmentMetadataProperties) MarshalJSON ¶
func (a AssessmentMetadataProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AssessmentMetadataProperties.
func (*AssessmentMetadataProperties) UnmarshalJSON ¶
func (a *AssessmentMetadataProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AssessmentMetadataProperties.
type AssessmentMetadataPropertiesResponse ¶
type AssessmentMetadataPropertiesResponse struct {
// REQUIRED; BuiltIn if the assessment based on built-in Azure Policy definition, Custom if the assessment based on custom
// Azure Policy definition
AssessmentType *AssessmentType
// REQUIRED; User friendly display name of the assessment
DisplayName *string
// REQUIRED; The severity level of the assessment
Severity *Severity
Categories []*Categories
// Human readable description of the assessment
Description *string
// The implementation effort required to remediate this assessment
ImplementationEffort *ImplementationEffort
// Describes the partner that created the assessment
PartnerData *AssessmentMetadataPartnerData
PlannedDeprecationDate *string
// True if this assessment is in preview release status
Preview *bool
PublishDates *AssessmentMetadataPropertiesResponsePublishDates
// Human readable description of what you should do to mitigate this security issue
RemediationDescription *string
Tactics []*Tactics
Techniques []*Techniques
Threats []*Threats
// The user impact of the assessment
UserImpact *UserImpact
// READ-ONLY; Azure resource ID of the policy definition that turns this assessment calculation on
PolicyDefinitionID *string
}
AssessmentMetadataPropertiesResponse - Describes properties of an assessment metadata response.
func (AssessmentMetadataPropertiesResponse) MarshalJSON ¶
func (a AssessmentMetadataPropertiesResponse) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AssessmentMetadataPropertiesResponse.
func (*AssessmentMetadataPropertiesResponse) UnmarshalJSON ¶
func (a *AssessmentMetadataPropertiesResponse) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AssessmentMetadataPropertiesResponse.
type AssessmentMetadataPropertiesResponsePublishDates ¶
type AssessmentMetadataPropertiesResponsePublishDates struct {
// REQUIRED
Public *string
GA *string
}
func (AssessmentMetadataPropertiesResponsePublishDates) MarshalJSON ¶
func (a AssessmentMetadataPropertiesResponsePublishDates) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AssessmentMetadataPropertiesResponsePublishDates.
func (*AssessmentMetadataPropertiesResponsePublishDates) UnmarshalJSON ¶
func (a *AssessmentMetadataPropertiesResponsePublishDates) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AssessmentMetadataPropertiesResponsePublishDates.
type AssessmentMetadataResponse ¶
type AssessmentMetadataResponse struct {
// Describes properties of an assessment metadata response.
Properties *AssessmentMetadataPropertiesResponse
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Resource type
Type *string
}
AssessmentMetadataResponse - Security assessment metadata response
func (AssessmentMetadataResponse) MarshalJSON ¶
func (a AssessmentMetadataResponse) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AssessmentMetadataResponse.
func (*AssessmentMetadataResponse) UnmarshalJSON ¶
func (a *AssessmentMetadataResponse) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AssessmentMetadataResponse.
type AssessmentMetadataResponseList ¶
type AssessmentMetadataResponseList struct {
// READ-ONLY; The URI to fetch the next page.
NextLink *string
// READ-ONLY
Value []*AssessmentMetadataResponse
}
AssessmentMetadataResponseList - List of security assessment metadata
func (AssessmentMetadataResponseList) MarshalJSON ¶
func (a AssessmentMetadataResponseList) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AssessmentMetadataResponseList.
func (*AssessmentMetadataResponseList) UnmarshalJSON ¶
func (a *AssessmentMetadataResponseList) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AssessmentMetadataResponseList.
type AssessmentPartnerData ¶
type AssessmentPartnerData struct {
// REQUIRED; Name of the company of the partner
PartnerName *string
// REQUIRED; secret to authenticate the partner - write only
Secret *string
}
AssessmentPartnerData - Data regarding 3rd party partner integration
func (AssessmentPartnerData) MarshalJSON ¶
func (a AssessmentPartnerData) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AssessmentPartnerData.
func (*AssessmentPartnerData) UnmarshalJSON ¶
func (a *AssessmentPartnerData) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AssessmentPartnerData.
type AssessmentProperties ¶
type AssessmentProperties struct {
// REQUIRED; Details of the resource that was assessed
ResourceDetails ResourceDetailsClassification
// REQUIRED; The result of the assessment
Status *AssessmentStatus
// Additional data regarding the assessment
AdditionalData map[string]*string
// Describes properties of an assessment metadata.
Metadata *AssessmentMetadataProperties
// Data regarding 3rd party partner integration
PartnersData *AssessmentPartnerData
// READ-ONLY; User friendly display name of the assessment
DisplayName *string
// READ-ONLY; Links relevant to the assessment
Links *AssessmentLinks
}
AssessmentProperties - Describes properties of an assessment.
func (AssessmentProperties) MarshalJSON ¶
func (a AssessmentProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AssessmentProperties.
func (*AssessmentProperties) UnmarshalJSON ¶
func (a *AssessmentProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AssessmentProperties.
type AssessmentPropertiesBase ¶
type AssessmentPropertiesBase struct {
// REQUIRED; Details of the resource that was assessed
ResourceDetails ResourceDetailsClassification
// Additional data regarding the assessment
AdditionalData map[string]*string
// Describes properties of an assessment metadata.
Metadata *AssessmentMetadataProperties
// Data regarding 3rd party partner integration
PartnersData *AssessmentPartnerData
// READ-ONLY; User friendly display name of the assessment
DisplayName *string
// READ-ONLY; Links relevant to the assessment
Links *AssessmentLinks
}
AssessmentPropertiesBase - Describes properties of an assessment.
func (AssessmentPropertiesBase) MarshalJSON ¶
func (a AssessmentPropertiesBase) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AssessmentPropertiesBase.
func (*AssessmentPropertiesBase) UnmarshalJSON ¶
func (a *AssessmentPropertiesBase) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AssessmentPropertiesBase.
type AssessmentPropertiesResponse ¶
type AssessmentPropertiesResponse struct {
// REQUIRED; Details of the resource that was assessed
ResourceDetails ResourceDetailsClassification
// REQUIRED; The result of the assessment
Status *AssessmentStatusResponse
// Additional data regarding the assessment
AdditionalData map[string]*string
// Describes properties of an assessment metadata.
Metadata *AssessmentMetadataProperties
// Data regarding 3rd party partner integration
PartnersData *AssessmentPartnerData
// READ-ONLY; User friendly display name of the assessment
DisplayName *string
// READ-ONLY; Links relevant to the assessment
Links *AssessmentLinks
}
AssessmentPropertiesResponse - Describes properties of an assessment.
func (AssessmentPropertiesResponse) MarshalJSON ¶
func (a AssessmentPropertiesResponse) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AssessmentPropertiesResponse.
func (*AssessmentPropertiesResponse) UnmarshalJSON ¶
func (a *AssessmentPropertiesResponse) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AssessmentPropertiesResponse.
type AssessmentResponse ¶
type AssessmentResponse struct {
// Describes properties of an assessment.
Properties *AssessmentPropertiesResponse
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Resource type
Type *string
}
AssessmentResponse - Security assessment on a resource - response format
func (AssessmentResponse) MarshalJSON ¶
func (a AssessmentResponse) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AssessmentResponse.
func (*AssessmentResponse) UnmarshalJSON ¶
func (a *AssessmentResponse) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AssessmentResponse.
type AssessmentStatus ¶
type AssessmentStatus struct {
// REQUIRED; Programmatic code for the status of the assessment
Code *AssessmentStatusCode
// Programmatic code for the cause of the assessment status
Cause *string
// Human readable description of the assessment status
Description *string
}
AssessmentStatus - The result of the assessment
func (AssessmentStatus) MarshalJSON ¶
func (a AssessmentStatus) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AssessmentStatus.
func (*AssessmentStatus) UnmarshalJSON ¶
func (a *AssessmentStatus) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AssessmentStatus.
type AssessmentStatusCode ¶
type AssessmentStatusCode string
AssessmentStatusCode - Programmatic code for the status of the assessment
const ( // AssessmentStatusCodeHealthy - The resource is healthy AssessmentStatusCodeHealthy AssessmentStatusCode = "Healthy" // AssessmentStatusCodeNotApplicable - Assessment for this resource did not happen AssessmentStatusCodeNotApplicable AssessmentStatusCode = "NotApplicable" // AssessmentStatusCodeUnhealthy - The resource has a security issue that needs to be addressed AssessmentStatusCodeUnhealthy AssessmentStatusCode = "Unhealthy" )
func PossibleAssessmentStatusCodeValues ¶
func PossibleAssessmentStatusCodeValues() []AssessmentStatusCode
PossibleAssessmentStatusCodeValues returns the possible values for the AssessmentStatusCode const type.
type AssessmentStatusResponse ¶
type AssessmentStatusResponse struct {
// REQUIRED; Programmatic code for the status of the assessment
Code *AssessmentStatusCode
// Programmatic code for the cause of the assessment status
Cause *string
// Human readable description of the assessment status
Description *string
// READ-ONLY; The time that the assessment was created and first evaluated. Returned as UTC time in ISO 8601 format
FirstEvaluationDate *time.Time
// READ-ONLY; The time that the status of the assessment last changed. Returned as UTC time in ISO 8601 format
StatusChangeDate *time.Time
}
AssessmentStatusResponse - The result of the assessment
func (AssessmentStatusResponse) MarshalJSON ¶
func (a AssessmentStatusResponse) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AssessmentStatusResponse.
func (*AssessmentStatusResponse) UnmarshalJSON ¶
func (a *AssessmentStatusResponse) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AssessmentStatusResponse.
type AssessmentType ¶
type AssessmentType string
AssessmentType - BuiltIn if the assessment based on built-in Azure Policy definition, Custom if the assessment based on custom Azure Policy definition
const ( // AssessmentTypeBuiltIn - Microsoft Defender for Cloud managed assessments AssessmentTypeBuiltIn AssessmentType = "BuiltIn" // AssessmentTypeCustomPolicy - User defined policies that are automatically ingested from Azure Policy to Microsoft Defender // for Cloud AssessmentTypeCustomPolicy AssessmentType = "CustomPolicy" // AssessmentTypeCustomerManaged - User assessments pushed directly by the user or other third party to Microsoft Defender // for Cloud AssessmentTypeCustomerManaged AssessmentType = "CustomerManaged" // AssessmentTypeVerifiedPartner - An assessment that was created by a verified 3rd party if the user connected it to ASC AssessmentTypeVerifiedPartner AssessmentType = "VerifiedPartner" )
func PossibleAssessmentTypeValues ¶
func PossibleAssessmentTypeValues() []AssessmentType
PossibleAssessmentTypeValues returns the possible values for the AssessmentType const type.
type AssessmentsClient ¶
type AssessmentsClient struct {
// contains filtered or unexported fields
}
AssessmentsClient contains the methods for the Assessments group. Don't use this type directly, use NewAssessmentsClient() instead.
func NewAssessmentsClient ¶
func NewAssessmentsClient(credential azcore.TokenCredential, options *arm.ClientOptions) (*AssessmentsClient, error)
NewAssessmentsClient creates a new instance of AssessmentsClient with the specified values.
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*AssessmentsClient) CreateOrUpdate ¶
func (client *AssessmentsClient) CreateOrUpdate(ctx context.Context, resourceID string, assessmentName string, assessment Assessment, options *AssessmentsClientCreateOrUpdateOptions) (AssessmentsClientCreateOrUpdateResponse, error)
CreateOrUpdate - Create a security assessment on your resource. An assessment metadata that describes this assessment must be predefined with the same name before inserting the assessment result If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2021-06-01
- resourceID - The identifier of the resource.
- assessmentName - The Assessment Key - Unique key for the assessment type
- assessment - Calculated assessment on a pre-defined assessment metadata
- options - AssessmentsClientCreateOrUpdateOptions contains the optional parameters for the AssessmentsClient.CreateOrUpdate method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/Assessments/PutAssessment_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewAssessmentsClient().CreateOrUpdate(ctx, "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss2", "8bb8be0a-6010-4789-812f-e4d661c4ed0e", armsecurity.Assessment{
Properties: &armsecurity.AssessmentProperties{
ResourceDetails: &armsecurity.AzureResourceDetails{
Source: to.Ptr(armsecurity.SourceAzure),
},
Status: &armsecurity.AssessmentStatus{
Code: to.Ptr(armsecurity.AssessmentStatusCodeHealthy),
},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.AssessmentResponse = armsecurity.AssessmentResponse{
// Name: to.Ptr("8bb8be0a-6010-4789-812f-e4d661c4ed0e"),
// Type: to.Ptr("Microsoft.Security/assessments"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/providers/Microsoft.Security/assessments/8bb8be0a-6010-4789-812f-e4d661c4ed0e"),
// Properties: &armsecurity.AssessmentPropertiesResponse{
// DisplayName: to.Ptr("Install internal agent on VM"),
// ResourceDetails: &armsecurity.AzureResourceDetails{
// Source: to.Ptr(armsecurity.SourceAzure),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/providers/Microsoft.Security/assessments/8bb8be0a-6010-4789-812f-e4d661c4ed0e"),
// },
// Status: &armsecurity.AssessmentStatusResponse{
// Code: to.Ptr(armsecurity.AssessmentStatusCodeHealthy),
// },
// },
// }
}
func (*AssessmentsClient) Delete ¶
func (client *AssessmentsClient) Delete(ctx context.Context, resourceID string, assessmentName string, options *AssessmentsClientDeleteOptions) (AssessmentsClientDeleteResponse, error)
Delete - Delete a security assessment on your resource. An assessment metadata that describes this assessment must be predefined with the same name before inserting the assessment result If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2021-06-01
- resourceID - The identifier of the resource.
- assessmentName - The Assessment Key - Unique key for the assessment type
- options - AssessmentsClientDeleteOptions contains the optional parameters for the AssessmentsClient.Delete method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/Assessments/DeleteAssessment_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewAssessmentsClient().Delete(ctx, "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss2", "8bb8be0a-6010-4789-812f-e4d661c4ed0e", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
}
func (*AssessmentsClient) Get ¶
func (client *AssessmentsClient) Get(ctx context.Context, resourceID string, assessmentName string, options *AssessmentsClientGetOptions) (AssessmentsClientGetResponse, error)
Get - Get a security assessment on your scanned resource If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2021-06-01
- resourceID - The identifier of the resource.
- assessmentName - The Assessment Key - Unique key for the assessment type
- options - AssessmentsClientGetOptions contains the optional parameters for the AssessmentsClient.Get method.
Example (GetSecurityRecommendationTaskFromSecurityDataLocation) ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/Assessments/GetAssessment_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewAssessmentsClient().Get(ctx, "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss2", "21300918-b2e3-0346-785f-c77ff57d243b", &armsecurity.AssessmentsClientGetOptions{Expand: nil})
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.AssessmentResponse = armsecurity.AssessmentResponse{
// Name: to.Ptr("21300918-b2e3-0346-785f-c77ff57d243b"),
// Type: to.Ptr("Microsoft.Security/assessments"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss2/providers/Microsoft.Security/assessments/21300918-b2e3-0346-785f-c77ff57d243b"),
// Properties: &armsecurity.AssessmentPropertiesResponse{
// AdditionalData: map[string]*string{
// "linkedWorkspaceId": to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myLaWorkspace"),
// },
// DisplayName: to.Ptr("Install endpoint protection solution on virtual machine scale sets"),
// ResourceDetails: &armsecurity.AzureResourceDetails{
// Source: to.Ptr(armsecurity.SourceAzure),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss2"),
// },
// Status: &armsecurity.AssessmentStatusResponse{
// Description: to.Ptr("The effective policy for the assessment was evaluated to off - use Microsoft.Authorization/policyAssignments to turn this assessment on"),
// Cause: to.Ptr("OffByPolicy"),
// Code: to.Ptr(armsecurity.AssessmentStatusCodeNotApplicable),
// FirstEvaluationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-04-12T09:07:18.675Z"); return t}()),
// StatusChangeDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-04-12T09:07:18.675Z"); return t}()),
// },
// },
// }
}
Example (GetSecurityRecommendationTaskFromSecurityDataLocationWithExpandParameter) ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/Assessments/GetAssessmentWithExpand_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewAssessmentsClient().Get(ctx, "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss2", "21300918-b2e3-0346-785f-c77ff57d243b", &armsecurity.AssessmentsClientGetOptions{Expand: to.Ptr(armsecurity.ExpandEnumLinks)})
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.AssessmentResponse = armsecurity.AssessmentResponse{
// Name: to.Ptr("21300918-b2e3-0346-785f-c77ff57d243b"),
// Type: to.Ptr("Microsoft.Security/assessments"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss2/providers/Microsoft.Security/assessments/21300918-b2e3-0346-785f-c77ff57d243b"),
// Properties: &armsecurity.AssessmentPropertiesResponse{
// AdditionalData: map[string]*string{
// "linkedWorkspaceId": to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myLaWorkspace"),
// },
// DisplayName: to.Ptr("Install endpoint protection solution on virtual machine scale sets"),
// Links: &armsecurity.AssessmentLinks{
// AzurePortalURI: to.Ptr("https://www.portal.azure.com/?fea#blade/Microsoft_Azure_Security/RecommendationsBlade/assessmentKey/21300918-b2e3-0346-785f-c77ff57d243b"),
// },
// ResourceDetails: &armsecurity.AzureResourceDetails{
// Source: to.Ptr(armsecurity.SourceAzure),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss2"),
// },
// Status: &armsecurity.AssessmentStatusResponse{
// Description: to.Ptr("The effective policy for the assessment was evaluated to off - use Microsoft.Authorization/policyAssignments to turn this assessment on"),
// Cause: to.Ptr("OffByPolicy"),
// Code: to.Ptr(armsecurity.AssessmentStatusCodeNotApplicable),
// FirstEvaluationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-04-12T09:07:18.675Z"); return t}()),
// StatusChangeDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-04-12T09:07:18.675Z"); return t}()),
// },
// },
// }
}
func (*AssessmentsClient) NewListPager ¶
func (client *AssessmentsClient) NewListPager(scope string, options *AssessmentsClientListOptions) *runtime.Pager[AssessmentsClientListResponse]
NewListPager - Get security assessments on all your scanned resources inside a scope
Generated from API version 2021-06-01
- scope - Scope of the query, can be subscription (/subscriptions/0b06d9ea-afe6-4779-bd59-30e5c2d9d13f) or management group (/providers/Microsoft.Management/managementGroups/mgName).
- options - AssessmentsClientListOptions contains the optional parameters for the AssessmentsClient.NewListPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/Assessments/ListAssessments_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewAssessmentsClient().NewListPager("subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23", nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.AssessmentList = armsecurity.AssessmentList{
// Value: []*armsecurity.AssessmentResponse{
// {
// Name: to.Ptr("21300918-b2e3-0346-785f-c77ff57d243b"),
// Type: to.Ptr("Microsoft.Security/assessments"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/providers/Microsoft.Security/assessments/21300918-b2e3-0346-785f-c77ff57d243b"),
// Properties: &armsecurity.AssessmentPropertiesResponse{
// DisplayName: to.Ptr("Install endpoint protection solution on virtual machine scale sets"),
// ResourceDetails: &armsecurity.AzureResourceDetails{
// Source: to.Ptr(armsecurity.SourceAzure),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1"),
// },
// Status: &armsecurity.AssessmentStatusResponse{
// Code: to.Ptr(armsecurity.AssessmentStatusCodeHealthy),
// FirstEvaluationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-04-12T09:07:18.675Z"); return t}()),
// StatusChangeDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-04-12T09:07:18.675Z"); return t}()),
// },
// },
// },
// {
// Name: to.Ptr("21300918-b2e3-0346-785f-c77ff57d243b"),
// Type: to.Ptr("Microsoft.Security/assessments"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss2/providers/Microsoft.Security/assessments/21300918-b2e3-0346-785f-c77ff57d243b"),
// Properties: &armsecurity.AssessmentPropertiesResponse{
// AdditionalData: map[string]*string{
// "linkedWorkspaceId": to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myLaWorkspace"),
// },
// DisplayName: to.Ptr("Install endpoint protection solution on virtual machine scale sets"),
// ResourceDetails: &armsecurity.AzureResourceDetails{
// Source: to.Ptr(armsecurity.SourceAzure),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss2"),
// },
// Status: &armsecurity.AssessmentStatusResponse{
// Description: to.Ptr("The effective policy for the assessment was evaluated to off - use Microsoft.Authorization/policyAssignments to turn this assessment on"),
// Cause: to.Ptr("OffByPolicy"),
// Code: to.Ptr(armsecurity.AssessmentStatusCodeNotApplicable),
// FirstEvaluationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-04-12T09:07:18.675Z"); return t}()),
// StatusChangeDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-04-12T09:07:18.675Z"); return t}()),
// },
// },
// }},
// }
}
}
type AssessmentsClientCreateOrUpdateOptions ¶
type AssessmentsClientCreateOrUpdateOptions struct {
}
AssessmentsClientCreateOrUpdateOptions contains the optional parameters for the AssessmentsClient.CreateOrUpdate method.
type AssessmentsClientCreateOrUpdateResponse ¶
type AssessmentsClientCreateOrUpdateResponse struct {
// Security assessment on a resource - response format
AssessmentResponse
}
AssessmentsClientCreateOrUpdateResponse contains the response from method AssessmentsClient.CreateOrUpdate.
type AssessmentsClientDeleteOptions ¶
type AssessmentsClientDeleteOptions struct {
}
AssessmentsClientDeleteOptions contains the optional parameters for the AssessmentsClient.Delete method.
type AssessmentsClientDeleteResponse ¶
type AssessmentsClientDeleteResponse struct {
}
AssessmentsClientDeleteResponse contains the response from method AssessmentsClient.Delete.
type AssessmentsClientGetOptions ¶
type AssessmentsClientGetOptions struct {
// OData expand. Optional.
Expand *ExpandEnum
}
AssessmentsClientGetOptions contains the optional parameters for the AssessmentsClient.Get method.
type AssessmentsClientGetResponse ¶
type AssessmentsClientGetResponse struct {
// Security assessment on a resource - response format
AssessmentResponse
}
AssessmentsClientGetResponse contains the response from method AssessmentsClient.Get.
type AssessmentsClientListOptions ¶
type AssessmentsClientListOptions struct {
}
AssessmentsClientListOptions contains the optional parameters for the AssessmentsClient.NewListPager method.
type AssessmentsClientListResponse ¶
type AssessmentsClientListResponse struct {
// Page of a security assessments list
AssessmentList
}
AssessmentsClientListResponse contains the response from method AssessmentsClient.NewListPager.
type AssessmentsMetadataClient ¶
type AssessmentsMetadataClient struct {
// contains filtered or unexported fields
}
AssessmentsMetadataClient contains the methods for the AssessmentsMetadata group. Don't use this type directly, use NewAssessmentsMetadataClient() instead.
func NewAssessmentsMetadataClient ¶
func NewAssessmentsMetadataClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*AssessmentsMetadataClient, error)
NewAssessmentsMetadataClient creates a new instance of AssessmentsMetadataClient with the specified values.
- subscriptionID - Azure subscription ID
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*AssessmentsMetadataClient) CreateInSubscription ¶
func (client *AssessmentsMetadataClient) CreateInSubscription(ctx context.Context, assessmentMetadataName string, assessmentMetadata AssessmentMetadataResponse, options *AssessmentsMetadataClientCreateInSubscriptionOptions) (AssessmentsMetadataClientCreateInSubscriptionResponse, error)
CreateInSubscription - Create metadata information on an assessment type in a specific subscription If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2021-06-01
- assessmentMetadataName - The Assessment Key - Unique key for the assessment type
- assessmentMetadata - AssessmentMetadata object
- options - AssessmentsMetadataClientCreateInSubscriptionOptions contains the optional parameters for the AssessmentsMetadataClient.CreateInSubscription method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/AssessmentsMetadata/CreateAssessmentsMetadata_subscription_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewAssessmentsMetadataClient().CreateInSubscription(ctx, "ca039e75-a276-4175-aebc-bcd41e4b14b7", armsecurity.AssessmentMetadataResponse{
Properties: &armsecurity.AssessmentMetadataPropertiesResponse{
Description: to.Ptr("Install an endpoint protection solution on your virtual machines scale sets, to protect them from threats and vulnerabilities."),
AssessmentType: to.Ptr(armsecurity.AssessmentTypeCustomerManaged),
Categories: []*armsecurity.Categories{
to.Ptr(armsecurity.CategoriesCompute)},
DisplayName: to.Ptr("Install endpoint protection solution on virtual machine scale sets"),
ImplementationEffort: to.Ptr(armsecurity.ImplementationEffortLow),
RemediationDescription: to.Ptr("To install an endpoint protection solution: 1. <a href=\"https://docs.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-faq#how-do-i-turn-on-antimalware-in-my-virtual-machine-scale-set\">Follow the instructions in How do I turn on antimalware in my virtual machine scale set</a>"),
Severity: to.Ptr(armsecurity.SeverityMedium),
Threats: []*armsecurity.Threats{
to.Ptr(armsecurity.ThreatsDataExfiltration),
to.Ptr(armsecurity.ThreatsDataSpillage),
to.Ptr(armsecurity.ThreatsMaliciousInsider)},
UserImpact: to.Ptr(armsecurity.UserImpactLow),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.AssessmentMetadataResponse = armsecurity.AssessmentMetadataResponse{
// Name: to.Ptr("ca039e75-a276-4175-aebc-bcd41e4b14b7"),
// Type: to.Ptr("Microsoft.Security/assessmentMetadata"),
// ID: to.Ptr("/providers/Microsoft.Security/assessmentMetadata/ca039e75-a276-4175-aebc-bcd41e4b14b7"),
// Properties: &armsecurity.AssessmentMetadataPropertiesResponse{
// Description: to.Ptr("Assessment that my organization created to view our security assessment in Azure Security Center"),
// AssessmentType: to.Ptr(armsecurity.AssessmentTypeCustomerManaged),
// Categories: []*armsecurity.Categories{
// to.Ptr(armsecurity.CategoriesCompute)},
// DisplayName: to.Ptr("My organization security assessment"),
// ImplementationEffort: to.Ptr(armsecurity.ImplementationEffortLow),
// RemediationDescription: to.Ptr("Fix it with these remediation instructions"),
// Severity: to.Ptr(armsecurity.SeverityMedium),
// Threats: []*armsecurity.Threats{
// to.Ptr(armsecurity.ThreatsDataExfiltration),
// to.Ptr(armsecurity.ThreatsDataSpillage),
// to.Ptr(armsecurity.ThreatsMaliciousInsider)},
// UserImpact: to.Ptr(armsecurity.UserImpactLow),
// },
// }
}
func (*AssessmentsMetadataClient) DeleteInSubscription ¶
func (client *AssessmentsMetadataClient) DeleteInSubscription(ctx context.Context, assessmentMetadataName string, options *AssessmentsMetadataClientDeleteInSubscriptionOptions) (AssessmentsMetadataClientDeleteInSubscriptionResponse, error)
DeleteInSubscription - Delete metadata information on an assessment type in a specific subscription, will cause the deletion of all the assessments of that type in that subscription If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2021-06-01
- assessmentMetadataName - The Assessment Key - Unique key for the assessment type
- options - AssessmentsMetadataClientDeleteInSubscriptionOptions contains the optional parameters for the AssessmentsMetadataClient.DeleteInSubscription method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/AssessmentsMetadata/DeleteAssessmentsMetadata_subscription_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewAssessmentsMetadataClient().DeleteInSubscription(ctx, "ca039e75-a276-4175-aebc-bcd41e4b14b7", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
}
func (*AssessmentsMetadataClient) Get ¶
func (client *AssessmentsMetadataClient) Get(ctx context.Context, assessmentMetadataName string, options *AssessmentsMetadataClientGetOptions) (AssessmentsMetadataClientGetResponse, error)
Get - Get metadata information on an assessment type If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2021-06-01
- assessmentMetadataName - The Assessment Key - Unique key for the assessment type
- options - AssessmentsMetadataClientGetOptions contains the optional parameters for the AssessmentsMetadataClient.Get method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/AssessmentsMetadata/GetAssessmentsMetadata_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewAssessmentsMetadataClient().Get(ctx, "21300918-b2e3-0346-785f-c77ff57d243b", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.AssessmentMetadataResponse = armsecurity.AssessmentMetadataResponse{
// Name: to.Ptr("21300918-b2e3-0346-785f-c77ff57d243b"),
// Type: to.Ptr("Microsoft.Security/assessmentMetadata"),
// ID: to.Ptr("/providers/Microsoft.Security/assessmentMetadata/21300918-b2e3-0346-785f-c77ff57d243b"),
// Properties: &armsecurity.AssessmentMetadataPropertiesResponse{
// Description: to.Ptr("Install an endpoint protection solution on your virtual machines scale sets, to protect them from threats and vulnerabilities."),
// AssessmentType: to.Ptr(armsecurity.AssessmentTypeBuiltIn),
// Categories: []*armsecurity.Categories{
// to.Ptr(armsecurity.CategoriesCompute)},
// DisplayName: to.Ptr("Install endpoint protection solution on virtual machine scale sets"),
// ImplementationEffort: to.Ptr(armsecurity.ImplementationEffortLow),
// PolicyDefinitionID: to.Ptr("/providers/Microsoft.Authorization/policyDefinitions/26a828e1-e88f-464e-bbb3-c134a282b9de"),
// RemediationDescription: to.Ptr("To install an endpoint protection solution: 1. <a href=\"https://docs.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-faq#how-do-i-turn-on-antimalware-in-my-virtual-machine-scale-set\">Follow the instructions in How do I turn on antimalware in my virtual machine scale set</a>"),
// Severity: to.Ptr(armsecurity.SeverityMedium),
// Threats: []*armsecurity.Threats{
// to.Ptr(armsecurity.ThreatsDataExfiltration),
// to.Ptr(armsecurity.ThreatsDataSpillage),
// to.Ptr(armsecurity.ThreatsMaliciousInsider)},
// UserImpact: to.Ptr(armsecurity.UserImpactLow),
// PlannedDeprecationDate: to.Ptr("03/2022"),
// PublishDates: &armsecurity.AssessmentMetadataPropertiesResponsePublishDates{
// GA: to.Ptr("06/01/2021"),
// Public: to.Ptr("06/01/2021"),
// },
// Tactics: []*armsecurity.Tactics{
// to.Ptr(armsecurity.TacticsCredentialAccess),
// to.Ptr(armsecurity.TacticsPersistence),
// to.Ptr(armsecurity.TacticsExecution),
// to.Ptr(armsecurity.TacticsDefenseEvasion),
// to.Ptr(armsecurity.TacticsCollection),
// to.Ptr(armsecurity.TacticsDiscovery),
// to.Ptr(armsecurity.TacticsPrivilegeEscalation)},
// Techniques: []*armsecurity.Techniques{
// to.Ptr(armsecurity.TechniquesObfuscatedFilesOrInformation),
// to.Ptr(armsecurity.TechniquesIngressToolTransfer),
// to.Ptr(armsecurity.TechniquesPhishing),
// to.Ptr(armsecurity.TechniquesUserExecution)},
// },
// }
}
func (*AssessmentsMetadataClient) GetInSubscription ¶
func (client *AssessmentsMetadataClient) GetInSubscription(ctx context.Context, assessmentMetadataName string, options *AssessmentsMetadataClientGetInSubscriptionOptions) (AssessmentsMetadataClientGetInSubscriptionResponse, error)
GetInSubscription - Get metadata information on an assessment type in a specific subscription If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2021-06-01
- assessmentMetadataName - The Assessment Key - Unique key for the assessment type
- options - AssessmentsMetadataClientGetInSubscriptionOptions contains the optional parameters for the AssessmentsMetadataClient.GetInSubscription method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/AssessmentsMetadata/GetAssessmentsMetadata_subscription_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewAssessmentsMetadataClient().GetInSubscription(ctx, "21300918-b2e3-0346-785f-c77ff57d243b", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.AssessmentMetadataResponse = armsecurity.AssessmentMetadataResponse{
// Name: to.Ptr("21300918-b2e3-0346-785f-c77ff57d243b"),
// Type: to.Ptr("Microsoft.Security/assessmentMetadata"),
// ID: to.Ptr("/providers/Microsoft.Security/assessmentMetadata/21300918-b2e3-0346-785f-c77ff57d243b"),
// Properties: &armsecurity.AssessmentMetadataPropertiesResponse{
// Description: to.Ptr("Install an endpoint protection solution on your virtual machines scale sets, to protect them from threats and vulnerabilities."),
// AssessmentType: to.Ptr(armsecurity.AssessmentTypeBuiltIn),
// Categories: []*armsecurity.Categories{
// to.Ptr(armsecurity.CategoriesCompute)},
// DisplayName: to.Ptr("Install endpoint protection solution on virtual machine scale sets"),
// ImplementationEffort: to.Ptr(armsecurity.ImplementationEffortLow),
// PolicyDefinitionID: to.Ptr("/providers/Microsoft.Authorization/policyDefinitions/26a828e1-e88f-464e-bbb3-c134a282b9de"),
// RemediationDescription: to.Ptr("To install an endpoint protection solution: 1. <a href=\"https://docs.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-faq#how-do-i-turn-on-antimalware-in-my-virtual-machine-scale-set\">Follow the instructions in How do I turn on antimalware in my virtual machine scale set</a>"),
// Severity: to.Ptr(armsecurity.SeverityMedium),
// Threats: []*armsecurity.Threats{
// to.Ptr(armsecurity.ThreatsDataExfiltration),
// to.Ptr(armsecurity.ThreatsDataSpillage),
// to.Ptr(armsecurity.ThreatsMaliciousInsider)},
// UserImpact: to.Ptr(armsecurity.UserImpactLow),
// PlannedDeprecationDate: to.Ptr("03/2022"),
// PublishDates: &armsecurity.AssessmentMetadataPropertiesResponsePublishDates{
// GA: to.Ptr("06/01/2021"),
// Public: to.Ptr("06/01/2021"),
// },
// Tactics: []*armsecurity.Tactics{
// to.Ptr(armsecurity.TacticsCredentialAccess),
// to.Ptr(armsecurity.TacticsPersistence),
// to.Ptr(armsecurity.TacticsExecution),
// to.Ptr(armsecurity.TacticsDefenseEvasion),
// to.Ptr(armsecurity.TacticsCollection),
// to.Ptr(armsecurity.TacticsDiscovery),
// to.Ptr(armsecurity.TacticsPrivilegeEscalation)},
// Techniques: []*armsecurity.Techniques{
// to.Ptr(armsecurity.TechniquesObfuscatedFilesOrInformation),
// to.Ptr(armsecurity.TechniquesIngressToolTransfer),
// to.Ptr(armsecurity.TechniquesPhishing),
// to.Ptr(armsecurity.TechniquesUserExecution)},
// },
// }
}
func (*AssessmentsMetadataClient) NewListBySubscriptionPager ¶
func (client *AssessmentsMetadataClient) NewListBySubscriptionPager(options *AssessmentsMetadataClientListBySubscriptionOptions) *runtime.Pager[AssessmentsMetadataClientListBySubscriptionResponse]
NewListBySubscriptionPager - Get metadata information on all assessment types in a specific subscription
Generated from API version 2021-06-01
- options - AssessmentsMetadataClientListBySubscriptionOptions contains the optional parameters for the AssessmentsMetadataClient.NewListBySubscriptionPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/AssessmentsMetadata/ListAssessmentsMetadata_subscription_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewAssessmentsMetadataClient().NewListBySubscriptionPager(nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.AssessmentMetadataResponseList = armsecurity.AssessmentMetadataResponseList{
// Value: []*armsecurity.AssessmentMetadataResponse{
// {
// Name: to.Ptr("21300918-b2e3-0346-785f-c77ff57d243b"),
// Type: to.Ptr("Microsoft.Security/assessmentMetadata"),
// ID: to.Ptr("/providers/Microsoft.Security/assessmentMetadata/21300918-b2e3-0346-785f-c77ff57d243b"),
// Properties: &armsecurity.AssessmentMetadataPropertiesResponse{
// Description: to.Ptr("Install an endpoint protection solution on your virtual machines scale sets, to protect them from threats and vulnerabilities."),
// AssessmentType: to.Ptr(armsecurity.AssessmentTypeBuiltIn),
// Categories: []*armsecurity.Categories{
// to.Ptr(armsecurity.CategoriesCompute)},
// DisplayName: to.Ptr("Install endpoint protection solution on virtual machine scale sets"),
// ImplementationEffort: to.Ptr(armsecurity.ImplementationEffortLow),
// PolicyDefinitionID: to.Ptr("/providers/Microsoft.Authorization/policyDefinitions/26a828e1-e88f-464e-bbb3-c134a282b9de"),
// RemediationDescription: to.Ptr("To install an endpoint protection solution: 1. <a href=\"https://docs.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-faq#how-do-i-turn-on-antimalware-in-my-virtual-machine-scale-set\">Follow the instructions in How do I turn on antimalware in my virtual machine scale set</a>"),
// Severity: to.Ptr(armsecurity.SeverityMedium),
// Threats: []*armsecurity.Threats{
// to.Ptr(armsecurity.ThreatsDataExfiltration),
// to.Ptr(armsecurity.ThreatsDataSpillage),
// to.Ptr(armsecurity.ThreatsMaliciousInsider)},
// UserImpact: to.Ptr(armsecurity.UserImpactLow),
// PlannedDeprecationDate: to.Ptr("03/2022"),
// PublishDates: &armsecurity.AssessmentMetadataPropertiesResponsePublishDates{
// GA: to.Ptr("06/01/2021"),
// Public: to.Ptr("06/01/2021"),
// },
// Tactics: []*armsecurity.Tactics{
// to.Ptr(armsecurity.TacticsCredentialAccess),
// to.Ptr(armsecurity.TacticsPersistence),
// to.Ptr(armsecurity.TacticsExecution),
// to.Ptr(armsecurity.TacticsDefenseEvasion),
// to.Ptr(armsecurity.TacticsCollection),
// to.Ptr(armsecurity.TacticsDiscovery),
// to.Ptr(armsecurity.TacticsPrivilegeEscalation)},
// Techniques: []*armsecurity.Techniques{
// to.Ptr(armsecurity.TechniquesObfuscatedFilesOrInformation),
// to.Ptr(armsecurity.TechniquesIngressToolTransfer),
// to.Ptr(armsecurity.TechniquesPhishing),
// to.Ptr(armsecurity.TechniquesUserExecution)},
// },
// },
// {
// Name: to.Ptr("bc303248-3d14-44c2-96a0-55f5c326b5fe"),
// Type: to.Ptr("Microsoft.Security/assessmentMetadata"),
// ID: to.Ptr("/providers/Microsoft.Security/assessmentMetadata/bc303248-3d14-44c2-96a0-55f5c326b5fe"),
// Properties: &armsecurity.AssessmentMetadataPropertiesResponse{
// Description: to.Ptr("Open remote management ports expose your VM to a high level of risk from internet-based attacks that attempt to brute force credentials to gain admin access to the machine."),
// AssessmentType: to.Ptr(armsecurity.AssessmentTypeCustomPolicy),
// Categories: []*armsecurity.Categories{
// to.Ptr(armsecurity.CategoriesNetworking)},
// DisplayName: to.Ptr("Close management ports on your virtual machines"),
// ImplementationEffort: to.Ptr(armsecurity.ImplementationEffortLow),
// PolicyDefinitionID: to.Ptr("/providers/Microsoft.Authorization/policyDefinitions/22730e10-96f6-4aac-ad84-9383d35b5917"),
// Preview: to.Ptr(true),
// RemediationDescription: to.Ptr("We recommend that you edit the inbound rules of the below virtual machines to restrict access to specific source ranges.<br>To restrict the access to your virtual machines: 1. Click on a VM from the list below 2. At the 'Networking' blade, click on each of the rules that allow management ports (e.g. RDP-3389, WINRM-5985, SSH-22) 3. Change the 'Action' property to 'Deny' 4. Click 'Save'"),
// Severity: to.Ptr(armsecurity.SeverityMedium),
// Threats: []*armsecurity.Threats{
// to.Ptr(armsecurity.ThreatsDataExfiltration),
// to.Ptr(armsecurity.ThreatsDataSpillage),
// to.Ptr(armsecurity.ThreatsMaliciousInsider)},
// UserImpact: to.Ptr(armsecurity.UserImpactHigh),
// PublishDates: &armsecurity.AssessmentMetadataPropertiesResponsePublishDates{
// GA: to.Ptr("06/01/2021"),
// Public: to.Ptr("06/01/2021"),
// },
// },
// }},
// }
}
}
func (*AssessmentsMetadataClient) NewListPager ¶
func (client *AssessmentsMetadataClient) NewListPager(options *AssessmentsMetadataClientListOptions) *runtime.Pager[AssessmentsMetadataClientListResponse]
NewListPager - Get metadata information on all assessment types
Generated from API version 2021-06-01
- options - AssessmentsMetadataClientListOptions contains the optional parameters for the AssessmentsMetadataClient.NewListPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/AssessmentsMetadata/ListAssessmentsMetadata_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewAssessmentsMetadataClient().NewListPager(nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.AssessmentMetadataResponseList = armsecurity.AssessmentMetadataResponseList{
// Value: []*armsecurity.AssessmentMetadataResponse{
// {
// Name: to.Ptr("21300918-b2e3-0346-785f-c77ff57d243b"),
// Type: to.Ptr("Microsoft.Security/assessmentMetadata"),
// ID: to.Ptr("/providers/Microsoft.Security/assessmentMetadata/21300918-b2e3-0346-785f-c77ff57d243b"),
// Properties: &armsecurity.AssessmentMetadataPropertiesResponse{
// Description: to.Ptr("Install an endpoint protection solution on your virtual machines scale sets, to protect them from threats and vulnerabilities."),
// AssessmentType: to.Ptr(armsecurity.AssessmentTypeBuiltIn),
// Categories: []*armsecurity.Categories{
// to.Ptr(armsecurity.CategoriesCompute)},
// DisplayName: to.Ptr("Install endpoint protection solution on virtual machine scale sets"),
// ImplementationEffort: to.Ptr(armsecurity.ImplementationEffortLow),
// PolicyDefinitionID: to.Ptr("/providers/Microsoft.Authorization/policyDefinitions/26a828e1-e88f-464e-bbb3-c134a282b9de"),
// RemediationDescription: to.Ptr("To install an endpoint protection solution: 1. <a href=\"https://docs.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-faq#how-do-i-turn-on-antimalware-in-my-virtual-machine-scale-set\">Follow the instructions in How do I turn on antimalware in my virtual machine scale set</a>"),
// Severity: to.Ptr(armsecurity.SeverityMedium),
// Threats: []*armsecurity.Threats{
// to.Ptr(armsecurity.ThreatsDataExfiltration),
// to.Ptr(armsecurity.ThreatsDataSpillage),
// to.Ptr(armsecurity.ThreatsMaliciousInsider)},
// UserImpact: to.Ptr(armsecurity.UserImpactLow),
// PlannedDeprecationDate: to.Ptr("03/2022"),
// PublishDates: &armsecurity.AssessmentMetadataPropertiesResponsePublishDates{
// GA: to.Ptr("06/01/2021"),
// Public: to.Ptr("06/01/2021"),
// },
// Tactics: []*armsecurity.Tactics{
// to.Ptr(armsecurity.TacticsCredentialAccess),
// to.Ptr(armsecurity.TacticsPersistence),
// to.Ptr(armsecurity.TacticsExecution),
// to.Ptr(armsecurity.TacticsDefenseEvasion),
// to.Ptr(armsecurity.TacticsCollection),
// to.Ptr(armsecurity.TacticsDiscovery),
// to.Ptr(armsecurity.TacticsPrivilegeEscalation)},
// Techniques: []*armsecurity.Techniques{
// to.Ptr(armsecurity.TechniquesObfuscatedFilesOrInformation),
// to.Ptr(armsecurity.TechniquesIngressToolTransfer),
// to.Ptr(armsecurity.TechniquesPhishing),
// to.Ptr(armsecurity.TechniquesUserExecution)},
// },
// },
// {
// Name: to.Ptr("bc303248-3d14-44c2-96a0-55f5c326b5fe"),
// Type: to.Ptr("Microsoft.Security/assessmentMetadata"),
// ID: to.Ptr("/providers/Microsoft.Security/assessmentMetadata/bc303248-3d14-44c2-96a0-55f5c326b5fe"),
// Properties: &armsecurity.AssessmentMetadataPropertiesResponse{
// Description: to.Ptr("Open remote management ports expose your VM to a high level of risk from internet-based attacks that attempt to brute force credentials to gain admin access to the machine."),
// AssessmentType: to.Ptr(armsecurity.AssessmentTypeCustomPolicy),
// Categories: []*armsecurity.Categories{
// to.Ptr(armsecurity.CategoriesNetworking)},
// DisplayName: to.Ptr("Close management ports on your virtual machines"),
// ImplementationEffort: to.Ptr(armsecurity.ImplementationEffortLow),
// PolicyDefinitionID: to.Ptr("/providers/Microsoft.Authorization/policyDefinitions/22730e10-96f6-4aac-ad84-9383d35b5917"),
// Preview: to.Ptr(true),
// RemediationDescription: to.Ptr("We recommend that you edit the inbound rules of the below virtual machines to restrict access to specific source ranges.<br>To restrict the access to your virtual machines: 1. Click on a VM from the list below 2. At the 'Networking' blade, click on each of the rules that allow management ports (e.g. RDP-3389, WINRM-5985, SSH-22) 3. Change the 'Action' property to 'Deny' 4. Click 'Save'"),
// Severity: to.Ptr(armsecurity.SeverityMedium),
// Threats: []*armsecurity.Threats{
// to.Ptr(armsecurity.ThreatsDataExfiltration),
// to.Ptr(armsecurity.ThreatsDataSpillage),
// to.Ptr(armsecurity.ThreatsMaliciousInsider)},
// UserImpact: to.Ptr(armsecurity.UserImpactHigh),
// PublishDates: &armsecurity.AssessmentMetadataPropertiesResponsePublishDates{
// GA: to.Ptr("06/01/2021"),
// Public: to.Ptr("06/01/2021"),
// },
// },
// },
// {
// Name: to.Ptr("ca039e75-a276-4175-aebc-bcd41e4b14b7"),
// Type: to.Ptr("Microsoft.Security/assessmentMetadata"),
// ID: to.Ptr("/providers/Microsoft.Security/assessmentMetadata/ca039e75-a276-4175-aebc-bcd41e4b14b7"),
// Properties: &armsecurity.AssessmentMetadataPropertiesResponse{
// Description: to.Ptr("Assessment that my organization created to view our security assessment in Azure Security Center"),
// AssessmentType: to.Ptr(armsecurity.AssessmentTypeCustomerManaged),
// Categories: []*armsecurity.Categories{
// to.Ptr(armsecurity.CategoriesCompute)},
// DisplayName: to.Ptr("My organization security assessment"),
// ImplementationEffort: to.Ptr(armsecurity.ImplementationEffortLow),
// RemediationDescription: to.Ptr("Fix it with these remediation instructions"),
// Severity: to.Ptr(armsecurity.SeverityMedium),
// Threats: []*armsecurity.Threats{
// },
// UserImpact: to.Ptr(armsecurity.UserImpactLow),
// PublishDates: &armsecurity.AssessmentMetadataPropertiesResponsePublishDates{
// GA: to.Ptr("06/01/2021"),
// Public: to.Ptr("06/01/2021"),
// },
// },
// }},
// }
}
}
type AssessmentsMetadataClientCreateInSubscriptionOptions ¶
type AssessmentsMetadataClientCreateInSubscriptionOptions struct {
}
AssessmentsMetadataClientCreateInSubscriptionOptions contains the optional parameters for the AssessmentsMetadataClient.CreateInSubscription method.
type AssessmentsMetadataClientCreateInSubscriptionResponse ¶
type AssessmentsMetadataClientCreateInSubscriptionResponse struct {
// Security assessment metadata response
AssessmentMetadataResponse
}
AssessmentsMetadataClientCreateInSubscriptionResponse contains the response from method AssessmentsMetadataClient.CreateInSubscription.
type AssessmentsMetadataClientDeleteInSubscriptionOptions ¶
type AssessmentsMetadataClientDeleteInSubscriptionOptions struct {
}
AssessmentsMetadataClientDeleteInSubscriptionOptions contains the optional parameters for the AssessmentsMetadataClient.DeleteInSubscription method.
type AssessmentsMetadataClientDeleteInSubscriptionResponse ¶
type AssessmentsMetadataClientDeleteInSubscriptionResponse struct {
}
AssessmentsMetadataClientDeleteInSubscriptionResponse contains the response from method AssessmentsMetadataClient.DeleteInSubscription.
type AssessmentsMetadataClientGetInSubscriptionOptions ¶
type AssessmentsMetadataClientGetInSubscriptionOptions struct {
}
AssessmentsMetadataClientGetInSubscriptionOptions contains the optional parameters for the AssessmentsMetadataClient.GetInSubscription method.
type AssessmentsMetadataClientGetInSubscriptionResponse ¶
type AssessmentsMetadataClientGetInSubscriptionResponse struct {
// Security assessment metadata response
AssessmentMetadataResponse
}
AssessmentsMetadataClientGetInSubscriptionResponse contains the response from method AssessmentsMetadataClient.GetInSubscription.
type AssessmentsMetadataClientGetOptions ¶
type AssessmentsMetadataClientGetOptions struct {
}
AssessmentsMetadataClientGetOptions contains the optional parameters for the AssessmentsMetadataClient.Get method.
type AssessmentsMetadataClientGetResponse ¶
type AssessmentsMetadataClientGetResponse struct {
// Security assessment metadata response
AssessmentMetadataResponse
}
AssessmentsMetadataClientGetResponse contains the response from method AssessmentsMetadataClient.Get.
type AssessmentsMetadataClientListBySubscriptionOptions ¶
type AssessmentsMetadataClientListBySubscriptionOptions struct {
}
AssessmentsMetadataClientListBySubscriptionOptions contains the optional parameters for the AssessmentsMetadataClient.NewListBySubscriptionPager method.
type AssessmentsMetadataClientListBySubscriptionResponse ¶
type AssessmentsMetadataClientListBySubscriptionResponse struct {
// List of security assessment metadata
AssessmentMetadataResponseList
}
AssessmentsMetadataClientListBySubscriptionResponse contains the response from method AssessmentsMetadataClient.NewListBySubscriptionPager.
type AssessmentsMetadataClientListOptions ¶
type AssessmentsMetadataClientListOptions struct {
}
AssessmentsMetadataClientListOptions contains the optional parameters for the AssessmentsMetadataClient.NewListPager method.
type AssessmentsMetadataClientListResponse ¶
type AssessmentsMetadataClientListResponse struct {
// List of security assessment metadata
AssessmentMetadataResponseList
}
AssessmentsMetadataClientListResponse contains the response from method AssessmentsMetadataClient.NewListPager.
type AtaExternalSecuritySolution ¶
type AtaExternalSecuritySolution struct {
// REQUIRED; The kind of the external solution
Kind *ExternalSecuritySolutionKind
// The external security solution properties for ATA solutions
Properties *AtaSolutionProperties
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Location where the resource is stored
Location *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Resource type
Type *string
}
AtaExternalSecuritySolution - Represents an ATA security solution which sends logs to an OMS workspace
func (*AtaExternalSecuritySolution) GetExternalSecuritySolution ¶
func (a *AtaExternalSecuritySolution) GetExternalSecuritySolution() *ExternalSecuritySolution
GetExternalSecuritySolution implements the ExternalSecuritySolutionClassification interface for type AtaExternalSecuritySolution.
func (AtaExternalSecuritySolution) MarshalJSON ¶
func (a AtaExternalSecuritySolution) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AtaExternalSecuritySolution.
func (*AtaExternalSecuritySolution) UnmarshalJSON ¶
func (a *AtaExternalSecuritySolution) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AtaExternalSecuritySolution.
type AtaSolutionProperties ¶
type AtaSolutionProperties struct {
// OPTIONAL; Contains additional key/value pairs not defined in the schema.
AdditionalProperties map[string]any
DeviceType *string
DeviceVendor *string
LastEventReceived *string
// Represents an OMS workspace to which the solution is connected
Workspace *ConnectedWorkspace
}
AtaSolutionProperties - The external security solution properties for ATA solutions
func (AtaSolutionProperties) MarshalJSON ¶
func (a AtaSolutionProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AtaSolutionProperties.
func (*AtaSolutionProperties) UnmarshalJSON ¶
func (a *AtaSolutionProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AtaSolutionProperties.
type AuthenticationDetailsProperties ¶
type AuthenticationDetailsProperties struct {
// REQUIRED; Connect to your cloud account, for AWS use either account credentials or role-based authentication. For GCP use
// account organization credentials.
AuthenticationType *AuthenticationType
// READ-ONLY; State of the multi-cloud connector
AuthenticationProvisioningState *AuthenticationProvisioningState
// READ-ONLY; The permissions detected in the cloud account.
GrantedPermissions []*PermissionProperty
}
AuthenticationDetailsProperties - Settings for cloud authentication management
func (*AuthenticationDetailsProperties) GetAuthenticationDetailsProperties ¶
func (a *AuthenticationDetailsProperties) GetAuthenticationDetailsProperties() *AuthenticationDetailsProperties
GetAuthenticationDetailsProperties implements the AuthenticationDetailsPropertiesClassification interface for type AuthenticationDetailsProperties.
func (AuthenticationDetailsProperties) MarshalJSON ¶
func (a AuthenticationDetailsProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AuthenticationDetailsProperties.
func (*AuthenticationDetailsProperties) UnmarshalJSON ¶
func (a *AuthenticationDetailsProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AuthenticationDetailsProperties.
type AuthenticationDetailsPropertiesClassification ¶
type AuthenticationDetailsPropertiesClassification interface {
// GetAuthenticationDetailsProperties returns the AuthenticationDetailsProperties content of the underlying type.
GetAuthenticationDetailsProperties() *AuthenticationDetailsProperties
}
AuthenticationDetailsPropertiesClassification provides polymorphic access to related types. Call the interface's GetAuthenticationDetailsProperties() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AuthenticationDetailsProperties, *AwAssumeRoleAuthenticationDetailsProperties, *AwsCredsAuthenticationDetailsProperties, - *GcpCredentialsDetailsProperties
type AuthenticationProvisioningState ¶
type AuthenticationProvisioningState string
AuthenticationProvisioningState - State of the multi-cloud connector
const ( // AuthenticationProvisioningStateExpired - the connection has expired AuthenticationProvisioningStateExpired AuthenticationProvisioningState = "Expired" // AuthenticationProvisioningStateIncorrectPolicy - Incorrect policy of the connector AuthenticationProvisioningStateIncorrectPolicy AuthenticationProvisioningState = "IncorrectPolicy" // AuthenticationProvisioningStateInvalid - Invalid connector AuthenticationProvisioningStateInvalid AuthenticationProvisioningState = "Invalid" // AuthenticationProvisioningStateValid - Valid connector AuthenticationProvisioningStateValid AuthenticationProvisioningState = "Valid" )
func PossibleAuthenticationProvisioningStateValues ¶
func PossibleAuthenticationProvisioningStateValues() []AuthenticationProvisioningState
PossibleAuthenticationProvisioningStateValues returns the possible values for the AuthenticationProvisioningState const type.
type AuthenticationType ¶
type AuthenticationType string
AuthenticationType - Connect to your cloud account, for AWS use either account credentials or role-based authentication. For GCP use account organization credentials.
const ( // AuthenticationTypeAwsAssumeRole - AWS account connector assume role authentication AuthenticationTypeAwsAssumeRole AuthenticationType = "awsAssumeRole" // AuthenticationTypeAwsCreds - AWS cloud account connector user credentials authentication AuthenticationTypeAwsCreds AuthenticationType = "awsCreds" // AuthenticationTypeGcpCredentials - GCP account connector service to service authentication AuthenticationTypeGcpCredentials AuthenticationType = "gcpCredentials" )
func PossibleAuthenticationTypeValues ¶
func PossibleAuthenticationTypeValues() []AuthenticationType
PossibleAuthenticationTypeValues returns the possible values for the AuthenticationType const type.
type Authorization ¶
type Authorization struct {
// Gets or sets one-time OAuth code to exchange for refresh and access tokens.
// Only used during PUT/PATCH operations. The secret is cleared during GET.
Code *string
}
Authorization payload.
func (Authorization) MarshalJSON ¶
func (a Authorization) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type Authorization.
func (*Authorization) UnmarshalJSON ¶
func (a *Authorization) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type Authorization.
type AutoDiscovery ¶
type AutoDiscovery string
AutoDiscovery - AutoDiscovery states.
const ( AutoDiscoveryDisabled AutoDiscovery = "Disabled" AutoDiscoveryEnabled AutoDiscovery = "Enabled" AutoDiscoveryNotApplicable AutoDiscovery = "NotApplicable" )
func PossibleAutoDiscoveryValues ¶
func PossibleAutoDiscoveryValues() []AutoDiscovery
PossibleAutoDiscoveryValues returns the possible values for the AutoDiscovery const type.
type AutoProvision ¶
type AutoProvision string
AutoProvision - Describes what kind of security agent provisioning action to take
const ( // AutoProvisionOff - Do not install security agent on the VMs automatically AutoProvisionOff AutoProvision = "Off" // AutoProvisionOn - Install missing security agent on VMs automatically AutoProvisionOn AutoProvision = "On" )
func PossibleAutoProvisionValues ¶
func PossibleAutoProvisionValues() []AutoProvision
PossibleAutoProvisionValues returns the possible values for the AutoProvision const type.
type AutoProvisioningSetting ¶
type AutoProvisioningSetting struct {
// Auto provisioning setting data
Properties *AutoProvisioningSettingProperties
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Resource type
Type *string
}
AutoProvisioningSetting - Auto provisioning setting
func (AutoProvisioningSetting) MarshalJSON ¶
func (a AutoProvisioningSetting) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AutoProvisioningSetting.
func (*AutoProvisioningSetting) UnmarshalJSON ¶
func (a *AutoProvisioningSetting) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AutoProvisioningSetting.
type AutoProvisioningSettingList ¶
type AutoProvisioningSettingList struct {
// List of all the auto provisioning settings
Value []*AutoProvisioningSetting
// READ-ONLY; The URI to fetch the next page.
NextLink *string
}
AutoProvisioningSettingList - List of all the auto provisioning settings response
func (AutoProvisioningSettingList) MarshalJSON ¶
func (a AutoProvisioningSettingList) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AutoProvisioningSettingList.
func (*AutoProvisioningSettingList) UnmarshalJSON ¶
func (a *AutoProvisioningSettingList) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AutoProvisioningSettingList.
type AutoProvisioningSettingProperties ¶
type AutoProvisioningSettingProperties struct {
// REQUIRED; Describes what kind of security agent provisioning action to take
AutoProvision *AutoProvision
}
AutoProvisioningSettingProperties - describes properties of an auto provisioning setting
func (AutoProvisioningSettingProperties) MarshalJSON ¶
func (a AutoProvisioningSettingProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AutoProvisioningSettingProperties.
func (*AutoProvisioningSettingProperties) UnmarshalJSON ¶
func (a *AutoProvisioningSettingProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AutoProvisioningSettingProperties.
type AutoProvisioningSettingsClient ¶
type AutoProvisioningSettingsClient struct {
// contains filtered or unexported fields
}
AutoProvisioningSettingsClient contains the methods for the AutoProvisioningSettings group. Don't use this type directly, use NewAutoProvisioningSettingsClient() instead.
func NewAutoProvisioningSettingsClient ¶
func NewAutoProvisioningSettingsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*AutoProvisioningSettingsClient, error)
NewAutoProvisioningSettingsClient creates a new instance of AutoProvisioningSettingsClient with the specified values.
- subscriptionID - Azure subscription ID
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*AutoProvisioningSettingsClient) Create ¶
func (client *AutoProvisioningSettingsClient) Create(ctx context.Context, settingName string, setting AutoProvisioningSetting, options *AutoProvisioningSettingsClientCreateOptions) (AutoProvisioningSettingsClientCreateResponse, error)
Create - Details of a specific setting If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2017-08-01-preview
- settingName - Auto provisioning setting key
- setting - Auto provisioning setting key
- options - AutoProvisioningSettingsClientCreateOptions contains the optional parameters for the AutoProvisioningSettingsClient.Create method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/AutoProvisioningSettings/CreateAutoProvisioningSettingsSubscription_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewAutoProvisioningSettingsClient().Create(ctx, "default", armsecurity.AutoProvisioningSetting{
Name: to.Ptr("default"),
Type: to.Ptr("Microsoft.Security/autoProvisioningSettings"),
ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/autoProvisioningSettings/default"),
Properties: &armsecurity.AutoProvisioningSettingProperties{
AutoProvision: to.Ptr(armsecurity.AutoProvisionOn),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.AutoProvisioningSetting = armsecurity.AutoProvisioningSetting{
// Name: to.Ptr("default"),
// Type: to.Ptr("Microsoft.Security/autoProvisioningSettings"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/autoProvisioningSettings/default"),
// Properties: &armsecurity.AutoProvisioningSettingProperties{
// AutoProvision: to.Ptr(armsecurity.AutoProvisionOn),
// },
// }
}
func (*AutoProvisioningSettingsClient) Get ¶
func (client *AutoProvisioningSettingsClient) Get(ctx context.Context, settingName string, options *AutoProvisioningSettingsClientGetOptions) (AutoProvisioningSettingsClientGetResponse, error)
Get - Details of a specific setting If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2017-08-01-preview
- settingName - Auto provisioning setting key
- options - AutoProvisioningSettingsClientGetOptions contains the optional parameters for the AutoProvisioningSettingsClient.Get method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/AutoProvisioningSettings/GetAutoProvisioningSettingSubscription_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewAutoProvisioningSettingsClient().Get(ctx, "default", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.AutoProvisioningSetting = armsecurity.AutoProvisioningSetting{
// Name: to.Ptr("default"),
// Type: to.Ptr("Microsoft.Security/autoProvisioningSettings"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/autoProvisioningSettings/default"),
// Properties: &armsecurity.AutoProvisioningSettingProperties{
// AutoProvision: to.Ptr(armsecurity.AutoProvisionOn),
// },
// }
}
func (*AutoProvisioningSettingsClient) NewListPager ¶
func (client *AutoProvisioningSettingsClient) NewListPager(options *AutoProvisioningSettingsClientListOptions) *runtime.Pager[AutoProvisioningSettingsClientListResponse]
NewListPager - Exposes the auto provisioning settings of the subscriptions
Generated from API version 2017-08-01-preview
- options - AutoProvisioningSettingsClientListOptions contains the optional parameters for the AutoProvisioningSettingsClient.NewListPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/AutoProvisioningSettings/GetAutoProvisioningSettingsSubscription_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewAutoProvisioningSettingsClient().NewListPager(nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.AutoProvisioningSettingList = armsecurity.AutoProvisioningSettingList{
// Value: []*armsecurity.AutoProvisioningSetting{
// {
// Name: to.Ptr("default"),
// Type: to.Ptr("Microsoft.Security/autoProvisioningSettings"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/autoProvisioningSettings/default"),
// Properties: &armsecurity.AutoProvisioningSettingProperties{
// AutoProvision: to.Ptr(armsecurity.AutoProvisionOn),
// },
// }},
// }
}
}
type AutoProvisioningSettingsClientCreateOptions ¶
type AutoProvisioningSettingsClientCreateOptions struct {
}
AutoProvisioningSettingsClientCreateOptions contains the optional parameters for the AutoProvisioningSettingsClient.Create method.
type AutoProvisioningSettingsClientCreateResponse ¶
type AutoProvisioningSettingsClientCreateResponse struct {
// Auto provisioning setting
AutoProvisioningSetting
}
AutoProvisioningSettingsClientCreateResponse contains the response from method AutoProvisioningSettingsClient.Create.
type AutoProvisioningSettingsClientGetOptions ¶
type AutoProvisioningSettingsClientGetOptions struct {
}
AutoProvisioningSettingsClientGetOptions contains the optional parameters for the AutoProvisioningSettingsClient.Get method.
type AutoProvisioningSettingsClientGetResponse ¶
type AutoProvisioningSettingsClientGetResponse struct {
// Auto provisioning setting
AutoProvisioningSetting
}
AutoProvisioningSettingsClientGetResponse contains the response from method AutoProvisioningSettingsClient.Get.
type AutoProvisioningSettingsClientListOptions ¶
type AutoProvisioningSettingsClientListOptions struct {
}
AutoProvisioningSettingsClientListOptions contains the optional parameters for the AutoProvisioningSettingsClient.NewListPager method.
type AutoProvisioningSettingsClientListResponse ¶
type AutoProvisioningSettingsClientListResponse struct {
// List of all the auto provisioning settings response
AutoProvisioningSettingList
}
AutoProvisioningSettingsClientListResponse contains the response from method AutoProvisioningSettingsClient.NewListPager.
type Automation ¶
type Automation struct {
// Entity tag is used for comparing two or more entities from the same requested resource.
Etag *string
// Kind of the resource
Kind *string
// Location where the resource is stored
Location *string
// Security automation data
Properties *AutomationProperties
// A list of key value pairs that describe the resource.
Tags map[string]*string
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Resource type
Type *string
}
Automation - The security automation resource.
func (Automation) MarshalJSON ¶
func (a Automation) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type Automation.
func (*Automation) UnmarshalJSON ¶
func (a *Automation) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type Automation.
type AutomationAction ¶
type AutomationAction struct {
// REQUIRED; The type of the action that will be triggered by the Automation
ActionType *ActionType
}
AutomationAction - The action that should be triggered.
func (*AutomationAction) GetAutomationAction ¶
func (a *AutomationAction) GetAutomationAction() *AutomationAction
GetAutomationAction implements the AutomationActionClassification interface for type AutomationAction.
func (AutomationAction) MarshalJSON ¶
func (a AutomationAction) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AutomationAction.
func (*AutomationAction) UnmarshalJSON ¶
func (a *AutomationAction) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AutomationAction.
type AutomationActionClassification ¶
type AutomationActionClassification interface {
// GetAutomationAction returns the AutomationAction content of the underlying type.
GetAutomationAction() *AutomationAction
}
AutomationActionClassification provides polymorphic access to related types. Call the interface's GetAutomationAction() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AutomationAction, *AutomationActionEventHub, *AutomationActionLogicApp, *AutomationActionWorkspace
type AutomationActionEventHub ¶
type AutomationActionEventHub struct {
// REQUIRED; The type of the action that will be triggered by the Automation
ActionType *ActionType
// The target Event Hub connection string (it will not be included in any response).
ConnectionString *string
// The target Event Hub Azure Resource ID.
EventHubResourceID *string
// Indicates whether the trusted service is enabled or not.
IsTrustedServiceEnabled *bool
// READ-ONLY; The target Event Hub SAS policy name.
SasPolicyName *string
}
AutomationActionEventHub - The target Event Hub to which event data will be exported. To learn more about Microsoft Defender for Cloud continuous export capabilities, visit https://aka.ms/ASCExportLearnMore
func (*AutomationActionEventHub) GetAutomationAction ¶
func (a *AutomationActionEventHub) GetAutomationAction() *AutomationAction
GetAutomationAction implements the AutomationActionClassification interface for type AutomationActionEventHub.
func (AutomationActionEventHub) MarshalJSON ¶
func (a AutomationActionEventHub) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AutomationActionEventHub.
func (*AutomationActionEventHub) UnmarshalJSON ¶
func (a *AutomationActionEventHub) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AutomationActionEventHub.
type AutomationActionLogicApp ¶
type AutomationActionLogicApp struct {
// REQUIRED; The type of the action that will be triggered by the Automation
ActionType *ActionType
// The triggered Logic App Azure Resource ID. This can also reside on other subscriptions, given that you have permissions
// to trigger the Logic App
LogicAppResourceID *string
// The Logic App trigger URI endpoint (it will not be included in any response).
URI *string
}
AutomationActionLogicApp - The logic app action that should be triggered. To learn more about Microsoft Defender for Cloud's Workflow Automation capabilities, visit https://aka.ms/ASCWorkflowAutomationLearnMore
func (*AutomationActionLogicApp) GetAutomationAction ¶
func (a *AutomationActionLogicApp) GetAutomationAction() *AutomationAction
GetAutomationAction implements the AutomationActionClassification interface for type AutomationActionLogicApp.
func (AutomationActionLogicApp) MarshalJSON ¶
func (a AutomationActionLogicApp) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AutomationActionLogicApp.
func (*AutomationActionLogicApp) UnmarshalJSON ¶
func (a *AutomationActionLogicApp) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AutomationActionLogicApp.
type AutomationActionWorkspace ¶
type AutomationActionWorkspace struct {
// REQUIRED; The type of the action that will be triggered by the Automation
ActionType *ActionType
// The fully qualified Log Analytics Workspace Azure Resource ID.
WorkspaceResourceID *string
}
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 Microsoft Defender for Cloud continuous export capabilities, visit https://aka.ms/ASCExportLearnMore
func (*AutomationActionWorkspace) GetAutomationAction ¶
func (a *AutomationActionWorkspace) GetAutomationAction() *AutomationAction
GetAutomationAction implements the AutomationActionClassification interface for type AutomationActionWorkspace.
func (AutomationActionWorkspace) MarshalJSON ¶
func (a AutomationActionWorkspace) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AutomationActionWorkspace.
func (*AutomationActionWorkspace) UnmarshalJSON ¶
func (a *AutomationActionWorkspace) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AutomationActionWorkspace.
type AutomationList ¶
type AutomationList struct {
// REQUIRED; The list of security automations under the given scope.
Value []*Automation
// READ-ONLY; The URI to fetch the next page.
NextLink *string
}
AutomationList - List of security automations response.
func (AutomationList) MarshalJSON ¶
func (a AutomationList) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AutomationList.
func (*AutomationList) UnmarshalJSON ¶
func (a *AutomationList) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AutomationList.
type AutomationProperties ¶
type AutomationProperties struct {
// A collection of the actions which are triggered if all the configured rules evaluations, within at least one rule set,
// are true.
Actions []AutomationActionClassification
// The security automation description.
Description *string
// Indicates whether the security automation is enabled.
IsEnabled *bool
// A collection of scopes on which the security automations logic is applied. Supported scopes are the subscription itself
// or a resource group under that subscription. The automation will only apply on
// defined scopes.
Scopes []*AutomationScope
// A collection of the source event types which evaluate the security automation set of rules.
Sources []*AutomationSource
}
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.
func (AutomationProperties) MarshalJSON ¶
func (a AutomationProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AutomationProperties.
func (*AutomationProperties) UnmarshalJSON ¶
func (a *AutomationProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AutomationProperties.
type AutomationRuleSet ¶
type AutomationRuleSet struct {
Rules []*AutomationTriggeringRule
}
AutomationRuleSet - A rule set which evaluates all its rules upon an event interception. Only when all the included rules in the rule set will be evaluated as 'true', will the event trigger the defined actions.
func (AutomationRuleSet) MarshalJSON ¶
func (a AutomationRuleSet) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AutomationRuleSet.
func (*AutomationRuleSet) UnmarshalJSON ¶
func (a *AutomationRuleSet) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AutomationRuleSet.
type AutomationScope ¶
type AutomationScope struct {
// The resources scope description.
Description *string
// The resources scope path. Can be the subscription on which the automation is defined on or a resource group under that
// subscription (fully qualified Azure resource IDs).
ScopePath *string
}
AutomationScope - A single automation scope.
func (AutomationScope) MarshalJSON ¶
func (a AutomationScope) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AutomationScope.
func (*AutomationScope) UnmarshalJSON ¶
func (a *AutomationScope) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AutomationScope.
type AutomationSource ¶
type AutomationSource struct {
// A valid event source type.
EventSource *EventSource
// A set of rules which evaluate upon event interception. A logical disjunction is applied between defined rule sets (logical
// 'or').
RuleSets []*AutomationRuleSet
}
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.
func (AutomationSource) MarshalJSON ¶
func (a AutomationSource) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AutomationSource.
func (*AutomationSource) UnmarshalJSON ¶
func (a *AutomationSource) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AutomationSource.
type AutomationTriggeringRule ¶
type AutomationTriggeringRule struct {
// The expected value.
ExpectedValue *string
// A valid comparer operator to use. A case-insensitive comparison will be applied for String PropertyType.
Operator *Operator
// The JPath of the entity model property that should be checked.
PropertyJPath *string
// The data type of the compared operands (string, integer, floating point number or a boolean [true/false]]
PropertyType *PropertyType
}
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.
func (AutomationTriggeringRule) MarshalJSON ¶
func (a AutomationTriggeringRule) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AutomationTriggeringRule.
func (*AutomationTriggeringRule) UnmarshalJSON ¶
func (a *AutomationTriggeringRule) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AutomationTriggeringRule.
type AutomationUpdateModel ¶
type AutomationUpdateModel struct {
// Security automation data
Properties *AutomationProperties
// A list of key value pairs that describe the resource.
Tags map[string]*string
}
AutomationUpdateModel - The update model of security automation resource.
func (AutomationUpdateModel) MarshalJSON ¶
func (a AutomationUpdateModel) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AutomationUpdateModel.
func (*AutomationUpdateModel) UnmarshalJSON ¶
func (a *AutomationUpdateModel) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AutomationUpdateModel.
type AutomationValidationStatus ¶
type AutomationValidationStatus struct {
// Indicates whether the model is valid or not.
IsValid *bool
// The validation message.
Message *string
}
AutomationValidationStatus - The security automation model state property bag.
func (AutomationValidationStatus) MarshalJSON ¶
func (a AutomationValidationStatus) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AutomationValidationStatus.
func (*AutomationValidationStatus) UnmarshalJSON ¶
func (a *AutomationValidationStatus) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AutomationValidationStatus.
type AutomationsClient ¶
type AutomationsClient struct {
// contains filtered or unexported fields
}
AutomationsClient contains the methods for the Automations group. Don't use this type directly, use NewAutomationsClient() instead.
func NewAutomationsClient ¶
func NewAutomationsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*AutomationsClient, error)
NewAutomationsClient creates a new instance of AutomationsClient with the specified values.
- subscriptionID - Azure subscription ID
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*AutomationsClient) CreateOrUpdate ¶
func (client *AutomationsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, automationName string, automation Automation, options *AutomationsClientCreateOrUpdateOptions) (AutomationsClientCreateOrUpdateResponse, error)
CreateOrUpdate - Creates or updates a security automation. If a security automation is already created and a subsequent request is issued for the same automation id, then it will be updated. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2023-12-01-preview
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- automationName - The security automation name.
- automation - The security automation resource
- options - AutomationsClientCreateOrUpdateOptions contains the optional parameters for the AutomationsClient.CreateOrUpdate method.
Example (CreateOrUpdateASecurityAutomationForAllAssessmentsIncludingAllSeverities) ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-12-01-preview/examples/Automations/PutAutomationAllAssessments_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewAutomationsClient().CreateOrUpdate(ctx, "exampleResourceGroup", "exampleAutomation", armsecurity.Automation{
Location: to.Ptr("Central US"),
Etag: to.Ptr("etag value (must be supplied for update)"),
Tags: map[string]*string{},
Properties: &armsecurity.AutomationProperties{
Description: to.Ptr("An example of a security automation that triggers one LogicApp resource (myTest1) on any security assessment"),
Actions: []armsecurity.AutomationActionClassification{
&armsecurity.AutomationActionLogicApp{
ActionType: to.Ptr(armsecurity.ActionTypeLogicApp),
LogicAppResourceID: to.Ptr("/subscriptions/e54a4a18-5b94-4f90-9471-bd3decad8a2e/resourceGroups/sample/providers/Microsoft.Logic/workflows/MyTest1"),
URI: to.Ptr("https://exampleTriggerUri1.com"),
}},
IsEnabled: to.Ptr(true),
Scopes: []*armsecurity.AutomationScope{
{
Description: to.Ptr("A description that helps to identify this scope - for example: security assessments that relate to the resource group myResourceGroup within the subscription a5caac9c-5c04-49af-b3d0-e204f40345d5"),
ScopePath: to.Ptr("/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/myResourceGroup"),
}},
Sources: []*armsecurity.AutomationSource{
{
EventSource: to.Ptr(armsecurity.EventSourceAssessments),
}},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.Automation = armsecurity.Automation{
// Location: to.Ptr("Central US"),
// Etag: to.Ptr("new etag value"),
// Name: to.Ptr("exampleAutomation"),
// Type: to.Ptr("Microsoft.Security/automations"),
// ID: to.Ptr("/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/automations/exampleAutomation"),
// Tags: map[string]*string{
// },
// Properties: &armsecurity.AutomationProperties{
// Description: to.Ptr("An example of a security automation that triggers one LogicApp resource (myTest1) on any security assessment"),
// Actions: []armsecurity.AutomationActionClassification{
// &armsecurity.AutomationActionLogicApp{
// ActionType: to.Ptr(armsecurity.ActionTypeLogicApp),
// LogicAppResourceID: to.Ptr("/subscriptions/e54a4a18-5b94-4f90-9471-bd3decad8a2e/resourceGroups/sample/providers/Microsoft.Logic/workflows/MyTest1"),
// }},
// IsEnabled: to.Ptr(true),
// Scopes: []*armsecurity.AutomationScope{
// {
// Description: to.Ptr("A description that helps to identify this scope - for example: security assessments that relate to the resource group myResourceGroup within the subscription a5caac9c-5c04-49af-b3d0-e204f40345d5"),
// ScopePath: to.Ptr("/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/myResourceGroup"),
// }},
// Sources: []*armsecurity.AutomationSource{
// {
// EventSource: to.Ptr(armsecurity.EventSourceAssessments),
// RuleSets: []*armsecurity.AutomationRuleSet{
// },
// }},
// },
// }
}
Example (CreateOrUpdateASecurityAutomationForAllHighSeverityAssessments) ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-12-01-preview/examples/Automations/PutAutomationHighSeverityAssessments_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewAutomationsClient().CreateOrUpdate(ctx, "exampleResourceGroup", "exampleAutomation", armsecurity.Automation{
Location: to.Ptr("Central US"),
Etag: to.Ptr("etag value (must be supplied for update)"),
Tags: map[string]*string{},
Properties: &armsecurity.AutomationProperties{
Description: to.Ptr("An example of a security automation that triggers one LogicApp resource (myTest1) on any high severity security assessment"),
Actions: []armsecurity.AutomationActionClassification{
&armsecurity.AutomationActionLogicApp{
ActionType: to.Ptr(armsecurity.ActionTypeLogicApp),
LogicAppResourceID: to.Ptr("/subscriptions/e54a4a18-5b94-4f90-9471-bd3decad8a2e/resourceGroups/sample/providers/Microsoft.Logic/workflows/MyTest1"),
URI: to.Ptr("https://exampleTriggerUri1.com"),
}},
IsEnabled: to.Ptr(true),
Scopes: []*armsecurity.AutomationScope{
{
Description: to.Ptr("A description that helps to identify this scope - for example: security assessments that relate to the resource group myResourceGroup within the subscription a5caac9c-5c04-49af-b3d0-e204f40345d5"),
ScopePath: to.Ptr("/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/myResourceGroup"),
}},
Sources: []*armsecurity.AutomationSource{
{
EventSource: to.Ptr(armsecurity.EventSourceAssessments),
RuleSets: []*armsecurity.AutomationRuleSet{
{
Rules: []*armsecurity.AutomationTriggeringRule{
{
ExpectedValue: to.Ptr("High"),
Operator: to.Ptr(armsecurity.OperatorEquals),
PropertyJPath: to.Ptr("properties.metadata.severity"),
PropertyType: to.Ptr(armsecurity.PropertyTypeString),
}},
}},
}},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.Automation = armsecurity.Automation{
// Location: to.Ptr("Central US"),
// Etag: to.Ptr("new etag value"),
// Name: to.Ptr("exampleAutomation"),
// Type: to.Ptr("Microsoft.Security/automations"),
// ID: to.Ptr("/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/automations/exampleAutomation"),
// Tags: map[string]*string{
// },
// Properties: &armsecurity.AutomationProperties{
// Description: to.Ptr("An example of a security automation that triggers one LogicApp resource (myTest1) on any high severity security assessment"),
// Actions: []armsecurity.AutomationActionClassification{
// &armsecurity.AutomationActionLogicApp{
// ActionType: to.Ptr(armsecurity.ActionTypeLogicApp),
// LogicAppResourceID: to.Ptr("/subscriptions/e54a4a18-5b94-4f90-9471-bd3decad8a2e/resourceGroups/sample/providers/Microsoft.Logic/workflows/MyTest1"),
// }},
// IsEnabled: to.Ptr(true),
// Scopes: []*armsecurity.AutomationScope{
// {
// Description: to.Ptr("A description that helps to identify this scope - for example: security assessments that relate to the resource group myResourceGroup within the subscription a5caac9c-5c04-49af-b3d0-e204f40345d5"),
// ScopePath: to.Ptr("/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/myResourceGroup"),
// }},
// Sources: []*armsecurity.AutomationSource{
// {
// EventSource: to.Ptr(armsecurity.EventSourceAssessments),
// RuleSets: []*armsecurity.AutomationRuleSet{
// {
// Rules: []*armsecurity.AutomationTriggeringRule{
// {
// ExpectedValue: to.Ptr("High"),
// Operator: to.Ptr(armsecurity.OperatorEquals),
// PropertyJPath: to.Ptr("properties.metadata.severity"),
// PropertyType: to.Ptr(armsecurity.PropertyTypeString),
// }},
// }},
// }},
// },
// }
}
Example (DisableOrEnableASecurityAutomation) ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-12-01-preview/examples/Automations/PutDisableAutomation_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewAutomationsClient().CreateOrUpdate(ctx, "exampleResourceGroup", "exampleAutomation", armsecurity.Automation{
Location: to.Ptr("Central US"),
Etag: to.Ptr("etag value (must be supplied for update)"),
Tags: map[string]*string{},
Properties: &armsecurity.AutomationProperties{
Description: to.Ptr("An example of a security automation that triggers one LogicApp resource (myTest1) on any security assessment of type customAssessment"),
Actions: []armsecurity.AutomationActionClassification{
&armsecurity.AutomationActionLogicApp{
ActionType: to.Ptr(armsecurity.ActionTypeLogicApp),
LogicAppResourceID: to.Ptr("/subscriptions/e54a4a18-5b94-4f90-9471-bd3decad8a2e/resourceGroups/sample/providers/Microsoft.Logic/workflows/MyTest1"),
URI: to.Ptr("https://exampleTriggerUri1.com"),
}},
IsEnabled: to.Ptr(false),
Scopes: []*armsecurity.AutomationScope{
{
Description: to.Ptr("A description that helps to identify this scope - for example: security assessments that relate to the resource group myResourceGroup within the subscription a5caac9c-5c04-49af-b3d0-e204f40345d5"),
ScopePath: to.Ptr("/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/myResourceGroup"),
}},
Sources: []*armsecurity.AutomationSource{
{
EventSource: to.Ptr(armsecurity.EventSourceAssessments),
RuleSets: []*armsecurity.AutomationRuleSet{
{
Rules: []*armsecurity.AutomationTriggeringRule{
{
ExpectedValue: to.Ptr("customAssessment"),
Operator: to.Ptr(armsecurity.OperatorEquals),
PropertyJPath: to.Ptr("$.Entity.AssessmentType"),
PropertyType: to.Ptr(armsecurity.PropertyTypeString),
}},
}},
}},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.Automation = armsecurity.Automation{
// Location: to.Ptr("Central US"),
// Etag: to.Ptr("new etag value"),
// Name: to.Ptr("exampleAutomation"),
// Type: to.Ptr("Microsoft.Security/automations"),
// ID: to.Ptr("/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/automations/exampleAutomation"),
// Tags: map[string]*string{
// },
// Properties: &armsecurity.AutomationProperties{
// Description: to.Ptr("An example of a security automation that triggers one LogicApp resource (myTest1) on any security assessment of type customAssessment"),
// Actions: []armsecurity.AutomationActionClassification{
// &armsecurity.AutomationActionLogicApp{
// ActionType: to.Ptr(armsecurity.ActionTypeLogicApp),
// LogicAppResourceID: to.Ptr("/subscriptions/e54a4a18-5b94-4f90-9471-bd3decad8a2e/resourceGroups/sample/providers/Microsoft.Logic/workflows/MyTest1"),
// }},
// IsEnabled: to.Ptr(false),
// Scopes: []*armsecurity.AutomationScope{
// {
// Description: to.Ptr("A description that helps to identify this scope - for example: security assessments that relate to the resource group myResourceGroup within the subscription a5caac9c-5c04-49af-b3d0-e204f40345d5"),
// ScopePath: to.Ptr("/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/myResourceGroup"),
// }},
// Sources: []*armsecurity.AutomationSource{
// {
// EventSource: to.Ptr(armsecurity.EventSourceAssessments),
// RuleSets: []*armsecurity.AutomationRuleSet{
// {
// Rules: []*armsecurity.AutomationTriggeringRule{
// {
// ExpectedValue: to.Ptr("customAssessment"),
// Operator: to.Ptr(armsecurity.OperatorEquals),
// PropertyJPath: to.Ptr("$.Entity.AssessmentType"),
// PropertyType: to.Ptr(armsecurity.PropertyTypeString),
// }},
// }},
// }},
// },
// }
}
func (*AutomationsClient) Delete ¶
func (client *AutomationsClient) Delete(ctx context.Context, resourceGroupName string, automationName string, options *AutomationsClientDeleteOptions) (AutomationsClientDeleteResponse, error)
Delete - Deletes a security automation. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2023-12-01-preview
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- automationName - The security automation name.
- options - AutomationsClientDeleteOptions contains the optional parameters for the AutomationsClient.Delete method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-12-01-preview/examples/Automations/DeleteAutomation_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewAutomationsClient().Delete(ctx, "myRg", "myAutomationName", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
}
func (*AutomationsClient) Get ¶
func (client *AutomationsClient) Get(ctx context.Context, resourceGroupName string, automationName string, options *AutomationsClientGetOptions) (AutomationsClientGetResponse, error)
Get - Retrieves information about the model of a security automation. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2023-12-01-preview
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- automationName - The security automation name.
- options - AutomationsClientGetOptions contains the optional parameters for the AutomationsClient.Get method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-12-01-preview/examples/Automations/GetAutomationResourceGroup_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewAutomationsClient().Get(ctx, "exampleResourceGroup", "exampleAutomation", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.Automation = armsecurity.Automation{
// Location: to.Ptr("Central US"),
// Etag: to.Ptr("etag value"),
// Name: to.Ptr("exampleAutomation"),
// Type: to.Ptr("Microsoft.Security/automations"),
// ID: to.Ptr("/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/automations/exampleAutomation"),
// Tags: map[string]*string{
// },
// Properties: &armsecurity.AutomationProperties{
// Description: to.Ptr("An example of a security automation that triggers one LogicApp resource (myTest1) on any security assessment of type customAssessment"),
// Actions: []armsecurity.AutomationActionClassification{
// &armsecurity.AutomationActionLogicApp{
// ActionType: to.Ptr(armsecurity.ActionTypeLogicApp),
// LogicAppResourceID: to.Ptr("/subscriptions/e54a4a18-5b94-4f90-9471-bd3decad8a2e/resourceGroups/sample/providers/Microsoft.Logic/workflows/MyTest1"),
// }},
// IsEnabled: to.Ptr(true),
// Scopes: []*armsecurity.AutomationScope{
// {
// Description: to.Ptr("A description that helps to identify this scope - for example: security assessments that relate to the resource group myResourceGroup within the subscription a5caac9c-5c04-49af-b3d0-e204f40345d5"),
// ScopePath: to.Ptr("/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/myResourceGroup"),
// }},
// Sources: []*armsecurity.AutomationSource{
// {
// EventSource: to.Ptr(armsecurity.EventSourceAssessments),
// RuleSets: []*armsecurity.AutomationRuleSet{
// {
// Rules: []*armsecurity.AutomationTriggeringRule{
// {
// ExpectedValue: to.Ptr("customAssessment"),
// Operator: to.Ptr(armsecurity.OperatorEquals),
// PropertyJPath: to.Ptr("$.Entity.AssessmentType"),
// PropertyType: to.Ptr(armsecurity.PropertyTypeString),
// }},
// }},
// }},
// },
// }
}
func (*AutomationsClient) NewListByResourceGroupPager ¶
func (client *AutomationsClient) NewListByResourceGroupPager(resourceGroupName string, options *AutomationsClientListByResourceGroupOptions) *runtime.Pager[AutomationsClientListByResourceGroupResponse]
NewListByResourceGroupPager - Lists all the security automations in the specified resource group. Use the 'nextLink' property in the response to get the next page of security automations for the specified resource group.
Generated from API version 2023-12-01-preview
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- options - AutomationsClientListByResourceGroupOptions contains the optional parameters for the AutomationsClient.NewListByResourceGroupPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-12-01-preview/examples/Automations/GetAutomationsResourceGroup_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewAutomationsClient().NewListByResourceGroupPager("exampleResourceGroup", nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.AutomationList = armsecurity.AutomationList{
// Value: []*armsecurity.Automation{
// {
// Location: to.Ptr("Central US"),
// Etag: to.Ptr("etag value"),
// Name: to.Ptr("exampleAutomation"),
// Type: to.Ptr("Microsoft.Security/automations"),
// ID: to.Ptr("/subscriptions/e4272367-5645-4c4e-9c67-3b74b59a6982/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/automations/exampleAutomation"),
// Tags: map[string]*string{
// },
// Properties: &armsecurity.AutomationProperties{
// Description: to.Ptr("An example of a security automation that triggers one LogicApp resource (myTest1) on any security assessment of type customAssessment"),
// Actions: []armsecurity.AutomationActionClassification{
// &armsecurity.AutomationActionLogicApp{
// ActionType: to.Ptr(armsecurity.ActionTypeLogicApp),
// LogicAppResourceID: to.Ptr("/subscriptions/e54a4a18-5b94-4f90-9471-bd3decad8a2e/resourceGroups/sample/providers/Microsoft.Logic/workflows/MyTest1"),
// }},
// IsEnabled: to.Ptr(true),
// Scopes: []*armsecurity.AutomationScope{
// {
// Description: to.Ptr("A description that helps to identify this scope - for example: security assessments that relate to the resource group myResourceGroup within the subscription a5caac9c-5c04-49af-b3d0-e204f40345d5"),
// ScopePath: to.Ptr("/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/myResourceGroup"),
// }},
// Sources: []*armsecurity.AutomationSource{
// {
// EventSource: to.Ptr(armsecurity.EventSourceAssessments),
// RuleSets: []*armsecurity.AutomationRuleSet{
// {
// Rules: []*armsecurity.AutomationTriggeringRule{
// {
// ExpectedValue: to.Ptr("customAssessment"),
// Operator: to.Ptr(armsecurity.OperatorEquals),
// PropertyJPath: to.Ptr("$.Entity.AssessmentType"),
// PropertyType: to.Ptr(armsecurity.PropertyTypeString),
// }},
// }},
// }},
// },
// }},
// }
}
}
func (*AutomationsClient) NewListPager ¶
func (client *AutomationsClient) NewListPager(options *AutomationsClientListOptions) *runtime.Pager[AutomationsClientListResponse]
NewListPager - Lists all the security automations in the specified subscription. Use the 'nextLink' property in the response to get the next page of security automations for the specified subscription.
Generated from API version 2023-12-01-preview
- options - AutomationsClientListOptions contains the optional parameters for the AutomationsClient.NewListPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-12-01-preview/examples/Automations/GetAutomationsSubscription_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewAutomationsClient().NewListPager(nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.AutomationList = armsecurity.AutomationList{
// Value: []*armsecurity.Automation{
// {
// Location: to.Ptr("Central US"),
// Etag: to.Ptr("etag value"),
// Name: to.Ptr("exampleAutomation"),
// Type: to.Ptr("Microsoft.Security/automations"),
// ID: to.Ptr("/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/automations/exampleAutomation"),
// Tags: map[string]*string{
// },
// Properties: &armsecurity.AutomationProperties{
// Description: to.Ptr("An example of a security automation that triggers one LogicApp resource (myTest1) on any security assessment of type customAssessment"),
// Actions: []armsecurity.AutomationActionClassification{
// &armsecurity.AutomationActionLogicApp{
// ActionType: to.Ptr(armsecurity.ActionTypeLogicApp),
// LogicAppResourceID: to.Ptr("/subscriptions/e54a4a18-5b94-4f90-9471-bd3decad8a2e/resourceGroups/sample/providers/Microsoft.Logic/workflows/MyTest1"),
// }},
// IsEnabled: to.Ptr(true),
// Scopes: []*armsecurity.AutomationScope{
// {
// Description: to.Ptr("A description that helps to identify this scope - for example: security assessments that relate to the resource group myResourceGroup within the subscription a5caac9c-5c04-49af-b3d0-e204f40345d5"),
// ScopePath: to.Ptr("/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/myResourceGroup"),
// }},
// Sources: []*armsecurity.AutomationSource{
// {
// EventSource: to.Ptr(armsecurity.EventSourceAssessments),
// RuleSets: []*armsecurity.AutomationRuleSet{
// {
// Rules: []*armsecurity.AutomationTriggeringRule{
// {
// ExpectedValue: to.Ptr("customAssessment"),
// Operator: to.Ptr(armsecurity.OperatorEquals),
// PropertyJPath: to.Ptr("$.Entity.AssessmentType"),
// PropertyType: to.Ptr(armsecurity.PropertyTypeString),
// }},
// }},
// }},
// },
// }},
// }
}
}
func (*AutomationsClient) Update ¶
func (client *AutomationsClient) Update(ctx context.Context, resourceGroupName string, automationName string, automation AutomationUpdateModel, options *AutomationsClientUpdateOptions) (AutomationsClientUpdateResponse, error)
Update - Updates a security automation If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2023-12-01-preview
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- automationName - The security automation name.
- automation - The update model of security automation resource
- options - AutomationsClientUpdateOptions contains the optional parameters for the AutomationsClient.Update method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-12-01-preview/examples/Automations/PatchAutomation_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewAutomationsClient().Update(ctx, "exampleResourceGroup", "exampleAutomation", armsecurity.AutomationUpdateModel{
Tags: map[string]*string{
"Example": to.Ptr("exampleTag"),
},
Properties: &armsecurity.AutomationProperties{
Description: to.Ptr("An example of a security automation that triggers one LogicApp resource (myTest1) on any security assessment"),
Actions: []armsecurity.AutomationActionClassification{
&armsecurity.AutomationActionLogicApp{
ActionType: to.Ptr(armsecurity.ActionTypeLogicApp),
LogicAppResourceID: to.Ptr("/subscriptions/e54a4a18-5b94-4f90-9471-bd3decad8a2e/resourceGroups/sample/providers/Microsoft.Logic/workflows/MyTest1"),
URI: to.Ptr("https://exampleTriggerUri1.com"),
}},
Scopes: []*armsecurity.AutomationScope{
{
Description: to.Ptr("A description that helps to identify this scope - for example: security assessments that relate to the resource group myResourceGroup within the subscription a5caac9c-5c04-49af-b3d0-e204f40345d5"),
ScopePath: to.Ptr("/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/myResourceGroup"),
}},
Sources: []*armsecurity.AutomationSource{
{
EventSource: to.Ptr(armsecurity.EventSourceAssessments),
}},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.Automation = armsecurity.Automation{
// Location: to.Ptr("Central US"),
// Etag: to.Ptr("new etag value"),
// Name: to.Ptr("exampleAutomation"),
// Type: to.Ptr("Microsoft.Security/automations"),
// ID: to.Ptr("/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/automations/exampleAutomation"),
// Tags: map[string]*string{
// },
// Properties: &armsecurity.AutomationProperties{
// Description: to.Ptr("An example of a security automation that triggers one LogicApp resource (myTest1) on any security assessment"),
// Actions: []armsecurity.AutomationActionClassification{
// &armsecurity.AutomationActionLogicApp{
// ActionType: to.Ptr(armsecurity.ActionTypeLogicApp),
// LogicAppResourceID: to.Ptr("/subscriptions/e54a4a18-5b94-4f90-9471-bd3decad8a2e/resourceGroups/sample/providers/Microsoft.Logic/workflows/MyTest1"),
// }},
// IsEnabled: to.Ptr(true),
// Scopes: []*armsecurity.AutomationScope{
// {
// Description: to.Ptr("A description that helps to identify this scope - for example: security assessments that relate to the resource group myResourceGroup within the subscription a5caac9c-5c04-49af-b3d0-e204f40345d5"),
// ScopePath: to.Ptr("/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/myResourceGroup"),
// }},
// Sources: []*armsecurity.AutomationSource{
// {
// EventSource: to.Ptr(armsecurity.EventSourceAssessments),
// RuleSets: []*armsecurity.AutomationRuleSet{
// },
// }},
// },
// }
}
func (*AutomationsClient) Validate ¶
func (client *AutomationsClient) Validate(ctx context.Context, resourceGroupName string, automationName string, automation Automation, options *AutomationsClientValidateOptions) (AutomationsClientValidateResponse, error)
Validate - Validates the security automation model before create or update. Any validation errors are returned to the client. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2023-12-01-preview
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- automationName - The security automation name.
- automation - The security automation resource
- options - AutomationsClientValidateOptions contains the optional parameters for the AutomationsClient.Validate method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-12-01-preview/examples/Automations/ValidateAutomation_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewAutomationsClient().Validate(ctx, "exampleResourceGroup", "exampleAutomation", armsecurity.Automation{
Location: to.Ptr("Central US"),
Tags: map[string]*string{},
Properties: &armsecurity.AutomationProperties{
Description: to.Ptr("An example of a security automation that triggers one LogicApp resource (myTest1) on any security assessment of type customAssessment"),
Actions: []armsecurity.AutomationActionClassification{
&armsecurity.AutomationActionLogicApp{
ActionType: to.Ptr(armsecurity.ActionTypeLogicApp),
LogicAppResourceID: to.Ptr("/subscriptions/e54a4a18-5b94-4f90-9471-bd3decad8a2e/resourceGroups/sample/providers/Microsoft.Logic/workflows/MyTest1"),
URI: to.Ptr("https://exampleTriggerUri1.com"),
}},
IsEnabled: to.Ptr(true),
Scopes: []*armsecurity.AutomationScope{
{
Description: to.Ptr("A description that helps to identify this scope - for example: security assessments that relate to the resource group myResourceGroup within the subscription a5caac9c-5c04-49af-b3d0-e204f40345d5"),
ScopePath: to.Ptr("/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/myResourceGroup"),
}},
Sources: []*armsecurity.AutomationSource{
{
EventSource: to.Ptr(armsecurity.EventSourceAssessments),
RuleSets: []*armsecurity.AutomationRuleSet{
{
Rules: []*armsecurity.AutomationTriggeringRule{
{
ExpectedValue: to.Ptr("customAssessment"),
Operator: to.Ptr(armsecurity.OperatorEquals),
PropertyJPath: to.Ptr("$.Entity.AssessmentType"),
PropertyType: to.Ptr(armsecurity.PropertyTypeString),
}},
}},
}},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.AutomationValidationStatus = armsecurity.AutomationValidationStatus{
// IsValid: to.Ptr(true),
// Message: to.Ptr("Validation Successful"),
// }
}
type AutomationsClientCreateOrUpdateOptions ¶
type AutomationsClientCreateOrUpdateOptions struct {
}
AutomationsClientCreateOrUpdateOptions contains the optional parameters for the AutomationsClient.CreateOrUpdate method.
type AutomationsClientCreateOrUpdateResponse ¶
type AutomationsClientCreateOrUpdateResponse struct {
// The security automation resource.
Automation
}
AutomationsClientCreateOrUpdateResponse contains the response from method AutomationsClient.CreateOrUpdate.
type AutomationsClientDeleteOptions ¶
type AutomationsClientDeleteOptions struct {
}
AutomationsClientDeleteOptions contains the optional parameters for the AutomationsClient.Delete method.
type AutomationsClientDeleteResponse ¶
type AutomationsClientDeleteResponse struct {
}
AutomationsClientDeleteResponse contains the response from method AutomationsClient.Delete.
type AutomationsClientGetOptions ¶
type AutomationsClientGetOptions struct {
}
AutomationsClientGetOptions contains the optional parameters for the AutomationsClient.Get method.
type AutomationsClientGetResponse ¶
type AutomationsClientGetResponse struct {
// The security automation resource.
Automation
}
AutomationsClientGetResponse contains the response from method AutomationsClient.Get.
type AutomationsClientListByResourceGroupOptions ¶
type AutomationsClientListByResourceGroupOptions struct {
}
AutomationsClientListByResourceGroupOptions contains the optional parameters for the AutomationsClient.NewListByResourceGroupPager method.
type AutomationsClientListByResourceGroupResponse ¶
type AutomationsClientListByResourceGroupResponse struct {
// List of security automations response.
AutomationList
}
AutomationsClientListByResourceGroupResponse contains the response from method AutomationsClient.NewListByResourceGroupPager.
type AutomationsClientListOptions ¶
type AutomationsClientListOptions struct {
}
AutomationsClientListOptions contains the optional parameters for the AutomationsClient.NewListPager method.
type AutomationsClientListResponse ¶
type AutomationsClientListResponse struct {
// List of security automations response.
AutomationList
}
AutomationsClientListResponse contains the response from method AutomationsClient.NewListPager.
type AutomationsClientUpdateOptions ¶
type AutomationsClientUpdateOptions struct {
}
AutomationsClientUpdateOptions contains the optional parameters for the AutomationsClient.Update method.
type AutomationsClientUpdateResponse ¶
type AutomationsClientUpdateResponse struct {
// The security automation resource.
Automation
}
AutomationsClientUpdateResponse contains the response from method AutomationsClient.Update.
type AutomationsClientValidateOptions ¶
type AutomationsClientValidateOptions struct {
}
AutomationsClientValidateOptions contains the optional parameters for the AutomationsClient.Validate method.
type AutomationsClientValidateResponse ¶
type AutomationsClientValidateResponse struct {
// The security automation model state property bag.
AutomationValidationStatus
}
AutomationsClientValidateResponse contains the response from method AutomationsClient.Validate.
type AwAssumeRoleAuthenticationDetailsProperties ¶
type AwAssumeRoleAuthenticationDetailsProperties struct {
// REQUIRED; Connect to your cloud account, for AWS use either account credentials or role-based authentication. For GCP use
// account organization credentials.
AuthenticationType *AuthenticationType
// REQUIRED; Assumed role ID is an identifier that you can use to create temporary security credentials.
AwsAssumeRoleArn *string
// REQUIRED; A unique identifier that is required when you assume a role in another account.
AwsExternalID *string
// READ-ONLY; The ID of the cloud account
AccountID *string
// READ-ONLY; State of the multi-cloud connector
AuthenticationProvisioningState *AuthenticationProvisioningState
// READ-ONLY; The permissions detected in the cloud account.
GrantedPermissions []*PermissionProperty
}
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) [https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html]
func (*AwAssumeRoleAuthenticationDetailsProperties) GetAuthenticationDetailsProperties ¶
func (a *AwAssumeRoleAuthenticationDetailsProperties) GetAuthenticationDetailsProperties() *AuthenticationDetailsProperties
GetAuthenticationDetailsProperties implements the AuthenticationDetailsPropertiesClassification interface for type AwAssumeRoleAuthenticationDetailsProperties.
func (AwAssumeRoleAuthenticationDetailsProperties) MarshalJSON ¶
func (a AwAssumeRoleAuthenticationDetailsProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AwAssumeRoleAuthenticationDetailsProperties.
func (*AwAssumeRoleAuthenticationDetailsProperties) UnmarshalJSON ¶
func (a *AwAssumeRoleAuthenticationDetailsProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AwAssumeRoleAuthenticationDetailsProperties.
type AwsCredsAuthenticationDetailsProperties ¶
type AwsCredsAuthenticationDetailsProperties struct {
// REQUIRED; Connect to your cloud account, for AWS use either account credentials or role-based authentication. For GCP use
// account organization credentials.
AuthenticationType *AuthenticationType
// REQUIRED; Public key element of the AWS credential object (write only)
AwsAccessKeyID *string
// REQUIRED; Secret key element of the AWS credential object (write only)
AwsSecretAccessKey *string
// READ-ONLY; The ID of the cloud account
AccountID *string
// READ-ONLY; State of the multi-cloud connector
AuthenticationProvisioningState *AuthenticationProvisioningState
// READ-ONLY; The permissions detected in the cloud account.
GrantedPermissions []*PermissionProperty
}
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) [https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html]
func (*AwsCredsAuthenticationDetailsProperties) GetAuthenticationDetailsProperties ¶
func (a *AwsCredsAuthenticationDetailsProperties) GetAuthenticationDetailsProperties() *AuthenticationDetailsProperties
GetAuthenticationDetailsProperties implements the AuthenticationDetailsPropertiesClassification interface for type AwsCredsAuthenticationDetailsProperties.
func (AwsCredsAuthenticationDetailsProperties) MarshalJSON ¶
func (a AwsCredsAuthenticationDetailsProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AwsCredsAuthenticationDetailsProperties.
func (*AwsCredsAuthenticationDetailsProperties) UnmarshalJSON ¶
func (a *AwsCredsAuthenticationDetailsProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AwsCredsAuthenticationDetailsProperties.
type AwsEnvironmentData ¶
type AwsEnvironmentData struct {
// REQUIRED; The type of the environment data.
EnvironmentType *EnvironmentType
// The AWS account's organizational data
OrganizationalData AwsOrganizationalDataClassification
// list of regions to scan
Regions []*string
// Scan interval in hours (value should be between 1-hour to 24-hours)
ScanInterval *int64
// READ-ONLY; The AWS account name
AccountName *string
}
AwsEnvironmentData - The AWS connector environment data
func (*AwsEnvironmentData) GetEnvironmentData ¶
func (a *AwsEnvironmentData) GetEnvironmentData() *EnvironmentData
GetEnvironmentData implements the EnvironmentDataClassification interface for type AwsEnvironmentData.
func (AwsEnvironmentData) MarshalJSON ¶
func (a AwsEnvironmentData) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AwsEnvironmentData.
func (*AwsEnvironmentData) UnmarshalJSON ¶
func (a *AwsEnvironmentData) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AwsEnvironmentData.
type AwsOrganizationalData ¶
type AwsOrganizationalData struct {
// REQUIRED; The multi cloud account's membership type in the organization
OrganizationMembershipType *OrganizationMembershipType
}
AwsOrganizationalData - The AWS organization data
func (*AwsOrganizationalData) GetAwsOrganizationalData ¶
func (a *AwsOrganizationalData) GetAwsOrganizationalData() *AwsOrganizationalData
GetAwsOrganizationalData implements the AwsOrganizationalDataClassification interface for type AwsOrganizationalData.
func (AwsOrganizationalData) MarshalJSON ¶
func (a AwsOrganizationalData) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AwsOrganizationalData.
func (*AwsOrganizationalData) UnmarshalJSON ¶
func (a *AwsOrganizationalData) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AwsOrganizationalData.
type AwsOrganizationalDataClassification ¶
type AwsOrganizationalDataClassification interface {
// GetAwsOrganizationalData returns the AwsOrganizationalData content of the underlying type.
GetAwsOrganizationalData() *AwsOrganizationalData
}
AwsOrganizationalDataClassification provides polymorphic access to related types. Call the interface's GetAwsOrganizationalData() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AwsOrganizationalData, *AwsOrganizationalDataMaster, *AwsOrganizationalDataMember
type AwsOrganizationalDataMaster ¶
type AwsOrganizationalDataMaster struct {
// REQUIRED; The multi cloud account's membership type in the organization
OrganizationMembershipType *OrganizationMembershipType
// If the multi cloud account is of membership type organization, list of accounts excluded from offering
ExcludedAccountIDs []*string
// If the multi cloud account is of membership type organization, this will be the name of the onboarding stackset
StacksetName *string
}
AwsOrganizationalDataMaster - The AWS organization data for the master account
func (*AwsOrganizationalDataMaster) GetAwsOrganizationalData ¶
func (a *AwsOrganizationalDataMaster) GetAwsOrganizationalData() *AwsOrganizationalData
GetAwsOrganizationalData implements the AwsOrganizationalDataClassification interface for type AwsOrganizationalDataMaster.
func (AwsOrganizationalDataMaster) MarshalJSON ¶
func (a AwsOrganizationalDataMaster) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AwsOrganizationalDataMaster.
func (*AwsOrganizationalDataMaster) UnmarshalJSON ¶
func (a *AwsOrganizationalDataMaster) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AwsOrganizationalDataMaster.
type AwsOrganizationalDataMember ¶
type AwsOrganizationalDataMember struct {
// REQUIRED; The multi cloud account's membership type in the organization
OrganizationMembershipType *OrganizationMembershipType
// If the multi cloud account is not of membership type organization, this will be the ID of the account's parent
ParentHierarchyID *string
}
AwsOrganizationalDataMember - The AWS organization data for the member account
func (*AwsOrganizationalDataMember) GetAwsOrganizationalData ¶
func (a *AwsOrganizationalDataMember) GetAwsOrganizationalData() *AwsOrganizationalData
GetAwsOrganizationalData implements the AwsOrganizationalDataClassification interface for type AwsOrganizationalDataMember.
func (AwsOrganizationalDataMember) MarshalJSON ¶
func (a AwsOrganizationalDataMember) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AwsOrganizationalDataMember.
func (*AwsOrganizationalDataMember) UnmarshalJSON ¶
func (a *AwsOrganizationalDataMember) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AwsOrganizationalDataMember.
type AzureDevOpsOrg ¶
type AzureDevOpsOrg struct {
// Azure DevOps Organization properties.
Properties *AzureDevOpsOrgProperties
// READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
ID *string
// READ-ONLY; The name of the resource
Name *string
// READ-ONLY; Metadata pertaining to creation and last modification of the resource.
SystemData *SystemData
// READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
Type *string
}
AzureDevOpsOrg - Azure DevOps Organization resource.
func (AzureDevOpsOrg) MarshalJSON ¶
func (a AzureDevOpsOrg) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AzureDevOpsOrg.
func (*AzureDevOpsOrg) UnmarshalJSON ¶
func (a *AzureDevOpsOrg) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AzureDevOpsOrg.
type AzureDevOpsOrgListResponse ¶
type AzureDevOpsOrgListResponse struct {
// Gets or sets next link to scroll over the results.
NextLink *string
// Gets or sets list of resources.
Value []*AzureDevOpsOrg
}
AzureDevOpsOrgListResponse - List of RP resources which supports pagination.
func (AzureDevOpsOrgListResponse) MarshalJSON ¶
func (a AzureDevOpsOrgListResponse) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AzureDevOpsOrgListResponse.
func (*AzureDevOpsOrgListResponse) UnmarshalJSON ¶
func (a *AzureDevOpsOrgListResponse) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AzureDevOpsOrgListResponse.
type AzureDevOpsOrgProperties ¶
type AzureDevOpsOrgProperties struct {
// Configuration payload for PR Annotations.
ActionableRemediation *ActionableRemediation
// Details about resource onboarding status across all connectors.
// OnboardedByOtherConnector - this resource has already been onboarded to another connector. This is only applicable to top-level
// resources. Onboarded - this resource has already been onboarded by the
// specified connector. NotOnboarded - this resource has not been onboarded to any connector. NotApplicable - the onboarding
// state is not applicable to the current endpoint.
OnboardingState *OnboardingState
// The provisioning state of the resource.
// Pending - Provisioning pending. Failed - Provisioning failed. Succeeded - Successful provisioning. Canceled - Provisioning
// canceled. PendingDeletion - Deletion pending. DeletionSuccess - Deletion
// successful. DeletionFailure - Deletion failure.
ProvisioningState *DevOpsProvisioningState
// READ-ONLY; Gets or sets resource status message.
ProvisioningStatusMessage *string
// READ-ONLY; Gets or sets time when resource was last checked.
ProvisioningStatusUpdateTimeUTC *time.Time
}
AzureDevOpsOrgProperties - Azure DevOps Organization properties.
func (AzureDevOpsOrgProperties) MarshalJSON ¶
func (a AzureDevOpsOrgProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AzureDevOpsOrgProperties.
func (*AzureDevOpsOrgProperties) UnmarshalJSON ¶
func (a *AzureDevOpsOrgProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AzureDevOpsOrgProperties.
type AzureDevOpsOrganizationConfiguration ¶
type AzureDevOpsOrganizationConfiguration struct {
// AutoDiscovery states.
AutoDiscovery *AutoDiscovery
// AzureDevOps Project Inventory Configuration. Dictionary of AzureDevOps project name to desired project configuration. If
// AutoDiscovery is Enabled, this field should be empty or null.
ProjectConfigs map[string]*AzureDevOpsProjectConfiguration
}
AzureDevOpsOrganizationConfiguration - AzureDevOps Org Inventory Configuration.
func (AzureDevOpsOrganizationConfiguration) MarshalJSON ¶
func (a AzureDevOpsOrganizationConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AzureDevOpsOrganizationConfiguration.
func (*AzureDevOpsOrganizationConfiguration) UnmarshalJSON ¶
func (a *AzureDevOpsOrganizationConfiguration) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AzureDevOpsOrganizationConfiguration.
type AzureDevOpsOrgsClient ¶
type AzureDevOpsOrgsClient struct {
// contains filtered or unexported fields
}
AzureDevOpsOrgsClient contains the methods for the AzureDevOpsOrgs group. Don't use this type directly, use NewAzureDevOpsOrgsClient() instead.
func NewAzureDevOpsOrgsClient ¶
func NewAzureDevOpsOrgsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*AzureDevOpsOrgsClient, error)
NewAzureDevOpsOrgsClient creates a new instance of AzureDevOpsOrgsClient with the specified values.
- subscriptionID - Azure subscription ID
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*AzureDevOpsOrgsClient) BeginCreateOrUpdate ¶
func (client *AzureDevOpsOrgsClient) BeginCreateOrUpdate(ctx context.Context, resourceGroupName string, securityConnectorName string, orgName string, azureDevOpsOrg AzureDevOpsOrg, options *AzureDevOpsOrgsClientBeginCreateOrUpdateOptions) (*runtime.Poller[AzureDevOpsOrgsClientCreateOrUpdateResponse], error)
BeginCreateOrUpdate - Creates or updates monitored Azure DevOps organization details. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2023-09-01-preview
- resourceGroupName - The name of the resource group. The name is case insensitive.
- securityConnectorName - The security connector name.
- orgName - The Azure DevOps organization name.
- azureDevOpsOrg - The Azure DevOps organization resource payload.
- options - AzureDevOpsOrgsClientBeginCreateOrUpdateOptions contains the optional parameters for the AzureDevOpsOrgsClient.BeginCreateOrUpdate method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-09-01-preview/examples/SecurityConnectorsDevOps/CreateOrUpdateAzureDevOpsOrgs_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewAzureDevOpsOrgsClient().BeginCreateOrUpdate(ctx, "myRg", "mySecurityConnectorName", "myAzDevOpsOrg", armsecurity.AzureDevOpsOrg{
Properties: &armsecurity.AzureDevOpsOrgProperties{
ActionableRemediation: &armsecurity.ActionableRemediation{
State: to.Ptr(armsecurity.ActionableRemediationStateEnabled),
},
OnboardingState: to.Ptr(armsecurity.OnboardingStateNotApplicable),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.AzureDevOpsOrg = armsecurity.AzureDevOpsOrg{
// Name: to.Ptr("myAzDevOpsOrg"),
// Type: to.Ptr("Microsoft.Security/securityConnectors/devops/azureDevOpsOrgs"),
// ID: to.Ptr("/subscriptions/0806e1cd-cfda-4ff8-b99c-2b0af42cffd3/resourceGroups/myRg/providers/Microsoft.Security/securityConnectors/mySecurityConnectorName/devops/default/azureDevOpsOrgs/myAzDevOpsOrg"),
// Properties: &armsecurity.AzureDevOpsOrgProperties{
// ActionableRemediation: &armsecurity.ActionableRemediation{
// State: to.Ptr(armsecurity.ActionableRemediationStateEnabled),
// },
// OnboardingState: to.Ptr(armsecurity.OnboardingStateOnboarded),
// ProvisioningState: to.Ptr(armsecurity.DevOpsProvisioningStateSucceeded),
// },
// }
}
func (*AzureDevOpsOrgsClient) BeginUpdate ¶
func (client *AzureDevOpsOrgsClient) BeginUpdate(ctx context.Context, resourceGroupName string, securityConnectorName string, orgName string, azureDevOpsOrg AzureDevOpsOrg, options *AzureDevOpsOrgsClientBeginUpdateOptions) (*runtime.Poller[AzureDevOpsOrgsClientUpdateResponse], error)
BeginUpdate - Updates monitored Azure DevOps organization details. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2023-09-01-preview
- resourceGroupName - The name of the resource group. The name is case insensitive.
- securityConnectorName - The security connector name.
- orgName - The Azure DevOps organization name.
- azureDevOpsOrg - The Azure DevOps organization resource payload.
- options - AzureDevOpsOrgsClientBeginUpdateOptions contains the optional parameters for the AzureDevOpsOrgsClient.BeginUpdate method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-09-01-preview/examples/SecurityConnectorsDevOps/UpdateAzureDevOpsOrgs_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewAzureDevOpsOrgsClient().BeginUpdate(ctx, "myRg", "mySecurityConnectorName", "myAzDevOpsOrg", armsecurity.AzureDevOpsOrg{
Properties: &armsecurity.AzureDevOpsOrgProperties{
ActionableRemediation: &armsecurity.ActionableRemediation{
State: to.Ptr(armsecurity.ActionableRemediationStateEnabled),
},
OnboardingState: to.Ptr(armsecurity.OnboardingStateNotApplicable),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.AzureDevOpsOrg = armsecurity.AzureDevOpsOrg{
// Name: to.Ptr("myAzDevOpsOrg"),
// Type: to.Ptr("Microsoft.Security/securityConnectors/devops/azureDevOpsOrgs"),
// ID: to.Ptr("/subscriptions/0806e1cd-cfda-4ff8-b99c-2b0af42cffd3/resourceGroups/myRg/providers/Microsoft.Security/securityConnectors/mySecurityConnectorName/devops/default/azureDevOpsOrgs/myAzDevOpsOrg"),
// Properties: &armsecurity.AzureDevOpsOrgProperties{
// ActionableRemediation: &armsecurity.ActionableRemediation{
// State: to.Ptr(armsecurity.ActionableRemediationStateEnabled),
// },
// OnboardingState: to.Ptr(armsecurity.OnboardingStateOnboarded),
// ProvisioningState: to.Ptr(armsecurity.DevOpsProvisioningStateSucceeded),
// },
// }
}
func (*AzureDevOpsOrgsClient) Get ¶
func (client *AzureDevOpsOrgsClient) Get(ctx context.Context, resourceGroupName string, securityConnectorName string, orgName string, options *AzureDevOpsOrgsClientGetOptions) (AzureDevOpsOrgsClientGetResponse, error)
Get - Returns a monitored Azure DevOps organization resource. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2023-09-01-preview
- resourceGroupName - The name of the resource group. The name is case insensitive.
- securityConnectorName - The security connector name.
- orgName - The Azure DevOps organization name.
- options - AzureDevOpsOrgsClientGetOptions contains the optional parameters for the AzureDevOpsOrgsClient.Get method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-09-01-preview/examples/SecurityConnectorsDevOps/GetAzureDevOpsOrgs_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewAzureDevOpsOrgsClient().Get(ctx, "myRg", "mySecurityConnectorName", "myAzDevOpsOrg", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.AzureDevOpsOrg = armsecurity.AzureDevOpsOrg{
// Name: to.Ptr("myAzDevOpsOrg"),
// Type: to.Ptr("Microsoft.Security/securityConnectors/devops/azureDevOpsOrgs"),
// ID: to.Ptr("/subscriptions/0806e1cd-cfda-4ff8-b99c-2b0af42cffd3/resourceGroups/myRg/providers/Microsoft.Security/securityConnectors/mySecurityConnectorName/devops/default/azureDevOpsOrgs/myAzDevOpsOrg"),
// Properties: &armsecurity.AzureDevOpsOrgProperties{
// ActionableRemediation: &armsecurity.ActionableRemediation{
// State: to.Ptr(armsecurity.ActionableRemediationStateEnabled),
// },
// OnboardingState: to.Ptr(armsecurity.OnboardingStateOnboarded),
// ProvisioningState: to.Ptr(armsecurity.DevOpsProvisioningStateSucceeded),
// },
// }
}
func (*AzureDevOpsOrgsClient) ListAvailable ¶
func (client *AzureDevOpsOrgsClient) ListAvailable(ctx context.Context, resourceGroupName string, securityConnectorName string, options *AzureDevOpsOrgsClientListAvailableOptions) (AzureDevOpsOrgsClientListAvailableResponse, error)
ListAvailable - Returns a list of all Azure DevOps organizations accessible by the user token consumed by the connector. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2023-09-01-preview
- resourceGroupName - The name of the resource group. The name is case insensitive.
- securityConnectorName - The security connector name.
- options - AzureDevOpsOrgsClientListAvailableOptions contains the optional parameters for the AzureDevOpsOrgsClient.ListAvailable method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-09-01-preview/examples/SecurityConnectorsDevOps/ListAvailableAzureDevOpsOrgs_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewAzureDevOpsOrgsClient().ListAvailable(ctx, "myRg", "mySecurityConnectorName", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.AzureDevOpsOrgListResponse = armsecurity.AzureDevOpsOrgListResponse{
// Value: []*armsecurity.AzureDevOpsOrg{
// {
// Name: to.Ptr("myAzDevOpsOrg"),
// Type: to.Ptr("Microsoft.Security/securityConnectors/devops/azureDevOpsOrgs"),
// ID: to.Ptr("/subscriptions/0806e1cd-cfda-4ff8-b99c-2b0af42cffd3/resourceGroups/myRg/providers/Microsoft.Security/securityConnectors/mySecurityConnectorName/devops/default/azureDevOpsOrgs/myAzDevOpsOrg"),
// Properties: &armsecurity.AzureDevOpsOrgProperties{
// ActionableRemediation: &armsecurity.ActionableRemediation{
// State: to.Ptr(armsecurity.ActionableRemediationStateEnabled),
// },
// OnboardingState: to.Ptr(armsecurity.OnboardingStateOnboarded),
// ProvisioningState: to.Ptr(armsecurity.DevOpsProvisioningStateSucceeded),
// },
// },
// {
// Name: to.Ptr("anotherOrg"),
// Type: to.Ptr("Microsoft.Security/securityConnectors/devops/azureDevOpsOrgs"),
// ID: to.Ptr("/subscriptions/0806e1cd-cfda-4ff8-b99c-2b0af42cffd3/resourceGroups/myRg/providers/Microsoft.Security/securityConnectors/mySecurityConnectorName/devops/default/azureDevOpsOrgs/anotherOrg"),
// Properties: &armsecurity.AzureDevOpsOrgProperties{
// ActionableRemediation: &armsecurity.ActionableRemediation{
// State: to.Ptr(armsecurity.ActionableRemediationStateEnabled),
// },
// OnboardingState: to.Ptr(armsecurity.OnboardingStateOnboardedByOtherConnector),
// ProvisioningState: to.Ptr(armsecurity.DevOpsProvisioningStateSucceeded),
// },
// },
// {
// Name: to.Ptr("notOnboardedOrg"),
// Type: to.Ptr("Microsoft.Security/securityConnectors/devops/azureDevOpsOrgs"),
// ID: to.Ptr("/subscriptions/0806e1cd-cfda-4ff8-b99c-2b0af42cffd3/resourceGroups/myRg/providers/Microsoft.Security/securityConnectors/mySecurityConnectorName/devops/default/azureDevOpsOrgs/notOnboardedOrg"),
// Properties: &armsecurity.AzureDevOpsOrgProperties{
// ActionableRemediation: &armsecurity.ActionableRemediation{
// State: to.Ptr(armsecurity.ActionableRemediationStateNone),
// },
// OnboardingState: to.Ptr(armsecurity.OnboardingStateNotOnboarded),
// },
// }},
// }
}
func (*AzureDevOpsOrgsClient) NewListPager ¶
func (client *AzureDevOpsOrgsClient) NewListPager(resourceGroupName string, securityConnectorName string, options *AzureDevOpsOrgsClientListOptions) *runtime.Pager[AzureDevOpsOrgsClientListResponse]
NewListPager - Returns a list of Azure DevOps organizations onboarded to the connector.
Generated from API version 2023-09-01-preview
- resourceGroupName - The name of the resource group. The name is case insensitive.
- securityConnectorName - The security connector name.
- options - AzureDevOpsOrgsClientListOptions contains the optional parameters for the AzureDevOpsOrgsClient.NewListPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-09-01-preview/examples/SecurityConnectorsDevOps/ListAzureDevOpsOrgs_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewAzureDevOpsOrgsClient().NewListPager("myRg", "mySecurityConnectorName", nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.AzureDevOpsOrgListResponse = armsecurity.AzureDevOpsOrgListResponse{
// Value: []*armsecurity.AzureDevOpsOrg{
// {
// Name: to.Ptr("myAzDevOpsOrg"),
// Type: to.Ptr("Microsoft.Security/securityConnectors/devops/azureDevOpsOrgs"),
// ID: to.Ptr("/subscriptions/0806e1cd-cfda-4ff8-b99c-2b0af42cffd3/resourceGroups/myRg/providers/Microsoft.Security/securityConnectors/mySecurityConnectorName/devops/default/azureDevOpsOrgs/myAzDevOpsOrg"),
// Properties: &armsecurity.AzureDevOpsOrgProperties{
// ActionableRemediation: &armsecurity.ActionableRemediation{
// State: to.Ptr(armsecurity.ActionableRemediationStateEnabled),
// },
// OnboardingState: to.Ptr(armsecurity.OnboardingStateOnboarded),
// ProvisioningState: to.Ptr(armsecurity.DevOpsProvisioningStateSucceeded),
// },
// }},
// }
}
}
type AzureDevOpsOrgsClientBeginCreateOrUpdateOptions ¶
type AzureDevOpsOrgsClientBeginCreateOrUpdateOptions struct {
// Resumes the LRO from the provided token.
ResumeToken string
}
AzureDevOpsOrgsClientBeginCreateOrUpdateOptions contains the optional parameters for the AzureDevOpsOrgsClient.BeginCreateOrUpdate method.
type AzureDevOpsOrgsClientBeginUpdateOptions ¶
type AzureDevOpsOrgsClientBeginUpdateOptions struct {
// Resumes the LRO from the provided token.
ResumeToken string
}
AzureDevOpsOrgsClientBeginUpdateOptions contains the optional parameters for the AzureDevOpsOrgsClient.BeginUpdate method.
type AzureDevOpsOrgsClientCreateOrUpdateResponse ¶
type AzureDevOpsOrgsClientCreateOrUpdateResponse struct {
// Azure DevOps Organization resource.
AzureDevOpsOrg
}
AzureDevOpsOrgsClientCreateOrUpdateResponse contains the response from method AzureDevOpsOrgsClient.BeginCreateOrUpdate.
type AzureDevOpsOrgsClientGetOptions ¶
type AzureDevOpsOrgsClientGetOptions struct {
}
AzureDevOpsOrgsClientGetOptions contains the optional parameters for the AzureDevOpsOrgsClient.Get method.
type AzureDevOpsOrgsClientGetResponse ¶
type AzureDevOpsOrgsClientGetResponse struct {
// Azure DevOps Organization resource.
AzureDevOpsOrg
}
AzureDevOpsOrgsClientGetResponse contains the response from method AzureDevOpsOrgsClient.Get.
type AzureDevOpsOrgsClientListAvailableOptions ¶
type AzureDevOpsOrgsClientListAvailableOptions struct {
}
AzureDevOpsOrgsClientListAvailableOptions contains the optional parameters for the AzureDevOpsOrgsClient.ListAvailable method.
type AzureDevOpsOrgsClientListAvailableResponse ¶
type AzureDevOpsOrgsClientListAvailableResponse struct {
// List of RP resources which supports pagination.
AzureDevOpsOrgListResponse
}
AzureDevOpsOrgsClientListAvailableResponse contains the response from method AzureDevOpsOrgsClient.ListAvailable.
type AzureDevOpsOrgsClientListOptions ¶
type AzureDevOpsOrgsClientListOptions struct {
}
AzureDevOpsOrgsClientListOptions contains the optional parameters for the AzureDevOpsOrgsClient.NewListPager method.
type AzureDevOpsOrgsClientListResponse ¶
type AzureDevOpsOrgsClientListResponse struct {
// List of RP resources which supports pagination.
AzureDevOpsOrgListResponse
}
AzureDevOpsOrgsClientListResponse contains the response from method AzureDevOpsOrgsClient.NewListPager.
type AzureDevOpsOrgsClientUpdateResponse ¶
type AzureDevOpsOrgsClientUpdateResponse struct {
// Azure DevOps Organization resource.
AzureDevOpsOrg
}
AzureDevOpsOrgsClientUpdateResponse contains the response from method AzureDevOpsOrgsClient.BeginUpdate.
type AzureDevOpsProject ¶
type AzureDevOpsProject struct {
// Azure DevOps Project properties.
Properties *AzureDevOpsProjectProperties
// READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
ID *string
// READ-ONLY; The name of the resource
Name *string
// READ-ONLY; Metadata pertaining to creation and last modification of the resource.
SystemData *SystemData
// READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
Type *string
}
AzureDevOpsProject - Azure DevOps Project resource.
func (AzureDevOpsProject) MarshalJSON ¶
func (a AzureDevOpsProject) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AzureDevOpsProject.
func (*AzureDevOpsProject) UnmarshalJSON ¶
func (a *AzureDevOpsProject) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AzureDevOpsProject.
type AzureDevOpsProjectConfiguration ¶
type AzureDevOpsProjectConfiguration struct {
// AutoDiscovery states.
AutoDiscovery *AutoDiscovery
// AzureDevOps Repository Inventory Configuration. Dictionary of AzureDevOps repository name to desired repository configuration.
// If AutoDiscovery is Enabled, this field should be null or empty.
RepositoryConfigs map[string]*BaseResourceConfiguration
}
AzureDevOpsProjectConfiguration - AzureDevOps Project Inventory Configuration.
func (AzureDevOpsProjectConfiguration) MarshalJSON ¶
func (a AzureDevOpsProjectConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AzureDevOpsProjectConfiguration.
func (*AzureDevOpsProjectConfiguration) UnmarshalJSON ¶
func (a *AzureDevOpsProjectConfiguration) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AzureDevOpsProjectConfiguration.
type AzureDevOpsProjectListResponse ¶
type AzureDevOpsProjectListResponse struct {
// Gets or sets next link to scroll over the results.
NextLink *string
// Gets or sets list of resources.
Value []*AzureDevOpsProject
}
AzureDevOpsProjectListResponse - List of RP resources which supports pagination.
func (AzureDevOpsProjectListResponse) MarshalJSON ¶
func (a AzureDevOpsProjectListResponse) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AzureDevOpsProjectListResponse.
func (*AzureDevOpsProjectListResponse) UnmarshalJSON ¶
func (a *AzureDevOpsProjectListResponse) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AzureDevOpsProjectListResponse.
type AzureDevOpsProjectProperties ¶
type AzureDevOpsProjectProperties struct {
// Configuration payload for PR Annotations.
ActionableRemediation *ActionableRemediation
// Details about resource onboarding status across all connectors.
// OnboardedByOtherConnector - this resource has already been onboarded to another connector. This is only applicable to top-level
// resources. Onboarded - this resource has already been onboarded by the
// specified connector. NotOnboarded - this resource has not been onboarded to any connector. NotApplicable - the onboarding
// state is not applicable to the current endpoint.
OnboardingState *OnboardingState
// Gets or sets parent Azure DevOps Organization name.
ParentOrgName *string
// The provisioning state of the resource.
// Pending - Provisioning pending. Failed - Provisioning failed. Succeeded - Successful provisioning. Canceled - Provisioning
// canceled. PendingDeletion - Deletion pending. DeletionSuccess - Deletion
// successful. DeletionFailure - Deletion failure.
ProvisioningState *DevOpsProvisioningState
// READ-ONLY; Gets or sets Azure DevOps Project id.
ProjectID *string
// READ-ONLY; Gets or sets resource status message.
ProvisioningStatusMessage *string
// READ-ONLY; Gets or sets time when resource was last checked.
ProvisioningStatusUpdateTimeUTC *time.Time
}
AzureDevOpsProjectProperties - Azure DevOps Project properties.
func (AzureDevOpsProjectProperties) MarshalJSON ¶
func (a AzureDevOpsProjectProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AzureDevOpsProjectProperties.
func (*AzureDevOpsProjectProperties) UnmarshalJSON ¶
func (a *AzureDevOpsProjectProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AzureDevOpsProjectProperties.
type AzureDevOpsProjectsClient ¶
type AzureDevOpsProjectsClient struct {
// contains filtered or unexported fields
}
AzureDevOpsProjectsClient contains the methods for the AzureDevOpsProjects group. Don't use this type directly, use NewAzureDevOpsProjectsClient() instead.
func NewAzureDevOpsProjectsClient ¶
func NewAzureDevOpsProjectsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*AzureDevOpsProjectsClient, error)
NewAzureDevOpsProjectsClient creates a new instance of AzureDevOpsProjectsClient with the specified values.
- subscriptionID - Azure subscription ID
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*AzureDevOpsProjectsClient) BeginCreateOrUpdate ¶
func (client *AzureDevOpsProjectsClient) BeginCreateOrUpdate(ctx context.Context, resourceGroupName string, securityConnectorName string, orgName string, projectName string, azureDevOpsProject AzureDevOpsProject, options *AzureDevOpsProjectsClientBeginCreateOrUpdateOptions) (*runtime.Poller[AzureDevOpsProjectsClientCreateOrUpdateResponse], error)
BeginCreateOrUpdate - Creates or updates a monitored Azure DevOps project resource. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2023-09-01-preview
- resourceGroupName - The name of the resource group. The name is case insensitive.
- securityConnectorName - The security connector name.
- orgName - The Azure DevOps organization name.
- projectName - The project name.
- azureDevOpsProject - The Azure DevOps project resource payload.
- options - AzureDevOpsProjectsClientBeginCreateOrUpdateOptions contains the optional parameters for the AzureDevOpsProjectsClient.BeginCreateOrUpdate method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-09-01-preview/examples/SecurityConnectorsDevOps/CreateOrUpdateAzureDevOpsProjects_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewAzureDevOpsProjectsClient().BeginCreateOrUpdate(ctx, "myRg", "mySecurityConnectorName", "myAzDevOpsOrg", "myAzDevOpsProject", armsecurity.AzureDevOpsProject{
Properties: &armsecurity.AzureDevOpsProjectProperties{
ActionableRemediation: &armsecurity.ActionableRemediation{
State: to.Ptr(armsecurity.ActionableRemediationStateEnabled),
},
OnboardingState: to.Ptr(armsecurity.OnboardingStateNotApplicable),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.AzureDevOpsProject = armsecurity.AzureDevOpsProject{
// Name: to.Ptr("myAzDevOpsProject"),
// Type: to.Ptr("Microsoft.Security/securityConnectors/devops/azureDevOpsOrgs/projects"),
// ID: to.Ptr("/subscriptions/0806e1cd-cfda-4ff8-b99c-2b0af42cffd3/resourceGroups/myRg/providers/Microsoft.Security/securityConnectors/mySecurityConnectorName/devops/default/azureDevOpsOrgs/myAzDevOpsOrg/projects/myAzDevOpsProject"),
// Properties: &armsecurity.AzureDevOpsProjectProperties{
// ActionableRemediation: &armsecurity.ActionableRemediation{
// State: to.Ptr(armsecurity.ActionableRemediationStateEnabled),
// },
// OnboardingState: to.Ptr(armsecurity.OnboardingStateOnboarded),
// ParentOrgName: to.Ptr("myAzDevOpsOrg"),
// ProjectID: to.Ptr("9ebbed8f-a9cc-405f-a647-b235e22179de"),
// ProvisioningState: to.Ptr(armsecurity.DevOpsProvisioningStateSucceeded),
// },
// }
}
func (*AzureDevOpsProjectsClient) BeginUpdate ¶
func (client *AzureDevOpsProjectsClient) BeginUpdate(ctx context.Context, resourceGroupName string, securityConnectorName string, orgName string, projectName string, azureDevOpsProject AzureDevOpsProject, options *AzureDevOpsProjectsClientBeginUpdateOptions) (*runtime.Poller[AzureDevOpsProjectsClientUpdateResponse], error)
BeginUpdate - Updates a monitored Azure DevOps project resource. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2023-09-01-preview
- resourceGroupName - The name of the resource group. The name is case insensitive.
- securityConnectorName - The security connector name.
- orgName - The Azure DevOps organization name.
- projectName - The project name.
- azureDevOpsProject - The Azure DevOps project resource payload.
- options - AzureDevOpsProjectsClientBeginUpdateOptions contains the optional parameters for the AzureDevOpsProjectsClient.BeginUpdate method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-09-01-preview/examples/SecurityConnectorsDevOps/UpdateAzureDevOpsProjects_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewAzureDevOpsProjectsClient().BeginUpdate(ctx, "myRg", "mySecurityConnectorName", "myAzDevOpsOrg", "myAzDevOpsProject", armsecurity.AzureDevOpsProject{
Properties: &armsecurity.AzureDevOpsProjectProperties{
ActionableRemediation: &armsecurity.ActionableRemediation{
State: to.Ptr(armsecurity.ActionableRemediationStateEnabled),
},
OnboardingState: to.Ptr(armsecurity.OnboardingStateNotApplicable),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.AzureDevOpsProject = armsecurity.AzureDevOpsProject{
// Name: to.Ptr("myAzDevOpsProject"),
// Type: to.Ptr("Microsoft.Security/securityConnectors/devops/azureDevOpsOrgs/projects"),
// ID: to.Ptr("/subscriptions/0806e1cd-cfda-4ff8-b99c-2b0af42cffd3/resourceGroups/myRg/providers/Microsoft.Security/securityConnectors/mySecurityConnectorName/devops/default/azureDevOpsOrgs/myAzDevOpsOrg/projects/myAzDevOpsProject"),
// Properties: &armsecurity.AzureDevOpsProjectProperties{
// ActionableRemediation: &armsecurity.ActionableRemediation{
// State: to.Ptr(armsecurity.ActionableRemediationStateEnabled),
// },
// OnboardingState: to.Ptr(armsecurity.OnboardingStateOnboarded),
// ParentOrgName: to.Ptr("myAzDevOpsOrg"),
// ProjectID: to.Ptr("9ebbed8f-a9cc-405f-a647-b235e22179de"),
// ProvisioningState: to.Ptr(armsecurity.DevOpsProvisioningStateSucceeded),
// },
// }
}
func (*AzureDevOpsProjectsClient) Get ¶
func (client *AzureDevOpsProjectsClient) Get(ctx context.Context, resourceGroupName string, securityConnectorName string, orgName string, projectName string, options *AzureDevOpsProjectsClientGetOptions) (AzureDevOpsProjectsClientGetResponse, error)
Get - Returns a monitored Azure DevOps project resource. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2023-09-01-preview
- resourceGroupName - The name of the resource group. The name is case insensitive.
- securityConnectorName - The security connector name.
- orgName - The Azure DevOps organization name.
- projectName - The project name.
- options - AzureDevOpsProjectsClientGetOptions contains the optional parameters for the AzureDevOpsProjectsClient.Get method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-09-01-preview/examples/SecurityConnectorsDevOps/GetAzureDevOpsProjects_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewAzureDevOpsProjectsClient().Get(ctx, "myRg", "mySecurityConnectorName", "myAzDevOpsOrg", "myAzDevOpsProject", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.AzureDevOpsProject = armsecurity.AzureDevOpsProject{
// Name: to.Ptr("myAzDevOpsProject"),
// Type: to.Ptr("Microsoft.Security/securityConnectors/devops/azureDevOpsOrgs/projects"),
// ID: to.Ptr("/subscriptions/0806e1cd-cfda-4ff8-b99c-2b0af42cffd3/resourceGroups/myRg/providers/Microsoft.Security/securityConnectors/mySecurityConnectorName/devops/default/azureDevOpsOrgs/myAzDevOpsOrg/projects/myAzDevOpsProject"),
// Properties: &armsecurity.AzureDevOpsProjectProperties{
// ActionableRemediation: &armsecurity.ActionableRemediation{
// State: to.Ptr(armsecurity.ActionableRemediationStateEnabled),
// },
// OnboardingState: to.Ptr(armsecurity.OnboardingStateOnboarded),
// ParentOrgName: to.Ptr("myAzDevOpsOrg"),
// ProjectID: to.Ptr("9ebbed8f-a9cc-405f-a647-b235e22179de"),
// ProvisioningState: to.Ptr(armsecurity.DevOpsProvisioningStateSucceeded),
// },
// }
}
func (*AzureDevOpsProjectsClient) NewListPager ¶
func (client *AzureDevOpsProjectsClient) NewListPager(resourceGroupName string, securityConnectorName string, orgName string, options *AzureDevOpsProjectsClientListOptions) *runtime.Pager[AzureDevOpsProjectsClientListResponse]
NewListPager - Returns a list of Azure DevOps projects onboarded to the connector.
Generated from API version 2023-09-01-preview
- resourceGroupName - The name of the resource group. The name is case insensitive.
- securityConnectorName - The security connector name.
- orgName - The Azure DevOps organization name.
- options - AzureDevOpsProjectsClientListOptions contains the optional parameters for the AzureDevOpsProjectsClient.NewListPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-09-01-preview/examples/SecurityConnectorsDevOps/ListAzureDevOpsProjects_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewAzureDevOpsProjectsClient().NewListPager("myRg", "mySecurityConnectorName", "myAzDevOpsOrg", nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.AzureDevOpsProjectListResponse = armsecurity.AzureDevOpsProjectListResponse{
// Value: []*armsecurity.AzureDevOpsProject{
// {
// Name: to.Ptr("myAzDevOpsProject"),
// Type: to.Ptr("Microsoft.Security/securityConnectors/devops/azureDevOpsOrgs/projects"),
// ID: to.Ptr("/subscriptions/0806e1cd-cfda-4ff8-b99c-2b0af42cffd3/resourceGroups/myRg/providers/Microsoft.Security/securityConnectors/mySecurityConnectorName/devops/default/azureDevOpsOrgs/myAzDevOpsOrg/projects/myAzDevOpsProject"),
// Properties: &armsecurity.AzureDevOpsProjectProperties{
// ActionableRemediation: &armsecurity.ActionableRemediation{
// State: to.Ptr(armsecurity.ActionableRemediationStateEnabled),
// },
// OnboardingState: to.Ptr(armsecurity.OnboardingStateOnboarded),
// ParentOrgName: to.Ptr("myAzDevOpsOrg"),
// ProjectID: to.Ptr("9ebbed8f-a9cc-405f-a647-b235e22179de"),
// ProvisioningState: to.Ptr(armsecurity.DevOpsProvisioningStateSucceeded),
// },
// }},
// }
}
}
type AzureDevOpsProjectsClientBeginCreateOrUpdateOptions ¶
type AzureDevOpsProjectsClientBeginCreateOrUpdateOptions struct {
// Resumes the LRO from the provided token.
ResumeToken string
}
AzureDevOpsProjectsClientBeginCreateOrUpdateOptions contains the optional parameters for the AzureDevOpsProjectsClient.BeginCreateOrUpdate method.
type AzureDevOpsProjectsClientBeginUpdateOptions ¶
type AzureDevOpsProjectsClientBeginUpdateOptions struct {
// Resumes the LRO from the provided token.
ResumeToken string
}
AzureDevOpsProjectsClientBeginUpdateOptions contains the optional parameters for the AzureDevOpsProjectsClient.BeginUpdate method.
type AzureDevOpsProjectsClientCreateOrUpdateResponse ¶
type AzureDevOpsProjectsClientCreateOrUpdateResponse struct {
// Azure DevOps Project resource.
AzureDevOpsProject
}
AzureDevOpsProjectsClientCreateOrUpdateResponse contains the response from method AzureDevOpsProjectsClient.BeginCreateOrUpdate.
type AzureDevOpsProjectsClientGetOptions ¶
type AzureDevOpsProjectsClientGetOptions struct {
}
AzureDevOpsProjectsClientGetOptions contains the optional parameters for the AzureDevOpsProjectsClient.Get method.
type AzureDevOpsProjectsClientGetResponse ¶
type AzureDevOpsProjectsClientGetResponse struct {
// Azure DevOps Project resource.
AzureDevOpsProject
}
AzureDevOpsProjectsClientGetResponse contains the response from method AzureDevOpsProjectsClient.Get.
type AzureDevOpsProjectsClientListOptions ¶
type AzureDevOpsProjectsClientListOptions struct {
}
AzureDevOpsProjectsClientListOptions contains the optional parameters for the AzureDevOpsProjectsClient.NewListPager method.
type AzureDevOpsProjectsClientListResponse ¶
type AzureDevOpsProjectsClientListResponse struct {
// List of RP resources which supports pagination.
AzureDevOpsProjectListResponse
}
AzureDevOpsProjectsClientListResponse contains the response from method AzureDevOpsProjectsClient.NewListPager.
type AzureDevOpsProjectsClientUpdateResponse ¶
type AzureDevOpsProjectsClientUpdateResponse struct {
// Azure DevOps Project resource.
AzureDevOpsProject
}
AzureDevOpsProjectsClientUpdateResponse contains the response from method AzureDevOpsProjectsClient.BeginUpdate.
type AzureDevOpsReposClient ¶
type AzureDevOpsReposClient struct {
// contains filtered or unexported fields
}
AzureDevOpsReposClient contains the methods for the AzureDevOpsRepos group. Don't use this type directly, use NewAzureDevOpsReposClient() instead.
func NewAzureDevOpsReposClient ¶
func NewAzureDevOpsReposClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*AzureDevOpsReposClient, error)
NewAzureDevOpsReposClient creates a new instance of AzureDevOpsReposClient with the specified values.
- subscriptionID - Azure subscription ID
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*AzureDevOpsReposClient) BeginCreateOrUpdate ¶
func (client *AzureDevOpsReposClient) BeginCreateOrUpdate(ctx context.Context, resourceGroupName string, securityConnectorName string, orgName string, projectName string, repoName string, azureDevOpsRepository AzureDevOpsRepository, options *AzureDevOpsReposClientBeginCreateOrUpdateOptions) (*runtime.Poller[AzureDevOpsReposClientCreateOrUpdateResponse], error)
BeginCreateOrUpdate - Creates or updates a monitored Azure DevOps repository resource. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2023-09-01-preview
- resourceGroupName - The name of the resource group. The name is case insensitive.
- securityConnectorName - The security connector name.
- orgName - The Azure DevOps organization name.
- projectName - The project name.
- repoName - The repository name.
- azureDevOpsRepository - The Azure DevOps repository resource payload.
- options - AzureDevOpsReposClientBeginCreateOrUpdateOptions contains the optional parameters for the AzureDevOpsReposClient.BeginCreateOrUpdate method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-09-01-preview/examples/SecurityConnectorsDevOps/CreateOrUpdateAzureDevOpsRepos_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewAzureDevOpsReposClient().BeginCreateOrUpdate(ctx, "myRg", "mySecurityConnectorName", "myAzDevOpsOrg", "myAzDevOpsProject", "myAzDevOpsRepo", armsecurity.AzureDevOpsRepository{
Properties: &armsecurity.AzureDevOpsRepositoryProperties{
ActionableRemediation: &armsecurity.ActionableRemediation{
State: to.Ptr(armsecurity.ActionableRemediationStateEnabled),
},
OnboardingState: to.Ptr(armsecurity.OnboardingStateNotApplicable),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.AzureDevOpsRepository = armsecurity.AzureDevOpsRepository{
// Name: to.Ptr("myAzDevOpsRepo"),
// Type: to.Ptr("Microsoft.Security/securityConnectors/devops/azureDevOpsOrgs/projects/repos"),
// ID: to.Ptr("/subscriptions/0806e1cd-cfda-4ff8-b99c-2b0af42cffd3/resourceGroups/myRg/providers/Microsoft.Security/securityConnectors/mySecurityConnectorName/devops/default/azureDevOpsOrgs/myAzDevOpsOrg/projects/myAzDevOpsProject/repos/myAzDevOpsRepo"),
// Properties: &armsecurity.AzureDevOpsRepositoryProperties{
// ActionableRemediation: &armsecurity.ActionableRemediation{
// State: to.Ptr(armsecurity.ActionableRemediationStateEnabled),
// },
// OnboardingState: to.Ptr(armsecurity.OnboardingStateOnboarded),
// ParentOrgName: to.Ptr("myAzDevOpsOrg"),
// ParentProjectName: to.Ptr("myAzDevOpsProject"),
// ProvisioningState: to.Ptr(armsecurity.DevOpsProvisioningStateSucceeded),
// RepoID: to.Ptr("cb64ab91-c9ba-46df-b44c-c769358bccdf"),
// },
// }
}
func (*AzureDevOpsReposClient) BeginUpdate ¶
func (client *AzureDevOpsReposClient) BeginUpdate(ctx context.Context, resourceGroupName string, securityConnectorName string, orgName string, projectName string, repoName string, azureDevOpsRepository AzureDevOpsRepository, options *AzureDevOpsReposClientBeginUpdateOptions) (*runtime.Poller[AzureDevOpsReposClientUpdateResponse], error)
BeginUpdate - Updates a monitored Azure DevOps repository resource. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2023-09-01-preview
- resourceGroupName - The name of the resource group. The name is case insensitive.
- securityConnectorName - The security connector name.
- orgName - The Azure DevOps organization name.
- projectName - The project name.
- repoName - The repository name.
- azureDevOpsRepository - The Azure DevOps repository resource payload.
- options - AzureDevOpsReposClientBeginUpdateOptions contains the optional parameters for the AzureDevOpsReposClient.BeginUpdate method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-09-01-preview/examples/SecurityConnectorsDevOps/UpdateAzureDevOpsRepos_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewAzureDevOpsReposClient().BeginUpdate(ctx, "myRg", "mySecurityConnectorName", "myAzDevOpsOrg", "myAzDevOpsProject", "myAzDevOpsRepo", armsecurity.AzureDevOpsRepository{
Properties: &armsecurity.AzureDevOpsRepositoryProperties{
ActionableRemediation: &armsecurity.ActionableRemediation{
State: to.Ptr(armsecurity.ActionableRemediationStateEnabled),
},
OnboardingState: to.Ptr(armsecurity.OnboardingStateNotApplicable),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.AzureDevOpsRepository = armsecurity.AzureDevOpsRepository{
// Name: to.Ptr("myAzDevOpsRepo"),
// Type: to.Ptr("Microsoft.Security/securityConnectors/devops/azureDevOpsOrgs/projects/repos"),
// ID: to.Ptr("/subscriptions/0806e1cd-cfda-4ff8-b99c-2b0af42cffd3/resourceGroups/myRg/providers/Microsoft.Security/securityConnectors/mySecurityConnectorName/devops/default/azureDevOpsOrgs/myAzDevOpsOrg/projects/myAzDevOpsProject/repos/myAzDevOpsRepo"),
// Properties: &armsecurity.AzureDevOpsRepositoryProperties{
// ActionableRemediation: &armsecurity.ActionableRemediation{
// State: to.Ptr(armsecurity.ActionableRemediationStateEnabled),
// },
// OnboardingState: to.Ptr(armsecurity.OnboardingStateOnboarded),
// ParentOrgName: to.Ptr("myAzDevOpsOrg"),
// ParentProjectName: to.Ptr("myAzDevOpsProject"),
// ProvisioningState: to.Ptr(armsecurity.DevOpsProvisioningStateSucceeded),
// RepoID: to.Ptr("cb64ab91-c9ba-46df-b44c-c769358bccdf"),
// },
// }
}
func (*AzureDevOpsReposClient) Get ¶
func (client *AzureDevOpsReposClient) Get(ctx context.Context, resourceGroupName string, securityConnectorName string, orgName string, projectName string, repoName string, options *AzureDevOpsReposClientGetOptions) (AzureDevOpsReposClientGetResponse, error)
Get - Returns a monitored Azure DevOps repository resource. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2023-09-01-preview
- resourceGroupName - The name of the resource group. The name is case insensitive.
- securityConnectorName - The security connector name.
- orgName - The Azure DevOps organization name.
- projectName - The project name.
- repoName - The repository name.
- options - AzureDevOpsReposClientGetOptions contains the optional parameters for the AzureDevOpsReposClient.Get method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-09-01-preview/examples/SecurityConnectorsDevOps/GetAzureDevOpsRepos_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewAzureDevOpsReposClient().Get(ctx, "myRg", "mySecurityConnectorName", "myAzDevOpsOrg", "myAzDevOpsProject", "myAzDevOpsRepo", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.AzureDevOpsRepository = armsecurity.AzureDevOpsRepository{
// Name: to.Ptr("myAzDevOpsRepo"),
// Type: to.Ptr("Microsoft.Security/securityConnectors/devops/azureDevOpsOrgs/projects/repos"),
// ID: to.Ptr("/subscriptions/0806e1cd-cfda-4ff8-b99c-2b0af42cffd3/resourceGroups/myRg/providers/Microsoft.Security/securityConnectors/mySecurityConnectorName/devops/default/azureDevOpsOrgs/myAzDevOpsOrg/projects/myAzDevOpsProject/repos/myAzDevOpsRepo"),
// Properties: &armsecurity.AzureDevOpsRepositoryProperties{
// ActionableRemediation: &armsecurity.ActionableRemediation{
// State: to.Ptr(armsecurity.ActionableRemediationStateEnabled),
// },
// OnboardingState: to.Ptr(armsecurity.OnboardingStateOnboarded),
// ParentOrgName: to.Ptr("myAzDevOpsOrg"),
// ParentProjectName: to.Ptr("myAzDevOpsProject"),
// ProvisioningState: to.Ptr(armsecurity.DevOpsProvisioningStateSucceeded),
// RepoID: to.Ptr("cb64ab91-c9ba-46df-b44c-c769358bccdf"),
// },
// }
}
func (*AzureDevOpsReposClient) NewListPager ¶
func (client *AzureDevOpsReposClient) NewListPager(resourceGroupName string, securityConnectorName string, orgName string, projectName string, options *AzureDevOpsReposClientListOptions) *runtime.Pager[AzureDevOpsReposClientListResponse]
NewListPager - Returns a list of Azure DevOps repositories onboarded to the connector.
Generated from API version 2023-09-01-preview
- resourceGroupName - The name of the resource group. The name is case insensitive.
- securityConnectorName - The security connector name.
- orgName - The Azure DevOps organization name.
- projectName - The project name.
- options - AzureDevOpsReposClientListOptions contains the optional parameters for the AzureDevOpsReposClient.NewListPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-09-01-preview/examples/SecurityConnectorsDevOps/ListAzureDevOpsRepos_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewAzureDevOpsReposClient().NewListPager("myRg", "mySecurityConnectorName", "myAzDevOpsOrg", "myAzDevOpsProject", nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.AzureDevOpsRepositoryListResponse = armsecurity.AzureDevOpsRepositoryListResponse{
// Value: []*armsecurity.AzureDevOpsRepository{
// {
// Name: to.Ptr("myAzDevOpsRepo"),
// Type: to.Ptr("Microsoft.Security/securityConnectors/devops/azureDevOpsOrgs/projects/repos"),
// ID: to.Ptr("/subscriptions/0806e1cd-cfda-4ff8-b99c-2b0af42cffd3/resourceGroups/myRg/providers/Microsoft.Security/securityConnectors/mySecurityConnectorName/devops/default/azureDevOpsOrgs/myAzDevOpsOrg/projects/myAzDevOpsProject/repos/myAzDevOpsRepo"),
// Properties: &armsecurity.AzureDevOpsRepositoryProperties{
// ActionableRemediation: &armsecurity.ActionableRemediation{
// State: to.Ptr(armsecurity.ActionableRemediationStateEnabled),
// },
// OnboardingState: to.Ptr(armsecurity.OnboardingStateOnboarded),
// ParentOrgName: to.Ptr("myAzDevOpsOrg"),
// ParentProjectName: to.Ptr("myAzDevOpsProject"),
// ProvisioningState: to.Ptr(armsecurity.DevOpsProvisioningStateSucceeded),
// RepoID: to.Ptr("cb64ab91-c9ba-46df-b44c-c769358bccdf"),
// },
// }},
// }
}
}
type AzureDevOpsReposClientBeginCreateOrUpdateOptions ¶
type AzureDevOpsReposClientBeginCreateOrUpdateOptions struct {
// Resumes the LRO from the provided token.
ResumeToken string
}
AzureDevOpsReposClientBeginCreateOrUpdateOptions contains the optional parameters for the AzureDevOpsReposClient.BeginCreateOrUpdate method.
type AzureDevOpsReposClientBeginUpdateOptions ¶
type AzureDevOpsReposClientBeginUpdateOptions struct {
// Resumes the LRO from the provided token.
ResumeToken string
}
AzureDevOpsReposClientBeginUpdateOptions contains the optional parameters for the AzureDevOpsReposClient.BeginUpdate method.
type AzureDevOpsReposClientCreateOrUpdateResponse ¶
type AzureDevOpsReposClientCreateOrUpdateResponse struct {
// Azure DevOps Repository resource.
AzureDevOpsRepository
}
AzureDevOpsReposClientCreateOrUpdateResponse contains the response from method AzureDevOpsReposClient.BeginCreateOrUpdate.
type AzureDevOpsReposClientGetOptions ¶
type AzureDevOpsReposClientGetOptions struct {
}
AzureDevOpsReposClientGetOptions contains the optional parameters for the AzureDevOpsReposClient.Get method.
type AzureDevOpsReposClientGetResponse ¶
type AzureDevOpsReposClientGetResponse struct {
// Azure DevOps Repository resource.
AzureDevOpsRepository
}
AzureDevOpsReposClientGetResponse contains the response from method AzureDevOpsReposClient.Get.
type AzureDevOpsReposClientListOptions ¶
type AzureDevOpsReposClientListOptions struct {
}
AzureDevOpsReposClientListOptions contains the optional parameters for the AzureDevOpsReposClient.NewListPager method.
type AzureDevOpsReposClientListResponse ¶
type AzureDevOpsReposClientListResponse struct {
// List of RP resources which supports pagination.
AzureDevOpsRepositoryListResponse
}
AzureDevOpsReposClientListResponse contains the response from method AzureDevOpsReposClient.NewListPager.
type AzureDevOpsReposClientUpdateResponse ¶
type AzureDevOpsReposClientUpdateResponse struct {
// Azure DevOps Repository resource.
AzureDevOpsRepository
}
AzureDevOpsReposClientUpdateResponse contains the response from method AzureDevOpsReposClient.BeginUpdate.
type AzureDevOpsRepository ¶
type AzureDevOpsRepository struct {
// Azure DevOps Repository properties.
Properties *AzureDevOpsRepositoryProperties
// READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
ID *string
// READ-ONLY; The name of the resource
Name *string
// READ-ONLY; Metadata pertaining to creation and last modification of the resource.
SystemData *SystemData
// READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
Type *string
}
AzureDevOpsRepository - Azure DevOps Repository resource.
func (AzureDevOpsRepository) MarshalJSON ¶
func (a AzureDevOpsRepository) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AzureDevOpsRepository.
func (*AzureDevOpsRepository) UnmarshalJSON ¶
func (a *AzureDevOpsRepository) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AzureDevOpsRepository.
type AzureDevOpsRepositoryListResponse ¶
type AzureDevOpsRepositoryListResponse struct {
// Gets or sets next link to scroll over the results.
NextLink *string
// Gets or sets list of resources.
Value []*AzureDevOpsRepository
}
AzureDevOpsRepositoryListResponse - List of RP resources which supports pagination.
func (AzureDevOpsRepositoryListResponse) MarshalJSON ¶
func (a AzureDevOpsRepositoryListResponse) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AzureDevOpsRepositoryListResponse.
func (*AzureDevOpsRepositoryListResponse) UnmarshalJSON ¶
func (a *AzureDevOpsRepositoryListResponse) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AzureDevOpsRepositoryListResponse.
type AzureDevOpsRepositoryProperties ¶
type AzureDevOpsRepositoryProperties struct {
// Configuration payload for PR Annotations.
ActionableRemediation *ActionableRemediation
// Details about resource onboarding status across all connectors.
// OnboardedByOtherConnector - this resource has already been onboarded to another connector. This is only applicable to top-level
// resources. Onboarded - this resource has already been onboarded by the
// specified connector. NotOnboarded - this resource has not been onboarded to any connector. NotApplicable - the onboarding
// state is not applicable to the current endpoint.
OnboardingState *OnboardingState
// Gets or sets parent Azure DevOps Organization name.
ParentOrgName *string
// Gets or sets parent Azure DevOps Project name.
ParentProjectName *string
// The provisioning state of the resource.
// Pending - Provisioning pending. Failed - Provisioning failed. Succeeded - Successful provisioning. Canceled - Provisioning
// canceled. PendingDeletion - Deletion pending. DeletionSuccess - Deletion
// successful. DeletionFailure - Deletion failure.
ProvisioningState *DevOpsProvisioningState
// READ-ONLY; Gets or sets resource status message.
ProvisioningStatusMessage *string
// READ-ONLY; Gets or sets time when resource was last checked.
ProvisioningStatusUpdateTimeUTC *time.Time
// READ-ONLY; Gets or sets Azure DevOps Repository id.
RepoID *string
// READ-ONLY; Gets or sets Azure DevOps Repository url.
RepoURL *string
// READ-ONLY; Gets or sets Azure DevOps repository visibility, whether it is public or private etc.
Visibility *string
}
AzureDevOpsRepositoryProperties - Azure DevOps Repository properties.
func (AzureDevOpsRepositoryProperties) MarshalJSON ¶
func (a AzureDevOpsRepositoryProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AzureDevOpsRepositoryProperties.
func (*AzureDevOpsRepositoryProperties) UnmarshalJSON ¶
func (a *AzureDevOpsRepositoryProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AzureDevOpsRepositoryProperties.
type AzureDevOpsScopeEnvironmentData ¶
type AzureDevOpsScopeEnvironmentData struct {
// REQUIRED; The type of the environment data.
EnvironmentType *EnvironmentType
}
AzureDevOpsScopeEnvironmentData - The AzureDevOps scope connector's environment data
func (*AzureDevOpsScopeEnvironmentData) GetEnvironmentData ¶
func (a *AzureDevOpsScopeEnvironmentData) GetEnvironmentData() *EnvironmentData
GetEnvironmentData implements the EnvironmentDataClassification interface for type AzureDevOpsScopeEnvironmentData.
func (AzureDevOpsScopeEnvironmentData) MarshalJSON ¶
func (a AzureDevOpsScopeEnvironmentData) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AzureDevOpsScopeEnvironmentData.
func (*AzureDevOpsScopeEnvironmentData) UnmarshalJSON ¶
func (a *AzureDevOpsScopeEnvironmentData) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AzureDevOpsScopeEnvironmentData.
type AzureResourceDetails ¶
type AzureResourceDetails struct {
// REQUIRED; The platform where the assessed resource resides
Source *Source
// READ-ONLY; Azure resource Id of the assessed resource
ID *string
}
AzureResourceDetails - Details of the Azure resource that was assessed
func (*AzureResourceDetails) GetResourceDetails ¶
func (a *AzureResourceDetails) GetResourceDetails() *ResourceDetails
GetResourceDetails implements the ResourceDetailsClassification interface for type AzureResourceDetails.
func (AzureResourceDetails) MarshalJSON ¶
func (a AzureResourceDetails) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AzureResourceDetails.
func (*AzureResourceDetails) UnmarshalJSON ¶
func (a *AzureResourceDetails) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AzureResourceDetails.
type AzureResourceIdentifier ¶
type AzureResourceIdentifier struct {
// REQUIRED; There can be multiple identifiers of different type per alert, this field specify the identifier type.
Type *ResourceIdentifierType
// READ-ONLY; ARM resource identifier for the cloud resource being alerted on
AzureResourceID *string
}
AzureResourceIdentifier - Azure resource identifier.
func (*AzureResourceIdentifier) GetResourceIdentifier ¶
func (a *AzureResourceIdentifier) GetResourceIdentifier() *ResourceIdentifier
GetResourceIdentifier implements the ResourceIdentifierClassification interface for type AzureResourceIdentifier.
func (AzureResourceIdentifier) MarshalJSON ¶
func (a AzureResourceIdentifier) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AzureResourceIdentifier.
func (*AzureResourceIdentifier) UnmarshalJSON ¶
func (a *AzureResourceIdentifier) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AzureResourceIdentifier.
type AzureResourceLink ¶
type AzureResourceLink struct {
// READ-ONLY; Azure resource Id
ID *string
}
AzureResourceLink - Describes an Azure resource with kind
func (AzureResourceLink) MarshalJSON ¶
func (a AzureResourceLink) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AzureResourceLink.
func (*AzureResourceLink) UnmarshalJSON ¶
func (a *AzureResourceLink) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AzureResourceLink.
type AzureServersSetting ¶
type AzureServersSetting struct {
// REQUIRED; The kind of the server vulnerability assessments setting.
Kind *ServerVulnerabilityAssessmentsSettingKind
// The vulnerability assessments setting properties on Azure servers in the defined scope.
Properties *ServerVulnerabilityAssessmentsAzureSettingProperties
// READ-ONLY; Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
ID *string
// READ-ONLY; The name of the resource
Name *string
// READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
SystemData *SystemData
// READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
Type *string
}
AzureServersSetting - A vulnerability assessments setting on Azure servers in the defined scope.
func (*AzureServersSetting) GetServerVulnerabilityAssessmentsSetting ¶
func (a *AzureServersSetting) GetServerVulnerabilityAssessmentsSetting() *ServerVulnerabilityAssessmentsSetting
GetServerVulnerabilityAssessmentsSetting implements the ServerVulnerabilityAssessmentsSettingClassification interface for type AzureServersSetting.
func (AzureServersSetting) MarshalJSON ¶
func (a AzureServersSetting) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AzureServersSetting.
func (*AzureServersSetting) UnmarshalJSON ¶
func (a *AzureServersSetting) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AzureServersSetting.
type AzureTrackedResourceLocation ¶
type AzureTrackedResourceLocation struct {
// Location where the resource is stored
Location *string
}
AzureTrackedResourceLocation - Describes an Azure resource with location
func (AzureTrackedResourceLocation) MarshalJSON ¶
func (a AzureTrackedResourceLocation) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type AzureTrackedResourceLocation.
func (*AzureTrackedResourceLocation) UnmarshalJSON ¶
func (a *AzureTrackedResourceLocation) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type AzureTrackedResourceLocation.
type BaseResourceConfiguration ¶
type BaseResourceConfiguration struct {
// Onboarding states.
DesiredOnboardingState *DesiredOnboardingState
}
BaseResourceConfiguration - Base Resource Inventory configuration changes.
func (BaseResourceConfiguration) MarshalJSON ¶
func (b BaseResourceConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type BaseResourceConfiguration.
func (*BaseResourceConfiguration) UnmarshalJSON ¶
func (b *BaseResourceConfiguration) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type BaseResourceConfiguration.
type Baseline ¶
type Baseline struct {
// Expected results.
ExpectedResults [][]*string
// Baseline update time (UTC).
UpdatedTime *time.Time
}
Baseline details.
func (Baseline) MarshalJSON ¶
MarshalJSON implements the json.Marshaller interface for type Baseline.
func (*Baseline) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaller interface for type Baseline.
type BaselineAdjustedResult ¶
type BaselineAdjustedResult struct {
// Baseline details.
Baseline *Baseline
// Results the are not in baseline.
ResultsNotInBaseline [][]*string
// Results the are in baseline.
ResultsOnlyInBaseline [][]*string
// The rule result status.
Status *RuleStatus
}
BaselineAdjustedResult - The rule result adjusted with baseline.
func (BaselineAdjustedResult) MarshalJSON ¶
func (b BaselineAdjustedResult) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type BaselineAdjustedResult.
func (*BaselineAdjustedResult) UnmarshalJSON ¶
func (b *BaselineAdjustedResult) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type BaselineAdjustedResult.
type BenchmarkReference ¶
type BenchmarkReference struct {
// The benchmark name.
Benchmark *string
// The benchmark reference.
Reference *string
}
BenchmarkReference - The benchmark references.
func (BenchmarkReference) MarshalJSON ¶
func (b BenchmarkReference) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type BenchmarkReference.
func (*BenchmarkReference) UnmarshalJSON ¶
func (b *BenchmarkReference) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type BenchmarkReference.
type BuiltInInfoType ¶
type BuiltInInfoType struct {
// Id of the info type
ID *string
// Display name of the info type
Name *string
// Category of the built-in info type
Type *string
}
BuiltInInfoType - Pre-configured sensitive information type
func (BuiltInInfoType) MarshalJSON ¶
func (b BuiltInInfoType) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type BuiltInInfoType.
func (*BuiltInInfoType) UnmarshalJSON ¶
func (b *BuiltInInfoType) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type BuiltInInfoType.
type BundleType ¶
type BundleType string
BundleType - Alert Simulator supported bundles.
const ( BundleTypeAppServices BundleType = "AppServices" BundleTypeCosmosDbs BundleType = "CosmosDbs" BundleTypeDNS BundleType = "DNS" BundleTypeKeyVaults BundleType = "KeyVaults" BundleTypeKubernetesService BundleType = "KubernetesService" BundleTypeResourceManager BundleType = "ResourceManager" BundleTypeSQLServers BundleType = "SqlServers" BundleTypeStorageAccounts BundleType = "StorageAccounts" BundleTypeVirtualMachines BundleType = "VirtualMachines" )
func PossibleBundleTypeValues ¶
func PossibleBundleTypeValues() []BundleType
PossibleBundleTypeValues returns the possible values for the BundleType const type.
type CVE ¶
CVE details
func (CVE) MarshalJSON ¶
MarshalJSON implements the json.Marshaller interface for type CVE.
func (*CVE) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaller interface for type CVE.
type CVSS ¶
type CVSS struct {
// READ-ONLY; CVSS base
Base *float32
}
CVSS details
func (CVSS) MarshalJSON ¶
MarshalJSON implements the json.Marshaller interface for type CVSS.
func (*CVSS) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaller interface for type CVSS.
type Categories ¶
type Categories string
Categories - The categories of resource that is at risk when the assessment is unhealthy
const ( CategoriesCompute Categories = "Compute" CategoriesData Categories = "Data" CategoriesIdentityAndAccess Categories = "IdentityAndAccess" CategoriesIoT Categories = "IoT" CategoriesNetworking Categories = "Networking" )
func PossibleCategoriesValues ¶
func PossibleCategoriesValues() []Categories
PossibleCategoriesValues returns the possible values for the Categories const type.
type CategoryConfiguration ¶
type CategoryConfiguration struct {
// Rule categories. Code - code scanning results. Artifact scanning results. Dependencies scanning results. IaC results. Secrets
// scanning results. Container scanning results.
Category *RuleCategory
// Gets or sets minimum severity level for a given category.
MinimumSeverityLevel *string
}
CategoryConfiguration - Severity level per category configuration for PR Annotations.
func (CategoryConfiguration) MarshalJSON ¶
func (c CategoryConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type CategoryConfiguration.
func (*CategoryConfiguration) UnmarshalJSON ¶
func (c *CategoryConfiguration) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type CategoryConfiguration.
type CefExternalSecuritySolution ¶
type CefExternalSecuritySolution struct {
// REQUIRED; The kind of the external solution
Kind *ExternalSecuritySolutionKind
// The external security solution properties for CEF solutions
Properties *CefSolutionProperties
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Location where the resource is stored
Location *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Resource type
Type *string
}
CefExternalSecuritySolution - Represents a security solution which sends CEF logs to an OMS workspace
func (*CefExternalSecuritySolution) GetExternalSecuritySolution ¶
func (c *CefExternalSecuritySolution) GetExternalSecuritySolution() *ExternalSecuritySolution
GetExternalSecuritySolution implements the ExternalSecuritySolutionClassification interface for type CefExternalSecuritySolution.
func (CefExternalSecuritySolution) MarshalJSON ¶
func (c CefExternalSecuritySolution) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type CefExternalSecuritySolution.
func (*CefExternalSecuritySolution) UnmarshalJSON ¶
func (c *CefExternalSecuritySolution) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type CefExternalSecuritySolution.
type CefSolutionProperties ¶
type CefSolutionProperties struct {
// OPTIONAL; Contains additional key/value pairs not defined in the schema.
AdditionalProperties map[string]any
Agent *string
DeviceType *string
DeviceVendor *string
Hostname *string
LastEventReceived *string
// Represents an OMS workspace to which the solution is connected
Workspace *ConnectedWorkspace
}
CefSolutionProperties - The external security solution properties for CEF solutions
func (CefSolutionProperties) MarshalJSON ¶
func (c CefSolutionProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type CefSolutionProperties.
func (*CefSolutionProperties) UnmarshalJSON ¶
func (c *CefSolutionProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type CefSolutionProperties.
type ClientFactory ¶
type ClientFactory struct {
// contains filtered or unexported fields
}
ClientFactory is a client factory used to create any client in this module. Don't use this type directly, use NewClientFactory instead.
func NewClientFactory ¶
func NewClientFactory(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ClientFactory, error)
NewClientFactory creates a new instance of ClientFactory with the specified values. The parameter values will be propagated to any client created from this factory.
- subscriptionID - Azure subscription ID
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*ClientFactory) NewAPICollectionsClient ¶
func (c *ClientFactory) NewAPICollectionsClient() *APICollectionsClient
NewAPICollectionsClient creates a new instance of APICollectionsClient.
func (*ClientFactory) NewAccountConnectorsClient ¶
func (c *ClientFactory) NewAccountConnectorsClient() *AccountConnectorsClient
NewAccountConnectorsClient creates a new instance of AccountConnectorsClient.
func (*ClientFactory) NewAdaptiveApplicationControlsClient ¶
func (c *ClientFactory) NewAdaptiveApplicationControlsClient() *AdaptiveApplicationControlsClient
NewAdaptiveApplicationControlsClient creates a new instance of AdaptiveApplicationControlsClient.
func (*ClientFactory) NewAdaptiveNetworkHardeningsClient ¶
func (c *ClientFactory) NewAdaptiveNetworkHardeningsClient() *AdaptiveNetworkHardeningsClient
NewAdaptiveNetworkHardeningsClient creates a new instance of AdaptiveNetworkHardeningsClient.
func (*ClientFactory) NewAdvancedThreatProtectionClient ¶
func (c *ClientFactory) NewAdvancedThreatProtectionClient() *AdvancedThreatProtectionClient
NewAdvancedThreatProtectionClient creates a new instance of AdvancedThreatProtectionClient.
func (*ClientFactory) NewAlertsClient ¶
func (c *ClientFactory) NewAlertsClient() *AlertsClient
NewAlertsClient creates a new instance of AlertsClient.
func (*ClientFactory) NewAlertsSuppressionRulesClient ¶
func (c *ClientFactory) NewAlertsSuppressionRulesClient() *AlertsSuppressionRulesClient
NewAlertsSuppressionRulesClient creates a new instance of AlertsSuppressionRulesClient.
func (*ClientFactory) NewAllowedConnectionsClient ¶
func (c *ClientFactory) NewAllowedConnectionsClient() *AllowedConnectionsClient
NewAllowedConnectionsClient creates a new instance of AllowedConnectionsClient.
func (*ClientFactory) NewApplicationClient ¶
func (c *ClientFactory) NewApplicationClient() *ApplicationClient
NewApplicationClient creates a new instance of ApplicationClient.
func (*ClientFactory) NewApplicationsClient ¶
func (c *ClientFactory) NewApplicationsClient() *ApplicationsClient
NewApplicationsClient creates a new instance of ApplicationsClient.
func (*ClientFactory) NewAssessmentsClient ¶
func (c *ClientFactory) NewAssessmentsClient() *AssessmentsClient
NewAssessmentsClient creates a new instance of AssessmentsClient.
func (*ClientFactory) NewAssessmentsMetadataClient ¶
func (c *ClientFactory) NewAssessmentsMetadataClient() *AssessmentsMetadataClient
NewAssessmentsMetadataClient creates a new instance of AssessmentsMetadataClient.
func (*ClientFactory) NewAutoProvisioningSettingsClient ¶
func (c *ClientFactory) NewAutoProvisioningSettingsClient() *AutoProvisioningSettingsClient
NewAutoProvisioningSettingsClient creates a new instance of AutoProvisioningSettingsClient.
func (*ClientFactory) NewAutomationsClient ¶
func (c *ClientFactory) NewAutomationsClient() *AutomationsClient
NewAutomationsClient creates a new instance of AutomationsClient.
func (*ClientFactory) NewAzureDevOpsOrgsClient ¶
func (c *ClientFactory) NewAzureDevOpsOrgsClient() *AzureDevOpsOrgsClient
NewAzureDevOpsOrgsClient creates a new instance of AzureDevOpsOrgsClient.
func (*ClientFactory) NewAzureDevOpsProjectsClient ¶
func (c *ClientFactory) NewAzureDevOpsProjectsClient() *AzureDevOpsProjectsClient
NewAzureDevOpsProjectsClient creates a new instance of AzureDevOpsProjectsClient.
func (*ClientFactory) NewAzureDevOpsReposClient ¶
func (c *ClientFactory) NewAzureDevOpsReposClient() *AzureDevOpsReposClient
NewAzureDevOpsReposClient creates a new instance of AzureDevOpsReposClient.
func (*ClientFactory) NewComplianceResultsClient ¶
func (c *ClientFactory) NewComplianceResultsClient() *ComplianceResultsClient
NewComplianceResultsClient creates a new instance of ComplianceResultsClient.
func (*ClientFactory) NewCompliancesClient ¶
func (c *ClientFactory) NewCompliancesClient() *CompliancesClient
NewCompliancesClient creates a new instance of CompliancesClient.
func (*ClientFactory) NewConnectorApplicationClient ¶
func (c *ClientFactory) NewConnectorApplicationClient() *ConnectorApplicationClient
NewConnectorApplicationClient creates a new instance of ConnectorApplicationClient.
func (*ClientFactory) NewConnectorApplicationsClient ¶
func (c *ClientFactory) NewConnectorApplicationsClient() *ConnectorApplicationsClient
NewConnectorApplicationsClient creates a new instance of ConnectorApplicationsClient.
func (*ClientFactory) NewConnectorsClient ¶
func (c *ClientFactory) NewConnectorsClient() *ConnectorsClient
NewConnectorsClient creates a new instance of ConnectorsClient.
func (*ClientFactory) NewContactsClient ¶
func (c *ClientFactory) NewContactsClient() *ContactsClient
NewContactsClient creates a new instance of ContactsClient.
func (*ClientFactory) NewCustomAssessmentAutomationsClient ¶
func (c *ClientFactory) NewCustomAssessmentAutomationsClient() *CustomAssessmentAutomationsClient
NewCustomAssessmentAutomationsClient creates a new instance of CustomAssessmentAutomationsClient.
func (*ClientFactory) NewCustomEntityStoreAssignmentsClient ¶
func (c *ClientFactory) NewCustomEntityStoreAssignmentsClient() *CustomEntityStoreAssignmentsClient
NewCustomEntityStoreAssignmentsClient creates a new instance of CustomEntityStoreAssignmentsClient.
func (*ClientFactory) NewDefenderForStorageClient ¶
func (c *ClientFactory) NewDefenderForStorageClient() *DefenderForStorageClient
NewDefenderForStorageClient creates a new instance of DefenderForStorageClient.
func (*ClientFactory) NewDevOpsConfigurationsClient ¶
func (c *ClientFactory) NewDevOpsConfigurationsClient() *DevOpsConfigurationsClient
NewDevOpsConfigurationsClient creates a new instance of DevOpsConfigurationsClient.
func (*ClientFactory) NewDevOpsOperationResultsClient ¶
func (c *ClientFactory) NewDevOpsOperationResultsClient() *DevOpsOperationResultsClient
NewDevOpsOperationResultsClient creates a new instance of DevOpsOperationResultsClient.
func (*ClientFactory) NewDeviceSecurityGroupsClient ¶
func (c *ClientFactory) NewDeviceSecurityGroupsClient() *DeviceSecurityGroupsClient
NewDeviceSecurityGroupsClient creates a new instance of DeviceSecurityGroupsClient.
func (*ClientFactory) NewDiscoveredSecuritySolutionsClient ¶
func (c *ClientFactory) NewDiscoveredSecuritySolutionsClient() *DiscoveredSecuritySolutionsClient
NewDiscoveredSecuritySolutionsClient creates a new instance of DiscoveredSecuritySolutionsClient.
func (*ClientFactory) NewExternalSecuritySolutionsClient ¶
func (c *ClientFactory) NewExternalSecuritySolutionsClient() *ExternalSecuritySolutionsClient
NewExternalSecuritySolutionsClient creates a new instance of ExternalSecuritySolutionsClient.
func (*ClientFactory) NewGitHubOwnersClient ¶
func (c *ClientFactory) NewGitHubOwnersClient() *GitHubOwnersClient
NewGitHubOwnersClient creates a new instance of GitHubOwnersClient.
func (*ClientFactory) NewGitHubReposClient ¶
func (c *ClientFactory) NewGitHubReposClient() *GitHubReposClient
NewGitHubReposClient creates a new instance of GitHubReposClient.
func (*ClientFactory) NewGitLabGroupsClient ¶
func (c *ClientFactory) NewGitLabGroupsClient() *GitLabGroupsClient
NewGitLabGroupsClient creates a new instance of GitLabGroupsClient.
func (*ClientFactory) NewGitLabProjectsClient ¶
func (c *ClientFactory) NewGitLabProjectsClient() *GitLabProjectsClient
NewGitLabProjectsClient creates a new instance of GitLabProjectsClient.
func (*ClientFactory) NewGitLabSubgroupsClient ¶
func (c *ClientFactory) NewGitLabSubgroupsClient() *GitLabSubgroupsClient
NewGitLabSubgroupsClient creates a new instance of GitLabSubgroupsClient.
func (*ClientFactory) NewGovernanceAssignmentsClient ¶
func (c *ClientFactory) NewGovernanceAssignmentsClient() *GovernanceAssignmentsClient
NewGovernanceAssignmentsClient creates a new instance of GovernanceAssignmentsClient.
func (*ClientFactory) NewGovernanceRulesClient ¶
func (c *ClientFactory) NewGovernanceRulesClient() *GovernanceRulesClient
NewGovernanceRulesClient creates a new instance of GovernanceRulesClient.
func (*ClientFactory) NewHealthReportsClient ¶
func (c *ClientFactory) NewHealthReportsClient() *HealthReportsClient
NewHealthReportsClient creates a new instance of HealthReportsClient.
func (*ClientFactory) NewInformationProtectionPoliciesClient ¶
func (c *ClientFactory) NewInformationProtectionPoliciesClient() *InformationProtectionPoliciesClient
NewInformationProtectionPoliciesClient creates a new instance of InformationProtectionPoliciesClient.
func (*ClientFactory) NewIotSecuritySolutionAnalyticsClient ¶
func (c *ClientFactory) NewIotSecuritySolutionAnalyticsClient() *IotSecuritySolutionAnalyticsClient
NewIotSecuritySolutionAnalyticsClient creates a new instance of IotSecuritySolutionAnalyticsClient.
func (*ClientFactory) NewIotSecuritySolutionClient ¶
func (c *ClientFactory) NewIotSecuritySolutionClient() *IotSecuritySolutionClient
NewIotSecuritySolutionClient creates a new instance of IotSecuritySolutionClient.
func (*ClientFactory) NewIotSecuritySolutionsAnalyticsAggregatedAlertClient ¶
func (c *ClientFactory) NewIotSecuritySolutionsAnalyticsAggregatedAlertClient() *IotSecuritySolutionsAnalyticsAggregatedAlertClient
NewIotSecuritySolutionsAnalyticsAggregatedAlertClient creates a new instance of IotSecuritySolutionsAnalyticsAggregatedAlertClient.
func (*ClientFactory) NewIotSecuritySolutionsAnalyticsRecommendationClient ¶
func (c *ClientFactory) NewIotSecuritySolutionsAnalyticsRecommendationClient() *IotSecuritySolutionsAnalyticsRecommendationClient
NewIotSecuritySolutionsAnalyticsRecommendationClient creates a new instance of IotSecuritySolutionsAnalyticsRecommendationClient.
func (*ClientFactory) NewJitNetworkAccessPoliciesClient ¶
func (c *ClientFactory) NewJitNetworkAccessPoliciesClient() *JitNetworkAccessPoliciesClient
NewJitNetworkAccessPoliciesClient creates a new instance of JitNetworkAccessPoliciesClient.
func (*ClientFactory) NewLocationsClient ¶
func (c *ClientFactory) NewLocationsClient() *LocationsClient
NewLocationsClient creates a new instance of LocationsClient.
func (*ClientFactory) NewMdeOnboardingsClient ¶
func (c *ClientFactory) NewMdeOnboardingsClient() *MdeOnboardingsClient
NewMdeOnboardingsClient creates a new instance of MdeOnboardingsClient.
func (*ClientFactory) NewOperationsClient ¶
func (c *ClientFactory) NewOperationsClient() *OperationsClient
NewOperationsClient creates a new instance of OperationsClient.
func (*ClientFactory) NewOperatorsClient ¶
func (c *ClientFactory) NewOperatorsClient() *OperatorsClient
NewOperatorsClient creates a new instance of OperatorsClient.
func (*ClientFactory) NewPricingsClient ¶
func (c *ClientFactory) NewPricingsClient() *PricingsClient
NewPricingsClient creates a new instance of PricingsClient.
func (*ClientFactory) NewRegulatoryComplianceAssessmentsClient ¶
func (c *ClientFactory) NewRegulatoryComplianceAssessmentsClient() *RegulatoryComplianceAssessmentsClient
NewRegulatoryComplianceAssessmentsClient creates a new instance of RegulatoryComplianceAssessmentsClient.
func (*ClientFactory) NewRegulatoryComplianceControlsClient ¶
func (c *ClientFactory) NewRegulatoryComplianceControlsClient() *RegulatoryComplianceControlsClient
NewRegulatoryComplianceControlsClient creates a new instance of RegulatoryComplianceControlsClient.
func (*ClientFactory) NewRegulatoryComplianceStandardsClient ¶
func (c *ClientFactory) NewRegulatoryComplianceStandardsClient() *RegulatoryComplianceStandardsClient
NewRegulatoryComplianceStandardsClient creates a new instance of RegulatoryComplianceStandardsClient.
func (*ClientFactory) NewSQLVulnerabilityAssessmentBaselineRulesClient ¶
func (c *ClientFactory) NewSQLVulnerabilityAssessmentBaselineRulesClient() *SQLVulnerabilityAssessmentBaselineRulesClient
NewSQLVulnerabilityAssessmentBaselineRulesClient creates a new instance of SQLVulnerabilityAssessmentBaselineRulesClient.
func (*ClientFactory) NewSQLVulnerabilityAssessmentScanResultsClient ¶
func (c *ClientFactory) NewSQLVulnerabilityAssessmentScanResultsClient() *SQLVulnerabilityAssessmentScanResultsClient
NewSQLVulnerabilityAssessmentScanResultsClient creates a new instance of SQLVulnerabilityAssessmentScanResultsClient.
func (*ClientFactory) NewSQLVulnerabilityAssessmentScansClient ¶
func (c *ClientFactory) NewSQLVulnerabilityAssessmentScansClient() *SQLVulnerabilityAssessmentScansClient
NewSQLVulnerabilityAssessmentScansClient creates a new instance of SQLVulnerabilityAssessmentScansClient.
func (*ClientFactory) NewSecureScoreControlDefinitionsClient ¶
func (c *ClientFactory) NewSecureScoreControlDefinitionsClient() *SecureScoreControlDefinitionsClient
NewSecureScoreControlDefinitionsClient creates a new instance of SecureScoreControlDefinitionsClient.
func (*ClientFactory) NewSecureScoreControlsClient ¶
func (c *ClientFactory) NewSecureScoreControlsClient() *SecureScoreControlsClient
NewSecureScoreControlsClient creates a new instance of SecureScoreControlsClient.
func (*ClientFactory) NewSecureScoresClient ¶
func (c *ClientFactory) NewSecureScoresClient() *SecureScoresClient
NewSecureScoresClient creates a new instance of SecureScoresClient.
func (*ClientFactory) NewSensitivitySettingsClient ¶
func (c *ClientFactory) NewSensitivitySettingsClient() *SensitivitySettingsClient
NewSensitivitySettingsClient creates a new instance of SensitivitySettingsClient.
func (*ClientFactory) NewServerVulnerabilityAssessmentClient ¶
func (c *ClientFactory) NewServerVulnerabilityAssessmentClient() *ServerVulnerabilityAssessmentClient
NewServerVulnerabilityAssessmentClient creates a new instance of ServerVulnerabilityAssessmentClient.
func (*ClientFactory) NewServerVulnerabilityAssessmentsSettingsClient ¶
func (c *ClientFactory) NewServerVulnerabilityAssessmentsSettingsClient() *ServerVulnerabilityAssessmentsSettingsClient
NewServerVulnerabilityAssessmentsSettingsClient creates a new instance of ServerVulnerabilityAssessmentsSettingsClient.
func (*ClientFactory) NewSettingsClient ¶
func (c *ClientFactory) NewSettingsClient() *SettingsClient
NewSettingsClient creates a new instance of SettingsClient.
func (*ClientFactory) NewSoftwareInventoriesClient ¶
func (c *ClientFactory) NewSoftwareInventoriesClient() *SoftwareInventoriesClient
NewSoftwareInventoriesClient creates a new instance of SoftwareInventoriesClient.
func (*ClientFactory) NewSolutionsClient ¶
func (c *ClientFactory) NewSolutionsClient() *SolutionsClient
NewSolutionsClient creates a new instance of SolutionsClient.
func (*ClientFactory) NewSolutionsReferenceDataClient ¶
func (c *ClientFactory) NewSolutionsReferenceDataClient() *SolutionsReferenceDataClient
NewSolutionsReferenceDataClient creates a new instance of SolutionsReferenceDataClient.
func (*ClientFactory) NewSubAssessmentsClient ¶
func (c *ClientFactory) NewSubAssessmentsClient() *SubAssessmentsClient
NewSubAssessmentsClient creates a new instance of SubAssessmentsClient.
func (*ClientFactory) NewTasksClient ¶
func (c *ClientFactory) NewTasksClient() *TasksClient
NewTasksClient creates a new instance of TasksClient.
func (*ClientFactory) NewTopologyClient ¶
func (c *ClientFactory) NewTopologyClient() *TopologyClient
NewTopologyClient creates a new instance of TopologyClient.
func (*ClientFactory) NewWorkspaceSettingsClient ¶
func (c *ClientFactory) NewWorkspaceSettingsClient() *WorkspaceSettingsClient
NewWorkspaceSettingsClient creates a new instance of WorkspaceSettingsClient.
type CloudName ¶
type CloudName string
CloudName - The multi cloud resource's cloud name.
func PossibleCloudNameValues ¶
func PossibleCloudNameValues() []CloudName
PossibleCloudNameValues returns the possible values for the CloudName const type.
type CloudOffering ¶
type CloudOffering struct {
// REQUIRED; The type of the security offering.
OfferingType *OfferingType
// READ-ONLY; The offering description.
Description *string
}
CloudOffering - The security offering details
func (*CloudOffering) GetCloudOffering ¶
func (c *CloudOffering) GetCloudOffering() *CloudOffering
GetCloudOffering implements the CloudOfferingClassification interface for type CloudOffering.
func (CloudOffering) MarshalJSON ¶
func (c CloudOffering) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type CloudOffering.
func (*CloudOffering) UnmarshalJSON ¶
func (c *CloudOffering) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type CloudOffering.
type CloudOfferingClassification ¶
type CloudOfferingClassification interface {
// GetCloudOffering returns the CloudOffering content of the underlying type.
GetCloudOffering() *CloudOffering
}
CloudOfferingClassification provides polymorphic access to related types. Call the interface's GetCloudOffering() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *CloudOffering, *CspmMonitorAwsOffering, *CspmMonitorAzureDevOpsOffering, *CspmMonitorGcpOffering, *CspmMonitorGitLabOffering, - *CspmMonitorGithubOffering, *DefenderCspmAwsOffering, *DefenderCspmGcpOffering, *DefenderFoDatabasesAwsOffering, *DefenderForContainersAwsOffering, - *DefenderForContainersGcpOffering, *DefenderForDatabasesGcpOffering, *DefenderForServersAwsOffering, *DefenderForServersGcpOffering
type Code ¶
type Code string
Code - The operation status code.
func PossibleCodeValues ¶
func PossibleCodeValues() []Code
PossibleCodeValues returns the possible values for the Code const type.
type Compliance ¶
type Compliance struct {
// Compliance data
Properties *ComplianceProperties
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Resource type
Type *string
}
Compliance of a scope
func (Compliance) MarshalJSON ¶
func (c Compliance) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type Compliance.
func (*Compliance) UnmarshalJSON ¶
func (c *Compliance) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type Compliance.
type ComplianceList ¶
type ComplianceList struct {
// List of Compliance objects
Value []*Compliance
// READ-ONLY; The URI to fetch the next page.
NextLink *string
}
ComplianceList - List of Compliance objects response
func (ComplianceList) MarshalJSON ¶
func (c ComplianceList) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ComplianceList.
func (*ComplianceList) UnmarshalJSON ¶
func (c *ComplianceList) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ComplianceList.
type ComplianceProperties ¶
type ComplianceProperties struct {
// READ-ONLY; An array of segment, which is the actually the compliance assessment.
AssessmentResult []*ComplianceSegment
// READ-ONLY; The timestamp when the Compliance calculation was conducted.
AssessmentTimestampUTCDate *time.Time
// READ-ONLY; The resource count of the given subscription for which the Compliance calculation was conducted (needed for
// Management Group Compliance calculation).
ResourceCount *int32
}
ComplianceProperties - The Compliance score (percentage) of a Subscription is a sum of all Resources' Compliances under the given Subscription. A Resource Compliance is defined as the compliant ('healthy') Policy Definitions out of all Policy Definitions applicable to a given resource.
func (ComplianceProperties) MarshalJSON ¶
func (c ComplianceProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ComplianceProperties.
func (*ComplianceProperties) UnmarshalJSON ¶
func (c *ComplianceProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ComplianceProperties.
type ComplianceResult ¶
type ComplianceResult struct {
// Compliance result data
Properties *ComplianceResultProperties
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Resource type
Type *string
}
ComplianceResult - a compliance result
func (ComplianceResult) MarshalJSON ¶
func (c ComplianceResult) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ComplianceResult.
func (*ComplianceResult) UnmarshalJSON ¶
func (c *ComplianceResult) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ComplianceResult.
type ComplianceResultList ¶
type ComplianceResultList struct {
// REQUIRED; List of compliance results
Value []*ComplianceResult
// READ-ONLY; The URI to fetch the next page.
NextLink *string
}
ComplianceResultList - List of compliance results response
func (ComplianceResultList) MarshalJSON ¶
func (c ComplianceResultList) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ComplianceResultList.
func (*ComplianceResultList) UnmarshalJSON ¶
func (c *ComplianceResultList) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ComplianceResultList.
type ComplianceResultProperties ¶
type ComplianceResultProperties struct {
// READ-ONLY; The status of the resource regarding a single assessment
ResourceStatus *ResourceStatus
}
ComplianceResultProperties - Compliance result data
func (ComplianceResultProperties) MarshalJSON ¶
func (c ComplianceResultProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ComplianceResultProperties.
func (*ComplianceResultProperties) UnmarshalJSON ¶
func (c *ComplianceResultProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ComplianceResultProperties.
type ComplianceResultsClient ¶
type ComplianceResultsClient struct {
// contains filtered or unexported fields
}
ComplianceResultsClient contains the methods for the ComplianceResults group. Don't use this type directly, use NewComplianceResultsClient() instead.
func NewComplianceResultsClient ¶
func NewComplianceResultsClient(credential azcore.TokenCredential, options *arm.ClientOptions) (*ComplianceResultsClient, error)
NewComplianceResultsClient creates a new instance of ComplianceResultsClient with the specified values.
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*ComplianceResultsClient) Get ¶
func (client *ComplianceResultsClient) Get(ctx context.Context, resourceID string, complianceResultName string, options *ComplianceResultsClientGetOptions) (ComplianceResultsClientGetResponse, error)
Get - Security Compliance Result If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2017-08-01
- resourceID - The identifier of the resource.
- complianceResultName - name of the desired assessment compliance result
- options - ComplianceResultsClientGetOptions contains the optional parameters for the ComplianceResultsClient.Get method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2017-08-01/examples/ComplianceResults/GetComplianceResults_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewComplianceResultsClient().Get(ctx, "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23", "DesignateMoreThanOneOwner", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ComplianceResult = armsecurity.ComplianceResult{
// Name: to.Ptr("DesignateMoreThanOneOwner"),
// Type: to.Ptr("Microsoft.Security/complianceResults"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/complianceResults/DesignateMoreThanOneOwner"),
// Properties: &armsecurity.ComplianceResultProperties{
// ResourceStatus: to.Ptr(armsecurity.ResourceStatusHealthy),
// },
// }
}
func (*ComplianceResultsClient) NewListPager ¶
func (client *ComplianceResultsClient) NewListPager(scope string, options *ComplianceResultsClientListOptions) *runtime.Pager[ComplianceResultsClientListResponse]
NewListPager - Security compliance results in the subscription
Generated from API version 2017-08-01
- scope - Scope of the query, can be subscription (/subscriptions/0b06d9ea-afe6-4779-bd59-30e5c2d9d13f) or management group (/providers/Microsoft.Management/managementGroups/mgName).
- options - ComplianceResultsClientListOptions contains the optional parameters for the ComplianceResultsClient.NewListPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2017-08-01/examples/ComplianceResults/ListComplianceResults_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewComplianceResultsClient().NewListPager("subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23", nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.ComplianceResultList = armsecurity.ComplianceResultList{
// Value: []*armsecurity.ComplianceResult{
// {
// Name: to.Ptr("DesignateMoreThanOneOwner"),
// Type: to.Ptr("Microsoft.Security/complianceResults"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/complianceResults/DesignateMoreThanOneOwner"),
// Properties: &armsecurity.ComplianceResultProperties{
// ResourceStatus: to.Ptr(armsecurity.ResourceStatusHealthy),
// },
// },
// {
// Name: to.Ptr("RemoveExternalAccountsWithReadPermissions"),
// Type: to.Ptr("Microsoft.Security/complianceResults"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/complianceResults/RemoveExternalAccountsWithReadPermissions"),
// Properties: &armsecurity.ComplianceResultProperties{
// ResourceStatus: to.Ptr(armsecurity.ResourceStatusNotHealthy),
// },
// },
// {
// Name: to.Ptr("RemoveDeprecatedAccounts"),
// Type: to.Ptr("Microsoft.Security/complianceResults"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/complianceResults/RemoveDeprecatedAccounts"),
// Properties: &armsecurity.ComplianceResultProperties{
// ResourceStatus: to.Ptr(armsecurity.ResourceStatusHealthy),
// },
// }},
// }
}
}
type ComplianceResultsClientGetOptions ¶
type ComplianceResultsClientGetOptions struct {
}
ComplianceResultsClientGetOptions contains the optional parameters for the ComplianceResultsClient.Get method.
type ComplianceResultsClientGetResponse ¶
type ComplianceResultsClientGetResponse struct {
// a compliance result
ComplianceResult
}
ComplianceResultsClientGetResponse contains the response from method ComplianceResultsClient.Get.
type ComplianceResultsClientListOptions ¶
type ComplianceResultsClientListOptions struct {
}
ComplianceResultsClientListOptions contains the optional parameters for the ComplianceResultsClient.NewListPager method.
type ComplianceResultsClientListResponse ¶
type ComplianceResultsClientListResponse struct {
// List of compliance results response
ComplianceResultList
}
ComplianceResultsClientListResponse contains the response from method ComplianceResultsClient.NewListPager.
type ComplianceSegment ¶
type ComplianceSegment struct {
// READ-ONLY; The size (%) of the segment.
Percentage *float64
// READ-ONLY; The segment type, e.g. compliant, non-compliance, insufficient coverage, N/A, etc.
SegmentType *string
}
ComplianceSegment - A segment of a compliance assessment.
func (ComplianceSegment) MarshalJSON ¶
func (c ComplianceSegment) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ComplianceSegment.
func (*ComplianceSegment) UnmarshalJSON ¶
func (c *ComplianceSegment) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ComplianceSegment.
type CompliancesClient ¶
type CompliancesClient struct {
// contains filtered or unexported fields
}
CompliancesClient contains the methods for the Compliances group. Don't use this type directly, use NewCompliancesClient() instead.
func NewCompliancesClient ¶
func NewCompliancesClient(credential azcore.TokenCredential, options *arm.ClientOptions) (*CompliancesClient, error)
NewCompliancesClient creates a new instance of CompliancesClient with the specified values.
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*CompliancesClient) Get ¶
func (client *CompliancesClient) Get(ctx context.Context, scope string, complianceName string, options *CompliancesClientGetOptions) (CompliancesClientGetResponse, error)
Get - Details of a specific Compliance. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2017-08-01-preview
- scope - Scope of the query, can be subscription (/subscriptions/0b06d9ea-afe6-4779-bd59-30e5c2d9d13f) or management group (/providers/Microsoft.Management/managementGroups/mgName).
- complianceName - name of the Compliance
- options - CompliancesClientGetOptions contains the optional parameters for the CompliancesClient.Get method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/Compliances/GetCompliance_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewCompliancesClient().Get(ctx, "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23", "2018-01-01Z", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.Compliance = armsecurity.Compliance{
// Name: to.Ptr("2018-01-01Z"),
// Type: to.Ptr("Microsoft.Security/compliances"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/compliances/2018-01-01Z"),
// Properties: &armsecurity.ComplianceProperties{
// AssessmentResult: []*armsecurity.ComplianceSegment{
// {
// Percentage: to.Ptr[float64](77.77777777777779),
// SegmentType: to.Ptr("Compliant"),
// }},
// AssessmentTimestampUTCDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-01T00:00:00.000Z"); return t}()),
// ResourceCount: to.Ptr[int32](18),
// },
// }
}
func (*CompliancesClient) NewListPager ¶
func (client *CompliancesClient) NewListPager(scope string, options *CompliancesClientListOptions) *runtime.Pager[CompliancesClientListResponse]
NewListPager - The Compliance scores of the specific management group.
Generated from API version 2017-08-01-preview
- scope - Scope of the query, can be subscription (/subscriptions/0b06d9ea-afe6-4779-bd59-30e5c2d9d13f) or management group (/providers/Microsoft.Management/managementGroups/mgName).
- options - CompliancesClientListOptions contains the optional parameters for the CompliancesClient.NewListPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/Compliances/GetCompliances_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewCompliancesClient().NewListPager("subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23", nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.ComplianceList = armsecurity.ComplianceList{
// Value: []*armsecurity.Compliance{
// {
// Name: to.Ptr("2018-01-01Z"),
// Type: to.Ptr("Microsoft.Security/compliances"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/compliances/2018-01-01Z"),
// Properties: &armsecurity.ComplianceProperties{
// AssessmentResult: []*armsecurity.ComplianceSegment{
// {
// Percentage: to.Ptr[float64](77.77777777777779),
// SegmentType: to.Ptr("Compliant"),
// }},
// AssessmentTimestampUTCDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-01T00:00:00.000Z"); return t}()),
// ResourceCount: to.Ptr[int32](18),
// },
// },
// {
// Name: to.Ptr("2018-01-02Z"),
// Type: to.Ptr("Microsoft.Security/compliances"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/compliances/2018-01-02Z"),
// Properties: &armsecurity.ComplianceProperties{
// AssessmentResult: []*armsecurity.ComplianceSegment{
// {
// Percentage: to.Ptr[float64](94.44444444444444),
// SegmentType: to.Ptr("Compliant"),
// }},
// AssessmentTimestampUTCDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-02T00:00:00.000Z"); return t}()),
// ResourceCount: to.Ptr[int32](18),
// },
// },
// {
// Name: to.Ptr("2018-01-03Z"),
// Type: to.Ptr("Microsoft.Security/compliances"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/compliances/2018-01-03Z"),
// Properties: &armsecurity.ComplianceProperties{
// AssessmentResult: []*armsecurity.ComplianceSegment{
// {
// Percentage: to.Ptr[float64](100),
// SegmentType: to.Ptr("Compliant"),
// }},
// AssessmentTimestampUTCDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-03T00:00:00.000Z"); return t}()),
// ResourceCount: to.Ptr[int32](18),
// },
// }},
// }
}
}
type CompliancesClientGetOptions ¶
type CompliancesClientGetOptions struct {
}
CompliancesClientGetOptions contains the optional parameters for the CompliancesClient.Get method.
type CompliancesClientGetResponse ¶
type CompliancesClientGetResponse struct {
// Compliance of a scope
Compliance
}
CompliancesClientGetResponse contains the response from method CompliancesClient.Get.
type CompliancesClientListOptions ¶
type CompliancesClientListOptions struct {
}
CompliancesClientListOptions contains the optional parameters for the CompliancesClient.NewListPager method.
type CompliancesClientListResponse ¶
type CompliancesClientListResponse struct {
// List of Compliance objects response
ComplianceList
}
CompliancesClientListResponse contains the response from method CompliancesClient.NewListPager.
type Condition ¶
type Condition struct {
// The governance rule Condition's Operator, for example Equals for severity or In for list of assessments, see examples
Operator *GovernanceRuleConditionOperator
// The governance rule Condition's Property, e.g. Severity or AssessmentKey, see examples
Property *string
// The governance rule Condition's Value like severity Low, High or assessments keys, see examples
Value *string
}
Condition - Governance rule's condition
func (Condition) MarshalJSON ¶
MarshalJSON implements the json.Marshaller interface for type Condition.
func (*Condition) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaller interface for type Condition.
type ConfigurationStatus ¶
type ConfigurationStatus string
ConfigurationStatus - The configuration status of the machines group or machine or rule
const ( ConfigurationStatusConfigured ConfigurationStatus = "Configured" ConfigurationStatusFailed ConfigurationStatus = "Failed" ConfigurationStatusInProgress ConfigurationStatus = "InProgress" ConfigurationStatusNoStatus ConfigurationStatus = "NoStatus" ConfigurationStatusNotConfigured ConfigurationStatus = "NotConfigured" )
func PossibleConfigurationStatusValues ¶
func PossibleConfigurationStatusValues() []ConfigurationStatus
PossibleConfigurationStatusValues returns the possible values for the ConfigurationStatus const type.
type ConnectableResource ¶
type ConnectableResource struct {
// READ-ONLY; The Azure resource id
ID *string
// READ-ONLY; The list of Azure resources that the resource has inbound allowed connection from
InboundConnectedResources []*ConnectedResource
// READ-ONLY; The list of Azure resources that the resource has outbound allowed connection to
OutboundConnectedResources []*ConnectedResource
}
ConnectableResource - Describes the allowed inbound and outbound traffic of an Azure resource
func (ConnectableResource) MarshalJSON ¶
func (c ConnectableResource) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ConnectableResource.
func (*ConnectableResource) UnmarshalJSON ¶
func (c *ConnectableResource) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ConnectableResource.
type ConnectedResource ¶
type ConnectedResource struct {
// READ-ONLY; The Azure resource id of the connected resource
ConnectedResourceID *string
// READ-ONLY; The allowed tcp ports
TCPPorts *string
// READ-ONLY; The allowed udp ports
UDPPorts *string
}
ConnectedResource - Describes properties of a connected resource
func (ConnectedResource) MarshalJSON ¶
func (c ConnectedResource) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ConnectedResource.
func (*ConnectedResource) UnmarshalJSON ¶
func (c *ConnectedResource) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ConnectedResource.
type ConnectedWorkspace ¶
type ConnectedWorkspace struct {
// Azure resource ID of the connected OMS workspace
ID *string
}
ConnectedWorkspace - Represents an OMS workspace to which the solution is connected
func (ConnectedWorkspace) MarshalJSON ¶
func (c ConnectedWorkspace) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ConnectedWorkspace.
func (*ConnectedWorkspace) UnmarshalJSON ¶
func (c *ConnectedWorkspace) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ConnectedWorkspace.
type ConnectionFromIPNotAllowed ¶
type ConnectionFromIPNotAllowed struct {
// REQUIRED; The values to allow. The format of the values depends on the rule type.
AllowlistValues []*string
// REQUIRED; Status of the custom alert.
IsEnabled *bool
// REQUIRED; The type of the custom alert rule.
RuleType *string
// READ-ONLY; The description of the custom alert.
Description *string
// READ-ONLY; The display name of the custom alert.
DisplayName *string
// READ-ONLY; The value type of the items in the list.
ValueType *ValueType
}
ConnectionFromIPNotAllowed - Inbound connection from an ip that isn't allowed. Allow list consists of ipv4 or ipv6 range in CIDR notation.
func (*ConnectionFromIPNotAllowed) GetAllowlistCustomAlertRule ¶
func (c *ConnectionFromIPNotAllowed) GetAllowlistCustomAlertRule() *AllowlistCustomAlertRule
GetAllowlistCustomAlertRule implements the AllowlistCustomAlertRuleClassification interface for type ConnectionFromIPNotAllowed.
func (*ConnectionFromIPNotAllowed) GetCustomAlertRule ¶
func (c *ConnectionFromIPNotAllowed) GetCustomAlertRule() *CustomAlertRule
GetCustomAlertRule implements the CustomAlertRuleClassification interface for type ConnectionFromIPNotAllowed.
func (*ConnectionFromIPNotAllowed) GetListCustomAlertRule ¶
func (c *ConnectionFromIPNotAllowed) GetListCustomAlertRule() *ListCustomAlertRule
GetListCustomAlertRule implements the ListCustomAlertRuleClassification interface for type ConnectionFromIPNotAllowed.
func (ConnectionFromIPNotAllowed) MarshalJSON ¶
func (c ConnectionFromIPNotAllowed) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ConnectionFromIPNotAllowed.
func (*ConnectionFromIPNotAllowed) UnmarshalJSON ¶
func (c *ConnectionFromIPNotAllowed) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ConnectionFromIPNotAllowed.
type ConnectionToIPNotAllowed ¶
type ConnectionToIPNotAllowed struct {
// REQUIRED; The values to allow. The format of the values depends on the rule type.
AllowlistValues []*string
// REQUIRED; Status of the custom alert.
IsEnabled *bool
// REQUIRED; The type of the custom alert rule.
RuleType *string
// READ-ONLY; The description of the custom alert.
Description *string
// READ-ONLY; The display name of the custom alert.
DisplayName *string
// READ-ONLY; The value type of the items in the list.
ValueType *ValueType
}
ConnectionToIPNotAllowed - Outbound connection to an ip that isn't allowed. Allow list consists of ipv4 or ipv6 range in CIDR notation.
func (*ConnectionToIPNotAllowed) GetAllowlistCustomAlertRule ¶
func (c *ConnectionToIPNotAllowed) GetAllowlistCustomAlertRule() *AllowlistCustomAlertRule
GetAllowlistCustomAlertRule implements the AllowlistCustomAlertRuleClassification interface for type ConnectionToIPNotAllowed.
func (*ConnectionToIPNotAllowed) GetCustomAlertRule ¶
func (c *ConnectionToIPNotAllowed) GetCustomAlertRule() *CustomAlertRule
GetCustomAlertRule implements the CustomAlertRuleClassification interface for type ConnectionToIPNotAllowed.
func (*ConnectionToIPNotAllowed) GetListCustomAlertRule ¶
func (c *ConnectionToIPNotAllowed) GetListCustomAlertRule() *ListCustomAlertRule
GetListCustomAlertRule implements the ListCustomAlertRuleClassification interface for type ConnectionToIPNotAllowed.
func (ConnectionToIPNotAllowed) MarshalJSON ¶
func (c ConnectionToIPNotAllowed) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ConnectionToIPNotAllowed.
func (*ConnectionToIPNotAllowed) UnmarshalJSON ¶
func (c *ConnectionToIPNotAllowed) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ConnectionToIPNotAllowed.
type ConnectionType ¶
type ConnectionType string
const ( ConnectionTypeExternal ConnectionType = "External" ConnectionTypeInternal ConnectionType = "Internal" )
func PossibleConnectionTypeValues ¶
func PossibleConnectionTypeValues() []ConnectionType
PossibleConnectionTypeValues returns the possible values for the ConnectionType const type.
type Connector ¶
type Connector struct {
// Entity tag is used for comparing two or more entities from the same requested resource.
Etag *string
// Kind of the resource
Kind *string
// Location where the resource is stored
Location *string
// Security connector data
Properties *ConnectorProperties
// A list of key value pairs that describe the resource.
Tags map[string]*string
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
SystemData *SystemData
// READ-ONLY; Resource type
Type *string
}
Connector - The security connector resource.
func (Connector) MarshalJSON ¶
MarshalJSON implements the json.Marshaller interface for type Connector.
func (*Connector) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaller interface for type Connector.
type ConnectorApplicationClient ¶
type ConnectorApplicationClient struct {
// contains filtered or unexported fields
}
ConnectorApplicationClient contains the methods for the SecurityConnectorApplication group. Don't use this type directly, use NewConnectorApplicationClient() instead.
func NewConnectorApplicationClient ¶
func NewConnectorApplicationClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ConnectorApplicationClient, error)
NewConnectorApplicationClient creates a new instance of ConnectorApplicationClient with the specified values.
- subscriptionID - Azure subscription ID
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*ConnectorApplicationClient) CreateOrUpdate ¶
func (client *ConnectorApplicationClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, securityConnectorName string, applicationID string, application Application, options *ConnectorApplicationClientCreateOrUpdateOptions) (ConnectorApplicationClientCreateOrUpdateResponse, error)
CreateOrUpdate - Creates or update a security Application on the given security connector. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2022-07-01-preview
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- securityConnectorName - The security connector name.
- applicationID - The security Application key - unique key for the standard application
- application - Application over a subscription scope
- options - ConnectorApplicationClientCreateOrUpdateOptions contains the optional parameters for the ConnectorApplicationClient.CreateOrUpdate method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2022-07-01-preview/examples/Applications/PutSecurityConnectorApplication_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewConnectorApplicationClient().CreateOrUpdate(ctx, "gcpResourceGroup", "gcpconnector", "ad9a8e26-29d9-4829-bb30-e597a58cdbb8", armsecurity.Application{
Properties: &armsecurity.ApplicationProperties{
Description: to.Ptr("An application on critical GCP recommendations"),
ConditionSets: []any{
map[string]any{
"conditions": []any{
map[string]any{
"operator": "contains",
"property": "$.Id",
"value": "-prod-",
},
},
}},
DisplayName: to.Ptr("GCP Admin's application"),
SourceResourceType: to.Ptr(armsecurity.ApplicationSourceResourceTypeAssessments),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.Application = armsecurity.Application{
// Name: to.Ptr("1f3afdf9-d0c9-4c3d-847f-89da613e70a8"),
// Type: to.Ptr("Microsoft.Security/applications"),
// ID: to.Ptr("subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/gcpResourceGroup/providers/Microsoft.Security/securityConnectors/gcpconnector/providers/Microsoft.Security/applications/ad9a8e26-29d9-4829-bb30-e597a58cdbb8"),
// Properties: &armsecurity.ApplicationProperties{
// Description: to.Ptr("An application on critical GCP recommendations"),
// ConditionSets: []any{
// map[string]any{
// "conditions":[]any{
// map[string]any{
// "operator": "contains",
// "property": "$.Id",
// "value": "-bil-",
// },
// },
// }},
// DisplayName: to.Ptr("GCP Admin's application"),
// SourceResourceType: to.Ptr(armsecurity.ApplicationSourceResourceTypeAssessments),
// },
// }
}
func (*ConnectorApplicationClient) Delete ¶
func (client *ConnectorApplicationClient) Delete(ctx context.Context, resourceGroupName string, securityConnectorName string, applicationID string, options *ConnectorApplicationClientDeleteOptions) (ConnectorApplicationClientDeleteResponse, error)
Delete - Delete an Application over a given scope If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2022-07-01-preview
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- securityConnectorName - The security connector name.
- applicationID - The security Application key - unique key for the standard application
- options - ConnectorApplicationClientDeleteOptions contains the optional parameters for the ConnectorApplicationClient.Delete method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2022-07-01-preview/examples/Applications/DeleteSecurityConnectorApplication_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewConnectorApplicationClient().Delete(ctx, "gcpResourceGroup", "gcpconnector", "ad9a8e26-29d9-4829-bb30-e597a58cdbb8", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
}
func (*ConnectorApplicationClient) Get ¶
func (client *ConnectorApplicationClient) Get(ctx context.Context, resourceGroupName string, securityConnectorName string, applicationID string, options *ConnectorApplicationClientGetOptions) (ConnectorApplicationClientGetResponse, error)
Get - Get a specific application for the requested scope by applicationId If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2022-07-01-preview
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- securityConnectorName - The security connector name.
- applicationID - The security Application key - unique key for the standard application
- options - ConnectorApplicationClientGetOptions contains the optional parameters for the ConnectorApplicationClient.Get method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2022-07-01-preview/examples/Applications/GetSecurityConnectorApplication_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewConnectorApplicationClient().Get(ctx, "gcpResourceGroup", "gcpconnector", "ad9a8e26-29d9-4829-bb30-e597a58cdbb8", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.Application = armsecurity.Application{
// Name: to.Ptr("ad9a8e26-29d9-4829-bb30-e597a58cdbb8"),
// Type: to.Ptr("Microsoft.Security/applications"),
// ID: to.Ptr("subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/gcpResourceGroup/providers/Microsoft.Security/securityConnectors/gcpconnector/providers/Microsoft.Security/applications/ad9a8e26-29d9-4829-bb30-e597a58cdbb8"),
// Properties: &armsecurity.ApplicationProperties{
// Description: to.Ptr("An application on critical GCP recommendations"),
// ConditionSets: []any{
// map[string]any{
// "conditions":[]any{
// map[string]any{
// "operator": "contains",
// "property": "$.Id",
// "value": "-bil-",
// },
// },
// }},
// DisplayName: to.Ptr("GCP Admin's application"),
// SourceResourceType: to.Ptr(armsecurity.ApplicationSourceResourceTypeAssessments),
// },
// }
}
type ConnectorApplicationClientCreateOrUpdateOptions ¶
type ConnectorApplicationClientCreateOrUpdateOptions struct {
}
ConnectorApplicationClientCreateOrUpdateOptions contains the optional parameters for the ConnectorApplicationClient.CreateOrUpdate method.
type ConnectorApplicationClientCreateOrUpdateResponse ¶
type ConnectorApplicationClientCreateOrUpdateResponse struct {
// Security Application over a given scope
Application
}
ConnectorApplicationClientCreateOrUpdateResponse contains the response from method ConnectorApplicationClient.CreateOrUpdate.
type ConnectorApplicationClientDeleteOptions ¶
type ConnectorApplicationClientDeleteOptions struct {
}
ConnectorApplicationClientDeleteOptions contains the optional parameters for the ConnectorApplicationClient.Delete method.
type ConnectorApplicationClientDeleteResponse ¶
type ConnectorApplicationClientDeleteResponse struct {
}
ConnectorApplicationClientDeleteResponse contains the response from method ConnectorApplicationClient.Delete.
type ConnectorApplicationClientGetOptions ¶
type ConnectorApplicationClientGetOptions struct {
}
ConnectorApplicationClientGetOptions contains the optional parameters for the ConnectorApplicationClient.Get method.
type ConnectorApplicationClientGetResponse ¶
type ConnectorApplicationClientGetResponse struct {
// Security Application over a given scope
Application
}
ConnectorApplicationClientGetResponse contains the response from method ConnectorApplicationClient.Get.
type ConnectorApplicationsClient ¶
type ConnectorApplicationsClient struct {
// contains filtered or unexported fields
}
ConnectorApplicationsClient contains the methods for the SecurityConnectorApplications group. Don't use this type directly, use NewConnectorApplicationsClient() instead.
func NewConnectorApplicationsClient ¶
func NewConnectorApplicationsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ConnectorApplicationsClient, error)
NewConnectorApplicationsClient creates a new instance of ConnectorApplicationsClient with the specified values.
- subscriptionID - Azure subscription ID
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*ConnectorApplicationsClient) NewListPager ¶
func (client *ConnectorApplicationsClient) NewListPager(resourceGroupName string, securityConnectorName string, options *ConnectorApplicationsClientListOptions) *runtime.Pager[ConnectorApplicationsClientListResponse]
NewListPager - Get a list of all relevant applications over a security connector level scope
Generated from API version 2022-07-01-preview
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- securityConnectorName - The security connector name.
- options - ConnectorApplicationsClientListOptions contains the optional parameters for the ConnectorApplicationsClient.NewListPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2022-07-01-preview/examples/Applications/ListBySecurityConnectorApplications_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewConnectorApplicationsClient().NewListPager("gcpResourceGroup", "gcpconnector", nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.ApplicationsList = armsecurity.ApplicationsList{
// Value: []*armsecurity.Application{
// {
// Name: to.Ptr("ad9a8e26-29d9-4829-bb30-e597a58cdbb8"),
// Type: to.Ptr("Microsoft.Security/applications"),
// ID: to.Ptr("subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/gcpResourceGroup/providers/Microsoft.Security/securityConnectors/gcpconnector/providers/Microsoft.Security/applications/ad9a8e26-29d9-4829-bb30-e597a58cdbb8"),
// Properties: &armsecurity.ApplicationProperties{
// Description: to.Ptr("An application on critical GCP recommendations"),
// ConditionSets: []any{
// map[string]any{
// "conditions":[]any{
// map[string]any{
// "operator": "contains",
// "property": "$.Id",
// "value": "-bil-",
// },
// },
// }},
// DisplayName: to.Ptr("Admin's GCP application"),
// SourceResourceType: to.Ptr(armsecurity.ApplicationSourceResourceTypeAssessments),
// },
// },
// {
// Name: to.Ptr("4106f43c-6d82-4fc8-a92c-dcfe50799d1d"),
// Type: to.Ptr("Microsoft.Security/applications"),
// ID: to.Ptr("subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/gcpResourceGroup/providers/Microsoft.Security/securityConnectors/gcpconnector/providers/Microsoft.Security/applications/4106f43c-6d82-4fc8-a92c-dcfe50799d1d"),
// Properties: &armsecurity.ApplicationProperties{
// Description: to.Ptr("An application on critical GCP recommendations"),
// ConditionSets: []any{
// map[string]any{
// "conditions":[]any{
// map[string]any{
// "operator": "contains",
// "property": "$.Id",
// "value": "-prod-",
// },
// },
// }},
// DisplayName: to.Ptr("GCP Admin's application"),
// SourceResourceType: to.Ptr(armsecurity.ApplicationSourceResourceTypeAssessments),
// },
// }},
// }
}
}
type ConnectorApplicationsClientListOptions ¶
type ConnectorApplicationsClientListOptions struct {
}
ConnectorApplicationsClientListOptions contains the optional parameters for the ConnectorApplicationsClient.NewListPager method.
type ConnectorApplicationsClientListResponse ¶
type ConnectorApplicationsClientListResponse struct {
// Page of a security applications list
ApplicationsList
}
ConnectorApplicationsClientListResponse contains the response from method ConnectorApplicationsClient.NewListPager.
type ConnectorProperties ¶
type ConnectorProperties struct {
// The security connector environment data.
EnvironmentData EnvironmentDataClassification
// The multi cloud resource's cloud name.
EnvironmentName *CloudName
// The multi cloud resource identifier (account id in case of AWS connector, project number in case of GCP connector).
HierarchyIdentifier *string
// A collection of offerings for the security connector.
Offerings []CloudOfferingClassification
// READ-ONLY; The date on which the trial period will end, if applicable. Trial period exists for 30 days after upgrading
// to payed offerings.
HierarchyIdentifierTrialEndDate *time.Time
}
ConnectorProperties - A set of properties that defines the security connector configuration.
func (ConnectorProperties) MarshalJSON ¶
func (c ConnectorProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ConnectorProperties.
func (*ConnectorProperties) UnmarshalJSON ¶
func (c *ConnectorProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ConnectorProperties.
type ConnectorSetting ¶
type ConnectorSetting struct {
// Connector setting data
Properties *ConnectorSettingProperties
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Resource type
Type *string
}
ConnectorSetting - The connector setting
func (ConnectorSetting) MarshalJSON ¶
func (c ConnectorSetting) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ConnectorSetting.
func (*ConnectorSetting) UnmarshalJSON ¶
func (c *ConnectorSetting) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ConnectorSetting.
type ConnectorSettingList ¶
type ConnectorSettingList struct {
// List of all the cloud account connector settings
Value []*ConnectorSetting
// READ-ONLY; The URI to fetch the next page.
NextLink *string
}
ConnectorSettingList - For a subscription, list of all cloud account connectors and their settings
func (ConnectorSettingList) MarshalJSON ¶
func (c ConnectorSettingList) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ConnectorSettingList.
func (*ConnectorSettingList) UnmarshalJSON ¶
func (c *ConnectorSettingList) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ConnectorSettingList.
type ConnectorSettingProperties ¶
type ConnectorSettingProperties struct {
// Settings for authentication management, these settings are relevant only for the cloud connector.
AuthenticationDetails AuthenticationDetailsPropertiesClassification
// Settings for hybrid compute management. These settings are relevant only for Arc autoProvision (Hybrid Compute).
HybridComputeSettings *HybridComputeSettingsProperties
}
ConnectorSettingProperties - Describes properties of a connector setting
func (ConnectorSettingProperties) MarshalJSON ¶
func (c ConnectorSettingProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ConnectorSettingProperties.
func (*ConnectorSettingProperties) UnmarshalJSON ¶
func (c *ConnectorSettingProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ConnectorSettingProperties.
type ConnectorsClient ¶
type ConnectorsClient struct {
// contains filtered or unexported fields
}
ConnectorsClient contains the methods for the SecurityConnectors group. Don't use this type directly, use NewConnectorsClient() instead.
func NewConnectorsClient ¶
func NewConnectorsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ConnectorsClient, error)
NewConnectorsClient creates a new instance of ConnectorsClient with the specified values.
- subscriptionID - Azure subscription ID
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*ConnectorsClient) CreateOrUpdate ¶
func (client *ConnectorsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, securityConnectorName string, securityConnector Connector, options *ConnectorsClientCreateOrUpdateOptions) (ConnectorsClientCreateOrUpdateResponse, error)
CreateOrUpdate - Creates or updates a security connector. If a security connector is already created and a subsequent request is issued for the same security connector id, then it will be updated. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2024-03-01-preview
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- securityConnectorName - The security connector name.
- securityConnector - The security connector resource
- options - ConnectorsClientCreateOrUpdateOptions contains the optional parameters for the ConnectorsClient.CreateOrUpdate method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2024-03-01-preview/examples/SecurityConnectors/PutSecurityConnector_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewConnectorsClient().CreateOrUpdate(ctx, "exampleResourceGroup", "exampleSecurityConnectorName", armsecurity.Connector{
Location: to.Ptr("Central US"),
Etag: to.Ptr("etag value (must be supplied for update)"),
Tags: map[string]*string{},
Properties: &armsecurity.ConnectorProperties{
EnvironmentData: &armsecurity.AwsEnvironmentData{
EnvironmentType: to.Ptr(armsecurity.EnvironmentTypeAwsAccount),
ScanInterval: to.Ptr[int64](4),
},
EnvironmentName: to.Ptr(armsecurity.CloudNameAWS),
HierarchyIdentifier: to.Ptr("exampleHierarchyId"),
Offerings: []armsecurity.CloudOfferingClassification{
&armsecurity.CspmMonitorAwsOffering{
OfferingType: to.Ptr(armsecurity.OfferingTypeCspmMonitorAws),
NativeCloudConnection: &armsecurity.CspmMonitorAwsOfferingNativeCloudConnection{
CloudRoleArn: to.Ptr("arn:aws:iam::00000000:role/ASCMonitor"),
},
}},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.Connector = armsecurity.Connector{
// Location: to.Ptr("Central US"),
// Etag: to.Ptr(""),
// Kind: to.Ptr(""),
// Name: to.Ptr("exampleSecurityConnectorName"),
// Type: to.Ptr("Microsoft.Security/securityConnectors"),
// ID: to.Ptr("/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/securityConnectors/exampleSecurityConnectorName"),
// Tags: map[string]*string{
// },
// Properties: &armsecurity.ConnectorProperties{
// EnvironmentData: &armsecurity.AwsEnvironmentData{
// EnvironmentType: to.Ptr(armsecurity.EnvironmentTypeAwsAccount),
// },
// EnvironmentName: to.Ptr(armsecurity.CloudNameAWS),
// HierarchyIdentifier: to.Ptr("exampleHierarchyId"),
// Offerings: []armsecurity.CloudOfferingClassification{
// &armsecurity.CspmMonitorAwsOffering{
// OfferingType: to.Ptr(armsecurity.OfferingTypeCspmMonitorAws),
// NativeCloudConnection: &armsecurity.CspmMonitorAwsOfferingNativeCloudConnection{
// CloudRoleArn: to.Ptr("arn:aws:iam::00000000:role/ASCMonitor"),
// },
// }},
// },
// SystemData: &armsecurity.SystemData{
// CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-31T13:47:50.328Z"); return t}()),
// CreatedBy: to.Ptr("user@contoso.com"),
// CreatedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-31T13:47:50.328Z"); return t}()),
// LastModifiedBy: to.Ptr("user@contoso.com"),
// LastModifiedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// },
// }
}
func (*ConnectorsClient) Delete ¶
func (client *ConnectorsClient) Delete(ctx context.Context, resourceGroupName string, securityConnectorName string, options *ConnectorsClientDeleteOptions) (ConnectorsClientDeleteResponse, error)
Delete - Deletes a security connector. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2024-03-01-preview
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- securityConnectorName - The security connector name.
- options - ConnectorsClientDeleteOptions contains the optional parameters for the ConnectorsClient.Delete method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2024-03-01-preview/examples/SecurityConnectors/DeleteSecurityConnector_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewConnectorsClient().Delete(ctx, "myRg", "mySecurityConnectorName", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
}
func (*ConnectorsClient) Get ¶
func (client *ConnectorsClient) Get(ctx context.Context, resourceGroupName string, securityConnectorName string, options *ConnectorsClientGetOptions) (ConnectorsClientGetResponse, error)
Get - Retrieves details of a specific security connector If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2024-03-01-preview
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- securityConnectorName - The security connector name.
- options - ConnectorsClientGetOptions contains the optional parameters for the ConnectorsClient.Get method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2024-03-01-preview/examples/SecurityConnectors/GetSecurityConnectorSingleResource_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewConnectorsClient().Get(ctx, "exampleResourceGroup", "exampleSecurityConnectorName", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.Connector = armsecurity.Connector{
// Location: to.Ptr("Central US"),
// Etag: to.Ptr("etag value"),
// Kind: to.Ptr(""),
// Name: to.Ptr("exampleSecurityConnectorName"),
// Type: to.Ptr("Microsoft.Security/securityConnectors"),
// ID: to.Ptr("/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/securityConnectors/exampleSecurityConnectorName"),
// Tags: map[string]*string{
// },
// Properties: &armsecurity.ConnectorProperties{
// EnvironmentData: &armsecurity.AwsEnvironmentData{
// EnvironmentType: to.Ptr(armsecurity.EnvironmentTypeAwsAccount),
// ScanInterval: to.Ptr[int64](4),
// },
// EnvironmentName: to.Ptr(armsecurity.CloudNameAWS),
// HierarchyIdentifier: to.Ptr("exampleHierarchyId"),
// Offerings: []armsecurity.CloudOfferingClassification{
// &armsecurity.CspmMonitorAwsOffering{
// OfferingType: to.Ptr(armsecurity.OfferingTypeCspmMonitorAws),
// NativeCloudConnection: &armsecurity.CspmMonitorAwsOfferingNativeCloudConnection{
// CloudRoleArn: to.Ptr("arn:aws:iam::00000000:role/ASCMonitor"),
// },
// }},
// },
// SystemData: &armsecurity.SystemData{
// CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-31T13:47:50.328Z"); return t}()),
// CreatedBy: to.Ptr("user@contoso.com"),
// CreatedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-31T13:47:50.328Z"); return t}()),
// LastModifiedBy: to.Ptr("user@contoso.com"),
// LastModifiedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// },
// }
}
func (*ConnectorsClient) NewListByResourceGroupPager ¶
func (client *ConnectorsClient) NewListByResourceGroupPager(resourceGroupName string, options *ConnectorsClientListByResourceGroupOptions) *runtime.Pager[ConnectorsClientListByResourceGroupResponse]
NewListByResourceGroupPager - Lists all the security connectors in the specified resource group. Use the 'nextLink' property in the response to get the next page of security connectors for the specified resource group.
Generated from API version 2024-03-01-preview
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- options - ConnectorsClientListByResourceGroupOptions contains the optional parameters for the ConnectorsClient.NewListByResourceGroupPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2024-03-01-preview/examples/SecurityConnectors/GetSecurityConnectorsResourceGroup_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewConnectorsClient().NewListByResourceGroupPager("exampleResourceGroup", nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.ConnectorsList = armsecurity.ConnectorsList{
// Value: []*armsecurity.Connector{
// {
// Location: to.Ptr("Central US"),
// Etag: to.Ptr("etag value"),
// Kind: to.Ptr(""),
// Name: to.Ptr("exampleSecurityConnectorAws"),
// Type: to.Ptr("Microsoft.Security/securityConnectors"),
// ID: to.Ptr("/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/securityConnectors/exampleSecurityConnectorAws"),
// Tags: map[string]*string{
// },
// Properties: &armsecurity.ConnectorProperties{
// EnvironmentData: &armsecurity.AwsEnvironmentData{
// EnvironmentType: to.Ptr(armsecurity.EnvironmentTypeAwsAccount),
// ScanInterval: to.Ptr[int64](4),
// },
// EnvironmentName: to.Ptr(armsecurity.CloudNameAWS),
// HierarchyIdentifier: to.Ptr("exampleHierarchyId"),
// Offerings: []armsecurity.CloudOfferingClassification{
// &armsecurity.CspmMonitorAwsOffering{
// OfferingType: to.Ptr(armsecurity.OfferingTypeCspmMonitorAws),
// NativeCloudConnection: &armsecurity.CspmMonitorAwsOfferingNativeCloudConnection{
// CloudRoleArn: to.Ptr("arn:aws:iam::00000000:role/ASCMonitor"),
// },
// }},
// },
// SystemData: &armsecurity.SystemData{
// CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-31T13:47:50.328Z"); return t}()),
// CreatedBy: to.Ptr("user@contoso.com"),
// CreatedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-31T13:47:50.328Z"); return t}()),
// LastModifiedBy: to.Ptr("user@contoso.com"),
// LastModifiedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// },
// },
// {
// Location: to.Ptr("Central US"),
// Etag: to.Ptr("etag value"),
// Kind: to.Ptr(""),
// Name: to.Ptr("exampleSecurityConnectorAwsOrganization"),
// Type: to.Ptr("Microsoft.Security/securityConnectors"),
// ID: to.Ptr("/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/securityConnectors/exampleSecurityConnectorAwsOrganization"),
// Tags: map[string]*string{
// },
// Properties: &armsecurity.ConnectorProperties{
// EnvironmentData: &armsecurity.AwsEnvironmentData{
// EnvironmentType: to.Ptr(armsecurity.EnvironmentTypeAwsAccount),
// OrganizationalData: &armsecurity.AwsOrganizationalDataMaster{
// OrganizationMembershipType: to.Ptr(armsecurity.OrganizationMembershipTypeOrganization),
// ExcludedAccountIDs: []*string{
// to.Ptr("excludedAccountIdExample")},
// StacksetName: to.Ptr("myStackSetName"),
// },
// ScanInterval: to.Ptr[int64](4),
// },
// EnvironmentName: to.Ptr(armsecurity.CloudNameAWS),
// HierarchyIdentifier: to.Ptr("exampleHierarchyId"),
// Offerings: []armsecurity.CloudOfferingClassification{
// &armsecurity.CspmMonitorAwsOffering{
// OfferingType: to.Ptr(armsecurity.OfferingTypeCspmMonitorAws),
// NativeCloudConnection: &armsecurity.CspmMonitorAwsOfferingNativeCloudConnection{
// CloudRoleArn: to.Ptr("arn:aws:iam::00000000:role/ASCMonitor"),
// },
// }},
// },
// SystemData: &armsecurity.SystemData{
// CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-12-15T13:47:50.328Z"); return t}()),
// CreatedBy: to.Ptr("user@contoso.com"),
// CreatedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-12-15T13:47:50.328Z"); return t}()),
// LastModifiedBy: to.Ptr("user@contoso.com"),
// LastModifiedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// },
// },
// {
// Location: to.Ptr("Central US"),
// Etag: to.Ptr("etag value"),
// Kind: to.Ptr(""),
// Name: to.Ptr("exampleSecurityConnectorGcp"),
// Type: to.Ptr("Microsoft.Security/securityConnectors"),
// ID: to.Ptr("/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/securityConnectors/exampleSecurityConnectorGcp"),
// Tags: map[string]*string{
// },
// Properties: &armsecurity.ConnectorProperties{
// EnvironmentData: &armsecurity.GcpProjectEnvironmentData{
// EnvironmentType: to.Ptr(armsecurity.EnvironmentTypeGcpProject),
// ProjectDetails: &armsecurity.GcpProjectDetails{
// ProjectID: to.Ptr("My-0GCP-Project"),
// ProjectNumber: to.Ptr("exampleHierarchyId"),
// WorkloadIdentityPoolID: to.Ptr("My-workload-identity-federation-pool-id"),
// },
// },
// EnvironmentName: to.Ptr(armsecurity.CloudNameGCP),
// HierarchyIdentifier: to.Ptr("exampleHierarchyId"),
// Offerings: []armsecurity.CloudOfferingClassification{
// &armsecurity.CspmMonitorGcpOffering{
// OfferingType: to.Ptr(armsecurity.OfferingTypeCspmMonitorGcp),
// NativeCloudConnection: &armsecurity.CspmMonitorGcpOfferingNativeCloudConnection{
// ServiceAccountEmailAddress: to.Ptr("capm@projectName.com"),
// WorkloadIdentityProviderID: to.Ptr("My workload identity provider Id"),
// },
// }},
// },
// SystemData: &armsecurity.SystemData{
// CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-12-15T13:47:50.328Z"); return t}()),
// CreatedBy: to.Ptr("user@contoso.com"),
// CreatedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-12-15T13:47:50.328Z"); return t}()),
// LastModifiedBy: to.Ptr("user@contoso.com"),
// LastModifiedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// },
// }},
// }
}
}
func (*ConnectorsClient) NewListPager ¶
func (client *ConnectorsClient) NewListPager(options *ConnectorsClientListOptions) *runtime.Pager[ConnectorsClientListResponse]
NewListPager - Lists all the security connectors in the specified subscription. Use the 'nextLink' property in the response to get the next page of security connectors for the specified subscription.
Generated from API version 2024-03-01-preview
- options - ConnectorsClientListOptions contains the optional parameters for the ConnectorsClient.NewListPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2024-03-01-preview/examples/SecurityConnectors/GetSecurityConnectorsSubscription_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewConnectorsClient().NewListPager(nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.ConnectorsList = armsecurity.ConnectorsList{
// Value: []*armsecurity.Connector{
// {
// Location: to.Ptr("Central US"),
// Etag: to.Ptr("etag value"),
// Kind: to.Ptr(""),
// Name: to.Ptr("exampleSecurityConnectorAws"),
// Type: to.Ptr("Microsoft.Security/securityConnectors"),
// ID: to.Ptr("/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup1/providers/Microsoft.Security/securityConnectors/exampleSecurityConnectorAws"),
// Tags: map[string]*string{
// },
// Properties: &armsecurity.ConnectorProperties{
// EnvironmentData: &armsecurity.AwsEnvironmentData{
// EnvironmentType: to.Ptr(armsecurity.EnvironmentTypeAwsAccount),
// ScanInterval: to.Ptr[int64](4),
// },
// EnvironmentName: to.Ptr(armsecurity.CloudNameAWS),
// HierarchyIdentifier: to.Ptr("exampleHierarchyId"),
// Offerings: []armsecurity.CloudOfferingClassification{
// &armsecurity.CspmMonitorAwsOffering{
// OfferingType: to.Ptr(armsecurity.OfferingTypeCspmMonitorAws),
// NativeCloudConnection: &armsecurity.CspmMonitorAwsOfferingNativeCloudConnection{
// CloudRoleArn: to.Ptr("arn:aws:iam::00000000:role/ASCMonitor"),
// },
// }},
// },
// SystemData: &armsecurity.SystemData{
// CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-31T13:47:50.328Z"); return t}()),
// CreatedBy: to.Ptr("user@contoso.com"),
// CreatedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-31T13:47:50.328Z"); return t}()),
// LastModifiedBy: to.Ptr("user@contoso.com"),
// LastModifiedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// },
// },
// {
// Location: to.Ptr("Central US"),
// Etag: to.Ptr("etag value"),
// Kind: to.Ptr(""),
// Name: to.Ptr("exampleSecurityConnectorAwsOrganization"),
// Type: to.Ptr("Microsoft.Security/securityConnectors"),
// ID: to.Ptr("/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup2/providers/Microsoft.Security/securityConnectors/exampleSecurityConnectorAwsOrganization"),
// Tags: map[string]*string{
// },
// Properties: &armsecurity.ConnectorProperties{
// EnvironmentData: &armsecurity.AwsEnvironmentData{
// EnvironmentType: to.Ptr(armsecurity.EnvironmentTypeAwsAccount),
// OrganizationalData: &armsecurity.AwsOrganizationalDataMaster{
// OrganizationMembershipType: to.Ptr(armsecurity.OrganizationMembershipTypeOrganization),
// ExcludedAccountIDs: []*string{
// to.Ptr("excludedAccountIdExample")},
// StacksetName: to.Ptr("myStackSetName"),
// },
// ScanInterval: to.Ptr[int64](4),
// },
// EnvironmentName: to.Ptr(armsecurity.CloudNameAWS),
// HierarchyIdentifier: to.Ptr("exampleHierarchyId"),
// Offerings: []armsecurity.CloudOfferingClassification{
// &armsecurity.CspmMonitorAwsOffering{
// OfferingType: to.Ptr(armsecurity.OfferingTypeCspmMonitorAws),
// NativeCloudConnection: &armsecurity.CspmMonitorAwsOfferingNativeCloudConnection{
// CloudRoleArn: to.Ptr("arn:aws:iam::00000000:role/ASCMonitor"),
// },
// }},
// },
// SystemData: &armsecurity.SystemData{
// CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-12-15T13:47:50.328Z"); return t}()),
// CreatedBy: to.Ptr("user@contoso.com"),
// CreatedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-12-15T13:47:50.328Z"); return t}()),
// LastModifiedBy: to.Ptr("user@contoso.com"),
// LastModifiedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// },
// },
// {
// Location: to.Ptr("centralus"),
// Etag: to.Ptr("etag value"),
// Kind: to.Ptr(""),
// Name: to.Ptr("githubTest"),
// Type: to.Ptr("Microsoft.Security/securityconnectors"),
// ID: to.Ptr("/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup3/providers/Microsoft.Security/securityConnectors/exampleSecurityConnectorGithub"),
// Tags: map[string]*string{
// },
// Properties: &armsecurity.ConnectorProperties{
// EnvironmentData: &armsecurity.GithubScopeEnvironmentData{
// EnvironmentType: to.Ptr(armsecurity.EnvironmentTypeGithubScope),
// },
// EnvironmentName: to.Ptr(armsecurity.CloudNameGithub),
// HierarchyIdentifier: to.Ptr("/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup3/providers/Microsoft.SecurityDevops/githubConnectors/exampleGithubConnector"),
// Offerings: []armsecurity.CloudOfferingClassification{
// &armsecurity.CspmMonitorGithubOffering{
// OfferingType: to.Ptr(armsecurity.OfferingTypeCspmMonitorGithub),
// }},
// },
// SystemData: &armsecurity.SystemData{
// CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-12-15T13:47:50.328Z"); return t}()),
// CreatedBy: to.Ptr("user@contoso.com"),
// CreatedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-12-15T13:47:50.328Z"); return t}()),
// LastModifiedBy: to.Ptr("user@contoso.com"),
// LastModifiedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// },
// },
// {
// Location: to.Ptr("centralus"),
// Etag: to.Ptr("etag value"),
// Kind: to.Ptr(""),
// Name: to.Ptr("AzureDevOpsTest"),
// Type: to.Ptr("Microsoft.Security/securityconnectors"),
// ID: to.Ptr("/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup3/providers/Microsoft.Security/securityConnectors/exampleSecurityConnectorAzureDevOpsConnectors"),
// Tags: map[string]*string{
// },
// Properties: &armsecurity.ConnectorProperties{
// EnvironmentData: &armsecurity.GithubScopeEnvironmentData{
// EnvironmentType: to.Ptr(armsecurity.EnvironmentTypeGithubScope),
// },
// EnvironmentName: to.Ptr(armsecurity.CloudNameGithub),
// HierarchyIdentifier: to.Ptr("/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup3/providers/Microsoft.SecurityDevops/azureDevOpsConnectors/exampleAzureDevOpsConnector"),
// Offerings: []armsecurity.CloudOfferingClassification{
// &armsecurity.CspmMonitorGithubOffering{
// OfferingType: to.Ptr(armsecurity.OfferingTypeCspmMonitorGithub),
// }},
// },
// SystemData: &armsecurity.SystemData{
// CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-12-15T13:47:50.328Z"); return t}()),
// CreatedBy: to.Ptr("user@contoso.com"),
// CreatedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-12-15T13:47:50.328Z"); return t}()),
// LastModifiedBy: to.Ptr("user@contoso.com"),
// LastModifiedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// },
// },
// {
// Location: to.Ptr("Central US"),
// Etag: to.Ptr("etag value"),
// Kind: to.Ptr(""),
// Name: to.Ptr("exampleSecurityConnectorGcp"),
// Type: to.Ptr("Microsoft.Security/securityConnectors"),
// ID: to.Ptr("/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup3/providers/Microsoft.Security/securityConnectors/exampleSecurityConnectorGcp"),
// Tags: map[string]*string{
// },
// Properties: &armsecurity.ConnectorProperties{
// EnvironmentData: &armsecurity.GcpProjectEnvironmentData{
// EnvironmentType: to.Ptr(armsecurity.EnvironmentTypeGcpProject),
// ProjectDetails: &armsecurity.GcpProjectDetails{
// ProjectID: to.Ptr("My-0GCP-Project"),
// ProjectNumber: to.Ptr("exampleHierarchyId"),
// WorkloadIdentityPoolID: to.Ptr("6c78da41157548d3b1d8b3c72effdf8c"),
// },
// },
// EnvironmentName: to.Ptr(armsecurity.CloudNameGCP),
// HierarchyIdentifier: to.Ptr("exampleHierarchyId"),
// Offerings: []armsecurity.CloudOfferingClassification{
// &armsecurity.CspmMonitorGcpOffering{
// OfferingType: to.Ptr(armsecurity.OfferingTypeCspmMonitorGcp),
// NativeCloudConnection: &armsecurity.CspmMonitorGcpOfferingNativeCloudConnection{
// ServiceAccountEmailAddress: to.Ptr("capm@projectName.com"),
// WorkloadIdentityProviderID: to.Ptr("My workload identity provider Id"),
// },
// }},
// },
// SystemData: &armsecurity.SystemData{
// CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-12-15T13:47:50.328Z"); return t}()),
// CreatedBy: to.Ptr("user@contoso.com"),
// CreatedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-12-15T13:47:50.328Z"); return t}()),
// LastModifiedBy: to.Ptr("user@contoso.com"),
// LastModifiedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// },
// }},
// }
}
}
func (*ConnectorsClient) Update ¶
func (client *ConnectorsClient) Update(ctx context.Context, resourceGroupName string, securityConnectorName string, securityConnector Connector, options *ConnectorsClientUpdateOptions) (ConnectorsClientUpdateResponse, error)
Update - Updates a security connector If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2024-03-01-preview
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- securityConnectorName - The security connector name.
- securityConnector - The security connector resource
- options - ConnectorsClientUpdateOptions contains the optional parameters for the ConnectorsClient.Update method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2024-03-01-preview/examples/SecurityConnectors/PatchSecurityConnector_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewConnectorsClient().Update(ctx, "exampleResourceGroup", "exampleSecurityConnectorName", armsecurity.Connector{
Location: to.Ptr("Central US"),
Etag: to.Ptr("etag value (must be supplied for update)"),
Tags: map[string]*string{},
Properties: &armsecurity.ConnectorProperties{
EnvironmentData: &armsecurity.AwsEnvironmentData{
EnvironmentType: to.Ptr(armsecurity.EnvironmentTypeAwsAccount),
},
EnvironmentName: to.Ptr(armsecurity.CloudNameAWS),
HierarchyIdentifier: to.Ptr("exampleHierarchyId"),
Offerings: []armsecurity.CloudOfferingClassification{
&armsecurity.CspmMonitorAwsOffering{
OfferingType: to.Ptr(armsecurity.OfferingTypeCspmMonitorAws),
NativeCloudConnection: &armsecurity.CspmMonitorAwsOfferingNativeCloudConnection{
CloudRoleArn: to.Ptr("arn:aws:iam::00000000:role/ASCMonitor"),
},
}},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.Connector = armsecurity.Connector{
// Location: to.Ptr("Central US"),
// Etag: to.Ptr("etag value"),
// Kind: to.Ptr(""),
// Name: to.Ptr("exampleSecurityConnectorName"),
// Type: to.Ptr("Microsoft.Security/securityConnectors"),
// ID: to.Ptr("/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/securityConnectors/exampleSecurityConnectorName"),
// Tags: map[string]*string{
// },
// Properties: &armsecurity.ConnectorProperties{
// EnvironmentData: &armsecurity.AwsEnvironmentData{
// EnvironmentType: to.Ptr(armsecurity.EnvironmentTypeAwsAccount),
// },
// EnvironmentName: to.Ptr(armsecurity.CloudNameAWS),
// HierarchyIdentifier: to.Ptr("exampleHierarchyId"),
// Offerings: []armsecurity.CloudOfferingClassification{
// &armsecurity.CspmMonitorAwsOffering{
// OfferingType: to.Ptr(armsecurity.OfferingTypeCspmMonitorAws),
// NativeCloudConnection: &armsecurity.CspmMonitorAwsOfferingNativeCloudConnection{
// CloudRoleArn: to.Ptr("arn:aws:iam::00000000:role/ASCMonitor"),
// },
// }},
// },
// SystemData: &armsecurity.SystemData{
// CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-31T13:47:50.328Z"); return t}()),
// CreatedBy: to.Ptr("user@contoso.com"),
// CreatedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-31T13:47:50.328Z"); return t}()),
// LastModifiedBy: to.Ptr("user@contoso.com"),
// LastModifiedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// },
// }
}
type ConnectorsClientCreateOrUpdateOptions ¶
type ConnectorsClientCreateOrUpdateOptions struct {
}
ConnectorsClientCreateOrUpdateOptions contains the optional parameters for the ConnectorsClient.CreateOrUpdate method.
type ConnectorsClientCreateOrUpdateResponse ¶
type ConnectorsClientCreateOrUpdateResponse struct {
// The security connector resource.
Connector
}
ConnectorsClientCreateOrUpdateResponse contains the response from method ConnectorsClient.CreateOrUpdate.
type ConnectorsClientDeleteOptions ¶
type ConnectorsClientDeleteOptions struct {
}
ConnectorsClientDeleteOptions contains the optional parameters for the ConnectorsClient.Delete method.
type ConnectorsClientDeleteResponse ¶
type ConnectorsClientDeleteResponse struct {
}
ConnectorsClientDeleteResponse contains the response from method ConnectorsClient.Delete.
type ConnectorsClientGetOptions ¶
type ConnectorsClientGetOptions struct {
}
ConnectorsClientGetOptions contains the optional parameters for the ConnectorsClient.Get method.
type ConnectorsClientGetResponse ¶
type ConnectorsClientGetResponse struct {
// The security connector resource.
Connector
}
ConnectorsClientGetResponse contains the response from method ConnectorsClient.Get.
type ConnectorsClientListByResourceGroupOptions ¶
type ConnectorsClientListByResourceGroupOptions struct {
}
ConnectorsClientListByResourceGroupOptions contains the optional parameters for the ConnectorsClient.NewListByResourceGroupPager method.
type ConnectorsClientListByResourceGroupResponse ¶
type ConnectorsClientListByResourceGroupResponse struct {
// List of security connectors response.
ConnectorsList
}
ConnectorsClientListByResourceGroupResponse contains the response from method ConnectorsClient.NewListByResourceGroupPager.
type ConnectorsClientListOptions ¶
type ConnectorsClientListOptions struct {
}
ConnectorsClientListOptions contains the optional parameters for the ConnectorsClient.NewListPager method.
type ConnectorsClientListResponse ¶
type ConnectorsClientListResponse struct {
// List of security connectors response.
ConnectorsList
}
ConnectorsClientListResponse contains the response from method ConnectorsClient.NewListPager.
type ConnectorsClientUpdateOptions ¶
type ConnectorsClientUpdateOptions struct {
}
ConnectorsClientUpdateOptions contains the optional parameters for the ConnectorsClient.Update method.
type ConnectorsClientUpdateResponse ¶
type ConnectorsClientUpdateResponse struct {
// The security connector resource.
Connector
}
ConnectorsClientUpdateResponse contains the response from method ConnectorsClient.Update.
type ConnectorsList ¶
type ConnectorsList struct {
// REQUIRED; The list of security connectors under the given scope.
Value []*Connector
// READ-ONLY; The URI to fetch the next page.
NextLink *string
}
ConnectorsList - List of security connectors response.
func (ConnectorsList) MarshalJSON ¶
func (c ConnectorsList) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ConnectorsList.
func (*ConnectorsList) UnmarshalJSON ¶
func (c *ConnectorsList) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ConnectorsList.
type Contact ¶
type Contact struct {
// Security contact data
Properties *ContactProperties
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Resource type
Type *string
}
Contact details and configurations for notifications coming from Microsoft Defender for Cloud.
func (Contact) MarshalJSON ¶
MarshalJSON implements the json.Marshaller interface for type Contact.
func (*Contact) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaller interface for type Contact.
type ContactList ¶
type ContactList struct {
// REQUIRED; List of security contacts
Value []*Contact
// READ-ONLY; The URI to fetch the next page.
NextLink *string
}
ContactList - List of security contacts response
func (ContactList) MarshalJSON ¶
func (c ContactList) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ContactList.
func (*ContactList) UnmarshalJSON ¶
func (c *ContactList) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ContactList.
type ContactProperties ¶
type ContactProperties struct {
// List of email addresses which will get notifications from Microsoft Defender for Cloud by the configurations defined in
// this security contact.
Emails *string
// Indicates whether the security contact is enabled.
IsEnabled *bool
// Defines whether to send email notifications from Microsoft Defender for Cloud to persons with specific RBAC roles on the
// subscription.
NotificationsByRole *ContactPropertiesNotificationsByRole
// A collection of sources types which evaluate the email notification.
NotificationsSources []NotificationsSourceClassification
// The security contact's phone number
Phone *string
}
ContactProperties - Describes security contact properties
func (ContactProperties) MarshalJSON ¶
func (c ContactProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ContactProperties.
func (*ContactProperties) UnmarshalJSON ¶
func (c *ContactProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ContactProperties.
type ContactPropertiesNotificationsByRole ¶
type ContactPropertiesNotificationsByRole struct {
// Defines which RBAC roles will get email notifications from Microsoft Defender for Cloud. List of allowed RBAC roles:
Roles []*SecurityContactRole
// Defines whether to send email notifications from AMicrosoft Defender for Cloud to persons with specific RBAC roles on the
// subscription.
State *State
}
ContactPropertiesNotificationsByRole - Defines whether to send email notifications from Microsoft Defender for Cloud to persons with specific RBAC roles on the subscription.
func (ContactPropertiesNotificationsByRole) MarshalJSON ¶
func (c ContactPropertiesNotificationsByRole) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ContactPropertiesNotificationsByRole.
func (*ContactPropertiesNotificationsByRole) UnmarshalJSON ¶
func (c *ContactPropertiesNotificationsByRole) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ContactPropertiesNotificationsByRole.
type ContactsClient ¶
type ContactsClient struct {
// contains filtered or unexported fields
}
ContactsClient contains the methods for the SecurityContacts group. Don't use this type directly, use NewContactsClient() instead.
func NewContactsClient ¶
func NewContactsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ContactsClient, error)
NewContactsClient creates a new instance of ContactsClient with the specified values.
- subscriptionID - Azure subscription ID
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*ContactsClient) Create ¶
func (client *ContactsClient) Create(ctx context.Context, securityContactName SecurityContactName, securityContact Contact, options *ContactsClientCreateOptions) (ContactsClientCreateResponse, error)
Create - Create security contact configurations for the subscription If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2023-12-01-preview
- securityContactName - Name of the security contact object
- securityContact - Security contact object
- options - ContactsClientCreateOptions contains the optional parameters for the ContactsClient.Create method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-12-01-preview/examples/SecurityContacts/CreateSecurityContact_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewContactsClient().Create(ctx, armsecurity.SecurityContactNameDefault, armsecurity.Contact{
Properties: &armsecurity.ContactProperties{
Emails: to.Ptr("john@contoso.com;jane@contoso.com"),
IsEnabled: to.Ptr(true),
NotificationsByRole: &armsecurity.ContactPropertiesNotificationsByRole{
Roles: []*armsecurity.SecurityContactRole{
to.Ptr(armsecurity.SecurityContactRoleOwner)},
State: to.Ptr(armsecurity.State("On")),
},
NotificationsSources: []armsecurity.NotificationsSourceClassification{
&armsecurity.NotificationsSourceAttackPath{
SourceType: to.Ptr(armsecurity.SourceTypeAttackPath),
MinimalRiskLevel: to.Ptr(armsecurity.MinimalRiskLevelCritical),
},
&armsecurity.NotificationsSourceAlert{
SourceType: to.Ptr(armsecurity.SourceTypeAlert),
MinimalSeverity: to.Ptr(armsecurity.MinimalSeverityMedium),
}},
Phone: to.Ptr("(214)275-4038"),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.Contact = armsecurity.Contact{
// Name: to.Ptr("default"),
// Type: to.Ptr("Microsoft.Security/securityContact"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/securityContacts/default"),
// Properties: &armsecurity.ContactProperties{
// Emails: to.Ptr("john@microsoft.com;jane@microsoft.com"),
// IsEnabled: to.Ptr(true),
// NotificationsByRole: &armsecurity.ContactPropertiesNotificationsByRole{
// Roles: []*armsecurity.SecurityContactRole{
// to.Ptr(armsecurity.SecurityContactRoleOwner)},
// State: to.Ptr(armsecurity.State("On")),
// },
// NotificationsSources: []armsecurity.NotificationsSourceClassification{
// &armsecurity.NotificationsSourceAttackPath{
// SourceType: to.Ptr(armsecurity.SourceTypeAttackPath),
// MinimalRiskLevel: to.Ptr(armsecurity.MinimalRiskLevelCritical),
// },
// &armsecurity.NotificationsSourceAlert{
// SourceType: to.Ptr(armsecurity.SourceTypeAlert),
// MinimalSeverity: to.Ptr(armsecurity.MinimalSeverityMedium),
// }},
// Phone: to.Ptr("(214)275-4038"),
// },
// }
}
func (*ContactsClient) Delete ¶
func (client *ContactsClient) Delete(ctx context.Context, securityContactName SecurityContactName, options *ContactsClientDeleteOptions) (ContactsClientDeleteResponse, error)
Delete - Delete security contact configurations for the subscription If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2023-12-01-preview
- securityContactName - Name of the security contact object
- options - ContactsClientDeleteOptions contains the optional parameters for the ContactsClient.Delete method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-12-01-preview/examples/SecurityContacts/DeleteSecurityContact_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewContactsClient().Delete(ctx, armsecurity.SecurityContactNameDefault, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
}
func (*ContactsClient) Get ¶
func (client *ContactsClient) Get(ctx context.Context, securityContactName SecurityContactName, options *ContactsClientGetOptions) (ContactsClientGetResponse, error)
Get - Get Default Security contact configurations for the subscription If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2023-12-01-preview
- securityContactName - Name of the security contact object
- options - ContactsClientGetOptions contains the optional parameters for the ContactsClient.Get method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-12-01-preview/examples/SecurityContacts/GetSecurityContact_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewContactsClient().Get(ctx, armsecurity.SecurityContactNameDefault, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.Contact = armsecurity.Contact{
// Name: to.Ptr("default"),
// Type: to.Ptr("Microsoft.Security/securityContacts"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/securityContacts/default"),
// Properties: &armsecurity.ContactProperties{
// Emails: to.Ptr("john@contoso.com;jane@contoso.com"),
// IsEnabled: to.Ptr(true),
// NotificationsByRole: &armsecurity.ContactPropertiesNotificationsByRole{
// Roles: []*armsecurity.SecurityContactRole{
// to.Ptr(armsecurity.SecurityContactRoleOwner)},
// State: to.Ptr(armsecurity.State("On")),
// },
// NotificationsSources: []armsecurity.NotificationsSourceClassification{
// &armsecurity.NotificationsSourceAttackPath{
// SourceType: to.Ptr(armsecurity.SourceTypeAttackPath),
// MinimalRiskLevel: to.Ptr(armsecurity.MinimalRiskLevelCritical),
// },
// &armsecurity.NotificationsSourceAlert{
// SourceType: to.Ptr(armsecurity.SourceTypeAlert),
// MinimalSeverity: to.Ptr(armsecurity.MinimalSeverityMedium),
// }},
// Phone: to.Ptr("(214)275-4038"),
// },
// }
}
func (*ContactsClient) NewListPager ¶
func (client *ContactsClient) NewListPager(options *ContactsClientListOptions) *runtime.Pager[ContactsClientListResponse]
NewListPager - List all security contact configurations for the subscription
Generated from API version 2023-12-01-preview
- options - ContactsClientListOptions contains the optional parameters for the ContactsClient.NewListPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-12-01-preview/examples/SecurityContacts/GetSecurityContactsSubscription_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewContactsClient().NewListPager(nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.ContactList = armsecurity.ContactList{
// Value: []*armsecurity.Contact{
// {
// Name: to.Ptr("default"),
// Type: to.Ptr("Microsoft.Security/securityContact"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/securityContact/default"),
// Properties: &armsecurity.ContactProperties{
// Emails: to.Ptr("john@contoso.com;Jane@contoso.com"),
// IsEnabled: to.Ptr(true),
// NotificationsByRole: &armsecurity.ContactPropertiesNotificationsByRole{
// Roles: []*armsecurity.SecurityContactRole{
// to.Ptr(armsecurity.SecurityContactRoleOwner),
// to.Ptr(armsecurity.SecurityContactRole("Admin"))},
// State: to.Ptr(armsecurity.State("On")),
// },
// NotificationsSources: []armsecurity.NotificationsSourceClassification{
// &armsecurity.NotificationsSourceAttackPath{
// SourceType: to.Ptr(armsecurity.SourceTypeAttackPath),
// MinimalRiskLevel: to.Ptr(armsecurity.MinimalRiskLevelCritical),
// },
// &armsecurity.NotificationsSourceAlert{
// SourceType: to.Ptr(armsecurity.SourceTypeAlert),
// MinimalSeverity: to.Ptr(armsecurity.MinimalSeverityMedium),
// }},
// Phone: to.Ptr("(214)275-4038"),
// },
// }},
// }
}
}
type ContactsClientCreateOptions ¶
type ContactsClientCreateOptions struct {
}
ContactsClientCreateOptions contains the optional parameters for the ContactsClient.Create method.
type ContactsClientCreateResponse ¶
type ContactsClientCreateResponse struct {
// Contact details and configurations for notifications coming from Microsoft Defender for Cloud.
Contact
}
ContactsClientCreateResponse contains the response from method ContactsClient.Create.
type ContactsClientDeleteOptions ¶
type ContactsClientDeleteOptions struct {
}
ContactsClientDeleteOptions contains the optional parameters for the ContactsClient.Delete method.
type ContactsClientDeleteResponse ¶
type ContactsClientDeleteResponse struct {
}
ContactsClientDeleteResponse contains the response from method ContactsClient.Delete.
type ContactsClientGetOptions ¶
type ContactsClientGetOptions struct {
}
ContactsClientGetOptions contains the optional parameters for the ContactsClient.Get method.
type ContactsClientGetResponse ¶
type ContactsClientGetResponse struct {
// Contact details and configurations for notifications coming from Microsoft Defender for Cloud.
Contact
}
ContactsClientGetResponse contains the response from method ContactsClient.Get.
type ContactsClientListOptions ¶
type ContactsClientListOptions struct {
}
ContactsClientListOptions contains the optional parameters for the ContactsClient.NewListPager method.
type ContactsClientListResponse ¶
type ContactsClientListResponse struct {
// List of security contacts response
ContactList
}
ContactsClientListResponse contains the response from method ContactsClient.NewListPager.
type ContainerRegistryVulnerabilityProperties ¶
type ContainerRegistryVulnerabilityProperties struct {
// REQUIRED; Sub-assessment resource type
AssessedResourceType *AssessedResourceType
// READ-ONLY; List of CVEs
Cve []*CVE
// READ-ONLY; Dictionary from cvss version to cvss details object
Cvss map[string]*CVSS
// READ-ONLY; Digest of the vulnerable image
ImageDigest *string
// READ-ONLY; Indicates whether a patch is available or not
Patchable *bool
// READ-ONLY; Published time
PublishedTime *time.Time
// READ-ONLY; Name of the repository which the vulnerable image belongs to
RepositoryName *string
// READ-ONLY; Vulnerability Type. e.g: Vulnerability, Potential Vulnerability, Information Gathered, Vulnerability
Type *string
// READ-ONLY
VendorReferences []*VendorReference
}
ContainerRegistryVulnerabilityProperties - Additional context fields for container registry Vulnerability assessment
func (*ContainerRegistryVulnerabilityProperties) GetAdditionalData ¶
func (c *ContainerRegistryVulnerabilityProperties) GetAdditionalData() *AdditionalData
GetAdditionalData implements the AdditionalDataClassification interface for type ContainerRegistryVulnerabilityProperties.
func (ContainerRegistryVulnerabilityProperties) MarshalJSON ¶
func (c ContainerRegistryVulnerabilityProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ContainerRegistryVulnerabilityProperties.
func (*ContainerRegistryVulnerabilityProperties) UnmarshalJSON ¶
func (c *ContainerRegistryVulnerabilityProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ContainerRegistryVulnerabilityProperties.
type ControlType ¶
type ControlType string
ControlType - The type of security control (for example, BuiltIn)
const ( // ControlTypeBuiltIn - Microsoft Defender for Cloud managed assessments ControlTypeBuiltIn ControlType = "BuiltIn" // ControlTypeCustom - Non Microsoft Defender for Cloud managed assessments ControlTypeCustom ControlType = "Custom" )
func PossibleControlTypeValues ¶
func PossibleControlTypeValues() []ControlType
PossibleControlTypeValues returns the possible values for the ControlType const type.
type CreatedByType ¶
type CreatedByType string
CreatedByType - The type of identity that created the resource.
const ( CreatedByTypeApplication CreatedByType = "Application" CreatedByTypeKey CreatedByType = "Key" CreatedByTypeManagedIdentity CreatedByType = "ManagedIdentity" CreatedByTypeUser CreatedByType = "User" )
func PossibleCreatedByTypeValues ¶
func PossibleCreatedByTypeValues() []CreatedByType
PossibleCreatedByTypeValues returns the possible values for the CreatedByType const type.
type CspmMonitorAwsOffering ¶
type CspmMonitorAwsOffering struct {
// REQUIRED; The type of the security offering.
OfferingType *OfferingType
// The native cloud connection configuration
NativeCloudConnection *CspmMonitorAwsOfferingNativeCloudConnection
// READ-ONLY; The offering description.
Description *string
}
CspmMonitorAwsOffering - The CSPM monitoring for AWS offering
func (*CspmMonitorAwsOffering) GetCloudOffering ¶
func (c *CspmMonitorAwsOffering) GetCloudOffering() *CloudOffering
GetCloudOffering implements the CloudOfferingClassification interface for type CspmMonitorAwsOffering.
func (CspmMonitorAwsOffering) MarshalJSON ¶
func (c CspmMonitorAwsOffering) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type CspmMonitorAwsOffering.
func (*CspmMonitorAwsOffering) UnmarshalJSON ¶
func (c *CspmMonitorAwsOffering) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type CspmMonitorAwsOffering.
type CspmMonitorAwsOfferingNativeCloudConnection ¶
type CspmMonitorAwsOfferingNativeCloudConnection struct {
// The cloud role ARN in AWS for this feature
CloudRoleArn *string
}
CspmMonitorAwsOfferingNativeCloudConnection - The native cloud connection configuration
func (CspmMonitorAwsOfferingNativeCloudConnection) MarshalJSON ¶
func (c CspmMonitorAwsOfferingNativeCloudConnection) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type CspmMonitorAwsOfferingNativeCloudConnection.
func (*CspmMonitorAwsOfferingNativeCloudConnection) UnmarshalJSON ¶
func (c *CspmMonitorAwsOfferingNativeCloudConnection) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type CspmMonitorAwsOfferingNativeCloudConnection.
type CspmMonitorAzureDevOpsOffering ¶
type CspmMonitorAzureDevOpsOffering struct {
// REQUIRED; The type of the security offering.
OfferingType *OfferingType
// READ-ONLY; The offering description.
Description *string
}
CspmMonitorAzureDevOpsOffering - The CSPM monitoring for AzureDevOps offering
func (*CspmMonitorAzureDevOpsOffering) GetCloudOffering ¶
func (c *CspmMonitorAzureDevOpsOffering) GetCloudOffering() *CloudOffering
GetCloudOffering implements the CloudOfferingClassification interface for type CspmMonitorAzureDevOpsOffering.
func (CspmMonitorAzureDevOpsOffering) MarshalJSON ¶
func (c CspmMonitorAzureDevOpsOffering) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type CspmMonitorAzureDevOpsOffering.
func (*CspmMonitorAzureDevOpsOffering) UnmarshalJSON ¶
func (c *CspmMonitorAzureDevOpsOffering) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type CspmMonitorAzureDevOpsOffering.
type CspmMonitorGcpOffering ¶
type CspmMonitorGcpOffering struct {
// REQUIRED; The type of the security offering.
OfferingType *OfferingType
// The native cloud connection configuration
NativeCloudConnection *CspmMonitorGcpOfferingNativeCloudConnection
// READ-ONLY; The offering description.
Description *string
}
CspmMonitorGcpOffering - The CSPM monitoring for GCP offering
func (*CspmMonitorGcpOffering) GetCloudOffering ¶
func (c *CspmMonitorGcpOffering) GetCloudOffering() *CloudOffering
GetCloudOffering implements the CloudOfferingClassification interface for type CspmMonitorGcpOffering.
func (CspmMonitorGcpOffering) MarshalJSON ¶
func (c CspmMonitorGcpOffering) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type CspmMonitorGcpOffering.
func (*CspmMonitorGcpOffering) UnmarshalJSON ¶
func (c *CspmMonitorGcpOffering) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type CspmMonitorGcpOffering.
type CspmMonitorGcpOfferingNativeCloudConnection ¶
type CspmMonitorGcpOfferingNativeCloudConnection struct {
// The service account email address in GCP for this offering
ServiceAccountEmailAddress *string
// The GCP workload identity provider id for the offering
WorkloadIdentityProviderID *string
}
CspmMonitorGcpOfferingNativeCloudConnection - The native cloud connection configuration
func (CspmMonitorGcpOfferingNativeCloudConnection) MarshalJSON ¶
func (c CspmMonitorGcpOfferingNativeCloudConnection) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type CspmMonitorGcpOfferingNativeCloudConnection.
func (*CspmMonitorGcpOfferingNativeCloudConnection) UnmarshalJSON ¶
func (c *CspmMonitorGcpOfferingNativeCloudConnection) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type CspmMonitorGcpOfferingNativeCloudConnection.
type CspmMonitorGitLabOffering ¶
type CspmMonitorGitLabOffering struct {
// REQUIRED; The type of the security offering.
OfferingType *OfferingType
// READ-ONLY; The offering description.
Description *string
}
CspmMonitorGitLabOffering - The CSPM (Cloud security posture management) monitoring for gitlab offering
func (*CspmMonitorGitLabOffering) GetCloudOffering ¶
func (c *CspmMonitorGitLabOffering) GetCloudOffering() *CloudOffering
GetCloudOffering implements the CloudOfferingClassification interface for type CspmMonitorGitLabOffering.
func (CspmMonitorGitLabOffering) MarshalJSON ¶
func (c CspmMonitorGitLabOffering) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type CspmMonitorGitLabOffering.
func (*CspmMonitorGitLabOffering) UnmarshalJSON ¶
func (c *CspmMonitorGitLabOffering) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type CspmMonitorGitLabOffering.
type CspmMonitorGithubOffering ¶
type CspmMonitorGithubOffering struct {
// REQUIRED; The type of the security offering.
OfferingType *OfferingType
// READ-ONLY; The offering description.
Description *string
}
CspmMonitorGithubOffering - The CSPM monitoring for github offering
func (*CspmMonitorGithubOffering) GetCloudOffering ¶
func (c *CspmMonitorGithubOffering) GetCloudOffering() *CloudOffering
GetCloudOffering implements the CloudOfferingClassification interface for type CspmMonitorGithubOffering.
func (CspmMonitorGithubOffering) MarshalJSON ¶
func (c CspmMonitorGithubOffering) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type CspmMonitorGithubOffering.
func (*CspmMonitorGithubOffering) UnmarshalJSON ¶
func (c *CspmMonitorGithubOffering) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type CspmMonitorGithubOffering.
type CustomAlertRule ¶
type CustomAlertRule struct {
// REQUIRED; Status of the custom alert.
IsEnabled *bool
// REQUIRED; The type of the custom alert rule.
RuleType *string
// READ-ONLY; The description of the custom alert.
Description *string
// READ-ONLY; The display name of the custom alert.
DisplayName *string
}
CustomAlertRule - A custom alert rule.
func (*CustomAlertRule) GetCustomAlertRule ¶
func (c *CustomAlertRule) GetCustomAlertRule() *CustomAlertRule
GetCustomAlertRule implements the CustomAlertRuleClassification interface for type CustomAlertRule.
func (CustomAlertRule) MarshalJSON ¶
func (c CustomAlertRule) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type CustomAlertRule.
func (*CustomAlertRule) UnmarshalJSON ¶
func (c *CustomAlertRule) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type CustomAlertRule.
type CustomAlertRuleClassification ¶
type CustomAlertRuleClassification interface {
// GetCustomAlertRule returns the CustomAlertRule content of the underlying type.
GetCustomAlertRule() *CustomAlertRule
}
CustomAlertRuleClassification provides polymorphic access to related types. Call the interface's GetCustomAlertRule() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *ActiveConnectionsNotInAllowedRange, *AllowlistCustomAlertRule, *AmqpC2DMessagesNotInAllowedRange, *AmqpC2DRejectedMessagesNotInAllowedRange, - *AmqpD2CMessagesNotInAllowedRange, *ConnectionFromIPNotAllowed, *ConnectionToIPNotAllowed, *CustomAlertRule, *DenylistCustomAlertRule, - *DirectMethodInvokesNotInAllowedRange, *FailedLocalLoginsNotInAllowedRange, *FileUploadsNotInAllowedRange, *HTTPC2DMessagesNotInAllowedRange, - *HTTPC2DRejectedMessagesNotInAllowedRange, *HTTPD2CMessagesNotInAllowedRange, *ListCustomAlertRule, *LocalUserNotAllowed, - *MqttC2DMessagesNotInAllowedRange, *MqttC2DRejectedMessagesNotInAllowedRange, *MqttD2CMessagesNotInAllowedRange, *ProcessNotAllowed, - *QueuePurgesNotInAllowedRange, *ThresholdCustomAlertRule, *TimeWindowCustomAlertRule, *TwinUpdatesNotInAllowedRange, - *UnauthorizedOperationsNotInAllowedRange
type CustomAssessmentAutomation ¶
type CustomAssessmentAutomation struct {
// describes Custom Assessment Automation properties.
Properties *CustomAssessmentAutomationProperties
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
SystemData *SystemData
// READ-ONLY; Resource type
Type *string
}
CustomAssessmentAutomation - Custom Assessment Automation
func (CustomAssessmentAutomation) MarshalJSON ¶
func (c CustomAssessmentAutomation) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type CustomAssessmentAutomation.
func (*CustomAssessmentAutomation) UnmarshalJSON ¶
func (c *CustomAssessmentAutomation) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type CustomAssessmentAutomation.
type CustomAssessmentAutomationProperties ¶
type CustomAssessmentAutomationProperties struct {
// The assessment metadata key used when an assessment is generated for this assessment automation.
AssessmentKey *string
// GZip encoded KQL query representing the assessment automation results required.
CompressedQuery *string
// The description to relate to the assessments generated by this assessment automation.
Description *string
// The display name of the assessments generated by this assessment automation.
DisplayName *string
// The remediation description to relate to the assessments generated by this assessment automation.
RemediationDescription *string
// The severity to relate to the assessments generated by this assessment automation.
Severity *SeverityEnum
// Relevant cloud for the custom assessment automation.
SupportedCloud *SupportedCloudEnum
}
CustomAssessmentAutomationProperties - describes the Custom Assessment Automation properties
func (CustomAssessmentAutomationProperties) MarshalJSON ¶
func (c CustomAssessmentAutomationProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type CustomAssessmentAutomationProperties.
func (*CustomAssessmentAutomationProperties) UnmarshalJSON ¶
func (c *CustomAssessmentAutomationProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type CustomAssessmentAutomationProperties.
type CustomAssessmentAutomationRequest ¶
type CustomAssessmentAutomationRequest struct {
// describes Custom Assessment Automation request properties.
Properties *CustomAssessmentAutomationRequestProperties
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Resource type
Type *string
}
CustomAssessmentAutomationRequest - Custom Assessment Automation request
func (CustomAssessmentAutomationRequest) MarshalJSON ¶
func (c CustomAssessmentAutomationRequest) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type CustomAssessmentAutomationRequest.
func (*CustomAssessmentAutomationRequest) UnmarshalJSON ¶
func (c *CustomAssessmentAutomationRequest) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type CustomAssessmentAutomationRequest.
type CustomAssessmentAutomationRequestProperties ¶
type CustomAssessmentAutomationRequestProperties struct {
// Base 64 encoded KQL query representing the assessment automation results required.
CompressedQuery *string
// The description to relate to the assessments generated by this assessment automation.
Description *string
// The display name of the assessments generated by this assessment automation.
DisplayName *string
// The remediation description to relate to the assessments generated by this assessment automation.
RemediationDescription *string
// The severity to relate to the assessments generated by this assessment automation.
Severity *SeverityEnum
// Relevant cloud for the custom assessment automation.
SupportedCloud *SupportedCloudEnum
}
CustomAssessmentAutomationRequestProperties - describes the Custom Assessment Automation properties
func (CustomAssessmentAutomationRequestProperties) MarshalJSON ¶
func (c CustomAssessmentAutomationRequestProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type CustomAssessmentAutomationRequestProperties.
func (*CustomAssessmentAutomationRequestProperties) UnmarshalJSON ¶
func (c *CustomAssessmentAutomationRequestProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type CustomAssessmentAutomationRequestProperties.
type CustomAssessmentAutomationsClient ¶
type CustomAssessmentAutomationsClient struct {
// contains filtered or unexported fields
}
CustomAssessmentAutomationsClient contains the methods for the CustomAssessmentAutomations group. Don't use this type directly, use NewCustomAssessmentAutomationsClient() instead.
func NewCustomAssessmentAutomationsClient ¶
func NewCustomAssessmentAutomationsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*CustomAssessmentAutomationsClient, error)
NewCustomAssessmentAutomationsClient creates a new instance of CustomAssessmentAutomationsClient with the specified values.
- subscriptionID - Azure subscription ID
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*CustomAssessmentAutomationsClient) Create ¶
func (client *CustomAssessmentAutomationsClient) Create(ctx context.Context, resourceGroupName string, customAssessmentAutomationName string, customAssessmentAutomationBody CustomAssessmentAutomationRequest, options *CustomAssessmentAutomationsClientCreateOptions) (CustomAssessmentAutomationsClientCreateResponse, error)
Create - Creates or updates a custom assessment automation for the provided subscription. Please note that providing an existing custom assessment automation will replace the existing record. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2021-07-01-preview
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- customAssessmentAutomationName - Name of the Custom Assessment Automation.
- customAssessmentAutomationBody - Custom Assessment Automation body
- options - CustomAssessmentAutomationsClientCreateOptions contains the optional parameters for the CustomAssessmentAutomationsClient.Create method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationCreate_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewCustomAssessmentAutomationsClient().Create(ctx, "TestResourceGroup", "MyCustomAssessmentAutomation", armsecurity.CustomAssessmentAutomationRequest{
Properties: &armsecurity.CustomAssessmentAutomationRequestProperties{
Description: to.Ptr("Data should be encrypted"),
CompressedQuery: to.Ptr("DQAKAEkAYQBtAF8ARwByAG8AdQBwAA0ACgB8ACAAZQB4AHQAZQBuAGQAIABIAGUAYQBsAHQAaABTAHQAYQB0AHUAcwAgAD0AIABpAGYAZgAoAHQAbwBzAHQAcgBpAG4AZwAoAFIAZQBjAG8AcgBkAC4AVQBzAGUAcgBOAGEAbQBlACkAIABjAG8AbgB0AGEAaQBuAHMAIAAnAHUAcwBlAHIAJwAsACAAJwBVAE4ASABFAEEATABUAEgAWQAnACwAIAAnAEgARQBBAEwAVABIAFkAJwApAA0ACgA="),
DisplayName: to.Ptr("Password Policy"),
RemediationDescription: to.Ptr("Encrypt store by..."),
Severity: to.Ptr(armsecurity.SeverityEnumMedium),
SupportedCloud: to.Ptr(armsecurity.SupportedCloudEnumAWS),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.CustomAssessmentAutomation = armsecurity.CustomAssessmentAutomation{
// Name: to.Ptr("33e7cc6e-a139-4723-a0e5-76993aee0771"),
// Type: to.Ptr("Microsoft.Security/customAssessmentAutomations"),
// ID: to.Ptr("/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customAssessmentAutomations/33e7cc6e-a139-4723-a0e5-76993aee0771"),
// Properties: &armsecurity.CustomAssessmentAutomationProperties{
// Description: to.Ptr("organization passwords policy"),
// AssessmentKey: to.Ptr("d5f442f7-7e77-4bcf-a450-a9c1b9a94eeb"),
// CompressedQuery: to.Ptr("DQAKAEkAYQBtAF8ARwByAG8AdQBwAA0ACgB8ACAAZQB4AHQAZQBuAGQAIABIAGUAYQBsAHQAaABTAHQAYQB0AHUAcwAgAD0AIABpAGYAZgAoAHQAbwBzAHQAcgBpAG4AZwAoAFIAZQBjAG8AcgBkAC4AVQBzAGUAcgBOAGEAbQBlACkAIABjAG8AbgB0AGEAaQBuAHMAIAAnAHUAcwBlAHIAJwAsACAAJwBVAE4ASABFAEEATABUAEgAWQAnACwAIAAnAEgARQBBAEwAVABIAFkAJwApAA0ACgA="),
// DisplayName: to.Ptr("Password Policy"),
// RemediationDescription: to.Ptr("Change password policy to..."),
// Severity: to.Ptr(armsecurity.SeverityEnumMedium),
// SupportedCloud: to.Ptr(armsecurity.SupportedCloudEnumAWS),
// },
// SystemData: &armsecurity.SystemData{
// CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-31T13:47:50.328Z"); return t}()),
// CreatedBy: to.Ptr("user@contoso.com"),
// CreatedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-31T13:47:50.328Z"); return t}()),
// LastModifiedBy: to.Ptr("user@contoso.com"),
// LastModifiedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// },
// }
}
func (*CustomAssessmentAutomationsClient) Delete ¶
func (client *CustomAssessmentAutomationsClient) Delete(ctx context.Context, resourceGroupName string, customAssessmentAutomationName string, options *CustomAssessmentAutomationsClientDeleteOptions) (CustomAssessmentAutomationsClientDeleteResponse, error)
Delete - Deletes a custom assessment automation by name for a provided subscription If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2021-07-01-preview
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- customAssessmentAutomationName - Name of the Custom Assessment Automation.
- options - CustomAssessmentAutomationsClientDeleteOptions contains the optional parameters for the CustomAssessmentAutomationsClient.Delete method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationDelete_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewCustomAssessmentAutomationsClient().Delete(ctx, "TestResourceGroup", "MyCustomAssessmentAutomation", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
}
func (*CustomAssessmentAutomationsClient) Get ¶
func (client *CustomAssessmentAutomationsClient) Get(ctx context.Context, resourceGroupName string, customAssessmentAutomationName string, options *CustomAssessmentAutomationsClientGetOptions) (CustomAssessmentAutomationsClientGetResponse, error)
Get - Gets a single custom assessment automation by name for the provided subscription and resource group. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2021-07-01-preview
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- customAssessmentAutomationName - Name of the Custom Assessment Automation.
- options - CustomAssessmentAutomationsClientGetOptions contains the optional parameters for the CustomAssessmentAutomationsClient.Get method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationGet_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewCustomAssessmentAutomationsClient().Get(ctx, "TestResourceGroup", "MyCustomAssessmentAutomation", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.CustomAssessmentAutomation = armsecurity.CustomAssessmentAutomation{
// Name: to.Ptr("MyCustomAssessmentAutomation"),
// Type: to.Ptr("Microsoft.Security/customAssessmentAutomations"),
// ID: to.Ptr("/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customAssessmentAutomations/MyCustomAssessmentAutomation"),
// Properties: &armsecurity.CustomAssessmentAutomationProperties{
// Description: to.Ptr("organization passwords policy"),
// AssessmentKey: to.Ptr("d5f442f7-7e77-4bcf-a450-a9c1b9a94eeb"),
// CompressedQuery: to.Ptr("DQAKAEkAYQBtAF8ARwByAG8AdQBwAA0ACgB8ACAAZQB4AHQAZQBuAGQAIABIAGUAYQBsAHQAaABTAHQAYQB0AHUAcwAgAD0AIABpAGYAZgAoAHQAbwBzAHQAcgBpAG4AZwAoAFIAZQBjAG8AcgBkAC4AVQBzAGUAcgBOAGEAbQBlACkAIABjAG8AbgB0AGEAaQBuAHMAIAAnAHUAcwBlAHIAJwAsACAAJwBVAE4ASABFAEEATABUAEgAWQAnACwAIAAnAEgARQBBAEwAVABIAFkAJwApAA0ACgA="),
// DisplayName: to.Ptr("Password Policy"),
// RemediationDescription: to.Ptr("Change password policy to..."),
// Severity: to.Ptr(armsecurity.SeverityEnumLow),
// SupportedCloud: to.Ptr(armsecurity.SupportedCloudEnumAWS),
// },
// SystemData: &armsecurity.SystemData{
// CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-31T13:47:50.328Z"); return t}()),
// CreatedBy: to.Ptr("user@contoso.com"),
// CreatedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-31T13:47:50.328Z"); return t}()),
// LastModifiedBy: to.Ptr("user@contoso.com"),
// LastModifiedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// },
// }
}
func (*CustomAssessmentAutomationsClient) NewListByResourceGroupPager ¶
func (client *CustomAssessmentAutomationsClient) NewListByResourceGroupPager(resourceGroupName string, options *CustomAssessmentAutomationsClientListByResourceGroupOptions) *runtime.Pager[CustomAssessmentAutomationsClientListByResourceGroupResponse]
NewListByResourceGroupPager - List custom assessment automations by provided subscription and resource group
Generated from API version 2021-07-01-preview
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- options - CustomAssessmentAutomationsClientListByResourceGroupOptions contains the optional parameters for the CustomAssessmentAutomationsClient.NewListByResourceGroupPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationListByResourceGroup_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewCustomAssessmentAutomationsClient().NewListByResourceGroupPager("TestResourceGroup", nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.CustomAssessmentAutomationsListResult = armsecurity.CustomAssessmentAutomationsListResult{
// Value: []*armsecurity.CustomAssessmentAutomation{
// {
// Name: to.Ptr("MyCustomAssessmentAutomation1"),
// Type: to.Ptr("Microsoft.Security/customAssessmentAutomations"),
// ID: to.Ptr("/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customAssessmentAutomations/MyCustomAssessmentAutomation1"),
// Properties: &armsecurity.CustomAssessmentAutomationProperties{
// Description: to.Ptr("organization passwords policy"),
// AssessmentKey: to.Ptr("d5f442f7-7e77-4bcf-a450-a9c1b9a94eeb"),
// CompressedQuery: to.Ptr("DQAKAEkAYQBtAF8ARwByAG8AdQBwAA0ACgB8ACAAZQB4AHQAZQBuAGQAIABIAGUAYQBsAHQAaABTAHQAYQB0AHUAcwAgAD0AIABpAGYAZgAoAHQAbwBzAHQAcgBpAG4AZwAoAFIAZQBjAG8AcgBkAC4AVQBzAGUAcgBOAGEAbQBlACkAIABjAG8AbgB0AGEAaQBuAHMAIAAnAHUAcwBlAHIAJwAsACAAJwBVAE4ASABFAEEATABUAEgAWQAnACwAIAAnAEgARQBBAEwAVABIAFkAJwApAA0ACgA="),
// DisplayName: to.Ptr("Password Policy"),
// RemediationDescription: to.Ptr("Change password policy to..."),
// Severity: to.Ptr(armsecurity.SeverityEnumMedium),
// SupportedCloud: to.Ptr(armsecurity.SupportedCloudEnumAWS),
// },
// SystemData: &armsecurity.SystemData{
// CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-31T13:47:50.328Z"); return t}()),
// CreatedBy: to.Ptr("user@contoso.com"),
// CreatedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-31T13:47:50.328Z"); return t}()),
// LastModifiedBy: to.Ptr("user@contoso.com"),
// LastModifiedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// },
// },
// {
// Name: to.Ptr("MyCustomAssessmentAutomation2"),
// Type: to.Ptr("Microsoft.Security/customAssessmentAutomations"),
// ID: to.Ptr("/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customAssessmentAutomations/MyCustomAssessmentAutomation2"),
// Properties: &armsecurity.CustomAssessmentAutomationProperties{
// Description: to.Ptr("organization passwords policy"),
// AssessmentKey: to.Ptr("fc1dbcd0-502c-4eab-9312-4014cfc8ea56"),
// CompressedQuery: to.Ptr("DQAKAEkAYQBtAF8AUABhAHMAcwB3AG8AcgBkAFAAbwBsAGkAYwB5ACAADQAKAHwAIABlAHgAdABlAG4AZAAgAEgAZQBhAGwAdABoAFMAdABhAHQAdQBzACAAPQAgAGkAZgBmACgAdABvAGkAbgB0ACgAUgBlAGMAbwByAGQALgBNAGkAbgBpAG0AdQBtAFAAYQBzAHMAdwBvAHIAZABMAGUAbgBnAHQAaAApACAAPAAgADgALAAgACcAVQBOAEgARQBBAEwAVABIAFkAJwAsACAAJwBIAEUAQQBMAFQASABZACcAKQANAAoA"),
// DisplayName: to.Ptr("Password Policy"),
// RemediationDescription: to.Ptr("Change password policy to..."),
// Severity: to.Ptr(armsecurity.SeverityEnumLow),
// SupportedCloud: to.Ptr(armsecurity.SupportedCloudEnumAWS),
// },
// SystemData: &armsecurity.SystemData{
// CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-31T13:01:50.328Z"); return t}()),
// CreatedBy: to.Ptr("user@contoso.com"),
// CreatedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-31T13:01:50.328Z"); return t}()),
// LastModifiedBy: to.Ptr("user@contoso.com"),
// LastModifiedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// },
// }},
// }
}
}
func (*CustomAssessmentAutomationsClient) NewListBySubscriptionPager ¶
func (client *CustomAssessmentAutomationsClient) NewListBySubscriptionPager(options *CustomAssessmentAutomationsClientListBySubscriptionOptions) *runtime.Pager[CustomAssessmentAutomationsClientListBySubscriptionResponse]
NewListBySubscriptionPager - List custom assessment automations by provided subscription
Generated from API version 2021-07-01-preview
- options - CustomAssessmentAutomationsClientListBySubscriptionOptions contains the optional parameters for the CustomAssessmentAutomationsClient.NewListBySubscriptionPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationListBySubscription_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewCustomAssessmentAutomationsClient().NewListBySubscriptionPager(nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.CustomAssessmentAutomationsListResult = armsecurity.CustomAssessmentAutomationsListResult{
// Value: []*armsecurity.CustomAssessmentAutomation{
// {
// Name: to.Ptr("MyCustomAssessmentAutomation1"),
// Type: to.Ptr("Microsoft.Security/customAssessmentAutomations"),
// ID: to.Ptr("/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customAssessmentAutomations/MyCustomAssessmentAutomation1"),
// Properties: &armsecurity.CustomAssessmentAutomationProperties{
// Description: to.Ptr("organization passwords policy"),
// AssessmentKey: to.Ptr("d5f442f7-7e77-4bcf-a450-a9c1b9a94eeb"),
// CompressedQuery: to.Ptr("DQAKAEkAYQBtAF8ARwByAG8AdQBwAA0ACgB8ACAAZQB4AHQAZQBuAGQAIABIAGUAYQBsAHQAaABTAHQAYQB0AHUAcwAgAD0AIABpAGYAZgAoAHQAbwBzAHQAcgBpAG4AZwAoAFIAZQBjAG8AcgBkAC4AVQBzAGUAcgBOAGEAbQBlACkAIABjAG8AbgB0AGEAaQBuAHMAIAAnAHUAcwBlAHIAJwAsACAAJwBVAE4ASABFAEEATABUAEgAWQAnACwAIAAnAEgARQBBAEwAVABIAFkAJwApAA0ACgA="),
// DisplayName: to.Ptr("Password Policy"),
// RemediationDescription: to.Ptr("Change password policy to..."),
// Severity: to.Ptr(armsecurity.SeverityEnumMedium),
// SupportedCloud: to.Ptr(armsecurity.SupportedCloudEnumAWS),
// },
// SystemData: &armsecurity.SystemData{
// CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-31T13:47:50.328Z"); return t}()),
// CreatedBy: to.Ptr("user@contoso.com"),
// CreatedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-31T13:47:50.328Z"); return t}()),
// LastModifiedBy: to.Ptr("user@contoso.com"),
// LastModifiedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// },
// },
// {
// Name: to.Ptr("MyCustomAssessmentAutomation2"),
// Type: to.Ptr("Microsoft.Security/customAssessmentAutomations"),
// ID: to.Ptr("/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customAssessmentAutomations/MyCustomAssessmentAutomation2"),
// Properties: &armsecurity.CustomAssessmentAutomationProperties{
// Description: to.Ptr("organization passwords policy"),
// AssessmentKey: to.Ptr("fc1dbcd0-502c-4eab-9312-4014cfc8ea56"),
// CompressedQuery: to.Ptr("Q29tcHV0ZV9OZXR3b3JrCnwgZXh0ZW5kIEhlYWx0aFN0YXR1cyA9ICdVTkhFQUxUSFkn"),
// DisplayName: to.Ptr("Password Policy"),
// RemediationDescription: to.Ptr("Change password policy to..."),
// Severity: to.Ptr(armsecurity.SeverityEnumLow),
// SupportedCloud: to.Ptr(armsecurity.SupportedCloudEnumGCP),
// },
// SystemData: &armsecurity.SystemData{
// CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-31T13:01:50.328Z"); return t}()),
// CreatedBy: to.Ptr("user@contoso.com"),
// CreatedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-31T13:01:50.328Z"); return t}()),
// LastModifiedBy: to.Ptr("user@contoso.com"),
// LastModifiedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// },
// }},
// }
}
}
type CustomAssessmentAutomationsClientCreateOptions ¶
type CustomAssessmentAutomationsClientCreateOptions struct {
}
CustomAssessmentAutomationsClientCreateOptions contains the optional parameters for the CustomAssessmentAutomationsClient.Create method.
type CustomAssessmentAutomationsClientCreateResponse ¶
type CustomAssessmentAutomationsClientCreateResponse struct {
// Custom Assessment Automation
CustomAssessmentAutomation
}
CustomAssessmentAutomationsClientCreateResponse contains the response from method CustomAssessmentAutomationsClient.Create.
type CustomAssessmentAutomationsClientDeleteOptions ¶
type CustomAssessmentAutomationsClientDeleteOptions struct {
}
CustomAssessmentAutomationsClientDeleteOptions contains the optional parameters for the CustomAssessmentAutomationsClient.Delete method.
type CustomAssessmentAutomationsClientDeleteResponse ¶
type CustomAssessmentAutomationsClientDeleteResponse struct {
}
CustomAssessmentAutomationsClientDeleteResponse contains the response from method CustomAssessmentAutomationsClient.Delete.
type CustomAssessmentAutomationsClientGetOptions ¶
type CustomAssessmentAutomationsClientGetOptions struct {
}
CustomAssessmentAutomationsClientGetOptions contains the optional parameters for the CustomAssessmentAutomationsClient.Get method.
type CustomAssessmentAutomationsClientGetResponse ¶
type CustomAssessmentAutomationsClientGetResponse struct {
// Custom Assessment Automation
CustomAssessmentAutomation
}
CustomAssessmentAutomationsClientGetResponse contains the response from method CustomAssessmentAutomationsClient.Get.
type CustomAssessmentAutomationsClientListByResourceGroupOptions ¶
type CustomAssessmentAutomationsClientListByResourceGroupOptions struct {
}
CustomAssessmentAutomationsClientListByResourceGroupOptions contains the optional parameters for the CustomAssessmentAutomationsClient.NewListByResourceGroupPager method.
type CustomAssessmentAutomationsClientListByResourceGroupResponse ¶
type CustomAssessmentAutomationsClientListByResourceGroupResponse struct {
// A list of Custom Assessment Automations
CustomAssessmentAutomationsListResult
}
CustomAssessmentAutomationsClientListByResourceGroupResponse contains the response from method CustomAssessmentAutomationsClient.NewListByResourceGroupPager.
type CustomAssessmentAutomationsClientListBySubscriptionOptions ¶
type CustomAssessmentAutomationsClientListBySubscriptionOptions struct {
}
CustomAssessmentAutomationsClientListBySubscriptionOptions contains the optional parameters for the CustomAssessmentAutomationsClient.NewListBySubscriptionPager method.
type CustomAssessmentAutomationsClientListBySubscriptionResponse ¶
type CustomAssessmentAutomationsClientListBySubscriptionResponse struct {
// A list of Custom Assessment Automations
CustomAssessmentAutomationsListResult
}
CustomAssessmentAutomationsClientListBySubscriptionResponse contains the response from method CustomAssessmentAutomationsClient.NewListBySubscriptionPager.
type CustomAssessmentAutomationsListResult ¶
type CustomAssessmentAutomationsListResult struct {
// The link used to get the next page of operations.
NextLink *string
// READ-ONLY; Collection of Custom Assessment Automations
Value []*CustomAssessmentAutomation
}
CustomAssessmentAutomationsListResult - A list of Custom Assessment Automations
func (CustomAssessmentAutomationsListResult) MarshalJSON ¶
func (c CustomAssessmentAutomationsListResult) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type CustomAssessmentAutomationsListResult.
func (*CustomAssessmentAutomationsListResult) UnmarshalJSON ¶
func (c *CustomAssessmentAutomationsListResult) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type CustomAssessmentAutomationsListResult.
type CustomEntityStoreAssignment ¶
type CustomEntityStoreAssignment struct {
// describes custom entity store assignment properties.
Properties *CustomEntityStoreAssignmentProperties
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
SystemData *SystemData
// READ-ONLY; Resource type
Type *string
}
CustomEntityStoreAssignment - Custom entity store assignment
func (CustomEntityStoreAssignment) MarshalJSON ¶
func (c CustomEntityStoreAssignment) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type CustomEntityStoreAssignment.
func (*CustomEntityStoreAssignment) UnmarshalJSON ¶
func (c *CustomEntityStoreAssignment) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type CustomEntityStoreAssignment.
type CustomEntityStoreAssignmentProperties ¶
type CustomEntityStoreAssignmentProperties struct {
// The link to entity store database.
EntityStoreDatabaseLink *string
// The principal assigned with entity store. Format of principal is: [AAD type]=[PrincipalObjectId];[TenantId]
Principal *string
}
CustomEntityStoreAssignmentProperties - describes the custom entity store assignment properties
func (CustomEntityStoreAssignmentProperties) MarshalJSON ¶
func (c CustomEntityStoreAssignmentProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type CustomEntityStoreAssignmentProperties.
func (*CustomEntityStoreAssignmentProperties) UnmarshalJSON ¶
func (c *CustomEntityStoreAssignmentProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type CustomEntityStoreAssignmentProperties.
type CustomEntityStoreAssignmentRequest ¶
type CustomEntityStoreAssignmentRequest struct {
// describes properties of custom entity store assignment request
Properties *CustomEntityStoreAssignmentRequestProperties
}
CustomEntityStoreAssignmentRequest - describes the custom entity store assignment request
func (CustomEntityStoreAssignmentRequest) MarshalJSON ¶
func (c CustomEntityStoreAssignmentRequest) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type CustomEntityStoreAssignmentRequest.
func (*CustomEntityStoreAssignmentRequest) UnmarshalJSON ¶
func (c *CustomEntityStoreAssignmentRequest) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type CustomEntityStoreAssignmentRequest.
type CustomEntityStoreAssignmentRequestProperties ¶
type CustomEntityStoreAssignmentRequestProperties struct {
// The principal assigned with entity store. If not provided, will use caller principal. Format of principal is: [AAD type]=[PrincipalObjectId];[TenantId]
Principal *string
}
CustomEntityStoreAssignmentRequestProperties - describes properties of custom entity store assignment request
func (CustomEntityStoreAssignmentRequestProperties) MarshalJSON ¶
func (c CustomEntityStoreAssignmentRequestProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type CustomEntityStoreAssignmentRequestProperties.
func (*CustomEntityStoreAssignmentRequestProperties) UnmarshalJSON ¶
func (c *CustomEntityStoreAssignmentRequestProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type CustomEntityStoreAssignmentRequestProperties.
type CustomEntityStoreAssignmentsClient ¶
type CustomEntityStoreAssignmentsClient struct {
// contains filtered or unexported fields
}
CustomEntityStoreAssignmentsClient contains the methods for the CustomEntityStoreAssignments group. Don't use this type directly, use NewCustomEntityStoreAssignmentsClient() instead.
func NewCustomEntityStoreAssignmentsClient ¶
func NewCustomEntityStoreAssignmentsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*CustomEntityStoreAssignmentsClient, error)
NewCustomEntityStoreAssignmentsClient creates a new instance of CustomEntityStoreAssignmentsClient with the specified values.
- subscriptionID - Azure subscription ID
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*CustomEntityStoreAssignmentsClient) Create ¶
func (client *CustomEntityStoreAssignmentsClient) Create(ctx context.Context, resourceGroupName string, customEntityStoreAssignmentName string, customEntityStoreAssignmentRequestBody CustomEntityStoreAssignmentRequest, options *CustomEntityStoreAssignmentsClientCreateOptions) (CustomEntityStoreAssignmentsClientCreateResponse, error)
Create - Creates a custom entity store assignment for the provided subscription, if not already exists. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2021-07-01-preview
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- customEntityStoreAssignmentName - Name of the custom entity store assignment. Generated name is GUID.
- customEntityStoreAssignmentRequestBody - Custom entity store assignment body
- options - CustomEntityStoreAssignmentsClientCreateOptions contains the optional parameters for the CustomEntityStoreAssignmentsClient.Create method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomEntityStoreAssignments/customEntityStoreAssignmentCreate_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewCustomEntityStoreAssignmentsClient().Create(ctx, "TestResourceGroup", "33e7cc6e-a139-4723-a0e5-76993aee0771", armsecurity.CustomEntityStoreAssignmentRequest{
Properties: &armsecurity.CustomEntityStoreAssignmentRequestProperties{
Principal: to.Ptr("aaduser=f3923a3e-ad57-4752-b1a9-fbf3c8e5e082;72f988bf-86f1-41af-91ab-2d7cd011db47"),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.CustomEntityStoreAssignment = armsecurity.CustomEntityStoreAssignment{
// Name: to.Ptr("33e7cc6e-a139-4723-a0e5-76993aee0771"),
// Type: to.Ptr("Microsoft.Security/customEntityStoreAssignments"),
// ID: to.Ptr("/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customEntityStoreAssignments/33e7cc6e-a139-4723-a0e5-76993aee0771"),
// Properties: &armsecurity.CustomEntityStoreAssignmentProperties{
// EntityStoreDatabaseLink: to.Ptr("https://dataexplorer.azure.com/clusters/securitydatastore.centralus/databases/DiscoveryAwsKedamari?query=H4sIAAAAAAAAAwtILC4uzy9KCcjPyUyu5OWqUShJzE5VMAQAlMJzABgAAAA="),
// Principal: to.Ptr("aaduser=f3923a3e-ad57-4752-b1a9-fbf3c8e5e082;72f988bf-86f1-41af-91ab-2d7cd011db47"),
// },
// SystemData: &armsecurity.SystemData{
// CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-31T13:47:50.328Z"); return t}()),
// CreatedBy: to.Ptr("user@contoso.com"),
// CreatedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-31T13:47:50.328Z"); return t}()),
// LastModifiedBy: to.Ptr("user@contoso.com"),
// LastModifiedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// },
// }
}
func (*CustomEntityStoreAssignmentsClient) Delete ¶
func (client *CustomEntityStoreAssignmentsClient) Delete(ctx context.Context, resourceGroupName string, customEntityStoreAssignmentName string, options *CustomEntityStoreAssignmentsClientDeleteOptions) (CustomEntityStoreAssignmentsClientDeleteResponse, error)
Delete - Delete a custom entity store assignment by name for a provided subscription If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2021-07-01-preview
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- customEntityStoreAssignmentName - Name of the custom entity store assignment. Generated name is GUID.
- options - CustomEntityStoreAssignmentsClientDeleteOptions contains the optional parameters for the CustomEntityStoreAssignmentsClient.Delete method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomEntityStoreAssignments/customEntityStoreAssignmentDelete_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewCustomEntityStoreAssignmentsClient().Delete(ctx, "TestResourceGroup", "33e7cc6e-a139-4723-a0e5-76993aee0771", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
}
func (*CustomEntityStoreAssignmentsClient) Get ¶
func (client *CustomEntityStoreAssignmentsClient) Get(ctx context.Context, resourceGroupName string, customEntityStoreAssignmentName string, options *CustomEntityStoreAssignmentsClientGetOptions) (CustomEntityStoreAssignmentsClientGetResponse, error)
Get - Gets a single custom entity store assignment by name for the provided subscription and resource group. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2021-07-01-preview
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- customEntityStoreAssignmentName - Name of the custom entity store assignment. Generated name is GUID.
- options - CustomEntityStoreAssignmentsClientGetOptions contains the optional parameters for the CustomEntityStoreAssignmentsClient.Get method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomEntityStoreAssignments/customEntityStoreAssignmentGet_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewCustomEntityStoreAssignmentsClient().Get(ctx, "TestResourceGroup", "33e7cc6e-a139-4723-a0e5-76993aee0771", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.CustomEntityStoreAssignment = armsecurity.CustomEntityStoreAssignment{
// Name: to.Ptr("33e7cc6e-a139-4723-a0e5-76993aee0771"),
// Type: to.Ptr("Microsoft.Security/customEntityStoreAssignments"),
// ID: to.Ptr("/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customEntityStoreAssignments/33e7cc6e-a139-4723-a0e5-76993aee0771"),
// Properties: &armsecurity.CustomEntityStoreAssignmentProperties{
// EntityStoreDatabaseLink: to.Ptr("https://dataexplorer.azure.com/clusters/securitydatastore.centralus/databases/DiscoveryAwsKedamari?query=H4sIAAAAAAAAAwtILC4uzy9KCcjPyUyu5OWqUShJzE5VMAQAlMJzABgAAAA="),
// Principal: to.Ptr("aaduser=f3923a3e-ad57-4752-b1a9-fbf3c8e5e082;72f988bf-86f1-41af-91ab-2d7cd011db47"),
// },
// SystemData: &armsecurity.SystemData{
// CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-31T13:47:50.328Z"); return t}()),
// CreatedBy: to.Ptr("user@contoso.com"),
// CreatedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-31T13:47:50.328Z"); return t}()),
// LastModifiedBy: to.Ptr("user@contoso.com"),
// LastModifiedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// },
// }
}
func (*CustomEntityStoreAssignmentsClient) NewListByResourceGroupPager ¶
func (client *CustomEntityStoreAssignmentsClient) NewListByResourceGroupPager(resourceGroupName string, options *CustomEntityStoreAssignmentsClientListByResourceGroupOptions) *runtime.Pager[CustomEntityStoreAssignmentsClientListByResourceGroupResponse]
NewListByResourceGroupPager - List custom entity store assignments by a provided subscription and resource group
Generated from API version 2021-07-01-preview
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- options - CustomEntityStoreAssignmentsClientListByResourceGroupOptions contains the optional parameters for the CustomEntityStoreAssignmentsClient.NewListByResourceGroupPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomEntityStoreAssignments/customEntityStoreAssignmentListByResourceGroup_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewCustomEntityStoreAssignmentsClient().NewListByResourceGroupPager("TestResourceGroup", nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.CustomEntityStoreAssignmentsListResult = armsecurity.CustomEntityStoreAssignmentsListResult{
// Value: []*armsecurity.CustomEntityStoreAssignment{
// {
// Name: to.Ptr("33e7cc6e-a139-4723-a0e5-76993aee0771"),
// Type: to.Ptr("Microsoft.Security/customEntityStoreAssignments"),
// ID: to.Ptr("/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customEntityStoreAssignments/33e7cc6e-a139-4723-a0e5-76993aee0771"),
// Properties: &armsecurity.CustomEntityStoreAssignmentProperties{
// EntityStoreDatabaseLink: to.Ptr("https://dataexplorer.azure.com/clusters/securitydatastore.centralus/databases/DiscoveryAwsKedamari?query=H4sIAAAAAAAAAwtILC4uzy9KCcjPyUyu5OWqUShJzE5VMAQAlMJzABgAAAA="),
// Principal: to.Ptr("aaduser=f3923a3e-ad57-4752-b1a9-fbf3c8e5e082;72f988bf-86f1-41af-91ab-2d7cd011db47"),
// },
// SystemData: &armsecurity.SystemData{
// CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-31T13:47:50.328Z"); return t}()),
// CreatedBy: to.Ptr("user@contoso.com"),
// CreatedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-31T13:47:50.328Z"); return t}()),
// LastModifiedBy: to.Ptr("user@contoso.com"),
// LastModifiedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// },
// },
// {
// Name: to.Ptr("a400695c-4728-d5cc-8e19-4b5a76f209df"),
// Type: to.Ptr("Microsoft.Security/customEntityStoreAssignments"),
// ID: to.Ptr("/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customEntityStoreAssignments/a400695c-4728-d5cc-8e19-4b5a76f209df"),
// Properties: &armsecurity.CustomEntityStoreAssignmentProperties{
// EntityStoreDatabaseLink: to.Ptr("https://dataexplorer.azure.com/clusters/securitydatastore.centralus/databases/DiscoveryAwsKedamari?query=H4sIAAAAAAAAAwvIz8lMrgzKz0nlqlFIrShJzUtR8Cz2SE3MKcmoVLBVUE9LzClOVQcA1IFnficAAAA="),
// Principal: to.Ptr("aaduser=f6e2564c-f34a-9b61-416c-5e5e7e521118;72f988bf-86f1-41af-91ab-2d7cd011db47"),
// },
// }},
// }
}
}
func (*CustomEntityStoreAssignmentsClient) NewListBySubscriptionPager ¶
func (client *CustomEntityStoreAssignmentsClient) NewListBySubscriptionPager(options *CustomEntityStoreAssignmentsClientListBySubscriptionOptions) *runtime.Pager[CustomEntityStoreAssignmentsClientListBySubscriptionResponse]
NewListBySubscriptionPager - List custom entity store assignments by provided subscription
Generated from API version 2021-07-01-preview
- options - CustomEntityStoreAssignmentsClientListBySubscriptionOptions contains the optional parameters for the CustomEntityStoreAssignmentsClient.NewListBySubscriptionPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomEntityStoreAssignments/customEntityStoreAssignmentListBySubscription_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewCustomEntityStoreAssignmentsClient().NewListBySubscriptionPager(nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.CustomEntityStoreAssignmentsListResult = armsecurity.CustomEntityStoreAssignmentsListResult{
// Value: []*armsecurity.CustomEntityStoreAssignment{
// {
// Name: to.Ptr("33e7cc6e-a139-4723-a0e5-76993aee0771"),
// Type: to.Ptr("Microsoft.Security/customEntityStoreAssignments"),
// ID: to.Ptr("/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customEntityStoreAssignments/33e7cc6e-a139-4723-a0e5-76993aee0771"),
// Properties: &armsecurity.CustomEntityStoreAssignmentProperties{
// EntityStoreDatabaseLink: to.Ptr("https://dataexplorer.azure.com/clusters/securitydatastore.centralus/databases/DiscoveryAwsKedamari?query=H4sIAAAAAAAAAwtILC4uzy9KCcjPyUyu5OWqUShJzE5VMAQAlMJzABgAAAA="),
// Principal: to.Ptr("aaduser=f3923a3e-ad57-4752-b1a9-fbf3c8e5e082;72f988bf-86f1-41af-91ab-2d7cd011db47"),
// },
// SystemData: &armsecurity.SystemData{
// CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-31T13:47:50.328Z"); return t}()),
// CreatedBy: to.Ptr("user@contoso.com"),
// CreatedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-31T13:47:50.328Z"); return t}()),
// LastModifiedBy: to.Ptr("user@contoso.com"),
// LastModifiedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// },
// },
// {
// Name: to.Ptr("a400695c-4728-d5cc-8e19-4b5a76f209df"),
// Type: to.Ptr("Microsoft.Security/customEntityStoreAssignments"),
// ID: to.Ptr("/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customEntityStoreAssignments/a400695c-4728-d5cc-8e19-4b5a76f209df"),
// Properties: &armsecurity.CustomEntityStoreAssignmentProperties{
// EntityStoreDatabaseLink: to.Ptr("https://dataexplorer.azure.com/clusters/securitydatastore.centralus/databases/DiscoveryAwsKedamari?query=H4sIAAAAAAAAAwvIz8lMrgzKz0nlqlFIrShJzUtR8Cz2SE3MKcmoVLBVUE9LzClOVQcA1IFnficAAAA="),
// Principal: to.Ptr("aaduser=f6e2564c-f34a-9b61-416c-5e5e7e521118;72f988bf-86f1-41af-91ab-2d7cd011db47"),
// },
// SystemData: &armsecurity.SystemData{
// CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-31T13:01:50.328Z"); return t}()),
// CreatedBy: to.Ptr("user@contoso.com"),
// CreatedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-31T13:01:50.328Z"); return t}()),
// LastModifiedBy: to.Ptr("user@contoso.com"),
// LastModifiedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// },
// }},
// }
}
}
type CustomEntityStoreAssignmentsClientCreateOptions ¶
type CustomEntityStoreAssignmentsClientCreateOptions struct {
}
CustomEntityStoreAssignmentsClientCreateOptions contains the optional parameters for the CustomEntityStoreAssignmentsClient.Create method.
type CustomEntityStoreAssignmentsClientCreateResponse ¶
type CustomEntityStoreAssignmentsClientCreateResponse struct {
// Custom entity store assignment
CustomEntityStoreAssignment
}
CustomEntityStoreAssignmentsClientCreateResponse contains the response from method CustomEntityStoreAssignmentsClient.Create.
type CustomEntityStoreAssignmentsClientDeleteOptions ¶
type CustomEntityStoreAssignmentsClientDeleteOptions struct {
}
CustomEntityStoreAssignmentsClientDeleteOptions contains the optional parameters for the CustomEntityStoreAssignmentsClient.Delete method.
type CustomEntityStoreAssignmentsClientDeleteResponse ¶
type CustomEntityStoreAssignmentsClientDeleteResponse struct {
}
CustomEntityStoreAssignmentsClientDeleteResponse contains the response from method CustomEntityStoreAssignmentsClient.Delete.
type CustomEntityStoreAssignmentsClientGetOptions ¶
type CustomEntityStoreAssignmentsClientGetOptions struct {
}
CustomEntityStoreAssignmentsClientGetOptions contains the optional parameters for the CustomEntityStoreAssignmentsClient.Get method.
type CustomEntityStoreAssignmentsClientGetResponse ¶
type CustomEntityStoreAssignmentsClientGetResponse struct {
// Custom entity store assignment
CustomEntityStoreAssignment
}
CustomEntityStoreAssignmentsClientGetResponse contains the response from method CustomEntityStoreAssignmentsClient.Get.
type CustomEntityStoreAssignmentsClientListByResourceGroupOptions ¶
type CustomEntityStoreAssignmentsClientListByResourceGroupOptions struct {
}
CustomEntityStoreAssignmentsClientListByResourceGroupOptions contains the optional parameters for the CustomEntityStoreAssignmentsClient.NewListByResourceGroupPager method.
type CustomEntityStoreAssignmentsClientListByResourceGroupResponse ¶
type CustomEntityStoreAssignmentsClientListByResourceGroupResponse struct {
// A list of custom entity store assignments
CustomEntityStoreAssignmentsListResult
}
CustomEntityStoreAssignmentsClientListByResourceGroupResponse contains the response from method CustomEntityStoreAssignmentsClient.NewListByResourceGroupPager.
type CustomEntityStoreAssignmentsClientListBySubscriptionOptions ¶
type CustomEntityStoreAssignmentsClientListBySubscriptionOptions struct {
}
CustomEntityStoreAssignmentsClientListBySubscriptionOptions contains the optional parameters for the CustomEntityStoreAssignmentsClient.NewListBySubscriptionPager method.
type CustomEntityStoreAssignmentsClientListBySubscriptionResponse ¶
type CustomEntityStoreAssignmentsClientListBySubscriptionResponse struct {
// A list of custom entity store assignments
CustomEntityStoreAssignmentsListResult
}
CustomEntityStoreAssignmentsClientListBySubscriptionResponse contains the response from method CustomEntityStoreAssignmentsClient.NewListBySubscriptionPager.
type CustomEntityStoreAssignmentsListResult ¶
type CustomEntityStoreAssignmentsListResult struct {
// The link used to get the next page of operations.
NextLink *string
// READ-ONLY; Collection of custom entity store assignments
Value []*CustomEntityStoreAssignment
}
CustomEntityStoreAssignmentsListResult - A list of custom entity store assignments
func (CustomEntityStoreAssignmentsListResult) MarshalJSON ¶
func (c CustomEntityStoreAssignmentsListResult) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type CustomEntityStoreAssignmentsListResult.
func (*CustomEntityStoreAssignmentsListResult) UnmarshalJSON ¶
func (c *CustomEntityStoreAssignmentsListResult) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type CustomEntityStoreAssignmentsListResult.
type DataExportSettingProperties ¶
type DataExportSettingProperties struct {
// REQUIRED; Is the data export setting enabled
Enabled *bool
}
DataExportSettingProperties - The data export setting properties
func (DataExportSettingProperties) MarshalJSON ¶
func (d DataExportSettingProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DataExportSettingProperties.
func (*DataExportSettingProperties) UnmarshalJSON ¶
func (d *DataExportSettingProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DataExportSettingProperties.
type DataExportSettings ¶
type DataExportSettings struct {
// REQUIRED; the kind of the settings string
Kind *SettingKind
// Data export setting data
Properties *DataExportSettingProperties
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Resource type
Type *string
}
DataExportSettings - Represents a data export setting
func (*DataExportSettings) GetSetting ¶
func (d *DataExportSettings) GetSetting() *Setting
GetSetting implements the SettingClassification interface for type DataExportSettings.
func (DataExportSettings) MarshalJSON ¶
func (d DataExportSettings) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DataExportSettings.
func (*DataExportSettings) UnmarshalJSON ¶
func (d *DataExportSettings) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DataExportSettings.
type DataSource ¶
type DataSource string
const ( // DataSourceTwinData - Devices twin data DataSourceTwinData DataSource = "TwinData" )
func PossibleDataSourceValues ¶
func PossibleDataSourceValues() []DataSource
PossibleDataSourceValues returns the possible values for the DataSource const type.
type DefenderCspmAwsOffering ¶
type DefenderCspmAwsOffering struct {
// REQUIRED; The type of the security offering.
OfferingType *OfferingType
// Defenders CSPM Permissions Management offering configurations
Ciem *DefenderCspmAwsOfferingCiem
// The Microsoft Defender Data Sensitivity discovery configuration
DataSensitivityDiscovery *DefenderCspmAwsOfferingDataSensitivityDiscovery
// The databases DSPM configuration
DatabasesDspm *DefenderCspmAwsOfferingDatabasesDspm
// The Microsoft Defender container agentless discovery K8s configuration
MdcContainersAgentlessDiscoveryK8S *DefenderCspmAwsOfferingMdcContainersAgentlessDiscoveryK8S
// The Microsoft Defender container image assessment configuration
MdcContainersImageAssessment *DefenderCspmAwsOfferingMdcContainersImageAssessment
// The Microsoft Defender for CSPM offering VM scanning configuration
VMScanners *DefenderCspmAwsOfferingVMScanners
// READ-ONLY; The offering description.
Description *string
}
DefenderCspmAwsOffering - The CSPM P1 for AWS offering
func (*DefenderCspmAwsOffering) GetCloudOffering ¶
func (d *DefenderCspmAwsOffering) GetCloudOffering() *CloudOffering
GetCloudOffering implements the CloudOfferingClassification interface for type DefenderCspmAwsOffering.
func (DefenderCspmAwsOffering) MarshalJSON ¶
func (d DefenderCspmAwsOffering) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderCspmAwsOffering.
func (*DefenderCspmAwsOffering) UnmarshalJSON ¶
func (d *DefenderCspmAwsOffering) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderCspmAwsOffering.
type DefenderCspmAwsOfferingCiem ¶
type DefenderCspmAwsOfferingCiem struct {
// Defender CSPM Permissions Management discovery configuration
CiemDiscovery *DefenderCspmAwsOfferingCiemDiscovery
// AWS Defender CSPM Permissions Management OIDC (open id connect) connection configurations
CiemOidc *DefenderCspmAwsOfferingCiemOidc
}
DefenderCspmAwsOfferingCiem - Defenders CSPM Permissions Management offering configurations
func (DefenderCspmAwsOfferingCiem) MarshalJSON ¶
func (d DefenderCspmAwsOfferingCiem) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderCspmAwsOfferingCiem.
func (*DefenderCspmAwsOfferingCiem) UnmarshalJSON ¶
func (d *DefenderCspmAwsOfferingCiem) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderCspmAwsOfferingCiem.
type DefenderCspmAwsOfferingCiemDiscovery ¶
type DefenderCspmAwsOfferingCiemDiscovery struct {
// The cloud role ARN in AWS for Permissions Management discovery
CloudRoleArn *string
}
DefenderCspmAwsOfferingCiemDiscovery - Defender CSPM Permissions Management discovery configuration
func (DefenderCspmAwsOfferingCiemDiscovery) MarshalJSON ¶
func (d DefenderCspmAwsOfferingCiemDiscovery) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderCspmAwsOfferingCiemDiscovery.
func (*DefenderCspmAwsOfferingCiemDiscovery) UnmarshalJSON ¶
func (d *DefenderCspmAwsOfferingCiemDiscovery) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderCspmAwsOfferingCiemDiscovery.
type DefenderCspmAwsOfferingCiemOidc ¶
type DefenderCspmAwsOfferingCiemOidc struct {
// the azure active directory app name used of authenticating against AWS
AzureActiveDirectoryAppName *string
// The cloud role ARN in AWS for Permissions Management used for oidc connection
CloudRoleArn *string
}
DefenderCspmAwsOfferingCiemOidc - AWS Defender CSPM Permissions Management OIDC (open id connect) connection configurations
func (DefenderCspmAwsOfferingCiemOidc) MarshalJSON ¶
func (d DefenderCspmAwsOfferingCiemOidc) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderCspmAwsOfferingCiemOidc.
func (*DefenderCspmAwsOfferingCiemOidc) UnmarshalJSON ¶
func (d *DefenderCspmAwsOfferingCiemOidc) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderCspmAwsOfferingCiemOidc.
type DefenderCspmAwsOfferingDataSensitivityDiscovery ¶
type DefenderCspmAwsOfferingDataSensitivityDiscovery struct {
// The cloud role ARN in AWS for this feature
CloudRoleArn *string
// Is Microsoft Defender Data Sensitivity discovery enabled
Enabled *bool
}
DefenderCspmAwsOfferingDataSensitivityDiscovery - The Microsoft Defender Data Sensitivity discovery configuration
func (DefenderCspmAwsOfferingDataSensitivityDiscovery) MarshalJSON ¶
func (d DefenderCspmAwsOfferingDataSensitivityDiscovery) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderCspmAwsOfferingDataSensitivityDiscovery.
func (*DefenderCspmAwsOfferingDataSensitivityDiscovery) UnmarshalJSON ¶
func (d *DefenderCspmAwsOfferingDataSensitivityDiscovery) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderCspmAwsOfferingDataSensitivityDiscovery.
type DefenderCspmAwsOfferingDatabasesDspm ¶
type DefenderCspmAwsOfferingDatabasesDspm struct {
// The cloud role ARN in AWS for this feature
CloudRoleArn *string
// Is databases DSPM protection enabled
Enabled *bool
}
DefenderCspmAwsOfferingDatabasesDspm - The databases DSPM configuration
func (DefenderCspmAwsOfferingDatabasesDspm) MarshalJSON ¶
func (d DefenderCspmAwsOfferingDatabasesDspm) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderCspmAwsOfferingDatabasesDspm.
func (*DefenderCspmAwsOfferingDatabasesDspm) UnmarshalJSON ¶
func (d *DefenderCspmAwsOfferingDatabasesDspm) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderCspmAwsOfferingDatabasesDspm.
type DefenderCspmAwsOfferingMdcContainersAgentlessDiscoveryK8S ¶
type DefenderCspmAwsOfferingMdcContainersAgentlessDiscoveryK8S struct {
// The cloud role ARN in AWS for this feature
CloudRoleArn *string
// Is Microsoft Defender container agentless discovery K8s enabled
Enabled *bool
}
DefenderCspmAwsOfferingMdcContainersAgentlessDiscoveryK8S - The Microsoft Defender container agentless discovery K8s configuration
func (DefenderCspmAwsOfferingMdcContainersAgentlessDiscoveryK8S) MarshalJSON ¶
func (d DefenderCspmAwsOfferingMdcContainersAgentlessDiscoveryK8S) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderCspmAwsOfferingMdcContainersAgentlessDiscoveryK8S.
func (*DefenderCspmAwsOfferingMdcContainersAgentlessDiscoveryK8S) UnmarshalJSON ¶
func (d *DefenderCspmAwsOfferingMdcContainersAgentlessDiscoveryK8S) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderCspmAwsOfferingMdcContainersAgentlessDiscoveryK8S.
type DefenderCspmAwsOfferingMdcContainersImageAssessment ¶
type DefenderCspmAwsOfferingMdcContainersImageAssessment struct {
// The cloud role ARN in AWS for this feature
CloudRoleArn *string
// Is Microsoft Defender container image assessment enabled
Enabled *bool
}
DefenderCspmAwsOfferingMdcContainersImageAssessment - The Microsoft Defender container image assessment configuration
func (DefenderCspmAwsOfferingMdcContainersImageAssessment) MarshalJSON ¶
func (d DefenderCspmAwsOfferingMdcContainersImageAssessment) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderCspmAwsOfferingMdcContainersImageAssessment.
func (*DefenderCspmAwsOfferingMdcContainersImageAssessment) UnmarshalJSON ¶
func (d *DefenderCspmAwsOfferingMdcContainersImageAssessment) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderCspmAwsOfferingMdcContainersImageAssessment.
type DefenderCspmAwsOfferingVMScanners ¶
type DefenderCspmAwsOfferingVMScanners struct {
// The cloud role ARN in AWS for this feature
CloudRoleArn *string
// Configuration for VM scanning
Configuration *VMScannersBaseConfiguration
// Is VM scanning enabled
Enabled *bool
}
DefenderCspmAwsOfferingVMScanners - The Microsoft Defender for CSPM offering VM scanning configuration
func (DefenderCspmAwsOfferingVMScanners) MarshalJSON ¶
func (d DefenderCspmAwsOfferingVMScanners) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderCspmAwsOfferingVMScanners.
func (*DefenderCspmAwsOfferingVMScanners) UnmarshalJSON ¶
func (d *DefenderCspmAwsOfferingVMScanners) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderCspmAwsOfferingVMScanners.
type DefenderCspmGcpOffering ¶
type DefenderCspmGcpOffering struct {
// REQUIRED; The type of the security offering.
OfferingType *OfferingType
// GCP Defenders CSPM Permissions Management OIDC (Open ID connect) connection configurations
CiemDiscovery *DefenderCspmGcpOfferingCiemDiscovery
// The Microsoft Defender Data Sensitivity discovery configuration
DataSensitivityDiscovery *DefenderCspmGcpOfferingDataSensitivityDiscovery
// The Microsoft Defender Container agentless discovery configuration
MdcContainersAgentlessDiscoveryK8S *DefenderCspmGcpOfferingMdcContainersAgentlessDiscoveryK8S
// The Microsoft Defender Container image assessment configuration
MdcContainersImageAssessment *DefenderCspmGcpOfferingMdcContainersImageAssessment
// The Microsoft Defender for CSPM VM scanning configuration
VMScanners *DefenderCspmGcpOfferingVMScanners
// READ-ONLY; The offering description.
Description *string
}
DefenderCspmGcpOffering - The CSPM P1 for GCP offering
func (*DefenderCspmGcpOffering) GetCloudOffering ¶
func (d *DefenderCspmGcpOffering) GetCloudOffering() *CloudOffering
GetCloudOffering implements the CloudOfferingClassification interface for type DefenderCspmGcpOffering.
func (DefenderCspmGcpOffering) MarshalJSON ¶
func (d DefenderCspmGcpOffering) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderCspmGcpOffering.
func (*DefenderCspmGcpOffering) UnmarshalJSON ¶
func (d *DefenderCspmGcpOffering) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderCspmGcpOffering.
type DefenderCspmGcpOfferingCiemDiscovery ¶
type DefenderCspmGcpOfferingCiemDiscovery struct {
// the azure active directory app name used of authenticating against GCP workload identity federation
AzureActiveDirectoryAppName *string
// The service account email address in GCP for Permissions Management offering
ServiceAccountEmailAddress *string
// The GCP workload identity provider id for Permissions Management offering
WorkloadIdentityProviderID *string
}
DefenderCspmGcpOfferingCiemDiscovery - GCP Defenders CSPM Permissions Management OIDC (Open ID connect) connection configurations
func (DefenderCspmGcpOfferingCiemDiscovery) MarshalJSON ¶
func (d DefenderCspmGcpOfferingCiemDiscovery) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderCspmGcpOfferingCiemDiscovery.
func (*DefenderCspmGcpOfferingCiemDiscovery) UnmarshalJSON ¶
func (d *DefenderCspmGcpOfferingCiemDiscovery) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderCspmGcpOfferingCiemDiscovery.
type DefenderCspmGcpOfferingDataSensitivityDiscovery ¶
type DefenderCspmGcpOfferingDataSensitivityDiscovery struct {
// Is Microsoft Defender Data Sensitivity discovery enabled
Enabled *bool
// The service account email address in GCP for this feature
ServiceAccountEmailAddress *string
// The workload identity provider id in GCP for this feature
WorkloadIdentityProviderID *string
}
DefenderCspmGcpOfferingDataSensitivityDiscovery - The Microsoft Defender Data Sensitivity discovery configuration
func (DefenderCspmGcpOfferingDataSensitivityDiscovery) MarshalJSON ¶
func (d DefenderCspmGcpOfferingDataSensitivityDiscovery) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderCspmGcpOfferingDataSensitivityDiscovery.
func (*DefenderCspmGcpOfferingDataSensitivityDiscovery) UnmarshalJSON ¶
func (d *DefenderCspmGcpOfferingDataSensitivityDiscovery) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderCspmGcpOfferingDataSensitivityDiscovery.
type DefenderCspmGcpOfferingMdcContainersAgentlessDiscoveryK8S ¶
type DefenderCspmGcpOfferingMdcContainersAgentlessDiscoveryK8S struct {
// Is Microsoft Defender container agentless discovery enabled
Enabled *bool
// The service account email address in GCP for this feature
ServiceAccountEmailAddress *string
// The workload identity provider id in GCP for this feature
WorkloadIdentityProviderID *string
}
DefenderCspmGcpOfferingMdcContainersAgentlessDiscoveryK8S - The Microsoft Defender Container agentless discovery configuration
func (DefenderCspmGcpOfferingMdcContainersAgentlessDiscoveryK8S) MarshalJSON ¶
func (d DefenderCspmGcpOfferingMdcContainersAgentlessDiscoveryK8S) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderCspmGcpOfferingMdcContainersAgentlessDiscoveryK8S.
func (*DefenderCspmGcpOfferingMdcContainersAgentlessDiscoveryK8S) UnmarshalJSON ¶
func (d *DefenderCspmGcpOfferingMdcContainersAgentlessDiscoveryK8S) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderCspmGcpOfferingMdcContainersAgentlessDiscoveryK8S.
type DefenderCspmGcpOfferingMdcContainersImageAssessment ¶
type DefenderCspmGcpOfferingMdcContainersImageAssessment struct {
// Is Microsoft Defender container image assessment enabled
Enabled *bool
// The service account email address in GCP for this feature
ServiceAccountEmailAddress *string
// The workload identity provider id in GCP for this feature
WorkloadIdentityProviderID *string
}
DefenderCspmGcpOfferingMdcContainersImageAssessment - The Microsoft Defender Container image assessment configuration
func (DefenderCspmGcpOfferingMdcContainersImageAssessment) MarshalJSON ¶
func (d DefenderCspmGcpOfferingMdcContainersImageAssessment) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderCspmGcpOfferingMdcContainersImageAssessment.
func (*DefenderCspmGcpOfferingMdcContainersImageAssessment) UnmarshalJSON ¶
func (d *DefenderCspmGcpOfferingMdcContainersImageAssessment) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderCspmGcpOfferingMdcContainersImageAssessment.
type DefenderCspmGcpOfferingVMScanners ¶
type DefenderCspmGcpOfferingVMScanners struct {
// Configuration for VM scanning
Configuration *VMScannersBaseConfiguration
// Is VM scanning enabled
Enabled *bool
}
DefenderCspmGcpOfferingVMScanners - The Microsoft Defender for CSPM VM scanning configuration
func (DefenderCspmGcpOfferingVMScanners) MarshalJSON ¶
func (d DefenderCspmGcpOfferingVMScanners) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderCspmGcpOfferingVMScanners.
func (*DefenderCspmGcpOfferingVMScanners) UnmarshalJSON ¶
func (d *DefenderCspmGcpOfferingVMScanners) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderCspmGcpOfferingVMScanners.
type DefenderFoDatabasesAwsOffering ¶
type DefenderFoDatabasesAwsOffering struct {
// REQUIRED; The type of the security offering.
OfferingType *OfferingType
// The ARC autoprovisioning configuration
ArcAutoProvisioning *DefenderFoDatabasesAwsOfferingArcAutoProvisioning
// The databases data security posture management (DSPM) configuration
DatabasesDspm *DefenderFoDatabasesAwsOfferingDatabasesDspm
// The RDS configuration
Rds *DefenderFoDatabasesAwsOfferingRds
// READ-ONLY; The offering description.
Description *string
}
DefenderFoDatabasesAwsOffering - The Defender for Databases AWS offering
func (*DefenderFoDatabasesAwsOffering) GetCloudOffering ¶
func (d *DefenderFoDatabasesAwsOffering) GetCloudOffering() *CloudOffering
GetCloudOffering implements the CloudOfferingClassification interface for type DefenderFoDatabasesAwsOffering.
func (DefenderFoDatabasesAwsOffering) MarshalJSON ¶
func (d DefenderFoDatabasesAwsOffering) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderFoDatabasesAwsOffering.
func (*DefenderFoDatabasesAwsOffering) UnmarshalJSON ¶
func (d *DefenderFoDatabasesAwsOffering) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderFoDatabasesAwsOffering.
type DefenderFoDatabasesAwsOfferingArcAutoProvisioning ¶
type DefenderFoDatabasesAwsOfferingArcAutoProvisioning struct {
// The cloud role ARN in AWS for this feature
CloudRoleArn *string
// Configuration for servers Arc auto provisioning for a given environment
Configuration *ArcAutoProvisioningConfiguration
// Is arc auto provisioning enabled
Enabled *bool
}
DefenderFoDatabasesAwsOfferingArcAutoProvisioning - The ARC autoprovisioning configuration
func (DefenderFoDatabasesAwsOfferingArcAutoProvisioning) MarshalJSON ¶
func (d DefenderFoDatabasesAwsOfferingArcAutoProvisioning) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderFoDatabasesAwsOfferingArcAutoProvisioning.
func (*DefenderFoDatabasesAwsOfferingArcAutoProvisioning) UnmarshalJSON ¶
func (d *DefenderFoDatabasesAwsOfferingArcAutoProvisioning) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderFoDatabasesAwsOfferingArcAutoProvisioning.
type DefenderFoDatabasesAwsOfferingDatabasesDspm ¶
type DefenderFoDatabasesAwsOfferingDatabasesDspm struct {
// The cloud role ARN in AWS for this feature
CloudRoleArn *string
// Is databases data security posture management (DSPM) protection enabled
Enabled *bool
}
DefenderFoDatabasesAwsOfferingDatabasesDspm - The databases data security posture management (DSPM) configuration
func (DefenderFoDatabasesAwsOfferingDatabasesDspm) MarshalJSON ¶
func (d DefenderFoDatabasesAwsOfferingDatabasesDspm) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderFoDatabasesAwsOfferingDatabasesDspm.
func (*DefenderFoDatabasesAwsOfferingDatabasesDspm) UnmarshalJSON ¶
func (d *DefenderFoDatabasesAwsOfferingDatabasesDspm) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderFoDatabasesAwsOfferingDatabasesDspm.
type DefenderFoDatabasesAwsOfferingRds ¶
type DefenderFoDatabasesAwsOfferingRds struct {
// The cloud role ARN in AWS for this feature
CloudRoleArn *string
// Is RDS protection enabled
Enabled *bool
}
DefenderFoDatabasesAwsOfferingRds - The RDS configuration
func (DefenderFoDatabasesAwsOfferingRds) MarshalJSON ¶
func (d DefenderFoDatabasesAwsOfferingRds) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderFoDatabasesAwsOfferingRds.
func (*DefenderFoDatabasesAwsOfferingRds) UnmarshalJSON ¶
func (d *DefenderFoDatabasesAwsOfferingRds) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderFoDatabasesAwsOfferingRds.
type DefenderForContainersAwsOffering ¶
type DefenderForContainersAwsOffering struct {
// REQUIRED; The type of the security offering.
OfferingType *OfferingType
// The cloudwatch to kinesis connection configuration
CloudWatchToKinesis *DefenderForContainersAwsOfferingCloudWatchToKinesis
// The externalId used by the data reader to prevent the confused deputy attack
DataCollectionExternalID *string
// Is audit logs data collection enabled
EnableAuditLogsAutoProvisioning *bool
// Is Microsoft Defender for Cloud Kubernetes agent auto provisioning enabled
EnableDefenderAgentAutoProvisioning *bool
// Is Policy Kubernetes agent auto provisioning enabled
EnablePolicyAgentAutoProvisioning *bool
// The kinesis to s3 connection configuration
KinesisToS3 *DefenderForContainersAwsOfferingKinesisToS3
// The retention time in days of kube audit logs set on the CloudWatch log group
KubeAuditRetentionTime *int64
// The kubernetes data collection connection configuration
KubernetesDataCollection *DefenderForContainersAwsOfferingKubernetesDataCollection
// The kubernetes service connection configuration
KubernetesService *DefenderForContainersAwsOfferingKubernetesService
// The Microsoft Defender container agentless discovery K8s configuration
MdcContainersAgentlessDiscoveryK8S *DefenderForContainersAwsOfferingMdcContainersAgentlessDiscoveryK8S
// The Microsoft Defender container image assessment configuration
MdcContainersImageAssessment *DefenderForContainersAwsOfferingMdcContainersImageAssessment
// The Microsoft Defender for Container K8s VM host scanning configuration
VMScanners *DefenderForContainersAwsOfferingVMScanners
// READ-ONLY; The offering description.
Description *string
}
DefenderForContainersAwsOffering - The Defender for Containers AWS offering
func (*DefenderForContainersAwsOffering) GetCloudOffering ¶
func (d *DefenderForContainersAwsOffering) GetCloudOffering() *CloudOffering
GetCloudOffering implements the CloudOfferingClassification interface for type DefenderForContainersAwsOffering.
func (DefenderForContainersAwsOffering) MarshalJSON ¶
func (d DefenderForContainersAwsOffering) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderForContainersAwsOffering.
func (*DefenderForContainersAwsOffering) UnmarshalJSON ¶
func (d *DefenderForContainersAwsOffering) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderForContainersAwsOffering.
type DefenderForContainersAwsOfferingCloudWatchToKinesis ¶
type DefenderForContainersAwsOfferingCloudWatchToKinesis struct {
// The cloud role ARN in AWS used by CloudWatch to transfer data into Kinesis
CloudRoleArn *string
}
DefenderForContainersAwsOfferingCloudWatchToKinesis - The cloudwatch to kinesis connection configuration
func (DefenderForContainersAwsOfferingCloudWatchToKinesis) MarshalJSON ¶
func (d DefenderForContainersAwsOfferingCloudWatchToKinesis) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderForContainersAwsOfferingCloudWatchToKinesis.
func (*DefenderForContainersAwsOfferingCloudWatchToKinesis) UnmarshalJSON ¶
func (d *DefenderForContainersAwsOfferingCloudWatchToKinesis) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderForContainersAwsOfferingCloudWatchToKinesis.
type DefenderForContainersAwsOfferingKinesisToS3 ¶
type DefenderForContainersAwsOfferingKinesisToS3 struct {
// The cloud role ARN in AWS used by Kinesis to transfer data into S3
CloudRoleArn *string
}
DefenderForContainersAwsOfferingKinesisToS3 - The kinesis to s3 connection configuration
func (DefenderForContainersAwsOfferingKinesisToS3) MarshalJSON ¶
func (d DefenderForContainersAwsOfferingKinesisToS3) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderForContainersAwsOfferingKinesisToS3.
func (*DefenderForContainersAwsOfferingKinesisToS3) UnmarshalJSON ¶
func (d *DefenderForContainersAwsOfferingKinesisToS3) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderForContainersAwsOfferingKinesisToS3.
type DefenderForContainersAwsOfferingKubernetesDataCollection ¶
type DefenderForContainersAwsOfferingKubernetesDataCollection struct {
// The cloud role ARN in AWS for this feature used for reading data
CloudRoleArn *string
}
DefenderForContainersAwsOfferingKubernetesDataCollection - The kubernetes data collection connection configuration
func (DefenderForContainersAwsOfferingKubernetesDataCollection) MarshalJSON ¶
func (d DefenderForContainersAwsOfferingKubernetesDataCollection) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderForContainersAwsOfferingKubernetesDataCollection.
func (*DefenderForContainersAwsOfferingKubernetesDataCollection) UnmarshalJSON ¶
func (d *DefenderForContainersAwsOfferingKubernetesDataCollection) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderForContainersAwsOfferingKubernetesDataCollection.
type DefenderForContainersAwsOfferingKubernetesService ¶
type DefenderForContainersAwsOfferingKubernetesService struct {
// The cloud role ARN in AWS for this feature used for provisioning resources
CloudRoleArn *string
}
DefenderForContainersAwsOfferingKubernetesService - The kubernetes service connection configuration
func (DefenderForContainersAwsOfferingKubernetesService) MarshalJSON ¶
func (d DefenderForContainersAwsOfferingKubernetesService) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderForContainersAwsOfferingKubernetesService.
func (*DefenderForContainersAwsOfferingKubernetesService) UnmarshalJSON ¶
func (d *DefenderForContainersAwsOfferingKubernetesService) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderForContainersAwsOfferingKubernetesService.
type DefenderForContainersAwsOfferingMdcContainersAgentlessDiscoveryK8S ¶
type DefenderForContainersAwsOfferingMdcContainersAgentlessDiscoveryK8S struct {
// The cloud role ARN in AWS for this feature
CloudRoleArn *string
// Is Microsoft Defender container agentless discovery K8s enabled
Enabled *bool
}
DefenderForContainersAwsOfferingMdcContainersAgentlessDiscoveryK8S - The Microsoft Defender container agentless discovery K8s configuration
func (DefenderForContainersAwsOfferingMdcContainersAgentlessDiscoveryK8S) MarshalJSON ¶
func (d DefenderForContainersAwsOfferingMdcContainersAgentlessDiscoveryK8S) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderForContainersAwsOfferingMdcContainersAgentlessDiscoveryK8S.
func (*DefenderForContainersAwsOfferingMdcContainersAgentlessDiscoveryK8S) UnmarshalJSON ¶
func (d *DefenderForContainersAwsOfferingMdcContainersAgentlessDiscoveryK8S) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderForContainersAwsOfferingMdcContainersAgentlessDiscoveryK8S.
type DefenderForContainersAwsOfferingMdcContainersImageAssessment ¶
type DefenderForContainersAwsOfferingMdcContainersImageAssessment struct {
// The cloud role ARN in AWS for this feature
CloudRoleArn *string
// Is Microsoft Defender container image assessment enabled
Enabled *bool
}
DefenderForContainersAwsOfferingMdcContainersImageAssessment - The Microsoft Defender container image assessment configuration
func (DefenderForContainersAwsOfferingMdcContainersImageAssessment) MarshalJSON ¶
func (d DefenderForContainersAwsOfferingMdcContainersImageAssessment) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderForContainersAwsOfferingMdcContainersImageAssessment.
func (*DefenderForContainersAwsOfferingMdcContainersImageAssessment) UnmarshalJSON ¶
func (d *DefenderForContainersAwsOfferingMdcContainersImageAssessment) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderForContainersAwsOfferingMdcContainersImageAssessment.
type DefenderForContainersAwsOfferingVMScanners ¶
type DefenderForContainersAwsOfferingVMScanners struct {
// The cloud role ARN in AWS for this feature
CloudRoleArn *string
// Configuration for VM scanning
Configuration *VMScannersBaseConfiguration
// Is VM scanning enabled
Enabled *bool
}
DefenderForContainersAwsOfferingVMScanners - The Microsoft Defender for Container K8s VM host scanning configuration
func (DefenderForContainersAwsOfferingVMScanners) MarshalJSON ¶
func (d DefenderForContainersAwsOfferingVMScanners) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderForContainersAwsOfferingVMScanners.
func (*DefenderForContainersAwsOfferingVMScanners) UnmarshalJSON ¶
func (d *DefenderForContainersAwsOfferingVMScanners) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderForContainersAwsOfferingVMScanners.
type DefenderForContainersGcpOffering ¶
type DefenderForContainersGcpOffering struct {
// REQUIRED; The type of the security offering.
OfferingType *OfferingType
// The native cloud connection configuration
DataPipelineNativeCloudConnection *DefenderForContainersGcpOfferingDataPipelineNativeCloudConnection
// Is audit logs data collection enabled
EnableAuditLogsAutoProvisioning *bool
// Is Microsoft Defender for Cloud Kubernetes agent auto provisioning enabled
EnableDefenderAgentAutoProvisioning *bool
// Is Policy Kubernetes agent auto provisioning enabled
EnablePolicyAgentAutoProvisioning *bool
// The Microsoft Defender Container agentless discovery configuration
MdcContainersAgentlessDiscoveryK8S *DefenderForContainersGcpOfferingMdcContainersAgentlessDiscoveryK8S
// The Microsoft Defender Container image assessment configuration
MdcContainersImageAssessment *DefenderForContainersGcpOfferingMdcContainersImageAssessment
// The native cloud connection configuration
NativeCloudConnection *DefenderForContainersGcpOfferingNativeCloudConnection
// The Microsoft Defender for Container K8s VM host scanning configuration
VMScanners *DefenderForContainersGcpOfferingVMScanners
// READ-ONLY; The offering description.
Description *string
}
DefenderForContainersGcpOffering - The containers GCP offering
func (*DefenderForContainersGcpOffering) GetCloudOffering ¶
func (d *DefenderForContainersGcpOffering) GetCloudOffering() *CloudOffering
GetCloudOffering implements the CloudOfferingClassification interface for type DefenderForContainersGcpOffering.
func (DefenderForContainersGcpOffering) MarshalJSON ¶
func (d DefenderForContainersGcpOffering) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderForContainersGcpOffering.
func (*DefenderForContainersGcpOffering) UnmarshalJSON ¶
func (d *DefenderForContainersGcpOffering) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderForContainersGcpOffering.
type DefenderForContainersGcpOfferingDataPipelineNativeCloudConnection ¶
type DefenderForContainersGcpOfferingDataPipelineNativeCloudConnection struct {
// The data collection service account email address in GCP for this offering
ServiceAccountEmailAddress *string
// The data collection GCP workload identity provider id for this offering
WorkloadIdentityProviderID *string
}
DefenderForContainersGcpOfferingDataPipelineNativeCloudConnection - The native cloud connection configuration
func (DefenderForContainersGcpOfferingDataPipelineNativeCloudConnection) MarshalJSON ¶
func (d DefenderForContainersGcpOfferingDataPipelineNativeCloudConnection) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderForContainersGcpOfferingDataPipelineNativeCloudConnection.
func (*DefenderForContainersGcpOfferingDataPipelineNativeCloudConnection) UnmarshalJSON ¶
func (d *DefenderForContainersGcpOfferingDataPipelineNativeCloudConnection) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderForContainersGcpOfferingDataPipelineNativeCloudConnection.
type DefenderForContainersGcpOfferingMdcContainersAgentlessDiscoveryK8S ¶
type DefenderForContainersGcpOfferingMdcContainersAgentlessDiscoveryK8S struct {
// Is Microsoft Defender container agentless discovery enabled
Enabled *bool
// The service account email address in GCP for this feature
ServiceAccountEmailAddress *string
// The workload identity provider id in GCP for this feature
WorkloadIdentityProviderID *string
}
DefenderForContainersGcpOfferingMdcContainersAgentlessDiscoveryK8S - The Microsoft Defender Container agentless discovery configuration
func (DefenderForContainersGcpOfferingMdcContainersAgentlessDiscoveryK8S) MarshalJSON ¶
func (d DefenderForContainersGcpOfferingMdcContainersAgentlessDiscoveryK8S) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderForContainersGcpOfferingMdcContainersAgentlessDiscoveryK8S.
func (*DefenderForContainersGcpOfferingMdcContainersAgentlessDiscoveryK8S) UnmarshalJSON ¶
func (d *DefenderForContainersGcpOfferingMdcContainersAgentlessDiscoveryK8S) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderForContainersGcpOfferingMdcContainersAgentlessDiscoveryK8S.
type DefenderForContainersGcpOfferingMdcContainersImageAssessment ¶
type DefenderForContainersGcpOfferingMdcContainersImageAssessment struct {
// Is Microsoft Defender container image assessment enabled
Enabled *bool
// The service account email address in GCP for this feature
ServiceAccountEmailAddress *string
// The workload identity provider id in GCP for this feature
WorkloadIdentityProviderID *string
}
DefenderForContainersGcpOfferingMdcContainersImageAssessment - The Microsoft Defender Container image assessment configuration
func (DefenderForContainersGcpOfferingMdcContainersImageAssessment) MarshalJSON ¶
func (d DefenderForContainersGcpOfferingMdcContainersImageAssessment) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderForContainersGcpOfferingMdcContainersImageAssessment.
func (*DefenderForContainersGcpOfferingMdcContainersImageAssessment) UnmarshalJSON ¶
func (d *DefenderForContainersGcpOfferingMdcContainersImageAssessment) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderForContainersGcpOfferingMdcContainersImageAssessment.
type DefenderForContainersGcpOfferingNativeCloudConnection ¶
type DefenderForContainersGcpOfferingNativeCloudConnection struct {
// The service account email address in GCP for this offering
ServiceAccountEmailAddress *string
// The GCP workload identity provider id for this offering
WorkloadIdentityProviderID *string
}
DefenderForContainersGcpOfferingNativeCloudConnection - The native cloud connection configuration
func (DefenderForContainersGcpOfferingNativeCloudConnection) MarshalJSON ¶
func (d DefenderForContainersGcpOfferingNativeCloudConnection) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderForContainersGcpOfferingNativeCloudConnection.
func (*DefenderForContainersGcpOfferingNativeCloudConnection) UnmarshalJSON ¶
func (d *DefenderForContainersGcpOfferingNativeCloudConnection) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderForContainersGcpOfferingNativeCloudConnection.
type DefenderForContainersGcpOfferingVMScanners ¶
type DefenderForContainersGcpOfferingVMScanners struct {
// Configuration for VM scanning
Configuration *VMScannersBaseConfiguration
// Is VM scanning enabled
Enabled *bool
}
DefenderForContainersGcpOfferingVMScanners - The Microsoft Defender for Container K8s VM host scanning configuration
func (DefenderForContainersGcpOfferingVMScanners) MarshalJSON ¶
func (d DefenderForContainersGcpOfferingVMScanners) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderForContainersGcpOfferingVMScanners.
func (*DefenderForContainersGcpOfferingVMScanners) UnmarshalJSON ¶
func (d *DefenderForContainersGcpOfferingVMScanners) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderForContainersGcpOfferingVMScanners.
type DefenderForDatabasesGcpOffering ¶
type DefenderForDatabasesGcpOffering struct {
// REQUIRED; The type of the security offering.
OfferingType *OfferingType
// The ARC autoprovisioning configuration
ArcAutoProvisioning *DefenderForDatabasesGcpOfferingArcAutoProvisioning
// The native cloud connection configuration
DefenderForDatabasesArcAutoProvisioning *DefenderForDatabasesGcpOfferingDefenderForDatabasesArcAutoProvisioning
// READ-ONLY; The offering description.
Description *string
}
DefenderForDatabasesGcpOffering - The Defender for Databases GCP offering configurations
func (*DefenderForDatabasesGcpOffering) GetCloudOffering ¶
func (d *DefenderForDatabasesGcpOffering) GetCloudOffering() *CloudOffering
GetCloudOffering implements the CloudOfferingClassification interface for type DefenderForDatabasesGcpOffering.
func (DefenderForDatabasesGcpOffering) MarshalJSON ¶
func (d DefenderForDatabasesGcpOffering) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderForDatabasesGcpOffering.
func (*DefenderForDatabasesGcpOffering) UnmarshalJSON ¶
func (d *DefenderForDatabasesGcpOffering) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderForDatabasesGcpOffering.
type DefenderForDatabasesGcpOfferingArcAutoProvisioning ¶
type DefenderForDatabasesGcpOfferingArcAutoProvisioning struct {
// Configuration for servers Arc auto provisioning for a given environment
Configuration *ArcAutoProvisioningConfiguration
// Is arc auto provisioning enabled
Enabled *bool
}
DefenderForDatabasesGcpOfferingArcAutoProvisioning - The ARC autoprovisioning configuration
func (DefenderForDatabasesGcpOfferingArcAutoProvisioning) MarshalJSON ¶
func (d DefenderForDatabasesGcpOfferingArcAutoProvisioning) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderForDatabasesGcpOfferingArcAutoProvisioning.
func (*DefenderForDatabasesGcpOfferingArcAutoProvisioning) UnmarshalJSON ¶
func (d *DefenderForDatabasesGcpOfferingArcAutoProvisioning) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderForDatabasesGcpOfferingArcAutoProvisioning.
type DefenderForDatabasesGcpOfferingDefenderForDatabasesArcAutoProvisioning ¶
type DefenderForDatabasesGcpOfferingDefenderForDatabasesArcAutoProvisioning struct {
// The service account email address in GCP for this offering
ServiceAccountEmailAddress *string
// The GCP workload identity provider id for this offering
WorkloadIdentityProviderID *string
}
DefenderForDatabasesGcpOfferingDefenderForDatabasesArcAutoProvisioning - The native cloud connection configuration
func (DefenderForDatabasesGcpOfferingDefenderForDatabasesArcAutoProvisioning) MarshalJSON ¶
func (d DefenderForDatabasesGcpOfferingDefenderForDatabasesArcAutoProvisioning) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderForDatabasesGcpOfferingDefenderForDatabasesArcAutoProvisioning.
func (*DefenderForDatabasesGcpOfferingDefenderForDatabasesArcAutoProvisioning) UnmarshalJSON ¶
func (d *DefenderForDatabasesGcpOfferingDefenderForDatabasesArcAutoProvisioning) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderForDatabasesGcpOfferingDefenderForDatabasesArcAutoProvisioning.
type DefenderForServersAwsOffering ¶
type DefenderForServersAwsOffering struct {
// REQUIRED; The type of the security offering.
OfferingType *OfferingType
// The ARC autoprovisioning configuration
ArcAutoProvisioning *DefenderForServersAwsOfferingArcAutoProvisioning
// The Defender for servers connection configuration
DefenderForServers *DefenderForServersAwsOfferingDefenderForServers
// The Microsoft Defender for Endpoint autoprovisioning configuration
MdeAutoProvisioning *DefenderForServersAwsOfferingMdeAutoProvisioning
// configuration for the servers offering subPlan
SubPlan *DefenderForServersAwsOfferingSubPlan
// The Microsoft Defender for Server VM scanning configuration
VMScanners *DefenderForServersAwsOfferingVMScanners
// The Vulnerability Assessment autoprovisioning configuration
VaAutoProvisioning *DefenderForServersAwsOfferingVaAutoProvisioning
// READ-ONLY; The offering description.
Description *string
}
DefenderForServersAwsOffering - The Defender for Servers AWS offering
func (*DefenderForServersAwsOffering) GetCloudOffering ¶
func (d *DefenderForServersAwsOffering) GetCloudOffering() *CloudOffering
GetCloudOffering implements the CloudOfferingClassification interface for type DefenderForServersAwsOffering.
func (DefenderForServersAwsOffering) MarshalJSON ¶
func (d DefenderForServersAwsOffering) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderForServersAwsOffering.
func (*DefenderForServersAwsOffering) UnmarshalJSON ¶
func (d *DefenderForServersAwsOffering) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderForServersAwsOffering.
type DefenderForServersAwsOfferingArcAutoProvisioning ¶
type DefenderForServersAwsOfferingArcAutoProvisioning struct {
// The cloud role ARN in AWS for this feature
CloudRoleArn *string
// Configuration for servers Arc auto provisioning for a given environment
Configuration *ArcAutoProvisioningConfiguration
// Is arc auto provisioning enabled
Enabled *bool
}
DefenderForServersAwsOfferingArcAutoProvisioning - The ARC autoprovisioning configuration
func (DefenderForServersAwsOfferingArcAutoProvisioning) MarshalJSON ¶
func (d DefenderForServersAwsOfferingArcAutoProvisioning) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderForServersAwsOfferingArcAutoProvisioning.
func (*DefenderForServersAwsOfferingArcAutoProvisioning) UnmarshalJSON ¶
func (d *DefenderForServersAwsOfferingArcAutoProvisioning) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderForServersAwsOfferingArcAutoProvisioning.
type DefenderForServersAwsOfferingDefenderForServers ¶
type DefenderForServersAwsOfferingDefenderForServers struct {
// The cloud role ARN in AWS for this feature
CloudRoleArn *string
}
DefenderForServersAwsOfferingDefenderForServers - The Defender for servers connection configuration
func (DefenderForServersAwsOfferingDefenderForServers) MarshalJSON ¶
func (d DefenderForServersAwsOfferingDefenderForServers) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderForServersAwsOfferingDefenderForServers.
func (*DefenderForServersAwsOfferingDefenderForServers) UnmarshalJSON ¶
func (d *DefenderForServersAwsOfferingDefenderForServers) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderForServersAwsOfferingDefenderForServers.
type DefenderForServersAwsOfferingMdeAutoProvisioning ¶
type DefenderForServersAwsOfferingMdeAutoProvisioning struct {
// configuration for Microsoft Defender for Endpoint autoprovisioning
Configuration any
// Is Microsoft Defender for Endpoint auto provisioning enabled
Enabled *bool
}
DefenderForServersAwsOfferingMdeAutoProvisioning - The Microsoft Defender for Endpoint autoprovisioning configuration
func (DefenderForServersAwsOfferingMdeAutoProvisioning) MarshalJSON ¶
func (d DefenderForServersAwsOfferingMdeAutoProvisioning) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderForServersAwsOfferingMdeAutoProvisioning.
func (*DefenderForServersAwsOfferingMdeAutoProvisioning) UnmarshalJSON ¶
func (d *DefenderForServersAwsOfferingMdeAutoProvisioning) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderForServersAwsOfferingMdeAutoProvisioning.
type DefenderForServersAwsOfferingSubPlan ¶
type DefenderForServersAwsOfferingSubPlan struct {
// The available sub plans
Type *SubPlan
}
DefenderForServersAwsOfferingSubPlan - configuration for the servers offering subPlan
func (DefenderForServersAwsOfferingSubPlan) MarshalJSON ¶
func (d DefenderForServersAwsOfferingSubPlan) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderForServersAwsOfferingSubPlan.
func (*DefenderForServersAwsOfferingSubPlan) UnmarshalJSON ¶
func (d *DefenderForServersAwsOfferingSubPlan) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderForServersAwsOfferingSubPlan.
type DefenderForServersAwsOfferingVMScanners ¶
type DefenderForServersAwsOfferingVMScanners struct {
// The cloud role ARN in AWS for this feature
CloudRoleArn *string
// Configuration for VM scanning
Configuration *VMScannersBaseConfiguration
// Is VM scanning enabled
Enabled *bool
}
DefenderForServersAwsOfferingVMScanners - The Microsoft Defender for Server VM scanning configuration
func (DefenderForServersAwsOfferingVMScanners) MarshalJSON ¶
func (d DefenderForServersAwsOfferingVMScanners) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderForServersAwsOfferingVMScanners.
func (*DefenderForServersAwsOfferingVMScanners) UnmarshalJSON ¶
func (d *DefenderForServersAwsOfferingVMScanners) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderForServersAwsOfferingVMScanners.
type DefenderForServersAwsOfferingVaAutoProvisioning ¶
type DefenderForServersAwsOfferingVaAutoProvisioning struct {
// configuration for Vulnerability Assessment autoprovisioning
Configuration *DefenderForServersAwsOfferingVaAutoProvisioningConfiguration
// Is Vulnerability Assessment auto provisioning enabled
Enabled *bool
}
DefenderForServersAwsOfferingVaAutoProvisioning - The Vulnerability Assessment autoprovisioning configuration
func (DefenderForServersAwsOfferingVaAutoProvisioning) MarshalJSON ¶
func (d DefenderForServersAwsOfferingVaAutoProvisioning) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderForServersAwsOfferingVaAutoProvisioning.
func (*DefenderForServersAwsOfferingVaAutoProvisioning) UnmarshalJSON ¶
func (d *DefenderForServersAwsOfferingVaAutoProvisioning) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderForServersAwsOfferingVaAutoProvisioning.
type DefenderForServersAwsOfferingVaAutoProvisioningConfiguration ¶
type DefenderForServersAwsOfferingVaAutoProvisioningConfiguration struct {
// The Vulnerability Assessment solution to be provisioned. Can be either 'TVM' or 'Qualys'
Type *Type
}
DefenderForServersAwsOfferingVaAutoProvisioningConfiguration - configuration for Vulnerability Assessment autoprovisioning
func (DefenderForServersAwsOfferingVaAutoProvisioningConfiguration) MarshalJSON ¶
func (d DefenderForServersAwsOfferingVaAutoProvisioningConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderForServersAwsOfferingVaAutoProvisioningConfiguration.
func (*DefenderForServersAwsOfferingVaAutoProvisioningConfiguration) UnmarshalJSON ¶
func (d *DefenderForServersAwsOfferingVaAutoProvisioningConfiguration) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderForServersAwsOfferingVaAutoProvisioningConfiguration.
type DefenderForServersGcpOffering ¶
type DefenderForServersGcpOffering struct {
// REQUIRED; The type of the security offering.
OfferingType *OfferingType
// The ARC autoprovisioning configuration
ArcAutoProvisioning *DefenderForServersGcpOfferingArcAutoProvisioning
// The Defender for servers connection configuration
DefenderForServers *DefenderForServersGcpOfferingDefenderForServers
// The Microsoft Defender for Endpoint autoprovisioning configuration
MdeAutoProvisioning *DefenderForServersGcpOfferingMdeAutoProvisioning
// configuration for the servers offering subPlan
SubPlan *DefenderForServersGcpOfferingSubPlan
// The Microsoft Defender for Server VM scanning configuration
VMScanners *DefenderForServersGcpOfferingVMScanners
// The Vulnerability Assessment autoprovisioning configuration
VaAutoProvisioning *DefenderForServersGcpOfferingVaAutoProvisioning
// READ-ONLY; The offering description.
Description *string
}
DefenderForServersGcpOffering - The Defender for Servers GCP offering configurations
func (*DefenderForServersGcpOffering) GetCloudOffering ¶
func (d *DefenderForServersGcpOffering) GetCloudOffering() *CloudOffering
GetCloudOffering implements the CloudOfferingClassification interface for type DefenderForServersGcpOffering.
func (DefenderForServersGcpOffering) MarshalJSON ¶
func (d DefenderForServersGcpOffering) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderForServersGcpOffering.
func (*DefenderForServersGcpOffering) UnmarshalJSON ¶
func (d *DefenderForServersGcpOffering) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderForServersGcpOffering.
type DefenderForServersGcpOfferingArcAutoProvisioning ¶
type DefenderForServersGcpOfferingArcAutoProvisioning struct {
// Configuration for servers Arc auto provisioning for a given environment
Configuration *ArcAutoProvisioningConfiguration
// Is arc auto provisioning enabled
Enabled *bool
}
DefenderForServersGcpOfferingArcAutoProvisioning - The ARC autoprovisioning configuration
func (DefenderForServersGcpOfferingArcAutoProvisioning) MarshalJSON ¶
func (d DefenderForServersGcpOfferingArcAutoProvisioning) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderForServersGcpOfferingArcAutoProvisioning.
func (*DefenderForServersGcpOfferingArcAutoProvisioning) UnmarshalJSON ¶
func (d *DefenderForServersGcpOfferingArcAutoProvisioning) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderForServersGcpOfferingArcAutoProvisioning.
type DefenderForServersGcpOfferingDefenderForServers ¶
type DefenderForServersGcpOfferingDefenderForServers struct {
// The service account email address in GCP for this feature
ServiceAccountEmailAddress *string
// The workload identity provider id in GCP for this feature
WorkloadIdentityProviderID *string
}
DefenderForServersGcpOfferingDefenderForServers - The Defender for servers connection configuration
func (DefenderForServersGcpOfferingDefenderForServers) MarshalJSON ¶
func (d DefenderForServersGcpOfferingDefenderForServers) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderForServersGcpOfferingDefenderForServers.
func (*DefenderForServersGcpOfferingDefenderForServers) UnmarshalJSON ¶
func (d *DefenderForServersGcpOfferingDefenderForServers) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderForServersGcpOfferingDefenderForServers.
type DefenderForServersGcpOfferingMdeAutoProvisioning ¶
type DefenderForServersGcpOfferingMdeAutoProvisioning struct {
// configuration for Microsoft Defender for Endpoint autoprovisioning
Configuration any
// Is Microsoft Defender for Endpoint auto provisioning enabled
Enabled *bool
}
DefenderForServersGcpOfferingMdeAutoProvisioning - The Microsoft Defender for Endpoint autoprovisioning configuration
func (DefenderForServersGcpOfferingMdeAutoProvisioning) MarshalJSON ¶
func (d DefenderForServersGcpOfferingMdeAutoProvisioning) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderForServersGcpOfferingMdeAutoProvisioning.
func (*DefenderForServersGcpOfferingMdeAutoProvisioning) UnmarshalJSON ¶
func (d *DefenderForServersGcpOfferingMdeAutoProvisioning) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderForServersGcpOfferingMdeAutoProvisioning.
type DefenderForServersGcpOfferingSubPlan ¶
type DefenderForServersGcpOfferingSubPlan struct {
// The available sub plans
Type *SubPlan
}
DefenderForServersGcpOfferingSubPlan - configuration for the servers offering subPlan
func (DefenderForServersGcpOfferingSubPlan) MarshalJSON ¶
func (d DefenderForServersGcpOfferingSubPlan) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderForServersGcpOfferingSubPlan.
func (*DefenderForServersGcpOfferingSubPlan) UnmarshalJSON ¶
func (d *DefenderForServersGcpOfferingSubPlan) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderForServersGcpOfferingSubPlan.
type DefenderForServersGcpOfferingVMScanners ¶
type DefenderForServersGcpOfferingVMScanners struct {
// Configuration for VM scanning
Configuration *VMScannersBaseConfiguration
// Is VM scanning enabled
Enabled *bool
}
DefenderForServersGcpOfferingVMScanners - The Microsoft Defender for Server VM scanning configuration
func (DefenderForServersGcpOfferingVMScanners) MarshalJSON ¶
func (d DefenderForServersGcpOfferingVMScanners) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderForServersGcpOfferingVMScanners.
func (*DefenderForServersGcpOfferingVMScanners) UnmarshalJSON ¶
func (d *DefenderForServersGcpOfferingVMScanners) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderForServersGcpOfferingVMScanners.
type DefenderForServersGcpOfferingVaAutoProvisioning ¶
type DefenderForServersGcpOfferingVaAutoProvisioning struct {
// configuration for Vulnerability Assessment autoprovisioning
Configuration *DefenderForServersGcpOfferingVaAutoProvisioningConfiguration
// Is Vulnerability Assessment auto provisioning enabled
Enabled *bool
}
DefenderForServersGcpOfferingVaAutoProvisioning - The Vulnerability Assessment autoprovisioning configuration
func (DefenderForServersGcpOfferingVaAutoProvisioning) MarshalJSON ¶
func (d DefenderForServersGcpOfferingVaAutoProvisioning) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderForServersGcpOfferingVaAutoProvisioning.
func (*DefenderForServersGcpOfferingVaAutoProvisioning) UnmarshalJSON ¶
func (d *DefenderForServersGcpOfferingVaAutoProvisioning) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderForServersGcpOfferingVaAutoProvisioning.
type DefenderForServersGcpOfferingVaAutoProvisioningConfiguration ¶
type DefenderForServersGcpOfferingVaAutoProvisioningConfiguration struct {
// The Vulnerability Assessment solution to be provisioned. Can be either 'TVM' or 'Qualys'
Type *Type
}
DefenderForServersGcpOfferingVaAutoProvisioningConfiguration - configuration for Vulnerability Assessment autoprovisioning
func (DefenderForServersGcpOfferingVaAutoProvisioningConfiguration) MarshalJSON ¶
func (d DefenderForServersGcpOfferingVaAutoProvisioningConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderForServersGcpOfferingVaAutoProvisioningConfiguration.
func (*DefenderForServersGcpOfferingVaAutoProvisioningConfiguration) UnmarshalJSON ¶
func (d *DefenderForServersGcpOfferingVaAutoProvisioningConfiguration) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderForServersGcpOfferingVaAutoProvisioningConfiguration.
type DefenderForStorageClient ¶
type DefenderForStorageClient struct {
// contains filtered or unexported fields
}
DefenderForStorageClient contains the methods for the DefenderForStorage group. Don't use this type directly, use NewDefenderForStorageClient() instead.
func NewDefenderForStorageClient ¶
func NewDefenderForStorageClient(credential azcore.TokenCredential, options *arm.ClientOptions) (*DefenderForStorageClient, error)
NewDefenderForStorageClient creates a new instance of DefenderForStorageClient with the specified values.
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*DefenderForStorageClient) Create ¶
func (client *DefenderForStorageClient) Create(ctx context.Context, resourceID string, settingName SettingName, defenderForStorageSetting DefenderForStorageSetting, options *DefenderForStorageClientCreateOptions) (DefenderForStorageClientCreateResponse, error)
Create - Creates or updates the Defender for Storage settings on a specified storage account. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2022-12-01-preview
- resourceID - The identifier of the resource.
- settingName - Defender for Storage setting name.
- defenderForStorageSetting - Defender for Storage Settings
- options - DefenderForStorageClientCreateOptions contains the optional parameters for the DefenderForStorageClient.Create method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2022-12-01-preview/examples/DefenderForStorage/PutDefenderForStorageSettings_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewDefenderForStorageClient().Create(ctx, "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SampleRG/providers/Microsoft.Storage/storageAccounts/samplestorageaccount", armsecurity.SettingNameCurrent, armsecurity.DefenderForStorageSetting{
Properties: &armsecurity.DefenderForStorageSettingProperties{
IsEnabled: to.Ptr(true),
MalwareScanning: &armsecurity.MalwareScanningProperties{
OnUpload: &armsecurity.OnUploadProperties{
CapGBPerMonth: to.Ptr[int32](-1),
IsEnabled: to.Ptr(true),
},
ScanResultsEventGridTopicResourceID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SampleRG/providers/Microsoft.EventGrid/topics/sampletopic"),
},
OverrideSubscriptionLevelSettings: to.Ptr(true),
SensitiveDataDiscovery: &armsecurity.SensitiveDataDiscoveryProperties{
IsEnabled: to.Ptr(true),
},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.DefenderForStorageSetting = armsecurity.DefenderForStorageSetting{
// Name: to.Ptr("current"),
// Type: to.Ptr("Microsoft.Security/defenderForStorageSettings"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SampleRG/providers/Microsoft.Storage/storageAccounts/samplestorageaccount/providers/Microsoft.Security/defenderForStorageSettings/current"),
// Properties: &armsecurity.DefenderForStorageSettingProperties{
// IsEnabled: to.Ptr(true),
// MalwareScanning: &armsecurity.MalwareScanningProperties{
// OnUpload: &armsecurity.OnUploadProperties{
// CapGBPerMonth: to.Ptr[int32](-1),
// IsEnabled: to.Ptr(true),
// },
// OperationStatus: &armsecurity.OperationStatus{
// Code: to.Ptr("Succeeded"),
// },
// ScanResultsEventGridTopicResourceID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SampleRG/providers/Microsoft.EventGrid/topics/sampletopic"),
// },
// OverrideSubscriptionLevelSettings: to.Ptr(true),
// SensitiveDataDiscovery: &armsecurity.SensitiveDataDiscoveryProperties{
// IsEnabled: to.Ptr(true),
// OperationStatus: &armsecurity.OperationStatus{
// Code: to.Ptr("Succeeded"),
// },
// },
// },
// }
}
func (*DefenderForStorageClient) Get ¶
func (client *DefenderForStorageClient) Get(ctx context.Context, resourceID string, settingName SettingName, options *DefenderForStorageClientGetOptions) (DefenderForStorageClientGetResponse, error)
Get - Gets the Defender for Storage settings for the specified storage account. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2022-12-01-preview
- resourceID - The identifier of the resource.
- settingName - Defender for Storage setting name.
- options - DefenderForStorageClientGetOptions contains the optional parameters for the DefenderForStorageClient.Get method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2022-12-01-preview/examples/DefenderForStorage/GetDefenderForStorageSettings_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewDefenderForStorageClient().Get(ctx, "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SampleRG/providers/Microsoft.Storage/storageAccounts/samplestorageaccount", armsecurity.SettingNameCurrent, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.DefenderForStorageSetting = armsecurity.DefenderForStorageSetting{
// Name: to.Ptr("current"),
// Type: to.Ptr("Microsoft.Security/defenderForStorageSettings"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SampleRG/providers/Microsoft.Storage/storageAccounts/samplestorageaccount/providers/Microsoft.Security/defenderForStorageSettings/current"),
// Properties: &armsecurity.DefenderForStorageSettingProperties{
// IsEnabled: to.Ptr(true),
// MalwareScanning: &armsecurity.MalwareScanningProperties{
// OnUpload: &armsecurity.OnUploadProperties{
// CapGBPerMonth: to.Ptr[int32](-1),
// IsEnabled: to.Ptr(true),
// },
// ScanResultsEventGridTopicResourceID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SampleRG/providers/Microsoft.EventGrid/topics/sampletopic"),
// },
// OverrideSubscriptionLevelSettings: to.Ptr(true),
// SensitiveDataDiscovery: &armsecurity.SensitiveDataDiscoveryProperties{
// IsEnabled: to.Ptr(false),
// },
// },
// }
}
type DefenderForStorageClientCreateOptions ¶
type DefenderForStorageClientCreateOptions struct {
}
DefenderForStorageClientCreateOptions contains the optional parameters for the DefenderForStorageClient.Create method.
type DefenderForStorageClientCreateResponse ¶
type DefenderForStorageClientCreateResponse struct {
// The Defender for Storage resource.
DefenderForStorageSetting
}
DefenderForStorageClientCreateResponse contains the response from method DefenderForStorageClient.Create.
type DefenderForStorageClientGetOptions ¶
type DefenderForStorageClientGetOptions struct {
}
DefenderForStorageClientGetOptions contains the optional parameters for the DefenderForStorageClient.Get method.
type DefenderForStorageClientGetResponse ¶
type DefenderForStorageClientGetResponse struct {
// The Defender for Storage resource.
DefenderForStorageSetting
}
DefenderForStorageClientGetResponse contains the response from method DefenderForStorageClient.Get.
type DefenderForStorageSetting ¶
type DefenderForStorageSetting struct {
// Defender for Storage resource properties.
Properties *DefenderForStorageSettingProperties
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Resource type
Type *string
}
DefenderForStorageSetting - The Defender for Storage resource.
func (DefenderForStorageSetting) MarshalJSON ¶
func (d DefenderForStorageSetting) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderForStorageSetting.
func (*DefenderForStorageSetting) UnmarshalJSON ¶
func (d *DefenderForStorageSetting) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderForStorageSetting.
type DefenderForStorageSettingProperties ¶
type DefenderForStorageSettingProperties struct {
// Indicates whether Defender for Storage is enabled on this storage account.
IsEnabled *bool
// Properties of Malware Scanning.
MalwareScanning *MalwareScanningProperties
// Indicates whether the settings defined for this storage account should override the settings defined for the subscription.
OverrideSubscriptionLevelSettings *bool
// Properties of Sensitive Data Discovery.
SensitiveDataDiscovery *SensitiveDataDiscoveryProperties
}
DefenderForStorageSettingProperties - Defender for Storage resource properties.
func (DefenderForStorageSettingProperties) MarshalJSON ¶
func (d DefenderForStorageSettingProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DefenderForStorageSettingProperties.
func (*DefenderForStorageSettingProperties) UnmarshalJSON ¶
func (d *DefenderForStorageSettingProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DefenderForStorageSettingProperties.
type DenylistCustomAlertRule ¶
type DenylistCustomAlertRule struct {
// REQUIRED; The values to deny. The format of the values depends on the rule type.
DenylistValues []*string
// REQUIRED; Status of the custom alert.
IsEnabled *bool
// REQUIRED; The type of the custom alert rule.
RuleType *string
// READ-ONLY; The description of the custom alert.
Description *string
// READ-ONLY; The display name of the custom alert.
DisplayName *string
// READ-ONLY; The value type of the items in the list.
ValueType *ValueType
}
DenylistCustomAlertRule - A custom alert rule that checks if a value (depends on the custom alert type) is denied.
func (*DenylistCustomAlertRule) GetCustomAlertRule ¶
func (d *DenylistCustomAlertRule) GetCustomAlertRule() *CustomAlertRule
GetCustomAlertRule implements the CustomAlertRuleClassification interface for type DenylistCustomAlertRule.
func (*DenylistCustomAlertRule) GetListCustomAlertRule ¶
func (d *DenylistCustomAlertRule) GetListCustomAlertRule() *ListCustomAlertRule
GetListCustomAlertRule implements the ListCustomAlertRuleClassification interface for type DenylistCustomAlertRule.
func (DenylistCustomAlertRule) MarshalJSON ¶
func (d DenylistCustomAlertRule) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DenylistCustomAlertRule.
func (*DenylistCustomAlertRule) UnmarshalJSON ¶
func (d *DenylistCustomAlertRule) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DenylistCustomAlertRule.
type DesiredOnboardingState ¶
type DesiredOnboardingState string
DesiredOnboardingState - Onboarding states.
const ( DesiredOnboardingStateDisabled DesiredOnboardingState = "Disabled" DesiredOnboardingStateEnabled DesiredOnboardingState = "Enabled" )
func PossibleDesiredOnboardingStateValues ¶
func PossibleDesiredOnboardingStateValues() []DesiredOnboardingState
PossibleDesiredOnboardingStateValues returns the possible values for the DesiredOnboardingState const type.
type DevOpsConfiguration ¶
type DevOpsConfiguration struct {
// DevOps Configuration properties.
Properties *DevOpsConfigurationProperties
// READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
ID *string
// READ-ONLY; The name of the resource
Name *string
// READ-ONLY; Metadata pertaining to creation and last modification of the resource.
SystemData *SystemData
// READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
Type *string
}
DevOpsConfiguration - DevOps Configuration resource.
func (DevOpsConfiguration) MarshalJSON ¶
func (d DevOpsConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DevOpsConfiguration.
func (*DevOpsConfiguration) UnmarshalJSON ¶
func (d *DevOpsConfiguration) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DevOpsConfiguration.
type DevOpsConfigurationListResponse ¶
type DevOpsConfigurationListResponse struct {
// Gets or sets next link to scroll over the results.
NextLink *string
// Gets or sets list of resources.
Value []*DevOpsConfiguration
}
DevOpsConfigurationListResponse - List of RP resources which supports pagination.
func (DevOpsConfigurationListResponse) MarshalJSON ¶
func (d DevOpsConfigurationListResponse) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DevOpsConfigurationListResponse.
func (*DevOpsConfigurationListResponse) UnmarshalJSON ¶
func (d *DevOpsConfigurationListResponse) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DevOpsConfigurationListResponse.
type DevOpsConfigurationProperties ¶
type DevOpsConfigurationProperties struct {
// Authorization payload.
Authorization *Authorization
// AutoDiscovery states.
AutoDiscovery *AutoDiscovery
// The provisioning state of the resource.
// Pending - Provisioning pending. Failed - Provisioning failed. Succeeded - Successful provisioning. Canceled - Provisioning
// canceled. PendingDeletion - Deletion pending. DeletionSuccess - Deletion
// successful. DeletionFailure - Deletion failure.
ProvisioningState *DevOpsProvisioningState
// List of top-level inventory to select when AutoDiscovery is disabled. This field is ignored when AutoDiscovery is enabled.
TopLevelInventoryList []*string
// READ-ONLY; Gets or sets resource status message.
ProvisioningStatusMessage *string
// READ-ONLY; Gets or sets time when resource was last checked.
ProvisioningStatusUpdateTimeUTC *time.Time
}
DevOpsConfigurationProperties - DevOps Configuration properties.
func (DevOpsConfigurationProperties) MarshalJSON ¶
func (d DevOpsConfigurationProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DevOpsConfigurationProperties.
func (*DevOpsConfigurationProperties) UnmarshalJSON ¶
func (d *DevOpsConfigurationProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DevOpsConfigurationProperties.
type DevOpsConfigurationsClient ¶
type DevOpsConfigurationsClient struct {
// contains filtered or unexported fields
}
DevOpsConfigurationsClient contains the methods for the DevOpsConfigurations group. Don't use this type directly, use NewDevOpsConfigurationsClient() instead.
func NewDevOpsConfigurationsClient ¶
func NewDevOpsConfigurationsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*DevOpsConfigurationsClient, error)
NewDevOpsConfigurationsClient creates a new instance of DevOpsConfigurationsClient with the specified values.
- subscriptionID - Azure subscription ID
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*DevOpsConfigurationsClient) BeginCreateOrUpdate ¶
func (client *DevOpsConfigurationsClient) BeginCreateOrUpdate(ctx context.Context, resourceGroupName string, securityConnectorName string, devOpsConfiguration DevOpsConfiguration, options *DevOpsConfigurationsClientBeginCreateOrUpdateOptions) (*runtime.Poller[DevOpsConfigurationsClientCreateOrUpdateResponse], error)
BeginCreateOrUpdate - Creates or updates a DevOps Configuration. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2023-09-01-preview
- resourceGroupName - The name of the resource group. The name is case insensitive.
- securityConnectorName - The security connector name.
- devOpsConfiguration - The DevOps configuration resource payload.
- options - DevOpsConfigurationsClientBeginCreateOrUpdateOptions contains the optional parameters for the DevOpsConfigurationsClient.BeginCreateOrUpdate method.
Example (CreateOrUpdateDevOpsConfigurationsOnboardCurrentAndFuture) ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-09-01-preview/examples/SecurityConnectorsDevOps/CreateOrUpdateDevOpsConfigurationsOnboardCurrentAndFuture_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewDevOpsConfigurationsClient().BeginCreateOrUpdate(ctx, "myRg", "mySecurityConnectorName", armsecurity.DevOpsConfiguration{
Properties: &armsecurity.DevOpsConfigurationProperties{
Authorization: &armsecurity.Authorization{
Code: to.Ptr("00000000000000000000"),
},
AutoDiscovery: to.Ptr(armsecurity.AutoDiscoveryEnabled),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.DevOpsConfiguration = armsecurity.DevOpsConfiguration{
// Name: to.Ptr("default"),
// Type: to.Ptr("Microsoft.Security/securityConnectors/devops"),
// ID: to.Ptr("/subscriptions/0806e1cd-cfda-4ff8-b99c-2b0af42cffd3/resourceGroups/myRg/providers/Microsoft.Security/securityConnectors/mySecurityConnectorName/devops/default"),
// Properties: &armsecurity.DevOpsConfigurationProperties{
// AutoDiscovery: to.Ptr(armsecurity.AutoDiscoveryEnabled),
// ProvisioningState: to.Ptr(armsecurity.DevOpsProvisioningStateSucceeded),
// },
// }
}
Example (CreateOrUpdateDevOpsConfigurationsOnboardCurrentOnly) ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-09-01-preview/examples/SecurityConnectorsDevOps/CreateOrUpdateDevOpsConfigurationsOnboardCurrentOnly_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewDevOpsConfigurationsClient().BeginCreateOrUpdate(ctx, "myRg", "mySecurityConnectorName", armsecurity.DevOpsConfiguration{
Properties: &armsecurity.DevOpsConfigurationProperties{
Authorization: &armsecurity.Authorization{
Code: to.Ptr("00000000000000000000"),
},
AutoDiscovery: to.Ptr(armsecurity.AutoDiscoveryDisabled),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.DevOpsConfiguration = armsecurity.DevOpsConfiguration{
// Name: to.Ptr("default"),
// Type: to.Ptr("Microsoft.Security/securityConnectors/devops"),
// ID: to.Ptr("/subscriptions/0806e1cd-cfda-4ff8-b99c-2b0af42cffd3/resourceGroups/myRg/providers/Microsoft.Security/securityConnectors/mySecurityConnectorName/devops/default"),
// Properties: &armsecurity.DevOpsConfigurationProperties{
// AutoDiscovery: to.Ptr(armsecurity.AutoDiscoveryDisabled),
// ProvisioningState: to.Ptr(armsecurity.DevOpsProvisioningStateSucceeded),
// },
// }
}
Example (CreateOrUpdateDevOpsConfigurationsOnboardSelected) ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-09-01-preview/examples/SecurityConnectorsDevOps/CreateOrUpdateDevOpsConfigurationsOnboardSelected_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewDevOpsConfigurationsClient().BeginCreateOrUpdate(ctx, "myRg", "mySecurityConnectorName", armsecurity.DevOpsConfiguration{
Properties: &armsecurity.DevOpsConfigurationProperties{
Authorization: &armsecurity.Authorization{
Code: to.Ptr("00000000000000000000"),
},
AutoDiscovery: to.Ptr(armsecurity.AutoDiscoveryDisabled),
TopLevelInventoryList: []*string{
to.Ptr("org1"),
to.Ptr("org2")},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.DevOpsConfiguration = armsecurity.DevOpsConfiguration{
// Name: to.Ptr("default"),
// Type: to.Ptr("Microsoft.Security/securityConnectors/devops"),
// ID: to.Ptr("/subscriptions/0806e1cd-cfda-4ff8-b99c-2b0af42cffd3/resourceGroups/myRg/providers/Microsoft.Security/securityConnectors/mySecurityConnectorName/devops/default"),
// Properties: &armsecurity.DevOpsConfigurationProperties{
// AutoDiscovery: to.Ptr(armsecurity.AutoDiscoveryDisabled),
// ProvisioningState: to.Ptr(armsecurity.DevOpsProvisioningStateSucceeded),
// TopLevelInventoryList: []*string{
// to.Ptr("org1"),
// to.Ptr("org2")},
// },
// }
}
func (*DevOpsConfigurationsClient) BeginDelete ¶
func (client *DevOpsConfigurationsClient) BeginDelete(ctx context.Context, resourceGroupName string, securityConnectorName string, options *DevOpsConfigurationsClientBeginDeleteOptions) (*runtime.Poller[DevOpsConfigurationsClientDeleteResponse], error)
BeginDelete - Deletes a DevOps Connector. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2023-09-01-preview
- resourceGroupName - The name of the resource group. The name is case insensitive.
- securityConnectorName - The security connector name.
- options - DevOpsConfigurationsClientBeginDeleteOptions contains the optional parameters for the DevOpsConfigurationsClient.BeginDelete method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-09-01-preview/examples/SecurityConnectorsDevOps/DeleteDevOpsConfigurations_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewDevOpsConfigurationsClient().BeginDelete(ctx, "myRg", "mySecurityConnectorName", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
_, err = poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
}
func (*DevOpsConfigurationsClient) BeginUpdate ¶
func (client *DevOpsConfigurationsClient) BeginUpdate(ctx context.Context, resourceGroupName string, securityConnectorName string, devOpsConfiguration DevOpsConfiguration, options *DevOpsConfigurationsClientBeginUpdateOptions) (*runtime.Poller[DevOpsConfigurationsClientUpdateResponse], error)
BeginUpdate - Updates a DevOps Configuration. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2023-09-01-preview
- resourceGroupName - The name of the resource group. The name is case insensitive.
- securityConnectorName - The security connector name.
- devOpsConfiguration - The DevOps configuration resource payload.
- options - DevOpsConfigurationsClientBeginUpdateOptions contains the optional parameters for the DevOpsConfigurationsClient.BeginUpdate method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-09-01-preview/examples/SecurityConnectorsDevOps/UpdateDevOpsConfigurations_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewDevOpsConfigurationsClient().BeginUpdate(ctx, "myRg", "mySecurityConnectorName", armsecurity.DevOpsConfiguration{
Properties: &armsecurity.DevOpsConfigurationProperties{
AutoDiscovery: to.Ptr(armsecurity.AutoDiscoveryEnabled),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.DevOpsConfiguration = armsecurity.DevOpsConfiguration{
// Name: to.Ptr("default"),
// Type: to.Ptr("Microsoft.Security/securityConnectors/devops"),
// ID: to.Ptr("/subscriptions/0806e1cd-cfda-4ff8-b99c-2b0af42cffd3/resourceGroups/myRg/providers/Microsoft.Security/securityConnectors/mySecurityConnectorName/devops/default"),
// Properties: &armsecurity.DevOpsConfigurationProperties{
// AutoDiscovery: to.Ptr(armsecurity.AutoDiscoveryEnabled),
// ProvisioningState: to.Ptr(armsecurity.DevOpsProvisioningStateSucceeded),
// },
// }
}
func (*DevOpsConfigurationsClient) Get ¶
func (client *DevOpsConfigurationsClient) Get(ctx context.Context, resourceGroupName string, securityConnectorName string, options *DevOpsConfigurationsClientGetOptions) (DevOpsConfigurationsClientGetResponse, error)
Get - Gets a DevOps Configuration. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2023-09-01-preview
- resourceGroupName - The name of the resource group. The name is case insensitive.
- securityConnectorName - The security connector name.
- options - DevOpsConfigurationsClientGetOptions contains the optional parameters for the DevOpsConfigurationsClient.Get method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-09-01-preview/examples/SecurityConnectorsDevOps/GetDevOpsConfigurations_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewDevOpsConfigurationsClient().Get(ctx, "myRg", "mySecurityConnectorName", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.DevOpsConfiguration = armsecurity.DevOpsConfiguration{
// Name: to.Ptr("default"),
// Type: to.Ptr("Microsoft.Security/securityConnectors/devops"),
// ID: to.Ptr("/subscriptions/0806e1cd-cfda-4ff8-b99c-2b0af42cffd3/resourceGroups/myRg/providers/Microsoft.Security/securityConnectors/mySecurityConnectorName/devops/default"),
// Properties: &armsecurity.DevOpsConfigurationProperties{
// AutoDiscovery: to.Ptr(armsecurity.AutoDiscoveryEnabled),
// ProvisioningState: to.Ptr(armsecurity.DevOpsProvisioningStateSucceeded),
// },
// }
}
func (*DevOpsConfigurationsClient) NewListPager ¶
func (client *DevOpsConfigurationsClient) NewListPager(resourceGroupName string, securityConnectorName string, options *DevOpsConfigurationsClientListOptions) *runtime.Pager[DevOpsConfigurationsClientListResponse]
NewListPager - List DevOps Configurations.
Generated from API version 2023-09-01-preview
- resourceGroupName - The name of the resource group. The name is case insensitive.
- securityConnectorName - The security connector name.
- options - DevOpsConfigurationsClientListOptions contains the optional parameters for the DevOpsConfigurationsClient.NewListPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-09-01-preview/examples/SecurityConnectorsDevOps/ListDevOpsConfigurations_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewDevOpsConfigurationsClient().NewListPager("myRg", "mySecurityConnectorName", nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.DevOpsConfigurationListResponse = armsecurity.DevOpsConfigurationListResponse{
// Value: []*armsecurity.DevOpsConfiguration{
// {
// Name: to.Ptr("default"),
// Type: to.Ptr("Microsoft.Security/securityConnectors/devops"),
// ID: to.Ptr("/subscriptions/0806e1cd-cfda-4ff8-b99c-2b0af42cffd3/resourceGroups/myRg/providers/Microsoft.Security/securityConnectors/mySecurityConnectorName/devops/default"),
// Properties: &armsecurity.DevOpsConfigurationProperties{
// AutoDiscovery: to.Ptr(armsecurity.AutoDiscoveryEnabled),
// ProvisioningState: to.Ptr(armsecurity.DevOpsProvisioningStateSucceeded),
// },
// }},
// }
}
}
type DevOpsConfigurationsClientBeginCreateOrUpdateOptions ¶
type DevOpsConfigurationsClientBeginCreateOrUpdateOptions struct {
// Resumes the LRO from the provided token.
ResumeToken string
}
DevOpsConfigurationsClientBeginCreateOrUpdateOptions contains the optional parameters for the DevOpsConfigurationsClient.BeginCreateOrUpdate method.
type DevOpsConfigurationsClientBeginDeleteOptions ¶
type DevOpsConfigurationsClientBeginDeleteOptions struct {
// Resumes the LRO from the provided token.
ResumeToken string
}
DevOpsConfigurationsClientBeginDeleteOptions contains the optional parameters for the DevOpsConfigurationsClient.BeginDelete method.
type DevOpsConfigurationsClientBeginUpdateOptions ¶
type DevOpsConfigurationsClientBeginUpdateOptions struct {
// Resumes the LRO from the provided token.
ResumeToken string
}
DevOpsConfigurationsClientBeginUpdateOptions contains the optional parameters for the DevOpsConfigurationsClient.BeginUpdate method.
type DevOpsConfigurationsClientCreateOrUpdateResponse ¶
type DevOpsConfigurationsClientCreateOrUpdateResponse struct {
// DevOps Configuration resource.
DevOpsConfiguration
}
DevOpsConfigurationsClientCreateOrUpdateResponse contains the response from method DevOpsConfigurationsClient.BeginCreateOrUpdate.
type DevOpsConfigurationsClientDeleteResponse ¶
type DevOpsConfigurationsClientDeleteResponse struct {
}
DevOpsConfigurationsClientDeleteResponse contains the response from method DevOpsConfigurationsClient.BeginDelete.
type DevOpsConfigurationsClientGetOptions ¶
type DevOpsConfigurationsClientGetOptions struct {
}
DevOpsConfigurationsClientGetOptions contains the optional parameters for the DevOpsConfigurationsClient.Get method.
type DevOpsConfigurationsClientGetResponse ¶
type DevOpsConfigurationsClientGetResponse struct {
// DevOps Configuration resource.
DevOpsConfiguration
}
DevOpsConfigurationsClientGetResponse contains the response from method DevOpsConfigurationsClient.Get.
type DevOpsConfigurationsClientListOptions ¶
type DevOpsConfigurationsClientListOptions struct {
}
DevOpsConfigurationsClientListOptions contains the optional parameters for the DevOpsConfigurationsClient.NewListPager method.
type DevOpsConfigurationsClientListResponse ¶
type DevOpsConfigurationsClientListResponse struct {
// List of RP resources which supports pagination.
DevOpsConfigurationListResponse
}
DevOpsConfigurationsClientListResponse contains the response from method DevOpsConfigurationsClient.NewListPager.
type DevOpsConfigurationsClientUpdateResponse ¶
type DevOpsConfigurationsClientUpdateResponse struct {
// DevOps Configuration resource.
DevOpsConfiguration
}
DevOpsConfigurationsClientUpdateResponse contains the response from method DevOpsConfigurationsClient.BeginUpdate.
type DevOpsOperationResultsClient ¶
type DevOpsOperationResultsClient struct {
// contains filtered or unexported fields
}
DevOpsOperationResultsClient contains the methods for the DevOpsOperationResults group. Don't use this type directly, use NewDevOpsOperationResultsClient() instead.
func NewDevOpsOperationResultsClient ¶
func NewDevOpsOperationResultsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*DevOpsOperationResultsClient, error)
NewDevOpsOperationResultsClient creates a new instance of DevOpsOperationResultsClient with the specified values.
- subscriptionID - Azure subscription ID
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*DevOpsOperationResultsClient) Get ¶
func (client *DevOpsOperationResultsClient) Get(ctx context.Context, resourceGroupName string, securityConnectorName string, operationResultID string, options *DevOpsOperationResultsClientGetOptions) (DevOpsOperationResultsClientGetResponse, error)
Get - Get devops long running operation result. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2023-09-01-preview
- resourceGroupName - The name of the resource group. The name is case insensitive.
- securityConnectorName - The security connector name.
- operationResultID - The operation result Id.
- options - DevOpsOperationResultsClientGetOptions contains the optional parameters for the DevOpsOperationResultsClient.Get method.
Example (GetDevOpsOperationResultsFailed) ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-09-01-preview/examples/SecurityConnectorsDevOps/GetDevOpsOperationResultsFailed_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewDevOpsOperationResultsClient().Get(ctx, "myRg", "mySecurityConnectorName", "8d4caace-e7b3-4b3e-af99-73f76829ebcf", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.OperationStatusResult = armsecurity.OperationStatusResult{
// Name: to.Ptr("8d4caace-e7b3-4b3e-af99-73f76829ebcf"),
// EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-06-21T03:25:15.000Z"); return t}()),
// Error: &armsecurity.ErrorDetailAutoGenerated{
// Code: to.Ptr("TokenExchangeFailed"),
// Message: to.Ptr("AzureDevOps OAuth token exchange failed"),
// },
// ID: to.Ptr("/subscriptions/0806e1cd-cfda-4ff8-b99c-2b0af42cffd3/resourceGroups/myRg/providers/Microsoft.Security/securityConnectors/mySecurityConnectorName/devops/default/operationResults/8d4caace-e7b3-4b3e-af99-73f76829ebcf?api-version=2023-09-01-preview"),
// PercentComplete: to.Ptr[float32](100),
// StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-06-21T03:23:15.000Z"); return t}()),
// Status: to.Ptr("Failed"),
// }
}
Example (GetDevOpsOperationResultsSucceeded) ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-09-01-preview/examples/SecurityConnectorsDevOps/GetDevOpsOperationResultsSucceeded_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewDevOpsOperationResultsClient().Get(ctx, "myRg", "mySecurityConnectorName", "4e826cf1-5c36-4808-a7d2-fb4f5170978b", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.OperationStatusResult = armsecurity.OperationStatusResult{
// Name: to.Ptr("4e826cf1-5c36-4808-a7d2-fb4f5170978b"),
// EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-06-21T03:25:15.000Z"); return t}()),
// ID: to.Ptr("/subscriptions/0806e1cd-cfda-4ff8-b99c-2b0af42cffd3/resourceGroups/myRg/providers/Microsoft.Security/securityConnectors/mySecurityConnectorName/devops/default/operationResults/4e826cf1-5c36-4808-a7d2-fb4f5170978b?api-version=2023-09-01-preview"),
// PercentComplete: to.Ptr[float32](100),
// StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-06-21T03:23:15.000Z"); return t}()),
// Status: to.Ptr("Succeeded"),
// }
}
type DevOpsOperationResultsClientGetOptions ¶
type DevOpsOperationResultsClientGetOptions struct {
}
DevOpsOperationResultsClientGetOptions contains the optional parameters for the DevOpsOperationResultsClient.Get method.
type DevOpsOperationResultsClientGetResponse ¶
type DevOpsOperationResultsClientGetResponse struct {
// The current status of an async operation.
OperationStatusResult
}
DevOpsOperationResultsClientGetResponse contains the response from method DevOpsOperationResultsClient.Get.
type DevOpsProvisioningState ¶
type DevOpsProvisioningState string
DevOpsProvisioningState - The provisioning state of the resource. Pending - Provisioning pending. Failed - Provisioning failed. Succeeded - Successful provisioning. Canceled - Provisioning canceled. PendingDeletion - Deletion pending. DeletionSuccess - Deletion successful. DeletionFailure - Deletion failure.
const ( DevOpsProvisioningStateCanceled DevOpsProvisioningState = "Canceled" DevOpsProvisioningStateDeletionFailure DevOpsProvisioningState = "DeletionFailure" DevOpsProvisioningStateDeletionSuccess DevOpsProvisioningState = "DeletionSuccess" DevOpsProvisioningStateFailed DevOpsProvisioningState = "Failed" DevOpsProvisioningStatePending DevOpsProvisioningState = "Pending" DevOpsProvisioningStatePendingDeletion DevOpsProvisioningState = "PendingDeletion" DevOpsProvisioningStateSucceeded DevOpsProvisioningState = "Succeeded" )
func PossibleDevOpsProvisioningStateValues ¶
func PossibleDevOpsProvisioningStateValues() []DevOpsProvisioningState
PossibleDevOpsProvisioningStateValues returns the possible values for the DevOpsProvisioningState const type.
type DeviceSecurityGroup ¶
type DeviceSecurityGroup struct {
// Device Security group data
Properties *DeviceSecurityGroupProperties
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Resource type
Type *string
}
DeviceSecurityGroup - The device security group resource
func (DeviceSecurityGroup) MarshalJSON ¶
func (d DeviceSecurityGroup) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DeviceSecurityGroup.
func (*DeviceSecurityGroup) UnmarshalJSON ¶
func (d *DeviceSecurityGroup) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DeviceSecurityGroup.
type DeviceSecurityGroupList ¶
type DeviceSecurityGroupList struct {
// List of device security group objects
Value []*DeviceSecurityGroup
// READ-ONLY; The URI to fetch the next page.
NextLink *string
}
DeviceSecurityGroupList - List of device security groups
func (DeviceSecurityGroupList) MarshalJSON ¶
func (d DeviceSecurityGroupList) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DeviceSecurityGroupList.
func (*DeviceSecurityGroupList) UnmarshalJSON ¶
func (d *DeviceSecurityGroupList) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DeviceSecurityGroupList.
type DeviceSecurityGroupProperties ¶
type DeviceSecurityGroupProperties struct {
// The allow-list custom alert rules.
AllowlistRules []AllowlistCustomAlertRuleClassification
// The deny-list custom alert rules.
DenylistRules []*DenylistCustomAlertRule
// The list of custom alert threshold rules.
ThresholdRules []ThresholdCustomAlertRuleClassification
// The list of custom alert time-window rules.
TimeWindowRules []TimeWindowCustomAlertRuleClassification
}
DeviceSecurityGroupProperties - describes properties of a security group.
func (DeviceSecurityGroupProperties) MarshalJSON ¶
func (d DeviceSecurityGroupProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DeviceSecurityGroupProperties.
func (*DeviceSecurityGroupProperties) UnmarshalJSON ¶
func (d *DeviceSecurityGroupProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DeviceSecurityGroupProperties.
type DeviceSecurityGroupsClient ¶
type DeviceSecurityGroupsClient struct {
// contains filtered or unexported fields
}
DeviceSecurityGroupsClient contains the methods for the DeviceSecurityGroups group. Don't use this type directly, use NewDeviceSecurityGroupsClient() instead.
func NewDeviceSecurityGroupsClient ¶
func NewDeviceSecurityGroupsClient(credential azcore.TokenCredential, options *arm.ClientOptions) (*DeviceSecurityGroupsClient, error)
NewDeviceSecurityGroupsClient creates a new instance of DeviceSecurityGroupsClient with the specified values.
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*DeviceSecurityGroupsClient) CreateOrUpdate ¶
func (client *DeviceSecurityGroupsClient) CreateOrUpdate(ctx context.Context, resourceID string, deviceSecurityGroupName string, deviceSecurityGroup DeviceSecurityGroup, options *DeviceSecurityGroupsClientCreateOrUpdateOptions) (DeviceSecurityGroupsClientCreateOrUpdateResponse, error)
CreateOrUpdate - Use this method to creates or updates the device security group on a specified IoT Hub resource. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2019-08-01
- resourceID - The identifier of the resource.
- deviceSecurityGroupName - The name of the device security group. Note that the name of the device security group is case insensitive.
- deviceSecurityGroup - Security group object.
- options - DeviceSecurityGroupsClientCreateOrUpdateOptions contains the optional parameters for the DeviceSecurityGroupsClient.CreateOrUpdate method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/DeviceSecurityGroups/PutDeviceSecurityGroups_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewDeviceSecurityGroupsClient().CreateOrUpdate(ctx, "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SampleRG/providers/Microsoft.Devices/iotHubs/sampleiothub", "samplesecuritygroup", armsecurity.DeviceSecurityGroup{
Properties: &armsecurity.DeviceSecurityGroupProperties{
TimeWindowRules: []armsecurity.TimeWindowCustomAlertRuleClassification{
&armsecurity.ActiveConnectionsNotInAllowedRange{
IsEnabled: to.Ptr(true),
RuleType: to.Ptr("ActiveConnectionsNotInAllowedRange"),
MaxThreshold: to.Ptr[int32](30),
MinThreshold: to.Ptr[int32](0),
TimeWindowSize: to.Ptr("PT05M"),
}},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.DeviceSecurityGroup = armsecurity.DeviceSecurityGroup{
// Name: to.Ptr("samplesecuritygroup"),
// Type: to.Ptr("Microsoft.Security/deviceSecurityGroups"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SampleRG/providers/Microsoft.Devices/iotHubs/sampleiothub/providers/Microsoft.Security/deviceSecurityGroups/samplesecuritygroup"),
// Properties: &armsecurity.DeviceSecurityGroupProperties{
// AllowlistRules: []armsecurity.AllowlistCustomAlertRuleClassification{
// &armsecurity.ConnectionToIPNotAllowed{
// Description: to.Ptr("Get an alert when an outbound connection is created between your device and an ip that isn't allowed"),
// DisplayName: to.Ptr("Outbound connection to an ip that isn't allowed"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("ConnectionToIpNotAllowed"),
// AllowlistValues: []*string{
// },
// },
// &armsecurity.LocalUserNotAllowed{
// Description: to.Ptr("Get an alert when a local user that isn't allowed logins to the device"),
// DisplayName: to.Ptr("Login by a local user that isn't allowed"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("LocalUserNotAllowed"),
// AllowlistValues: []*string{
// },
// },
// &armsecurity.ProcessNotAllowed{
// Description: to.Ptr("Get an alert when a process that isn't allowed is executed"),
// DisplayName: to.Ptr("Execution of a process that isn't allowed"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("ProcessNotAllowed"),
// AllowlistValues: []*string{
// },
// }},
// DenylistRules: []*armsecurity.DenylistCustomAlertRule{
// },
// ThresholdRules: []armsecurity.ThresholdCustomAlertRuleClassification{
// },
// TimeWindowRules: []armsecurity.TimeWindowCustomAlertRuleClassification{
// &armsecurity.ActiveConnectionsNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of active connections of a device in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of active connections is not in allowed range"),
// IsEnabled: to.Ptr(true),
// RuleType: to.Ptr("ActiveConnectionsNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](30),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT05M"),
// },
// &armsecurity.AmqpC2DMessagesNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of cloud to device messages (AMQP protocol) in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of cloud to device messages (AMQP protocol) is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("AmqpC2DMessagesNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.MqttC2DMessagesNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of cloud to device messages (MQTT protocol) in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of cloud to device messages (MQTT protocol) is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("MqttC2DMessagesNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.HTTPC2DMessagesNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of cloud to device messages (HTTP protocol) in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of cloud to device messages (HTTP protocol) is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("HttpC2DMessagesNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.AmqpC2DRejectedMessagesNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of cloud to device messages (AMQP protocol) that were rejected by the device in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of rejected cloud to device messages (AMQP protocol) is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("AmqpC2DRejectedMessagesNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.MqttC2DRejectedMessagesNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of cloud to device messages (MQTT protocol) that were rejected by the device in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of rejected cloud to device messages (MQTT protocol) is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("MqttC2DRejectedMessagesNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.HTTPC2DRejectedMessagesNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of cloud to device messages (HTTP protocol) that were rejected by the device in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of rejected cloud to device messages (HTTP protocol) is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("HttpC2DRejectedMessagesNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.AmqpD2CMessagesNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of device to cloud messages (AMQP protocol) in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of device to cloud messages (AMQP protocol) is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("AmqpD2CMessagesNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.MqttD2CMessagesNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of device to cloud messages (MQTT protocol) in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of device to cloud messages (MQTT protocol) is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("MqttD2CMessagesNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.HTTPD2CMessagesNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of device to cloud messages (HTTP protocol) in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of device to cloud messages (HTTP protocol) is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("HttpD2CMessagesNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.DirectMethodInvokesNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of direct method invokes in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of direct method invokes is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("DirectMethodInvokesNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.FailedLocalLoginsNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of failed local logins on the device in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of failed local logins is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("FailedLocalLoginsNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.FileUploadsNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of file uploads from the device to the cloud in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of file uploads is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("FileUploadsNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.QueuePurgesNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of device queue purges in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of device queue purges is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("QueuePurgesNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.TwinUpdatesNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of twin updates (by the device or the service) in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of twin updates is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("TwinUpdatesNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.UnauthorizedOperationsNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number unauthorized operations in the time window is not in the allowed range. Unauthorized operations are operations that affect the device (or done by it) that fail because of an unauthorized error"),
// DisplayName: to.Ptr("Number of unauthorized operations is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("UnauthorizedOperationsNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// }},
// },
// }
}
func (*DeviceSecurityGroupsClient) Delete ¶
func (client *DeviceSecurityGroupsClient) Delete(ctx context.Context, resourceID string, deviceSecurityGroupName string, options *DeviceSecurityGroupsClientDeleteOptions) (DeviceSecurityGroupsClientDeleteResponse, error)
Delete - User this method to deletes the device security group. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2019-08-01
- resourceID - The identifier of the resource.
- deviceSecurityGroupName - The name of the device security group. Note that the name of the device security group is case insensitive.
- options - DeviceSecurityGroupsClientDeleteOptions contains the optional parameters for the DeviceSecurityGroupsClient.Delete method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/DeviceSecurityGroups/DeleteDeviceSecurityGroups_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewDeviceSecurityGroupsClient().Delete(ctx, "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SampleRG/providers/Microsoft.Devices/iotHubs/sampleiothub", "samplesecuritygroup", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
}
func (*DeviceSecurityGroupsClient) Get ¶
func (client *DeviceSecurityGroupsClient) Get(ctx context.Context, resourceID string, deviceSecurityGroupName string, options *DeviceSecurityGroupsClientGetOptions) (DeviceSecurityGroupsClientGetResponse, error)
Get - Use this method to get the device security group for the specified IoT Hub resource. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2019-08-01
- resourceID - The identifier of the resource.
- deviceSecurityGroupName - The name of the device security group. Note that the name of the device security group is case insensitive.
- options - DeviceSecurityGroupsClientGetOptions contains the optional parameters for the DeviceSecurityGroupsClient.Get method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/DeviceSecurityGroups/GetDeviceSecurityGroups_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewDeviceSecurityGroupsClient().Get(ctx, "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SampleRG/providers/Microsoft.Devices/iotHubs/sampleiothub", "samplesecuritygroup", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.DeviceSecurityGroup = armsecurity.DeviceSecurityGroup{
// Name: to.Ptr("samplesecuritygroup"),
// Type: to.Ptr("Microsoft.Security/deviceSecurityGroups"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SampleRG/providers/Microsoft.Devices/iotHubs/sampleiothub/providers/Microsoft.Security/deviceSecurityGroups/samplesecuritygroup"),
// Properties: &armsecurity.DeviceSecurityGroupProperties{
// AllowlistRules: []armsecurity.AllowlistCustomAlertRuleClassification{
// &armsecurity.ConnectionToIPNotAllowed{
// Description: to.Ptr("Get an alert when an outbound connection is created between your device and an ip that isn't allowed"),
// DisplayName: to.Ptr("Outbound connection to an ip that isn't allowed"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("ConnectionToIpNotAllowed"),
// ValueType: to.Ptr(armsecurity.ValueTypeIPCidr),
// AllowlistValues: []*string{
// },
// },
// &armsecurity.LocalUserNotAllowed{
// Description: to.Ptr("Get an alert when a local user that isn't allowed logins to the device"),
// DisplayName: to.Ptr("Login by a local user that isn't allowed"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("LocalUserNotAllowed"),
// ValueType: to.Ptr(armsecurity.ValueTypeString),
// AllowlistValues: []*string{
// },
// },
// &armsecurity.ProcessNotAllowed{
// Description: to.Ptr("Get an alert when a process that isn't allowed is executed"),
// DisplayName: to.Ptr("Execution of a process that isn't allowed"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("ProcessNotAllowed"),
// ValueType: to.Ptr(armsecurity.ValueTypeString),
// AllowlistValues: []*string{
// },
// }},
// DenylistRules: []*armsecurity.DenylistCustomAlertRule{
// },
// ThresholdRules: []armsecurity.ThresholdCustomAlertRuleClassification{
// },
// TimeWindowRules: []armsecurity.TimeWindowCustomAlertRuleClassification{
// &armsecurity.ActiveConnectionsNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of active connections of a device in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of active connections is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("ActiveConnectionsNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.AmqpC2DMessagesNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of cloud to device messages (AMQP protocol) in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of cloud to device messages (AMQP protocol) is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("AmqpC2DMessagesNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.MqttC2DMessagesNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of cloud to device messages (MQTT protocol) in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of cloud to device messages (MQTT protocol) is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("MqttC2DMessagesNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.HTTPC2DMessagesNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of cloud to device messages (HTTP protocol) in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of cloud to device messages (HTTP protocol) is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("HttpC2DMessagesNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.AmqpC2DRejectedMessagesNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of cloud to device messages (AMQP protocol) that were rejected by the device in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of rejected cloud to device messages (AMQP protocol) is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("AmqpC2DRejectedMessagesNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.MqttC2DRejectedMessagesNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of cloud to device messages (MQTT protocol) that were rejected by the device in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of rejected cloud to device messages (MQTT protocol) is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("MqttC2DRejectedMessagesNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.HTTPC2DRejectedMessagesNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of cloud to device messages (HTTP protocol) that were rejected by the device in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of rejected cloud to device messages (HTTP protocol) is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("HttpC2DRejectedMessagesNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.AmqpD2CMessagesNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of device to cloud messages (AMQP protocol) in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of device to cloud messages (AMQP protocol) is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("AmqpD2CMessagesNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.MqttD2CMessagesNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of device to cloud messages (MQTT protocol) in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of device to cloud messages (MQTT protocol) is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("MqttD2CMessagesNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.HTTPD2CMessagesNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of device to cloud messages (HTTP protocol) in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of device to cloud messages (HTTP protocol) is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("HttpD2CMessagesNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.DirectMethodInvokesNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of direct method invokes in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of direct method invokes is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("DirectMethodInvokesNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.FailedLocalLoginsNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of failed local logins on the device in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of failed local logins is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("FailedLocalLoginsNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.FileUploadsNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of file uploads from the device to the cloud in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of file uploads is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("FileUploadsNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.QueuePurgesNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of device queue purges in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of device queue purges is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("QueuePurgesNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.TwinUpdatesNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of twin updates (by the device or the service) in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of twin updates is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("TwinUpdatesNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.UnauthorizedOperationsNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number unauthorized operations in the time window is not in the allowed range. Unauthorized operations are operations that affect the device (or done by it) that fail because of an unauthorized error"),
// DisplayName: to.Ptr("Number of unauthorized operations is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("UnauthorizedOperationsNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// }},
// },
// }
}
func (*DeviceSecurityGroupsClient) NewListPager ¶
func (client *DeviceSecurityGroupsClient) NewListPager(resourceID string, options *DeviceSecurityGroupsClientListOptions) *runtime.Pager[DeviceSecurityGroupsClientListResponse]
NewListPager - Use this method get the list of device security groups for the specified IoT Hub resource.
Generated from API version 2019-08-01
- resourceID - The identifier of the resource.
- options - DeviceSecurityGroupsClientListOptions contains the optional parameters for the DeviceSecurityGroupsClient.NewListPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/DeviceSecurityGroups/ListDeviceSecurityGroups_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewDeviceSecurityGroupsClient().NewListPager("subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SampleRG/providers/Microsoft.Devices/iotHubs/sampleiothub", nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.DeviceSecurityGroupList = armsecurity.DeviceSecurityGroupList{
// Value: []*armsecurity.DeviceSecurityGroup{
// {
// Name: to.Ptr("samplesecuritygroup"),
// Type: to.Ptr("Microsoft.Security/deviceSecurityGroups"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SampleRG/providers/Microsoft.Devices/iotHubs/sampleiothub/providers/Microsoft.Security/deviceSecurityGroups/samplesecuritygroup"),
// Properties: &armsecurity.DeviceSecurityGroupProperties{
// AllowlistRules: []armsecurity.AllowlistCustomAlertRuleClassification{
// &armsecurity.ConnectionToIPNotAllowed{
// Description: to.Ptr("Get an alert when an outbound connection is created between your device and an ip that isn't allowed"),
// DisplayName: to.Ptr("Outbound connection to an ip that isn't allowed"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("ConnectionToIpNotAllowed"),
// ValueType: to.Ptr(armsecurity.ValueTypeIPCidr),
// AllowlistValues: []*string{
// },
// },
// &armsecurity.LocalUserNotAllowed{
// Description: to.Ptr("Get an alert when a local user that isn't allowed logins to the device"),
// DisplayName: to.Ptr("Login by a local user that isn't allowed"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("LocalUserNotAllowed"),
// ValueType: to.Ptr(armsecurity.ValueTypeString),
// AllowlistValues: []*string{
// },
// },
// &armsecurity.ProcessNotAllowed{
// Description: to.Ptr("Get an alert when a process that isn't allowed is executed"),
// DisplayName: to.Ptr("Execution of a process that isn't allowed"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("ProcessNotAllowed"),
// ValueType: to.Ptr(armsecurity.ValueTypeString),
// AllowlistValues: []*string{
// },
// }},
// DenylistRules: []*armsecurity.DenylistCustomAlertRule{
// },
// ThresholdRules: []armsecurity.ThresholdCustomAlertRuleClassification{
// },
// TimeWindowRules: []armsecurity.TimeWindowCustomAlertRuleClassification{
// &armsecurity.ActiveConnectionsNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of active connections of a device in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of active connections is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("ActiveConnectionsNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.AmqpC2DMessagesNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of cloud to device messages (AMQP protocol) in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of cloud to device messages (AMQP protocol) is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("AmqpC2DMessagesNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.MqttC2DMessagesNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of cloud to device messages (MQTT protocol) in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of cloud to device messages (MQTT protocol) is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("MqttC2DMessagesNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.HTTPC2DMessagesNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of cloud to device messages (HTTP protocol) in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of cloud to device messages (HTTP protocol) is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("HttpC2DMessagesNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.AmqpC2DRejectedMessagesNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of cloud to device messages (AMQP protocol) that were rejected by the device in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of rejected cloud to device messages (AMQP protocol) is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("AmqpC2DRejectedMessagesNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.MqttC2DRejectedMessagesNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of cloud to device messages (MQTT protocol) that were rejected by the device in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of rejected cloud to device messages (MQTT protocol) is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("MqttC2DRejectedMessagesNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.HTTPC2DRejectedMessagesNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of cloud to device messages (HTTP protocol) that were rejected by the device in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of rejected cloud to device messages (HTTP protocol) is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("HttpC2DRejectedMessagesNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.AmqpD2CMessagesNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of device to cloud messages (AMQP protocol) in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of device to cloud messages (AMQP protocol) is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("AmqpD2CMessagesNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.MqttD2CMessagesNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of device to cloud messages (MQTT protocol) in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of device to cloud messages (MQTT protocol) is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("MqttD2CMessagesNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.HTTPD2CMessagesNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of device to cloud messages (HTTP protocol) in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of device to cloud messages (HTTP protocol) is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("HttpD2CMessagesNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.DirectMethodInvokesNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of direct method invokes in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of direct method invokes is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("DirectMethodInvokesNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.FailedLocalLoginsNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of failed local logins on the device in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of failed local logins is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("FailedLocalLoginsNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.FileUploadsNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of file uploads from the device to the cloud in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of file uploads is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("FileUploadsNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.QueuePurgesNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of device queue purges in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of device queue purges is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("QueuePurgesNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.TwinUpdatesNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number of twin updates (by the device or the service) in the time window is not in the allowed range"),
// DisplayName: to.Ptr("Number of twin updates is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("TwinUpdatesNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// },
// &armsecurity.UnauthorizedOperationsNotInAllowedRange{
// Description: to.Ptr("Get an alert when the number unauthorized operations in the time window is not in the allowed range. Unauthorized operations are operations that affect the device (or done by it) that fail because of an unauthorized error"),
// DisplayName: to.Ptr("Number of unauthorized operations is not in allowed range"),
// IsEnabled: to.Ptr(false),
// RuleType: to.Ptr("UnauthorizedOperationsNotInAllowedRange"),
// MaxThreshold: to.Ptr[int32](0),
// MinThreshold: to.Ptr[int32](0),
// TimeWindowSize: to.Ptr("PT15M"),
// }},
// },
// }},
// }
}
}
type DeviceSecurityGroupsClientCreateOrUpdateOptions ¶
type DeviceSecurityGroupsClientCreateOrUpdateOptions struct {
}
DeviceSecurityGroupsClientCreateOrUpdateOptions contains the optional parameters for the DeviceSecurityGroupsClient.CreateOrUpdate method.
type DeviceSecurityGroupsClientCreateOrUpdateResponse ¶
type DeviceSecurityGroupsClientCreateOrUpdateResponse struct {
// The device security group resource
DeviceSecurityGroup
}
DeviceSecurityGroupsClientCreateOrUpdateResponse contains the response from method DeviceSecurityGroupsClient.CreateOrUpdate.
type DeviceSecurityGroupsClientDeleteOptions ¶
type DeviceSecurityGroupsClientDeleteOptions struct {
}
DeviceSecurityGroupsClientDeleteOptions contains the optional parameters for the DeviceSecurityGroupsClient.Delete method.
type DeviceSecurityGroupsClientDeleteResponse ¶
type DeviceSecurityGroupsClientDeleteResponse struct {
}
DeviceSecurityGroupsClientDeleteResponse contains the response from method DeviceSecurityGroupsClient.Delete.
type DeviceSecurityGroupsClientGetOptions ¶
type DeviceSecurityGroupsClientGetOptions struct {
}
DeviceSecurityGroupsClientGetOptions contains the optional parameters for the DeviceSecurityGroupsClient.Get method.
type DeviceSecurityGroupsClientGetResponse ¶
type DeviceSecurityGroupsClientGetResponse struct {
// The device security group resource
DeviceSecurityGroup
}
DeviceSecurityGroupsClientGetResponse contains the response from method DeviceSecurityGroupsClient.Get.
type DeviceSecurityGroupsClientListOptions ¶
type DeviceSecurityGroupsClientListOptions struct {
}
DeviceSecurityGroupsClientListOptions contains the optional parameters for the DeviceSecurityGroupsClient.NewListPager method.
type DeviceSecurityGroupsClientListResponse ¶
type DeviceSecurityGroupsClientListResponse struct {
// List of device security groups
DeviceSecurityGroupList
}
DeviceSecurityGroupsClientListResponse contains the response from method DeviceSecurityGroupsClient.NewListPager.
type DirectMethodInvokesNotInAllowedRange ¶
type DirectMethodInvokesNotInAllowedRange struct {
// REQUIRED; Status of the custom alert.
IsEnabled *bool
// REQUIRED; The maximum threshold.
MaxThreshold *int32
// REQUIRED; The minimum threshold.
MinThreshold *int32
// REQUIRED; The type of the custom alert rule.
RuleType *string
// REQUIRED; The time window size in iso8601 format.
TimeWindowSize *string
// READ-ONLY; The description of the custom alert.
Description *string
// READ-ONLY; The display name of the custom alert.
DisplayName *string
}
DirectMethodInvokesNotInAllowedRange - Number of direct method invokes is not in allowed range.
func (*DirectMethodInvokesNotInAllowedRange) GetCustomAlertRule ¶
func (d *DirectMethodInvokesNotInAllowedRange) GetCustomAlertRule() *CustomAlertRule
GetCustomAlertRule implements the CustomAlertRuleClassification interface for type DirectMethodInvokesNotInAllowedRange.
func (*DirectMethodInvokesNotInAllowedRange) GetThresholdCustomAlertRule ¶
func (d *DirectMethodInvokesNotInAllowedRange) GetThresholdCustomAlertRule() *ThresholdCustomAlertRule
GetThresholdCustomAlertRule implements the ThresholdCustomAlertRuleClassification interface for type DirectMethodInvokesNotInAllowedRange.
func (*DirectMethodInvokesNotInAllowedRange) GetTimeWindowCustomAlertRule ¶
func (d *DirectMethodInvokesNotInAllowedRange) GetTimeWindowCustomAlertRule() *TimeWindowCustomAlertRule
GetTimeWindowCustomAlertRule implements the TimeWindowCustomAlertRuleClassification interface for type DirectMethodInvokesNotInAllowedRange.
func (DirectMethodInvokesNotInAllowedRange) MarshalJSON ¶
func (d DirectMethodInvokesNotInAllowedRange) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DirectMethodInvokesNotInAllowedRange.
func (*DirectMethodInvokesNotInAllowedRange) UnmarshalJSON ¶
func (d *DirectMethodInvokesNotInAllowedRange) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DirectMethodInvokesNotInAllowedRange.
type Direction ¶
type Direction string
Direction - The rule's direction
func PossibleDirectionValues ¶
func PossibleDirectionValues() []Direction
PossibleDirectionValues returns the possible values for the Direction const type.
type DiscoveredSecuritySolution ¶
type DiscoveredSecuritySolution struct {
// REQUIRED
Properties *DiscoveredSecuritySolutionProperties
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Location where the resource is stored
Location *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Resource type
Type *string
}
func (DiscoveredSecuritySolution) MarshalJSON ¶
func (d DiscoveredSecuritySolution) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DiscoveredSecuritySolution.
func (*DiscoveredSecuritySolution) UnmarshalJSON ¶
func (d *DiscoveredSecuritySolution) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DiscoveredSecuritySolution.
type DiscoveredSecuritySolutionList ¶
type DiscoveredSecuritySolutionList struct {
Value []*DiscoveredSecuritySolution
// READ-ONLY; The URI to fetch the next page.
NextLink *string
}
func (DiscoveredSecuritySolutionList) MarshalJSON ¶
func (d DiscoveredSecuritySolutionList) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DiscoveredSecuritySolutionList.
func (*DiscoveredSecuritySolutionList) UnmarshalJSON ¶
func (d *DiscoveredSecuritySolutionList) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DiscoveredSecuritySolutionList.
type DiscoveredSecuritySolutionProperties ¶
type DiscoveredSecuritySolutionProperties struct {
// REQUIRED; The security solutions' image offer
Offer *string
// REQUIRED; The security solutions' image publisher
Publisher *string
// REQUIRED; The security solutions' image sku
SKU *string
// REQUIRED; The security family of the discovered solution
SecurityFamily *SecurityFamily
}
func (DiscoveredSecuritySolutionProperties) MarshalJSON ¶
func (d DiscoveredSecuritySolutionProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type DiscoveredSecuritySolutionProperties.
func (*DiscoveredSecuritySolutionProperties) UnmarshalJSON ¶
func (d *DiscoveredSecuritySolutionProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type DiscoveredSecuritySolutionProperties.
type DiscoveredSecuritySolutionsClient ¶
type DiscoveredSecuritySolutionsClient struct {
// contains filtered or unexported fields
}
DiscoveredSecuritySolutionsClient contains the methods for the DiscoveredSecuritySolutions group. Don't use this type directly, use NewDiscoveredSecuritySolutionsClient() instead.
func NewDiscoveredSecuritySolutionsClient ¶
func NewDiscoveredSecuritySolutionsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*DiscoveredSecuritySolutionsClient, error)
NewDiscoveredSecuritySolutionsClient creates a new instance of DiscoveredSecuritySolutionsClient with the specified values.
- subscriptionID - Azure subscription ID
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*DiscoveredSecuritySolutionsClient) Get ¶
func (client *DiscoveredSecuritySolutionsClient) Get(ctx context.Context, resourceGroupName string, ascLocation string, discoveredSecuritySolutionName string, options *DiscoveredSecuritySolutionsClientGetOptions) (DiscoveredSecuritySolutionsClientGetResponse, error)
Get - Gets a specific discovered Security Solution. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2020-01-01
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- ascLocation - The location where ASC stores the data of the subscription. can be retrieved from Get locations
- discoveredSecuritySolutionName - Name of a discovered security solution.
- options - DiscoveredSecuritySolutionsClientGetOptions contains the optional parameters for the DiscoveredSecuritySolutionsClient.Get method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/DiscoveredSecuritySolutions/GetDiscoveredSecuritySolutionResourceGroupLocation_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewDiscoveredSecuritySolutionsClient().Get(ctx, "myRg2", "centralus", "paloalto7", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.DiscoveredSecuritySolution = armsecurity.DiscoveredSecuritySolution{
// Location: to.Ptr("eastus2"),
// Name: to.Ptr("paloalto7"),
// Type: to.Ptr("Microsoft.Security/locations/discoveredSecuritySolutions"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg2/providers/Microsoft.Security/locations/centralus/discoveredSecuritySolutions/paloalto7"),
// Properties: &armsecurity.DiscoveredSecuritySolutionProperties{
// Offer: to.Ptr("vmseries1"),
// Publisher: to.Ptr("paloaltonetworks"),
// SecurityFamily: to.Ptr(armsecurity.SecurityFamilyNgfw),
// SKU: to.Ptr("byol"),
// },
// }
}
func (*DiscoveredSecuritySolutionsClient) NewListByHomeRegionPager ¶
func (client *DiscoveredSecuritySolutionsClient) NewListByHomeRegionPager(ascLocation string, options *DiscoveredSecuritySolutionsClientListByHomeRegionOptions) *runtime.Pager[DiscoveredSecuritySolutionsClientListByHomeRegionResponse]
NewListByHomeRegionPager - Gets a list of discovered Security Solutions for the subscription and location.
Generated from API version 2020-01-01
- ascLocation - The location where ASC stores the data of the subscription. can be retrieved from Get locations
- options - DiscoveredSecuritySolutionsClientListByHomeRegionOptions contains the optional parameters for the DiscoveredSecuritySolutionsClient.NewListByHomeRegionPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/DiscoveredSecuritySolutions/GetDiscoveredSecuritySolutionsSubscriptionLocation_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewDiscoveredSecuritySolutionsClient().NewListByHomeRegionPager("centralus", nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.DiscoveredSecuritySolutionList = armsecurity.DiscoveredSecuritySolutionList{
// Value: []*armsecurity.DiscoveredSecuritySolution{
// {
// Location: to.Ptr("eastus"),
// Name: to.Ptr("CP"),
// Type: to.Ptr("Microsoft.Security/locations/discoveredSecuritySolutions"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Security/locations/centralus/discoveredSecuritySolutions/CP"),
// Properties: &armsecurity.DiscoveredSecuritySolutionProperties{
// Offer: to.Ptr("cisco-asav"),
// Publisher: to.Ptr("cisco"),
// SecurityFamily: to.Ptr(armsecurity.SecurityFamilyNgfw),
// SKU: to.Ptr("asav-azure-byol"),
// },
// },
// {
// Location: to.Ptr("eastus2"),
// Name: to.Ptr("paloalto7"),
// Type: to.Ptr("Microsoft.Security/locations/discoveredSecuritySolutions"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg2/providers/Microsoft.Security/locations/centralus/discoveredSecuritySolutions/paloalto7"),
// Properties: &armsecurity.DiscoveredSecuritySolutionProperties{
// Offer: to.Ptr("vmseries1"),
// Publisher: to.Ptr("paloaltonetworks"),
// SecurityFamily: to.Ptr(armsecurity.SecurityFamilyNgfw),
// SKU: to.Ptr("byol"),
// },
// }},
// }
}
}
func (*DiscoveredSecuritySolutionsClient) NewListPager ¶
func (client *DiscoveredSecuritySolutionsClient) NewListPager(options *DiscoveredSecuritySolutionsClientListOptions) *runtime.Pager[DiscoveredSecuritySolutionsClientListResponse]
NewListPager - Gets a list of discovered Security Solutions for the subscription.
Generated from API version 2020-01-01
- options - DiscoveredSecuritySolutionsClientListOptions contains the optional parameters for the DiscoveredSecuritySolutionsClient.NewListPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/DiscoveredSecuritySolutions/GetDiscoveredSecuritySolutionsSubscription_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewDiscoveredSecuritySolutionsClient().NewListPager(nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.DiscoveredSecuritySolutionList = armsecurity.DiscoveredSecuritySolutionList{
// Value: []*armsecurity.DiscoveredSecuritySolution{
// {
// Location: to.Ptr("eastus"),
// Name: to.Ptr("CP"),
// Type: to.Ptr("Microsoft.Security/locations/discoveredSecuritySolutions"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Security/locations/centralus/discoveredSecuritySolutions/CP"),
// Properties: &armsecurity.DiscoveredSecuritySolutionProperties{
// Offer: to.Ptr("cisco-asav"),
// Publisher: to.Ptr("cisco"),
// SecurityFamily: to.Ptr(armsecurity.SecurityFamilyNgfw),
// SKU: to.Ptr("asav-azure-byol"),
// },
// },
// {
// Location: to.Ptr("eastus2"),
// Name: to.Ptr("paloalto7"),
// Type: to.Ptr("Microsoft.Security/locations/discoveredSecuritySolutions"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg2/providers/Microsoft.Security/locations/centralus/discoveredSecuritySolutions/paloalto7"),
// Properties: &armsecurity.DiscoveredSecuritySolutionProperties{
// Offer: to.Ptr("vmseries1"),
// Publisher: to.Ptr("paloaltonetworks"),
// SecurityFamily: to.Ptr(armsecurity.SecurityFamilyNgfw),
// SKU: to.Ptr("byol"),
// },
// }},
// }
}
}
type DiscoveredSecuritySolutionsClientGetOptions ¶
type DiscoveredSecuritySolutionsClientGetOptions struct {
}
DiscoveredSecuritySolutionsClientGetOptions contains the optional parameters for the DiscoveredSecuritySolutionsClient.Get method.
type DiscoveredSecuritySolutionsClientGetResponse ¶
type DiscoveredSecuritySolutionsClientGetResponse struct {
DiscoveredSecuritySolution
}
DiscoveredSecuritySolutionsClientGetResponse contains the response from method DiscoveredSecuritySolutionsClient.Get.
type DiscoveredSecuritySolutionsClientListByHomeRegionOptions ¶
type DiscoveredSecuritySolutionsClientListByHomeRegionOptions struct {
}
DiscoveredSecuritySolutionsClientListByHomeRegionOptions contains the optional parameters for the DiscoveredSecuritySolutionsClient.NewListByHomeRegionPager method.
type DiscoveredSecuritySolutionsClientListByHomeRegionResponse ¶
type DiscoveredSecuritySolutionsClientListByHomeRegionResponse struct {
DiscoveredSecuritySolutionList
}
DiscoveredSecuritySolutionsClientListByHomeRegionResponse contains the response from method DiscoveredSecuritySolutionsClient.NewListByHomeRegionPager.
type DiscoveredSecuritySolutionsClientListOptions ¶
type DiscoveredSecuritySolutionsClientListOptions struct {
}
DiscoveredSecuritySolutionsClientListOptions contains the optional parameters for the DiscoveredSecuritySolutionsClient.NewListPager method.
type DiscoveredSecuritySolutionsClientListResponse ¶
type DiscoveredSecuritySolutionsClientListResponse struct {
DiscoveredSecuritySolutionList
}
DiscoveredSecuritySolutionsClientListResponse contains the response from method DiscoveredSecuritySolutionsClient.NewListPager.
type ETag ¶
type ETag struct {
// Entity tag is used for comparing two or more entities from the same requested resource.
Etag *string
}
ETag - Entity tag is used for comparing two or more entities from the same requested resource.
func (ETag) MarshalJSON ¶
MarshalJSON implements the json.Marshaller interface for type ETag.
func (*ETag) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaller interface for type ETag.
type EffectiveNetworkSecurityGroups ¶
type EffectiveNetworkSecurityGroups struct {
// The Azure resource ID of the network interface
NetworkInterface *string
// The Network Security Groups effective on the network interface
NetworkSecurityGroups []*string
}
EffectiveNetworkSecurityGroups - Describes the Network Security Groups effective on a network interface
func (EffectiveNetworkSecurityGroups) MarshalJSON ¶
func (e EffectiveNetworkSecurityGroups) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type EffectiveNetworkSecurityGroups.
func (*EffectiveNetworkSecurityGroups) UnmarshalJSON ¶
func (e *EffectiveNetworkSecurityGroups) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type EffectiveNetworkSecurityGroups.
type EndOfSupportStatus ¶
type EndOfSupportStatus string
EndOfSupportStatus - End of support status.
const ( EndOfSupportStatusNoLongerSupported EndOfSupportStatus = "noLongerSupported" EndOfSupportStatusNone EndOfSupportStatus = "None" EndOfSupportStatusUpcomingNoLongerSupported EndOfSupportStatus = "upcomingNoLongerSupported" EndOfSupportStatusUpcomingVersionNoLongerSupported EndOfSupportStatus = "upcomingVersionNoLongerSupported" EndOfSupportStatusVersionNoLongerSupported EndOfSupportStatus = "versionNoLongerSupported" )
func PossibleEndOfSupportStatusValues ¶
func PossibleEndOfSupportStatusValues() []EndOfSupportStatus
PossibleEndOfSupportStatusValues returns the possible values for the EndOfSupportStatus const type.
type Enforce ¶
type Enforce string
Enforce - If set to "False", it allows the descendants of this scope to override the pricing configuration set on this scope (allows setting inherited="False"). If set to "True", it prevents overrides and forces this pricing configuration on all the descendants of this scope. This field is only available for subscription-level pricing.
const ( // EnforceFalse - Allows the descendants of this scope to override the pricing configuration set on this scope (allows setting // inherited="False") EnforceFalse Enforce = "False" // EnforceTrue - Prevents overrides and forces the current scope's pricing configuration to all descendants EnforceTrue Enforce = "True" )
func PossibleEnforceValues ¶
func PossibleEnforceValues() []Enforce
PossibleEnforceValues returns the possible values for the Enforce const type.
type EnforcementMode ¶
type EnforcementMode string
EnforcementMode - The application control policy enforcement/protection mode of the machine group
const ( EnforcementModeAudit EnforcementMode = "Audit" EnforcementModeEnforce EnforcementMode = "Enforce" EnforcementModeNone EnforcementMode = "None" )
func PossibleEnforcementModeValues ¶
func PossibleEnforcementModeValues() []EnforcementMode
PossibleEnforcementModeValues returns the possible values for the EnforcementMode const type.
type EnforcementSupport ¶
type EnforcementSupport string
EnforcementSupport - The machine supportability of Enforce feature
const ( EnforcementSupportNotSupported EnforcementSupport = "NotSupported" EnforcementSupportSupported EnforcementSupport = "Supported" EnforcementSupportUnknown EnforcementSupport = "Unknown" )
func PossibleEnforcementSupportValues ¶
func PossibleEnforcementSupportValues() []EnforcementSupport
PossibleEnforcementSupportValues returns the possible values for the EnforcementSupport const type.
type EnvironmentData ¶
type EnvironmentData struct {
// REQUIRED; The type of the environment data.
EnvironmentType *EnvironmentType
}
EnvironmentData - The security connector environment data.
func (*EnvironmentData) GetEnvironmentData ¶
func (e *EnvironmentData) GetEnvironmentData() *EnvironmentData
GetEnvironmentData implements the EnvironmentDataClassification interface for type EnvironmentData.
func (EnvironmentData) MarshalJSON ¶
func (e EnvironmentData) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type EnvironmentData.
func (*EnvironmentData) UnmarshalJSON ¶
func (e *EnvironmentData) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type EnvironmentData.
type EnvironmentDataClassification ¶
type EnvironmentDataClassification interface {
// GetEnvironmentData returns the EnvironmentData content of the underlying type.
GetEnvironmentData() *EnvironmentData
}
EnvironmentDataClassification provides polymorphic access to related types. Call the interface's GetEnvironmentData() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AwsEnvironmentData, *AzureDevOpsScopeEnvironmentData, *EnvironmentData, *GcpProjectEnvironmentData, *GithubScopeEnvironmentData, - *GitlabScopeEnvironmentData
type EnvironmentDetails ¶
type EnvironmentDetails struct {
// The hierarchy id of the connector (in case of Azure - the subscription Id, in case of MC - the hierarchyId id)
EnvironmentHierarchyID *string
// The native resource id of the resource (in case of Azure - the resource Id, in case of MC - the native resource id)
NativeResourceID *string
// The organizational hierarchy id of the connector (in case of Azure - the subscription Id, in case of MC - the organizational
// hierarchyId id)
OrganizationalHierarchyID *string
// The subscription Id
SubscriptionID *string
// The tenant Id
TenantID *string
}
EnvironmentDetails - The environment details of the resource
func (EnvironmentDetails) MarshalJSON ¶
func (e EnvironmentDetails) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type EnvironmentDetails.
func (*EnvironmentDetails) UnmarshalJSON ¶
func (e *EnvironmentDetails) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type EnvironmentDetails.
type EnvironmentType ¶
type EnvironmentType string
EnvironmentType - The type of the environment data.
const ( EnvironmentTypeAwsAccount EnvironmentType = "AwsAccount" EnvironmentTypeAzureDevOpsScope EnvironmentType = "AzureDevOpsScope" EnvironmentTypeGcpProject EnvironmentType = "GcpProject" EnvironmentTypeGithubScope EnvironmentType = "GithubScope" EnvironmentTypeGitlabScope EnvironmentType = "GitlabScope" )
func PossibleEnvironmentTypeValues ¶
func PossibleEnvironmentTypeValues() []EnvironmentType
PossibleEnvironmentTypeValues returns the possible values for the EnvironmentType const type.
type ErrorAdditionalInfo ¶
type ErrorAdditionalInfo struct {
// READ-ONLY; The additional info.
Info any
// READ-ONLY; The additional info type.
Type *string
}
ErrorAdditionalInfo - The resource management error additional info.
func (ErrorAdditionalInfo) MarshalJSON ¶
func (e ErrorAdditionalInfo) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ErrorAdditionalInfo.
func (*ErrorAdditionalInfo) UnmarshalJSON ¶
func (e *ErrorAdditionalInfo) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ErrorAdditionalInfo.
type ErrorDetail ¶
type ErrorDetail struct {
// READ-ONLY; The error additional info.
AdditionalInfo []*ErrorAdditionalInfo
// READ-ONLY; The error code.
Code *string
// READ-ONLY; The error details.
Details []*ErrorDetail
// READ-ONLY; The error message.
Message *string
// READ-ONLY; The error target.
Target *string
}
ErrorDetail - The error detail.
func (ErrorDetail) MarshalJSON ¶
func (e ErrorDetail) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ErrorDetail.
func (*ErrorDetail) UnmarshalJSON ¶
func (e *ErrorDetail) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ErrorDetail.
type ErrorDetailAutoGenerated ¶
type ErrorDetailAutoGenerated struct {
// READ-ONLY; The error additional info.
AdditionalInfo []*ErrorAdditionalInfo
// READ-ONLY; The error code.
Code *string
// READ-ONLY; The error details.
Details []*ErrorDetailAutoGenerated
// READ-ONLY; The error message.
Message *string
// READ-ONLY; The error target.
Target *string
}
ErrorDetailAutoGenerated - The error detail.
func (ErrorDetailAutoGenerated) MarshalJSON ¶
func (e ErrorDetailAutoGenerated) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ErrorDetailAutoGenerated.
func (*ErrorDetailAutoGenerated) UnmarshalJSON ¶
func (e *ErrorDetailAutoGenerated) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ErrorDetailAutoGenerated.
type ErrorResponse ¶
type ErrorResponse struct {
// The error object.
Error *ErrorDetail
}
ErrorResponse - Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).
func (ErrorResponse) MarshalJSON ¶
func (e ErrorResponse) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ErrorResponse.
func (*ErrorResponse) UnmarshalJSON ¶
func (e *ErrorResponse) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ErrorResponse.
type ErrorResponseAutoGenerated ¶
type ErrorResponseAutoGenerated struct {
// The error object.
Error *ErrorDetailAutoGenerated
}
ErrorResponseAutoGenerated - Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).
func (ErrorResponseAutoGenerated) MarshalJSON ¶
func (e ErrorResponseAutoGenerated) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ErrorResponseAutoGenerated.
func (*ErrorResponseAutoGenerated) UnmarshalJSON ¶
func (e *ErrorResponseAutoGenerated) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ErrorResponseAutoGenerated.
type EventSource ¶
type EventSource string
EventSource - A valid event source type.
const ( EventSourceAlerts EventSource = "Alerts" EventSourceAssessments EventSource = "Assessments" EventSourceAssessmentsSnapshot EventSource = "AssessmentsSnapshot" EventSourceAttackPaths EventSource = "AttackPaths" EventSourceAttackPathsSnapshot EventSource = "AttackPathsSnapshot" EventSourceRegulatoryComplianceAssessment EventSource = "RegulatoryComplianceAssessment" EventSourceRegulatoryComplianceAssessmentSnapshot EventSource = "RegulatoryComplianceAssessmentSnapshot" EventSourceSecureScoreControls EventSource = "SecureScoreControls" EventSourceSecureScoreControlsSnapshot EventSource = "SecureScoreControlsSnapshot" EventSourceSecureScores EventSource = "SecureScores" EventSourceSecureScoresSnapshot EventSource = "SecureScoresSnapshot" EventSourceSubAssessments EventSource = "SubAssessments" EventSourceSubAssessmentsSnapshot EventSource = "SubAssessmentsSnapshot" )
func PossibleEventSourceValues ¶
func PossibleEventSourceValues() []EventSource
PossibleEventSourceValues returns the possible values for the EventSource const type.
type ExecuteGovernanceRuleParams ¶
type ExecuteGovernanceRuleParams struct {
// Describe if governance rule should be override
Override *bool
}
ExecuteGovernanceRuleParams - Governance rule execution parameters
func (ExecuteGovernanceRuleParams) MarshalJSON ¶
func (e ExecuteGovernanceRuleParams) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ExecuteGovernanceRuleParams.
func (*ExecuteGovernanceRuleParams) UnmarshalJSON ¶
func (e *ExecuteGovernanceRuleParams) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ExecuteGovernanceRuleParams.
type ExpandControlsEnum ¶
type ExpandControlsEnum string
const ( // ExpandControlsEnumDefinition - Add definition object for each control ExpandControlsEnumDefinition ExpandControlsEnum = "definition" )
func PossibleExpandControlsEnumValues ¶
func PossibleExpandControlsEnumValues() []ExpandControlsEnum
PossibleExpandControlsEnumValues returns the possible values for the ExpandControlsEnum const type.
type ExpandEnum ¶
type ExpandEnum string
const ( // ExpandEnumLinks - All links associated with an assessment ExpandEnumLinks ExpandEnum = "links" // ExpandEnumMetadata - Assessment metadata ExpandEnumMetadata ExpandEnum = "metadata" )
func PossibleExpandEnumValues ¶
func PossibleExpandEnumValues() []ExpandEnum
PossibleExpandEnumValues returns the possible values for the ExpandEnum const type.
type ExportData ¶
type ExportData string
const ( // ExportDataRawEvents - Agent raw events ExportDataRawEvents ExportData = "RawEvents" )
func PossibleExportDataValues ¶
func PossibleExportDataValues() []ExportData
PossibleExportDataValues returns the possible values for the ExportData const type.
type Extension ¶
type Extension struct {
// REQUIRED; Indicates whether the extension is enabled.
IsEnabled *IsEnabled
// REQUIRED; The extension name. Supported values are:
// AgentlessDiscoveryForKubernetes - API-based discovery of information about Kubernetes cluster architecture, workload objects,
// and setup. Required for Kubernetes inventory, identity and network
// exposure detection, attack path analysis and risk hunting as part of the cloud security explorer. Available for CloudPosture
// plan.
// OnUploadMalwareScanning - Limits the GB to be scanned per month for each storage account within the subscription. Once
// this limit reached on a given storage account, Blobs won't be scanned during
// current calendar month. Available for StorageAccounts plan.
// SensitiveDataDiscovery - Sensitive data discovery identifies Blob storage container with sensitive data such as credentials,
// credit cards, and more, to help prioritize and investigate security events.
// Available for StorageAccounts and CloudPosture plans.
// ContainerRegistriesVulnerabilityAssessments - Provides vulnerability management for images stored in your container registries.
// Available for CloudPosture and Containers plans.
Name *string
// Property values associated with the extension.
AdditionalExtensionProperties map[string]any
// READ-ONLY; Optional. A status describing the success/failure of the extension's enablement/disablement operation.
OperationStatus *OperationStatusAutoGenerated
}
Extension - A plan's extension properties
func (Extension) MarshalJSON ¶
MarshalJSON implements the json.Marshaller interface for type Extension.
func (*Extension) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaller interface for type Extension.
type ExternalSecuritySolution ¶
type ExternalSecuritySolution struct {
// REQUIRED; The kind of the external solution
Kind *ExternalSecuritySolutionKind
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Location where the resource is stored
Location *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Resource type
Type *string
}
ExternalSecuritySolution - Represents a security solution external to Microsoft Defender for Cloud which sends information to an OMS workspace and whose data is displayed by Microsoft Defender for Cloud.
func (*ExternalSecuritySolution) GetExternalSecuritySolution ¶
func (e *ExternalSecuritySolution) GetExternalSecuritySolution() *ExternalSecuritySolution
GetExternalSecuritySolution implements the ExternalSecuritySolutionClassification interface for type ExternalSecuritySolution.
func (ExternalSecuritySolution) MarshalJSON ¶
func (e ExternalSecuritySolution) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ExternalSecuritySolution.
func (*ExternalSecuritySolution) UnmarshalJSON ¶
func (e *ExternalSecuritySolution) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ExternalSecuritySolution.
type ExternalSecuritySolutionClassification ¶
type ExternalSecuritySolutionClassification interface {
// GetExternalSecuritySolution returns the ExternalSecuritySolution content of the underlying type.
GetExternalSecuritySolution() *ExternalSecuritySolution
}
ExternalSecuritySolutionClassification provides polymorphic access to related types. Call the interface's GetExternalSecuritySolution() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AADExternalSecuritySolution, *AtaExternalSecuritySolution, *CefExternalSecuritySolution, *ExternalSecuritySolution
type ExternalSecuritySolutionKind ¶
type ExternalSecuritySolutionKind string
ExternalSecuritySolutionKind - The kind of the external solution
const ( ExternalSecuritySolutionKindAAD ExternalSecuritySolutionKind = "AAD" ExternalSecuritySolutionKindATA ExternalSecuritySolutionKind = "ATA" ExternalSecuritySolutionKindCEF ExternalSecuritySolutionKind = "CEF" )
func PossibleExternalSecuritySolutionKindValues ¶
func PossibleExternalSecuritySolutionKindValues() []ExternalSecuritySolutionKind
PossibleExternalSecuritySolutionKindValues returns the possible values for the ExternalSecuritySolutionKind const type.
type ExternalSecuritySolutionList ¶
type ExternalSecuritySolutionList struct {
Value []ExternalSecuritySolutionClassification
// READ-ONLY; The URI to fetch the next page.
NextLink *string
}
func (ExternalSecuritySolutionList) MarshalJSON ¶
func (e ExternalSecuritySolutionList) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ExternalSecuritySolutionList.
func (*ExternalSecuritySolutionList) UnmarshalJSON ¶
func (e *ExternalSecuritySolutionList) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ExternalSecuritySolutionList.
type ExternalSecuritySolutionProperties ¶
type ExternalSecuritySolutionProperties struct {
// OPTIONAL; Contains additional key/value pairs not defined in the schema.
AdditionalProperties map[string]any
DeviceType *string
DeviceVendor *string
// Represents an OMS workspace to which the solution is connected
Workspace *ConnectedWorkspace
}
ExternalSecuritySolutionProperties - The solution properties (correspond to the solution kind)
func (ExternalSecuritySolutionProperties) MarshalJSON ¶
func (e ExternalSecuritySolutionProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ExternalSecuritySolutionProperties.
func (*ExternalSecuritySolutionProperties) UnmarshalJSON ¶
func (e *ExternalSecuritySolutionProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ExternalSecuritySolutionProperties.
type ExternalSecuritySolutionsClient ¶
type ExternalSecuritySolutionsClient struct {
// contains filtered or unexported fields
}
ExternalSecuritySolutionsClient contains the methods for the ExternalSecuritySolutions group. Don't use this type directly, use NewExternalSecuritySolutionsClient() instead.
func NewExternalSecuritySolutionsClient ¶
func NewExternalSecuritySolutionsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ExternalSecuritySolutionsClient, error)
NewExternalSecuritySolutionsClient creates a new instance of ExternalSecuritySolutionsClient with the specified values.
- subscriptionID - Azure subscription ID
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*ExternalSecuritySolutionsClient) Get ¶
func (client *ExternalSecuritySolutionsClient) Get(ctx context.Context, resourceGroupName string, ascLocation string, externalSecuritySolutionsName string, options *ExternalSecuritySolutionsClientGetOptions) (ExternalSecuritySolutionsClientGetResponse, error)
Get - Gets a specific external Security Solution. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2020-01-01
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- ascLocation - The location where ASC stores the data of the subscription. can be retrieved from Get locations
- externalSecuritySolutionsName - Name of an external security solution.
- options - ExternalSecuritySolutionsClientGetOptions contains the optional parameters for the ExternalSecuritySolutionsClient.Get method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ExternalSecuritySolutions/GetExternalSecuritySolution_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewExternalSecuritySolutionsClient().Get(ctx, "defaultresourcegroup-eus", "centralus", "aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-eus", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armsecurity.ExternalSecuritySolutionsClientGetResponse{
// ExternalSecuritySolutionClassification: &armsecurity.AADExternalSecuritySolution{
// Location: to.Ptr("eastus"),
// Name: to.Ptr("aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-eus"),
// Type: to.Ptr("Microsoft.Security/locations/externalSecuritySolutions"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/defaultresourcegroup-eus/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-eus"),
// Kind: to.Ptr(armsecurity.ExternalSecuritySolutionKindAAD),
// Properties: &armsecurity.AADSolutionProperties{
// DeviceType: to.Ptr("Azure Active Directory Identity Protection"),
// DeviceVendor: to.Ptr("Microsoft"),
// Workspace: &armsecurity.ConnectedWorkspace{
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/defaultresourcegroup-eus/providers/Microsoft.OperationalInsights/workspaces/defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-eus"),
// },
// AdditionalProperties: map[string]any{
// "connectivityState": "Discovered",
// },
// },
// },
// }
}
func (*ExternalSecuritySolutionsClient) NewListByHomeRegionPager ¶
func (client *ExternalSecuritySolutionsClient) NewListByHomeRegionPager(ascLocation string, options *ExternalSecuritySolutionsClientListByHomeRegionOptions) *runtime.Pager[ExternalSecuritySolutionsClientListByHomeRegionResponse]
NewListByHomeRegionPager - Gets a list of external Security Solutions for the subscription and location.
Generated from API version 2020-01-01
- ascLocation - The location where ASC stores the data of the subscription. can be retrieved from Get locations
- options - ExternalSecuritySolutionsClientListByHomeRegionOptions contains the optional parameters for the ExternalSecuritySolutionsClient.NewListByHomeRegionPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ExternalSecuritySolutions/GetExternalSecuritySolutionsSubscriptionLocation_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewExternalSecuritySolutionsClient().NewListByHomeRegionPager("centralus", nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.ExternalSecuritySolutionList = armsecurity.ExternalSecuritySolutionList{
// Value: []armsecurity.ExternalSecuritySolutionClassification{
// &armsecurity.AADExternalSecuritySolution{
// Location: to.Ptr("eastus"),
// Name: to.Ptr("aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-eus"),
// Type: to.Ptr("Microsoft.Security/locations/externalSecuritySolutions"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/defaultresourcegroup-eus/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-eus"),
// Kind: to.Ptr(armsecurity.ExternalSecuritySolutionKindAAD),
// Properties: &armsecurity.AADSolutionProperties{
// DeviceType: to.Ptr("Azure Active Directory Identity Protection"),
// DeviceVendor: to.Ptr("Microsoft"),
// Workspace: &armsecurity.ConnectedWorkspace{
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/defaultresourcegroup-eus/providers/Microsoft.OperationalInsights/workspaces/defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-eus"),
// },
// AdditionalProperties: map[string]any{
// "connectivityState": "Discovered",
// },
// },
// },
// &armsecurity.AADExternalSecuritySolution{
// Location: to.Ptr("westeurope"),
// Name: to.Ptr("aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-weu"),
// Type: to.Ptr("Microsoft.Security/locations/externalSecuritySolutions"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/defaultresourcegroup-weu/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-weu"),
// Kind: to.Ptr(armsecurity.ExternalSecuritySolutionKindAAD),
// Properties: &armsecurity.AADSolutionProperties{
// DeviceType: to.Ptr("Azure Active Directory Identity Protection"),
// DeviceVendor: to.Ptr("Microsoft"),
// Workspace: &armsecurity.ConnectedWorkspace{
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/defaultresourcegroup-weu/providers/Microsoft.OperationalInsights/workspaces/defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-weu"),
// },
// AdditionalProperties: map[string]any{
// "connectivityState": "Discovered",
// },
// },
// },
// &armsecurity.CefExternalSecuritySolution{
// Location: to.Ptr("westcentralus"),
// Name: to.Ptr("cef_omsprd_barracudanetworks_waf_barracuda"),
// Type: to.Ptr("Microsoft.Security/locations/externalSecuritySolutions"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/unificationprod/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/cef_omsprd_barracudanetworks_waf_barracuda"),
// Kind: to.Ptr(armsecurity.ExternalSecuritySolutionKindCEF),
// Properties: &armsecurity.CefSolutionProperties{
// DeviceType: to.Ptr("WAF"),
// DeviceVendor: to.Ptr("barracudanetworks"),
// Workspace: &armsecurity.ConnectedWorkspace{
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/unificationprod/providers/Microsoft.OperationalInsights/workspaces/omsprd"),
// },
// Hostname: to.Ptr("barracuda"),
// LastEventReceived: to.Ptr("2018-05-09T10:30:11.523Z"),
// },
// },
// &armsecurity.CefExternalSecuritySolution{
// Location: to.Ptr("westcentralus"),
// Name: to.Ptr("cef_omsprd_virtualhoneypot_Microsoft_demovm20"),
// Type: to.Ptr("Microsoft.Security/locations/externalSecuritySolutions"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/unificationprod/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/cef_omsprd_virtualhoneypot_Microsoft_demovm20"),
// Kind: to.Ptr(armsecurity.ExternalSecuritySolutionKindCEF),
// Properties: &armsecurity.CefSolutionProperties{
// DeviceType: to.Ptr("Microsoft"),
// DeviceVendor: to.Ptr("virtualHoneypot"),
// Workspace: &armsecurity.ConnectedWorkspace{
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/unificationprod/providers/Microsoft.OperationalInsights/workspaces/omsprd"),
// },
// Hostname: to.Ptr("demovm20"),
// LastEventReceived: to.Ptr("2018-05-08T15:42:22.57Z"),
// },
// },
// &armsecurity.CefExternalSecuritySolution{
// Location: to.Ptr("westcentralus"),
// Name: to.Ptr("cef_omsprd_virtualhoneypot_Microsoft_demovm10"),
// Type: to.Ptr("Microsoft.Security/locations/externalSecuritySolutions"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/unificationprod/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/cef_omsprd_virtualhoneypot_Microsoft_demovm10"),
// Kind: to.Ptr(armsecurity.ExternalSecuritySolutionKindCEF),
// Properties: &armsecurity.CefSolutionProperties{
// DeviceType: to.Ptr("Microsoft"),
// DeviceVendor: to.Ptr("virtualHoneypot"),
// Workspace: &armsecurity.ConnectedWorkspace{
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/unificationprod/providers/Microsoft.OperationalInsights/workspaces/omsprd"),
// },
// Hostname: to.Ptr("demovm10"),
// LastEventReceived: to.Ptr("2018-05-08T10:38:53.423Z"),
// },
// },
// &armsecurity.AADExternalSecuritySolution{
// Location: to.Ptr("westcentralus"),
// Name: to.Ptr("aad_omsprd"),
// Type: to.Ptr("Microsoft.Security/locations/externalSecuritySolutions"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/unificationprod/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/aad_omsprd"),
// Kind: to.Ptr(armsecurity.ExternalSecuritySolutionKindAAD),
// Properties: &armsecurity.AADSolutionProperties{
// DeviceType: to.Ptr("Azure Active Directory Identity Protection"),
// DeviceVendor: to.Ptr("Microsoft"),
// Workspace: &armsecurity.ConnectedWorkspace{
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/unificationprod/providers/Microsoft.OperationalInsights/workspaces/omsprd"),
// },
// AdditionalProperties: map[string]any{
// "connectivityState": "Discovered",
// },
// },
// },
// &armsecurity.AADExternalSecuritySolution{
// Location: to.Ptr("japaneast"),
// Name: to.Ptr("aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-ejp"),
// Type: to.Ptr("Microsoft.Security/locations/externalSecuritySolutions"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/defaultresourcegroup-ejp/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-ejp"),
// Kind: to.Ptr(armsecurity.ExternalSecuritySolutionKindAAD),
// Properties: &armsecurity.AADSolutionProperties{
// DeviceType: to.Ptr("Azure Active Directory Identity Protection"),
// DeviceVendor: to.Ptr("Microsoft"),
// Workspace: &armsecurity.ConnectedWorkspace{
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/defaultresourcegroup-ejp/providers/Microsoft.OperationalInsights/workspaces/defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-ejp"),
// },
// AdditionalProperties: map[string]any{
// "connectivityState": "Discovered",
// },
// },
// }},
// }
}
}
func (*ExternalSecuritySolutionsClient) NewListPager ¶
func (client *ExternalSecuritySolutionsClient) NewListPager(options *ExternalSecuritySolutionsClientListOptions) *runtime.Pager[ExternalSecuritySolutionsClientListResponse]
NewListPager - Gets a list of external security solutions for the subscription.
Generated from API version 2020-01-01
- options - ExternalSecuritySolutionsClientListOptions contains the optional parameters for the ExternalSecuritySolutionsClient.NewListPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ExternalSecuritySolutions/GetExternalSecuritySolutionsSubscription_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewExternalSecuritySolutionsClient().NewListPager(nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.ExternalSecuritySolutionList = armsecurity.ExternalSecuritySolutionList{
// Value: []armsecurity.ExternalSecuritySolutionClassification{
// &armsecurity.AADExternalSecuritySolution{
// Location: to.Ptr("eastus"),
// Name: to.Ptr("aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-eus"),
// Type: to.Ptr("Microsoft.Security/locations/externalSecuritySolutions"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/defaultresourcegroup-eus/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-eus"),
// Kind: to.Ptr(armsecurity.ExternalSecuritySolutionKindAAD),
// Properties: &armsecurity.AADSolutionProperties{
// DeviceType: to.Ptr("Azure Active Directory Identity Protection"),
// DeviceVendor: to.Ptr("Microsoft"),
// Workspace: &armsecurity.ConnectedWorkspace{
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/defaultresourcegroup-eus/providers/Microsoft.OperationalInsights/workspaces/defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-eus"),
// },
// AdditionalProperties: map[string]any{
// "connectivityState": "Discovered",
// },
// },
// },
// &armsecurity.AADExternalSecuritySolution{
// Location: to.Ptr("westeurope"),
// Name: to.Ptr("aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-weu"),
// Type: to.Ptr("Microsoft.Security/locations/externalSecuritySolutions"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/defaultresourcegroup-weu/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-weu"),
// Kind: to.Ptr(armsecurity.ExternalSecuritySolutionKindAAD),
// Properties: &armsecurity.AADSolutionProperties{
// DeviceType: to.Ptr("Azure Active Directory Identity Protection"),
// DeviceVendor: to.Ptr("Microsoft"),
// Workspace: &armsecurity.ConnectedWorkspace{
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/defaultresourcegroup-weu/providers/Microsoft.OperationalInsights/workspaces/defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-weu"),
// },
// AdditionalProperties: map[string]any{
// "connectivityState": "Discovered",
// },
// },
// },
// &armsecurity.CefExternalSecuritySolution{
// Location: to.Ptr("westcentralus"),
// Name: to.Ptr("cef_omsprd_barracudanetworks_waf_barracuda"),
// Type: to.Ptr("Microsoft.Security/locations/externalSecuritySolutions"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/unificationprod/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/cef_omsprd_barracudanetworks_waf_barracuda"),
// Kind: to.Ptr(armsecurity.ExternalSecuritySolutionKindCEF),
// Properties: &armsecurity.CefSolutionProperties{
// DeviceType: to.Ptr("WAF"),
// DeviceVendor: to.Ptr("barracudanetworks"),
// Workspace: &armsecurity.ConnectedWorkspace{
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/unificationprod/providers/Microsoft.OperationalInsights/workspaces/omsprd"),
// },
// Hostname: to.Ptr("barracuda"),
// LastEventReceived: to.Ptr("2018-05-09T10:30:11.523Z"),
// },
// },
// &armsecurity.CefExternalSecuritySolution{
// Location: to.Ptr("westcentralus"),
// Name: to.Ptr("cef_omsprd_virtualhoneypot_Microsoft_demovm20"),
// Type: to.Ptr("Microsoft.Security/locations/externalSecuritySolutions"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/unificationprod/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/cef_omsprd_virtualhoneypot_Microsoft_demovm20"),
// Kind: to.Ptr(armsecurity.ExternalSecuritySolutionKindCEF),
// Properties: &armsecurity.CefSolutionProperties{
// DeviceType: to.Ptr("Microsoft"),
// DeviceVendor: to.Ptr("virtualHoneypot"),
// Workspace: &armsecurity.ConnectedWorkspace{
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/unificationprod/providers/Microsoft.OperationalInsights/workspaces/omsprd"),
// },
// Hostname: to.Ptr("demovm20"),
// LastEventReceived: to.Ptr("2018-05-08T15:42:22.57Z"),
// },
// },
// &armsecurity.CefExternalSecuritySolution{
// Location: to.Ptr("westcentralus"),
// Name: to.Ptr("cef_omsprd_virtualhoneypot_Microsoft_demovm10"),
// Type: to.Ptr("Microsoft.Security/locations/externalSecuritySolutions"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/unificationprod/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/cef_omsprd_virtualhoneypot_Microsoft_demovm10"),
// Kind: to.Ptr(armsecurity.ExternalSecuritySolutionKindCEF),
// Properties: &armsecurity.CefSolutionProperties{
// DeviceType: to.Ptr("Microsoft"),
// DeviceVendor: to.Ptr("virtualHoneypot"),
// Workspace: &armsecurity.ConnectedWorkspace{
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/unificationprod/providers/Microsoft.OperationalInsights/workspaces/omsprd"),
// },
// Hostname: to.Ptr("demovm10"),
// LastEventReceived: to.Ptr("2018-05-08T10:38:53.423Z"),
// },
// },
// &armsecurity.AADExternalSecuritySolution{
// Location: to.Ptr("westcentralus"),
// Name: to.Ptr("aad_omsprd"),
// Type: to.Ptr("Microsoft.Security/locations/externalSecuritySolutions"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/unificationprod/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/aad_omsprd"),
// Kind: to.Ptr(armsecurity.ExternalSecuritySolutionKindAAD),
// Properties: &armsecurity.AADSolutionProperties{
// DeviceType: to.Ptr("Azure Active Directory Identity Protection"),
// DeviceVendor: to.Ptr("Microsoft"),
// Workspace: &armsecurity.ConnectedWorkspace{
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/unificationprod/providers/Microsoft.OperationalInsights/workspaces/omsprd"),
// },
// AdditionalProperties: map[string]any{
// "connectivityState": "Discovered",
// },
// },
// },
// &armsecurity.AADExternalSecuritySolution{
// Location: to.Ptr("japaneast"),
// Name: to.Ptr("aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-ejp"),
// Type: to.Ptr("Microsoft.Security/locations/externalSecuritySolutions"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/defaultresourcegroup-ejp/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-ejp"),
// Kind: to.Ptr(armsecurity.ExternalSecuritySolutionKindAAD),
// Properties: &armsecurity.AADSolutionProperties{
// DeviceType: to.Ptr("Azure Active Directory Identity Protection"),
// DeviceVendor: to.Ptr("Microsoft"),
// Workspace: &armsecurity.ConnectedWorkspace{
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/defaultresourcegroup-ejp/providers/Microsoft.OperationalInsights/workspaces/defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-ejp"),
// },
// AdditionalProperties: map[string]any{
// "connectivityState": "Discovered",
// },
// },
// }},
// }
}
}
type ExternalSecuritySolutionsClientGetOptions ¶
type ExternalSecuritySolutionsClientGetOptions struct {
}
ExternalSecuritySolutionsClientGetOptions contains the optional parameters for the ExternalSecuritySolutionsClient.Get method.
type ExternalSecuritySolutionsClientGetResponse ¶
type ExternalSecuritySolutionsClientGetResponse struct {
// Represents a security solution external to Microsoft Defender for Cloud which sends information to an OMS workspace and
// whose data is displayed by Microsoft Defender for Cloud.
ExternalSecuritySolutionClassification
}
ExternalSecuritySolutionsClientGetResponse contains the response from method ExternalSecuritySolutionsClient.Get.
func (*ExternalSecuritySolutionsClientGetResponse) UnmarshalJSON ¶
func (e *ExternalSecuritySolutionsClientGetResponse) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ExternalSecuritySolutionsClientGetResponse.
type ExternalSecuritySolutionsClientListByHomeRegionOptions ¶
type ExternalSecuritySolutionsClientListByHomeRegionOptions struct {
}
ExternalSecuritySolutionsClientListByHomeRegionOptions contains the optional parameters for the ExternalSecuritySolutionsClient.NewListByHomeRegionPager method.
type ExternalSecuritySolutionsClientListByHomeRegionResponse ¶
type ExternalSecuritySolutionsClientListByHomeRegionResponse struct {
ExternalSecuritySolutionList
}
ExternalSecuritySolutionsClientListByHomeRegionResponse contains the response from method ExternalSecuritySolutionsClient.NewListByHomeRegionPager.
type ExternalSecuritySolutionsClientListOptions ¶
type ExternalSecuritySolutionsClientListOptions struct {
}
ExternalSecuritySolutionsClientListOptions contains the optional parameters for the ExternalSecuritySolutionsClient.NewListPager method.
type ExternalSecuritySolutionsClientListResponse ¶
type ExternalSecuritySolutionsClientListResponse struct {
ExternalSecuritySolutionList
}
ExternalSecuritySolutionsClientListResponse contains the response from method ExternalSecuritySolutionsClient.NewListPager.
type FailedLocalLoginsNotInAllowedRange ¶
type FailedLocalLoginsNotInAllowedRange struct {
// REQUIRED; Status of the custom alert.
IsEnabled *bool
// REQUIRED; The maximum threshold.
MaxThreshold *int32
// REQUIRED; The minimum threshold.
MinThreshold *int32
// REQUIRED; The type of the custom alert rule.
RuleType *string
// REQUIRED; The time window size in iso8601 format.
TimeWindowSize *string
// READ-ONLY; The description of the custom alert.
Description *string
// READ-ONLY; The display name of the custom alert.
DisplayName *string
}
FailedLocalLoginsNotInAllowedRange - Number of failed local logins is not in allowed range.
func (*FailedLocalLoginsNotInAllowedRange) GetCustomAlertRule ¶
func (f *FailedLocalLoginsNotInAllowedRange) GetCustomAlertRule() *CustomAlertRule
GetCustomAlertRule implements the CustomAlertRuleClassification interface for type FailedLocalLoginsNotInAllowedRange.
func (*FailedLocalLoginsNotInAllowedRange) GetThresholdCustomAlertRule ¶
func (f *FailedLocalLoginsNotInAllowedRange) GetThresholdCustomAlertRule() *ThresholdCustomAlertRule
GetThresholdCustomAlertRule implements the ThresholdCustomAlertRuleClassification interface for type FailedLocalLoginsNotInAllowedRange.
func (*FailedLocalLoginsNotInAllowedRange) GetTimeWindowCustomAlertRule ¶
func (f *FailedLocalLoginsNotInAllowedRange) GetTimeWindowCustomAlertRule() *TimeWindowCustomAlertRule
GetTimeWindowCustomAlertRule implements the TimeWindowCustomAlertRuleClassification interface for type FailedLocalLoginsNotInAllowedRange.
func (FailedLocalLoginsNotInAllowedRange) MarshalJSON ¶
func (f FailedLocalLoginsNotInAllowedRange) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type FailedLocalLoginsNotInAllowedRange.
func (*FailedLocalLoginsNotInAllowedRange) UnmarshalJSON ¶
func (f *FailedLocalLoginsNotInAllowedRange) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type FailedLocalLoginsNotInAllowedRange.
type FileType ¶
type FileType string
FileType - The type of the file (for Linux files - Executable is used)
func PossibleFileTypeValues ¶
func PossibleFileTypeValues() []FileType
PossibleFileTypeValues returns the possible values for the FileType const type.
type FileUploadsNotInAllowedRange ¶
type FileUploadsNotInAllowedRange struct {
// REQUIRED; Status of the custom alert.
IsEnabled *bool
// REQUIRED; The maximum threshold.
MaxThreshold *int32
// REQUIRED; The minimum threshold.
MinThreshold *int32
// REQUIRED; The type of the custom alert rule.
RuleType *string
// REQUIRED; The time window size in iso8601 format.
TimeWindowSize *string
// READ-ONLY; The description of the custom alert.
Description *string
// READ-ONLY; The display name of the custom alert.
DisplayName *string
}
FileUploadsNotInAllowedRange - Number of file uploads is not in allowed range.
func (*FileUploadsNotInAllowedRange) GetCustomAlertRule ¶
func (f *FileUploadsNotInAllowedRange) GetCustomAlertRule() *CustomAlertRule
GetCustomAlertRule implements the CustomAlertRuleClassification interface for type FileUploadsNotInAllowedRange.
func (*FileUploadsNotInAllowedRange) GetThresholdCustomAlertRule ¶
func (f *FileUploadsNotInAllowedRange) GetThresholdCustomAlertRule() *ThresholdCustomAlertRule
GetThresholdCustomAlertRule implements the ThresholdCustomAlertRuleClassification interface for type FileUploadsNotInAllowedRange.
func (*FileUploadsNotInAllowedRange) GetTimeWindowCustomAlertRule ¶
func (f *FileUploadsNotInAllowedRange) GetTimeWindowCustomAlertRule() *TimeWindowCustomAlertRule
GetTimeWindowCustomAlertRule implements the TimeWindowCustomAlertRuleClassification interface for type FileUploadsNotInAllowedRange.
func (FileUploadsNotInAllowedRange) MarshalJSON ¶
func (f FileUploadsNotInAllowedRange) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type FileUploadsNotInAllowedRange.
func (*FileUploadsNotInAllowedRange) UnmarshalJSON ¶
func (f *FileUploadsNotInAllowedRange) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type FileUploadsNotInAllowedRange.
type GcpCredentialsDetailsProperties ¶
type GcpCredentialsDetailsProperties struct {
// REQUIRED; Auth provider x509 certificate URL field of the API key (write only)
AuthProviderX509CertURL *string
// REQUIRED; Auth URI field of the API key (write only)
AuthURI *string
// REQUIRED; Connect to your cloud account, for AWS use either account credentials or role-based authentication. For GCP use
// account organization credentials.
AuthenticationType *AuthenticationType
// REQUIRED; Client email field of the API key (write only)
ClientEmail *string
// REQUIRED; Client ID field of the API key (write only)
ClientID *string
// REQUIRED; Client x509 certificate URL field of the API key (write only)
ClientX509CertURL *string
// REQUIRED; The organization ID of the GCP cloud account
OrganizationID *string
// REQUIRED; Private key field of the API key (write only)
PrivateKey *string
// REQUIRED; Private key ID field of the API key (write only)
PrivateKeyID *string
// REQUIRED; Project ID field of the API key (write only)
ProjectID *string
// REQUIRED; Token URI field of the API key (write only)
TokenURI *string
// REQUIRED; Type field of the API key (write only)
Type *string
// READ-ONLY; State of the multi-cloud connector
AuthenticationProvisioningState *AuthenticationProvisioningState
// READ-ONLY; The permissions detected in the cloud account.
GrantedPermissions []*PermissionProperty
}
GcpCredentialsDetailsProperties - GCP cloud account connector based service to service credentials, the credentials are composed of the organization ID and a JSON API key (write only)
func (*GcpCredentialsDetailsProperties) GetAuthenticationDetailsProperties ¶
func (g *GcpCredentialsDetailsProperties) GetAuthenticationDetailsProperties() *AuthenticationDetailsProperties
GetAuthenticationDetailsProperties implements the AuthenticationDetailsPropertiesClassification interface for type GcpCredentialsDetailsProperties.
func (GcpCredentialsDetailsProperties) MarshalJSON ¶
func (g GcpCredentialsDetailsProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type GcpCredentialsDetailsProperties.
func (*GcpCredentialsDetailsProperties) UnmarshalJSON ¶
func (g *GcpCredentialsDetailsProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type GcpCredentialsDetailsProperties.
type GcpOrganizationalData ¶
type GcpOrganizationalData struct {
// REQUIRED; The multi cloud account's membership type in the organization
OrganizationMembershipType *OrganizationMembershipType
}
GcpOrganizationalData - The gcpOrganization data
func (*GcpOrganizationalData) GetGcpOrganizationalData ¶
func (g *GcpOrganizationalData) GetGcpOrganizationalData() *GcpOrganizationalData
GetGcpOrganizationalData implements the GcpOrganizationalDataClassification interface for type GcpOrganizationalData.
func (GcpOrganizationalData) MarshalJSON ¶
func (g GcpOrganizationalData) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type GcpOrganizationalData.
func (*GcpOrganizationalData) UnmarshalJSON ¶
func (g *GcpOrganizationalData) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type GcpOrganizationalData.
type GcpOrganizationalDataClassification ¶
type GcpOrganizationalDataClassification interface {
// GetGcpOrganizationalData returns the GcpOrganizationalData content of the underlying type.
GetGcpOrganizationalData() *GcpOrganizationalData
}
GcpOrganizationalDataClassification provides polymorphic access to related types. Call the interface's GetGcpOrganizationalData() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *GcpOrganizationalData, *GcpOrganizationalDataMember, *GcpOrganizationalDataOrganization
type GcpOrganizationalDataMember ¶
type GcpOrganizationalDataMember struct {
// REQUIRED; The multi cloud account's membership type in the organization
OrganizationMembershipType *OrganizationMembershipType
// The GCP management project number from organizational onboarding
ManagementProjectNumber *string
// If the multi cloud account is not of membership type organization, this will be the ID of the project's parent
ParentHierarchyID *string
}
GcpOrganizationalDataMember - The gcpOrganization data for the member account
func (*GcpOrganizationalDataMember) GetGcpOrganizationalData ¶
func (g *GcpOrganizationalDataMember) GetGcpOrganizationalData() *GcpOrganizationalData
GetGcpOrganizationalData implements the GcpOrganizationalDataClassification interface for type GcpOrganizationalDataMember.
func (GcpOrganizationalDataMember) MarshalJSON ¶
func (g GcpOrganizationalDataMember) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type GcpOrganizationalDataMember.
func (*GcpOrganizationalDataMember) UnmarshalJSON ¶
func (g *GcpOrganizationalDataMember) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type GcpOrganizationalDataMember.
type GcpOrganizationalDataOrganization ¶
type GcpOrganizationalDataOrganization struct {
// REQUIRED; The multi cloud account's membership type in the organization
OrganizationMembershipType *OrganizationMembershipType
// If the multi cloud account is of membership type organization, list of accounts excluded from offering
ExcludedProjectNumbers []*string
// The service account email address which represents the organization level permissions container.
ServiceAccountEmailAddress *string
// The GCP workload identity provider id which represents the permissions required to auto provision security connectors
WorkloadIdentityProviderID *string
// READ-ONLY; GCP organization name
OrganizationName *string
}
GcpOrganizationalDataOrganization - The gcpOrganization data for the parent account
func (*GcpOrganizationalDataOrganization) GetGcpOrganizationalData ¶
func (g *GcpOrganizationalDataOrganization) GetGcpOrganizationalData() *GcpOrganizationalData
GetGcpOrganizationalData implements the GcpOrganizationalDataClassification interface for type GcpOrganizationalDataOrganization.
func (GcpOrganizationalDataOrganization) MarshalJSON ¶
func (g GcpOrganizationalDataOrganization) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type GcpOrganizationalDataOrganization.
func (*GcpOrganizationalDataOrganization) UnmarshalJSON ¶
func (g *GcpOrganizationalDataOrganization) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type GcpOrganizationalDataOrganization.
type GcpProjectDetails ¶
type GcpProjectDetails struct {
// The GCP Project id
ProjectID *string
// The unique GCP Project number
ProjectNumber *string
// READ-ONLY; GCP project name
ProjectName *string
// READ-ONLY; The GCP workload identity federation pool id
WorkloadIdentityPoolID *string
}
GcpProjectDetails - The details about the project represented by the security connector
func (GcpProjectDetails) MarshalJSON ¶
func (g GcpProjectDetails) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type GcpProjectDetails.
func (*GcpProjectDetails) UnmarshalJSON ¶
func (g *GcpProjectDetails) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type GcpProjectDetails.
type GcpProjectEnvironmentData ¶
type GcpProjectEnvironmentData struct {
// REQUIRED; The type of the environment data.
EnvironmentType *EnvironmentType
// The Gcp project's organizational data
OrganizationalData GcpOrganizationalDataClassification
// The Gcp project's details
ProjectDetails *GcpProjectDetails
// Scan interval in hours (value should be between 1-hour to 24-hours)
ScanInterval *int64
}
GcpProjectEnvironmentData - The GCP project connector environment data
func (*GcpProjectEnvironmentData) GetEnvironmentData ¶
func (g *GcpProjectEnvironmentData) GetEnvironmentData() *EnvironmentData
GetEnvironmentData implements the EnvironmentDataClassification interface for type GcpProjectEnvironmentData.
func (GcpProjectEnvironmentData) MarshalJSON ¶
func (g GcpProjectEnvironmentData) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type GcpProjectEnvironmentData.
func (*GcpProjectEnvironmentData) UnmarshalJSON ¶
func (g *GcpProjectEnvironmentData) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type GcpProjectEnvironmentData.
type GetSensitivitySettingsListResponse ¶
type GetSensitivitySettingsListResponse struct {
Value []*GetSensitivitySettingsResponse
}
GetSensitivitySettingsListResponse - A list with a single sensitivity settings resource
func (GetSensitivitySettingsListResponse) MarshalJSON ¶
func (g GetSensitivitySettingsListResponse) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type GetSensitivitySettingsListResponse.
func (*GetSensitivitySettingsListResponse) UnmarshalJSON ¶
func (g *GetSensitivitySettingsListResponse) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type GetSensitivitySettingsListResponse.
type GetSensitivitySettingsResponse ¶
type GetSensitivitySettingsResponse struct {
// The sensitivity settings properties
Properties *GetSensitivitySettingsResponseProperties
// READ-ONLY; The ID of the sensitivity settings
ID *string
// READ-ONLY; The name of the sensitivity settings
Name *string
// READ-ONLY; The type of the sensitivity settings
Type *string
}
GetSensitivitySettingsResponse - Data sensitivity settings for sensitive data discovery
func (GetSensitivitySettingsResponse) MarshalJSON ¶
func (g GetSensitivitySettingsResponse) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type GetSensitivitySettingsResponse.
func (*GetSensitivitySettingsResponse) UnmarshalJSON ¶
func (g *GetSensitivitySettingsResponse) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type GetSensitivitySettingsResponse.
type GetSensitivitySettingsResponseProperties ¶
type GetSensitivitySettingsResponseProperties struct {
// Microsoft information protection built-in and custom information types, labels, and integration status.
MipInformation *GetSensitivitySettingsResponsePropertiesMipInformation
// List of selected sensitive info types' IDs.
SensitiveInfoTypesIDs []*string
// The id of the sensitivity threshold label. Any label at or above this rank will be considered sensitive.
SensitivityThresholdLabelID *string
// The order of the sensitivity threshold label. Any label at or above this order will be considered sensitive. If set to
// -1, sensitivity by labels is turned off
SensitivityThresholdLabelOrder *float32
}
GetSensitivitySettingsResponseProperties - The sensitivity settings properties
func (GetSensitivitySettingsResponseProperties) MarshalJSON ¶
func (g GetSensitivitySettingsResponseProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type GetSensitivitySettingsResponseProperties.
func (*GetSensitivitySettingsResponseProperties) UnmarshalJSON ¶
func (g *GetSensitivitySettingsResponseProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type GetSensitivitySettingsResponseProperties.
type GetSensitivitySettingsResponsePropertiesMipInformation ¶
type GetSensitivitySettingsResponsePropertiesMipInformation struct {
// List of pre-configured sensitive information types
BuiltInInfoTypes []*BuiltInInfoType
// List of custom user-defined information types
CustomInfoTypes []*InfoType
// List of Microsoft information protection sensitivity labels
Labels []*Label
// Microsoft information protection integration status
MipIntegrationStatus *MipIntegrationStatus
}
GetSensitivitySettingsResponsePropertiesMipInformation - Microsoft information protection built-in and custom information types, labels, and integration status.
func (GetSensitivitySettingsResponsePropertiesMipInformation) MarshalJSON ¶
func (g GetSensitivitySettingsResponsePropertiesMipInformation) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type GetSensitivitySettingsResponsePropertiesMipInformation.
func (*GetSensitivitySettingsResponsePropertiesMipInformation) UnmarshalJSON ¶
func (g *GetSensitivitySettingsResponsePropertiesMipInformation) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type GetSensitivitySettingsResponsePropertiesMipInformation.
type GitHubOwner ¶
type GitHubOwner struct {
// GitHub Owner properties.
Properties *GitHubOwnerProperties
// READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
ID *string
// READ-ONLY; The name of the resource
Name *string
// READ-ONLY; Metadata pertaining to creation and last modification of the resource.
SystemData *SystemData
// READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
Type *string
}
GitHubOwner - GitHub Owner resource.
func (GitHubOwner) MarshalJSON ¶
func (g GitHubOwner) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type GitHubOwner.
func (*GitHubOwner) UnmarshalJSON ¶
func (g *GitHubOwner) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type GitHubOwner.
type GitHubOwnerConfiguration ¶
type GitHubOwnerConfiguration struct {
// AutoDiscovery states.
AutoDiscovery *AutoDiscovery
// GitHub Repository Inventory Configuration. Dictionary of GitHub repository name to desired repository configuration. If
// AutoDiscovery is Enabled, this field should be null or empty.
RepositoryConfigs map[string]*BaseResourceConfiguration
}
GitHubOwnerConfiguration - GitHub Owner Inventory Configuration.
func (GitHubOwnerConfiguration) MarshalJSON ¶
func (g GitHubOwnerConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type GitHubOwnerConfiguration.
func (*GitHubOwnerConfiguration) UnmarshalJSON ¶
func (g *GitHubOwnerConfiguration) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type GitHubOwnerConfiguration.
type GitHubOwnerListResponse ¶
type GitHubOwnerListResponse struct {
// Gets or sets next link to scroll over the results.
NextLink *string
// Gets or sets list of resources.
Value []*GitHubOwner
}
GitHubOwnerListResponse - List of RP resources which supports pagination.
func (GitHubOwnerListResponse) MarshalJSON ¶
func (g GitHubOwnerListResponse) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type GitHubOwnerListResponse.
func (*GitHubOwnerListResponse) UnmarshalJSON ¶
func (g *GitHubOwnerListResponse) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type GitHubOwnerListResponse.
type GitHubOwnerProperties ¶
type GitHubOwnerProperties struct {
// Details about resource onboarding status across all connectors.
// OnboardedByOtherConnector - this resource has already been onboarded to another connector. This is only applicable to top-level
// resources. Onboarded - this resource has already been onboarded by the
// specified connector. NotOnboarded - this resource has not been onboarded to any connector. NotApplicable - the onboarding
// state is not applicable to the current endpoint.
OnboardingState *OnboardingState
// The provisioning state of the resource.
// Pending - Provisioning pending. Failed - Provisioning failed. Succeeded - Successful provisioning. Canceled - Provisioning
// canceled. PendingDeletion - Deletion pending. DeletionSuccess - Deletion
// successful. DeletionFailure - Deletion failure.
ProvisioningState *DevOpsProvisioningState
// READ-ONLY; Gets or sets internal GitHub id.
GitHubInternalID *string
// READ-ONLY; Gets or sets GitHub Owner url.
OwnerURL *string
// READ-ONLY; Gets or sets resource status message.
ProvisioningStatusMessage *string
// READ-ONLY; Gets or sets time when resource was last checked.
ProvisioningStatusUpdateTimeUTC *time.Time
}
GitHubOwnerProperties - GitHub Owner properties.
func (GitHubOwnerProperties) MarshalJSON ¶
func (g GitHubOwnerProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type GitHubOwnerProperties.
func (*GitHubOwnerProperties) UnmarshalJSON ¶
func (g *GitHubOwnerProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type GitHubOwnerProperties.
type GitHubOwnersClient ¶
type GitHubOwnersClient struct {
// contains filtered or unexported fields
}
GitHubOwnersClient contains the methods for the GitHubOwners group. Don't use this type directly, use NewGitHubOwnersClient() instead.
func NewGitHubOwnersClient ¶
func NewGitHubOwnersClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*GitHubOwnersClient, error)
NewGitHubOwnersClient creates a new instance of GitHubOwnersClient with the specified values.
- subscriptionID - Azure subscription ID
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*GitHubOwnersClient) Get ¶
func (client *GitHubOwnersClient) Get(ctx context.Context, resourceGroupName string, securityConnectorName string, ownerName string, options *GitHubOwnersClientGetOptions) (GitHubOwnersClientGetResponse, error)
Get - Returns a monitored GitHub owner. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2023-09-01-preview
- resourceGroupName - The name of the resource group. The name is case insensitive.
- securityConnectorName - The security connector name.
- ownerName - The GitHub owner name.
- options - GitHubOwnersClientGetOptions contains the optional parameters for the GitHubOwnersClient.Get method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-09-01-preview/examples/SecurityConnectorsDevOps/GetGitHubOwners_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewGitHubOwnersClient().Get(ctx, "myRg", "mySecurityConnectorName", "myGitHubOwner", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.GitHubOwner = armsecurity.GitHubOwner{
// Name: to.Ptr("myGitHubOwner"),
// Type: to.Ptr("Microsoft.Security/securityConnectors/devops/gitHubOwners"),
// ID: to.Ptr("/subscriptions/0806e1cd-cfda-4ff8-b99c-2b0af42cffd3/resourceGroups/myRg/providers/Microsoft.Security/securityConnectors/mySecurityConnectorName/devops/default/gitHubOwners/myGitHubOwner"),
// Properties: &armsecurity.GitHubOwnerProperties{
// OnboardingState: to.Ptr(armsecurity.OnboardingStateOnboarded),
// OwnerURL: to.Ptr("https://github.com/myGitHubOwner"),
// ProvisioningState: to.Ptr(armsecurity.DevOpsProvisioningStateSucceeded),
// },
// }
}
func (*GitHubOwnersClient) ListAvailable ¶
func (client *GitHubOwnersClient) ListAvailable(ctx context.Context, resourceGroupName string, securityConnectorName string, options *GitHubOwnersClientListAvailableOptions) (GitHubOwnersClientListAvailableResponse, error)
ListAvailable - Returns a list of all GitHub owners accessible by the user token consumed by the connector. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2023-09-01-preview
- resourceGroupName - The name of the resource group. The name is case insensitive.
- securityConnectorName - The security connector name.
- options - GitHubOwnersClientListAvailableOptions contains the optional parameters for the GitHubOwnersClient.ListAvailable method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-09-01-preview/examples/SecurityConnectorsDevOps/ListAvailableGitHubOwners_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewGitHubOwnersClient().ListAvailable(ctx, "myRg", "mySecurityConnectorName", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.GitHubOwnerListResponse = armsecurity.GitHubOwnerListResponse{
// Value: []*armsecurity.GitHubOwner{
// {
// Name: to.Ptr("myGitHubOwner"),
// Type: to.Ptr("Microsoft.Security/securityConnectors/devops/gitHubOwners"),
// ID: to.Ptr("/subscriptions/0806e1cd-cfda-4ff8-b99c-2b0af42cffd3/resourceGroups/myRg/providers/Microsoft.Security/securityConnectors/mySecurityConnectorName/devops/default/gitHubOwners/myGitHubOwner"),
// Properties: &armsecurity.GitHubOwnerProperties{
// OnboardingState: to.Ptr(armsecurity.OnboardingStateOnboarded),
// OwnerURL: to.Ptr("https://github.com/myGitHubOwner"),
// ProvisioningState: to.Ptr(armsecurity.DevOpsProvisioningStateSucceeded),
// },
// },
// {
// Name: to.Ptr("anotherGitHubOwner"),
// Type: to.Ptr("Microsoft.Security/securityConnectors/devops/gitHubOwners"),
// ID: to.Ptr("/subscriptions/0806e1cd-cfda-4ff8-b99c-2b0af42cffd3/resourceGroups/myRg/providers/Microsoft.Security/securityConnectors/mySecurityConnectorName/devops/default/gitHubOwners/anotherGitHubOwner"),
// Properties: &armsecurity.GitHubOwnerProperties{
// OnboardingState: to.Ptr(armsecurity.OnboardingStateOnboardedByOtherConnector),
// OwnerURL: to.Ptr("https://github.com/anotherGitHubOwner"),
// ProvisioningState: to.Ptr(armsecurity.DevOpsProvisioningStateSucceeded),
// },
// },
// {
// Name: to.Ptr("notOnboardedOwner"),
// Type: to.Ptr("Microsoft.Security/securityConnectors/devops/gitHubOwners"),
// ID: to.Ptr("/subscriptions/0806e1cd-cfda-4ff8-b99c-2b0af42cffd3/resourceGroups/myRg/providers/Microsoft.Security/securityConnectors/mySecurityConnectorName/devops/default/gitHubOwners/notOnboardedOwner"),
// Properties: &armsecurity.GitHubOwnerProperties{
// OnboardingState: to.Ptr(armsecurity.OnboardingStateNotOnboarded),
// OwnerURL: to.Ptr("https://github.com/notOnboardedOwner"),
// },
// }},
// }
}
func (*GitHubOwnersClient) NewListPager ¶
func (client *GitHubOwnersClient) NewListPager(resourceGroupName string, securityConnectorName string, options *GitHubOwnersClientListOptions) *runtime.Pager[GitHubOwnersClientListResponse]
NewListPager - Returns a list of GitHub owners onboarded to the connector.
Generated from API version 2023-09-01-preview
- resourceGroupName - The name of the resource group. The name is case insensitive.
- securityConnectorName - The security connector name.
- options - GitHubOwnersClientListOptions contains the optional parameters for the GitHubOwnersClient.NewListPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-09-01-preview/examples/SecurityConnectorsDevOps/ListGitHubOwners_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewGitHubOwnersClient().NewListPager("myRg", "mySecurityConnectorName", nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.GitHubOwnerListResponse = armsecurity.GitHubOwnerListResponse{
// Value: []*armsecurity.GitHubOwner{
// {
// Name: to.Ptr("myGitHubOwner"),
// Type: to.Ptr("Microsoft.Security/securityConnectors/devops/gitHubOwners"),
// ID: to.Ptr("/subscriptions/0806e1cd-cfda-4ff8-b99c-2b0af42cffd3/resourceGroups/myRg/providers/Microsoft.Security/securityConnectors/mySecurityConnectorName/devops/default/gitHubOwners/myGitHubOwner"),
// Properties: &armsecurity.GitHubOwnerProperties{
// OnboardingState: to.Ptr(armsecurity.OnboardingStateOnboarded),
// OwnerURL: to.Ptr("https://github.com/myGitHubOwner"),
// ProvisioningState: to.Ptr(armsecurity.DevOpsProvisioningStateSucceeded),
// },
// }},
// }
}
}
type GitHubOwnersClientGetOptions ¶
type GitHubOwnersClientGetOptions struct {
}
GitHubOwnersClientGetOptions contains the optional parameters for the GitHubOwnersClient.Get method.
type GitHubOwnersClientGetResponse ¶
type GitHubOwnersClientGetResponse struct {
// GitHub Owner resource.
GitHubOwner
}
GitHubOwnersClientGetResponse contains the response from method GitHubOwnersClient.Get.
type GitHubOwnersClientListAvailableOptions ¶
type GitHubOwnersClientListAvailableOptions struct {
}
GitHubOwnersClientListAvailableOptions contains the optional parameters for the GitHubOwnersClient.ListAvailable method.
type GitHubOwnersClientListAvailableResponse ¶
type GitHubOwnersClientListAvailableResponse struct {
// List of RP resources which supports pagination.
GitHubOwnerListResponse
}
GitHubOwnersClientListAvailableResponse contains the response from method GitHubOwnersClient.ListAvailable.
type GitHubOwnersClientListOptions ¶
type GitHubOwnersClientListOptions struct {
}
GitHubOwnersClientListOptions contains the optional parameters for the GitHubOwnersClient.NewListPager method.
type GitHubOwnersClientListResponse ¶
type GitHubOwnersClientListResponse struct {
// List of RP resources which supports pagination.
GitHubOwnerListResponse
}
GitHubOwnersClientListResponse contains the response from method GitHubOwnersClient.NewListPager.
type GitHubReposClient ¶
type GitHubReposClient struct {
// contains filtered or unexported fields
}
GitHubReposClient contains the methods for the GitHubRepos group. Don't use this type directly, use NewGitHubReposClient() instead.
func NewGitHubReposClient ¶
func NewGitHubReposClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*GitHubReposClient, error)
NewGitHubReposClient creates a new instance of GitHubReposClient with the specified values.
- subscriptionID - Azure subscription ID
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*GitHubReposClient) Get ¶
func (client *GitHubReposClient) Get(ctx context.Context, resourceGroupName string, securityConnectorName string, ownerName string, repoName string, options *GitHubReposClientGetOptions) (GitHubReposClientGetResponse, error)
Get - Returns a monitored GitHub repository. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2023-09-01-preview
- resourceGroupName - The name of the resource group. The name is case insensitive.
- securityConnectorName - The security connector name.
- ownerName - The GitHub owner name.
- repoName - The repository name.
- options - GitHubReposClientGetOptions contains the optional parameters for the GitHubReposClient.Get method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-09-01-preview/examples/SecurityConnectorsDevOps/GetGitHubRepos_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewGitHubReposClient().Get(ctx, "myRg", "mySecurityConnectorName", "myGitHubOwner", "myGitHubRepo", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.GitHubRepository = armsecurity.GitHubRepository{
// Name: to.Ptr("myGitHubRepo"),
// Type: to.Ptr("Microsoft.Security/securityConnectors/devops/gitHubOwners/repos"),
// ID: to.Ptr("/subscriptions/0806e1cd-cfda-4ff8-b99c-2b0af42cffd3/resourceGroups/myRg/providers/Microsoft.Security/securityConnectors/mySecurityConnectorName/devops/default/gitHubOwners/myGitHubOwner/repos/myGitHubRepo"),
// Properties: &armsecurity.GitHubRepositoryProperties{
// OnboardingState: to.Ptr(armsecurity.OnboardingStateOnboarded),
// ParentOwnerName: to.Ptr("myGitHubOwner"),
// ProvisioningState: to.Ptr(armsecurity.DevOpsProvisioningStateSucceeded),
// RepoFullName: to.Ptr("myGitHubOwner/myGitHubRepo"),
// RepoName: to.Ptr("myGitHubRepo"),
// RepoURL: to.Ptr("https://github.com/myGitHubOwner/myGitHubRepo"),
// },
// }
}
func (*GitHubReposClient) NewListPager ¶
func (client *GitHubReposClient) NewListPager(resourceGroupName string, securityConnectorName string, ownerName string, options *GitHubReposClientListOptions) *runtime.Pager[GitHubReposClientListResponse]
NewListPager - Returns a list of GitHub repositories onboarded to the connector.
Generated from API version 2023-09-01-preview
- resourceGroupName - The name of the resource group. The name is case insensitive.
- securityConnectorName - The security connector name.
- ownerName - The GitHub owner name.
- options - GitHubReposClientListOptions contains the optional parameters for the GitHubReposClient.NewListPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-09-01-preview/examples/SecurityConnectorsDevOps/ListGitHubRepos_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewGitHubReposClient().NewListPager("myRg", "mySecurityConnectorName", "myGitHubOwner", nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.GitHubRepositoryListResponse = armsecurity.GitHubRepositoryListResponse{
// Value: []*armsecurity.GitHubRepository{
// {
// Name: to.Ptr("myGitHubRepo"),
// Type: to.Ptr("Microsoft.Security/securityConnectors/devops/gitHubOwners/repos"),
// ID: to.Ptr("/subscriptions/0806e1cd-cfda-4ff8-b99c-2b0af42cffd3/resourceGroups/myRg/providers/Microsoft.Security/securityConnectors/mySecurityConnectorName/devops/default/gitHubOwners/myGitHubOwner/repos/myGitHubRepo"),
// Properties: &armsecurity.GitHubRepositoryProperties{
// OnboardingState: to.Ptr(armsecurity.OnboardingStateOnboarded),
// ParentOwnerName: to.Ptr("myGitHubOwner"),
// ProvisioningState: to.Ptr(armsecurity.DevOpsProvisioningStateSucceeded),
// RepoFullName: to.Ptr("myGitHubOwner/myGitHubRepo"),
// RepoName: to.Ptr("myGitHubRepo"),
// RepoURL: to.Ptr("https://github.com/myGitHubOwner/myGitHubRepo"),
// },
// }},
// }
}
}
type GitHubReposClientGetOptions ¶
type GitHubReposClientGetOptions struct {
}
GitHubReposClientGetOptions contains the optional parameters for the GitHubReposClient.Get method.
type GitHubReposClientGetResponse ¶
type GitHubReposClientGetResponse struct {
// GitHub Repository resource.
GitHubRepository
}
GitHubReposClientGetResponse contains the response from method GitHubReposClient.Get.
type GitHubReposClientListOptions ¶
type GitHubReposClientListOptions struct {
}
GitHubReposClientListOptions contains the optional parameters for the GitHubReposClient.NewListPager method.
type GitHubReposClientListResponse ¶
type GitHubReposClientListResponse struct {
// List of RP resources which supports pagination.
GitHubRepositoryListResponse
}
GitHubReposClientListResponse contains the response from method GitHubReposClient.NewListPager.
type GitHubRepository ¶
type GitHubRepository struct {
// GitHub Repository properties.
Properties *GitHubRepositoryProperties
// READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
ID *string
// READ-ONLY; The name of the resource
Name *string
// READ-ONLY; Metadata pertaining to creation and last modification of the resource.
SystemData *SystemData
// READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
Type *string
}
GitHubRepository - GitHub Repository resource.
func (GitHubRepository) MarshalJSON ¶
func (g GitHubRepository) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type GitHubRepository.
func (*GitHubRepository) UnmarshalJSON ¶
func (g *GitHubRepository) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type GitHubRepository.
type GitHubRepositoryListResponse ¶
type GitHubRepositoryListResponse struct {
// Gets or sets next link to scroll over the results.
NextLink *string
// Gets or sets list of resources.
Value []*GitHubRepository
}
GitHubRepositoryListResponse - List of RP resources which supports pagination.
func (GitHubRepositoryListResponse) MarshalJSON ¶
func (g GitHubRepositoryListResponse) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type GitHubRepositoryListResponse.
func (*GitHubRepositoryListResponse) UnmarshalJSON ¶
func (g *GitHubRepositoryListResponse) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type GitHubRepositoryListResponse.
type GitHubRepositoryProperties ¶
type GitHubRepositoryProperties struct {
// Details about resource onboarding status across all connectors.
// OnboardedByOtherConnector - this resource has already been onboarded to another connector. This is only applicable to top-level
// resources. Onboarded - this resource has already been onboarded by the
// specified connector. NotOnboarded - this resource has not been onboarded to any connector. NotApplicable - the onboarding
// state is not applicable to the current endpoint.
OnboardingState *OnboardingState
// Gets or sets parent GitHub Owner name.
ParentOwnerName *string
// The provisioning state of the resource.
// Pending - Provisioning pending. Failed - Provisioning failed. Succeeded - Successful provisioning. Canceled - Provisioning
// canceled. PendingDeletion - Deletion pending. DeletionSuccess - Deletion
// successful. DeletionFailure - Deletion failure.
ProvisioningState *DevOpsProvisioningState
// READ-ONLY; Gets or sets resource status message.
ProvisioningStatusMessage *string
// READ-ONLY; Gets or sets time when resource was last checked.
ProvisioningStatusUpdateTimeUTC *time.Time
// READ-ONLY; Gets or sets GitHub Full Name. Repository name, prefixed with Owner name. Eg: "my-org/new-repo-1".
RepoFullName *string
// READ-ONLY; Gets or sets GitHub Repository id.
// This is a numeric id defined by Github. Eg: "123456".
RepoID *string
// READ-ONLY; Gets or sets GitHub Repository name. Eg: "new-repo-1".
RepoName *string
// READ-ONLY; Gets or sets GitHub Repository url.
RepoURL *string
}
GitHubRepositoryProperties - GitHub Repository properties.
func (GitHubRepositoryProperties) MarshalJSON ¶
func (g GitHubRepositoryProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type GitHubRepositoryProperties.
func (*GitHubRepositoryProperties) UnmarshalJSON ¶
func (g *GitHubRepositoryProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type GitHubRepositoryProperties.
type GitLabGroup ¶
type GitLabGroup struct {
// GitLab Group properties.
Properties *GitLabGroupProperties
// READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
ID *string
// READ-ONLY; The name of the resource
Name *string
// READ-ONLY; Metadata pertaining to creation and last modification of the resource.
SystemData *SystemData
// READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
Type *string
}
GitLabGroup - GitLab Group resource.
func (GitLabGroup) MarshalJSON ¶
func (g GitLabGroup) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type GitLabGroup.
func (*GitLabGroup) UnmarshalJSON ¶
func (g *GitLabGroup) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type GitLabGroup.
type GitLabGroupConfiguration ¶
type GitLabGroupConfiguration struct {
// AutoDiscovery states.
AutoDiscovery *AutoDiscovery
// GitLab Project Inventory Configuration. Dictionary of GitLab fully-qualified project name to desired project configuration.
// If AutoDiscovery is Enabled, this field should be null or empty.
ProjectConfigs map[string]*BaseResourceConfiguration
}
GitLabGroupConfiguration - GitLab Group Inventory Configuration.
func (GitLabGroupConfiguration) MarshalJSON ¶
func (g GitLabGroupConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type GitLabGroupConfiguration.
func (*GitLabGroupConfiguration) UnmarshalJSON ¶
func (g *GitLabGroupConfiguration) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type GitLabGroupConfiguration.
type GitLabGroupListResponse ¶
type GitLabGroupListResponse struct {
// Gets or sets next link to scroll over the results.
NextLink *string
// Gets or sets list of resources.
Value []*GitLabGroup
}
GitLabGroupListResponse - List of RP resources which supports pagination.
func (GitLabGroupListResponse) MarshalJSON ¶
func (g GitLabGroupListResponse) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type GitLabGroupListResponse.
func (*GitLabGroupListResponse) UnmarshalJSON ¶
func (g *GitLabGroupListResponse) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type GitLabGroupListResponse.
type GitLabGroupProperties ¶
type GitLabGroupProperties struct {
// Details about resource onboarding status across all connectors.
// OnboardedByOtherConnector - this resource has already been onboarded to another connector. This is only applicable to top-level
// resources. Onboarded - this resource has already been onboarded by the
// specified connector. NotOnboarded - this resource has not been onboarded to any connector. NotApplicable - the onboarding
// state is not applicable to the current endpoint.
OnboardingState *OnboardingState
// The provisioning state of the resource.
// Pending - Provisioning pending. Failed - Provisioning failed. Succeeded - Successful provisioning. Canceled - Provisioning
// canceled. PendingDeletion - Deletion pending. DeletionSuccess - Deletion
// successful. DeletionFailure - Deletion failure.
ProvisioningState *DevOpsProvisioningState
// READ-ONLY; Gets or sets the human readable fully-qualified name of the Group object.
// This contains the entire namespace hierarchy as seen on GitLab UI where namespaces are separated by the '/' character.
FullyQualifiedFriendlyName *string
// READ-ONLY; Gets or sets the fully-qualified name of the Group object.
// This contains the entire namespace hierarchy where namespaces are separated by the '$' character.
FullyQualifiedName *string
// READ-ONLY; Gets or sets resource status message.
ProvisioningStatusMessage *string
// READ-ONLY; Gets or sets time when resource was last checked.
ProvisioningStatusUpdateTimeUTC *time.Time
// READ-ONLY; Gets or sets the url of the GitLab Group.
URL *string
}
GitLabGroupProperties - GitLab Group properties.
func (GitLabGroupProperties) MarshalJSON ¶
func (g GitLabGroupProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type GitLabGroupProperties.
func (*GitLabGroupProperties) UnmarshalJSON ¶
func (g *GitLabGroupProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type GitLabGroupProperties.
type GitLabGroupsClient ¶
type GitLabGroupsClient struct {
// contains filtered or unexported fields
}
GitLabGroupsClient contains the methods for the GitLabGroups group. Don't use this type directly, use NewGitLabGroupsClient() instead.
func NewGitLabGroupsClient ¶
func NewGitLabGroupsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*GitLabGroupsClient, error)
NewGitLabGroupsClient creates a new instance of GitLabGroupsClient with the specified values.
- subscriptionID - Azure subscription ID
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*GitLabGroupsClient) Get ¶
func (client *GitLabGroupsClient) Get(ctx context.Context, resourceGroupName string, securityConnectorName string, groupFQName string, options *GitLabGroupsClientGetOptions) (GitLabGroupsClientGetResponse, error)
Get - Returns a monitored GitLab Group resource for a given fully-qualified name. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2023-09-01-preview
- resourceGroupName - The name of the resource group. The name is case insensitive.
- securityConnectorName - The security connector name.
- groupFQName - The GitLab group fully-qualified name.
- options - GitLabGroupsClientGetOptions contains the optional parameters for the GitLabGroupsClient.Get method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-09-01-preview/examples/SecurityConnectorsDevOps/GetGitLabGroups_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewGitLabGroupsClient().Get(ctx, "myRg", "mySecurityConnectorName", "myGitLabGroup$mySubGroup", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.GitLabGroup = armsecurity.GitLabGroup{
// Name: to.Ptr("myGitLabGroup$mySubGroup"),
// Type: to.Ptr("Microsoft.Security/securityConnectors/devops/gitLabGroups"),
// ID: to.Ptr("/subscriptions/0806e1cd-cfda-4ff8-b99c-2b0af42cffd3/resourceGroups/myRg/providers/Microsoft.Security/securityConnectors/mySecurityConnectorName/devops/default/gitLabGroups/myGitLabGroup$mySubGroup"),
// Properties: &armsecurity.GitLabGroupProperties{
// FullyQualifiedName: to.Ptr("myGitLabGroup$mySubGroup"),
// OnboardingState: to.Ptr(armsecurity.OnboardingStateOnboarded),
// ProvisioningState: to.Ptr(armsecurity.DevOpsProvisioningStateSucceeded),
// URL: to.Ptr("https://gitlab.example.com/myGitLabGroup/mySubGroup"),
// },
// }
}
func (*GitLabGroupsClient) ListAvailable ¶
func (client *GitLabGroupsClient) ListAvailable(ctx context.Context, resourceGroupName string, securityConnectorName string, options *GitLabGroupsClientListAvailableOptions) (GitLabGroupsClientListAvailableResponse, error)
ListAvailable - Returns a list of all GitLab groups accessible by the user token consumed by the connector. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2023-09-01-preview
- resourceGroupName - The name of the resource group. The name is case insensitive.
- securityConnectorName - The security connector name.
- options - GitLabGroupsClientListAvailableOptions contains the optional parameters for the GitLabGroupsClient.ListAvailable method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-09-01-preview/examples/SecurityConnectorsDevOps/ListAvailableGitLabGroups_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewGitLabGroupsClient().ListAvailable(ctx, "myRg", "mySecurityConnectorName", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.GitLabGroupListResponse = armsecurity.GitLabGroupListResponse{
// Value: []*armsecurity.GitLabGroup{
// {
// Name: to.Ptr("myGitLabGroup$mySubGroup"),
// Type: to.Ptr("Microsoft.Security/securityConnectors/devops/gitLabGroups"),
// ID: to.Ptr("/subscriptions/0806e1cd-cfda-4ff8-b99c-2b0af42cffd3/resourceGroups/myRg/providers/Microsoft.Security/securityConnectors/mySecurityConnectorName/devops/default/gitLabGroups/myGitLabGroup$mySubGroup"),
// Properties: &armsecurity.GitLabGroupProperties{
// FullyQualifiedName: to.Ptr("myGitLabGroup$mySubGroup"),
// OnboardingState: to.Ptr(armsecurity.OnboardingStateOnboarded),
// ProvisioningState: to.Ptr(armsecurity.DevOpsProvisioningStateSucceeded),
// URL: to.Ptr("https://gitlab.example.com/myGitLabGroup/mySubGroup"),
// },
// },
// {
// Name: to.Ptr("myGitLabGroup"),
// Type: to.Ptr("Microsoft.Security/securityConnectors/devops/gitLabGroups"),
// ID: to.Ptr("/subscriptions/0806e1cd-cfda-4ff8-b99c-2b0af42cffd3/resourceGroups/myRg/providers/Microsoft.Security/securityConnectors/mySecurityConnectorName/devops/default/gitLabGroups/myGitLabGroup"),
// Properties: &armsecurity.GitLabGroupProperties{
// FullyQualifiedName: to.Ptr("myGitLabGroup"),
// OnboardingState: to.Ptr(armsecurity.OnboardingStateOnboardedByOtherConnector),
// ProvisioningState: to.Ptr(armsecurity.DevOpsProvisioningStateSucceeded),
// URL: to.Ptr("https://gitlab.example.com/myGitLabGroup"),
// },
// },
// {
// Name: to.Ptr("anotherGitLabGroup"),
// Type: to.Ptr("Microsoft.Security/securityConnectors/devops/gitLabGroups"),
// ID: to.Ptr("/subscriptions/0806e1cd-cfda-4ff8-b99c-2b0af42cffd3/resourceGroups/myRg/providers/Microsoft.Security/securityConnectors/mySecurityConnectorName/devops/default/gitLabGroups/anotherGitLabGroup"),
// Properties: &armsecurity.GitLabGroupProperties{
// FullyQualifiedName: to.Ptr("anotherGitLabGroup"),
// OnboardingState: to.Ptr(armsecurity.OnboardingStateNotOnboarded),
// URL: to.Ptr("https://gitlab.example.com/anotherGitLabGroup"),
// },
// }},
// }
}
func (*GitLabGroupsClient) NewListPager ¶
func (client *GitLabGroupsClient) NewListPager(resourceGroupName string, securityConnectorName string, options *GitLabGroupsClientListOptions) *runtime.Pager[GitLabGroupsClientListResponse]
NewListPager - Returns a list of GitLab groups onboarded to the connector.
Generated from API version 2023-09-01-preview
- resourceGroupName - The name of the resource group. The name is case insensitive.
- securityConnectorName - The security connector name.
- options - GitLabGroupsClientListOptions contains the optional parameters for the GitLabGroupsClient.NewListPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-09-01-preview/examples/SecurityConnectorsDevOps/ListGitLabGroups_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewGitLabGroupsClient().NewListPager("myRg", "mySecurityConnectorName", nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.GitLabGroupListResponse = armsecurity.GitLabGroupListResponse{
// Value: []*armsecurity.GitLabGroup{
// {
// Name: to.Ptr("myGitLabGroup$mySubGroup"),
// Type: to.Ptr("Microsoft.Security/securityConnectors/devops/gitLabGroups"),
// ID: to.Ptr("/subscriptions/0806e1cd-cfda-4ff8-b99c-2b0af42cffd3/resourceGroups/myRg/providers/Microsoft.Security/securityConnectors/mySecurityConnectorName/devops/default/gitLabGroups/myGitLabGroup$mySubGroup"),
// Properties: &armsecurity.GitLabGroupProperties{
// FullyQualifiedName: to.Ptr("myGitLabGroup$mySubGroup"),
// OnboardingState: to.Ptr(armsecurity.OnboardingStateOnboarded),
// ProvisioningState: to.Ptr(armsecurity.DevOpsProvisioningStateSucceeded),
// URL: to.Ptr("https://gitlab.example.com/myGitLabGroup/mySubGroup"),
// },
// }},
// }
}
}
type GitLabGroupsClientGetOptions ¶
type GitLabGroupsClientGetOptions struct {
}
GitLabGroupsClientGetOptions contains the optional parameters for the GitLabGroupsClient.Get method.
type GitLabGroupsClientGetResponse ¶
type GitLabGroupsClientGetResponse struct {
// GitLab Group resource.
GitLabGroup
}
GitLabGroupsClientGetResponse contains the response from method GitLabGroupsClient.Get.
type GitLabGroupsClientListAvailableOptions ¶
type GitLabGroupsClientListAvailableOptions struct {
}
GitLabGroupsClientListAvailableOptions contains the optional parameters for the GitLabGroupsClient.ListAvailable method.
type GitLabGroupsClientListAvailableResponse ¶
type GitLabGroupsClientListAvailableResponse struct {
// List of RP resources which supports pagination.
GitLabGroupListResponse
}
GitLabGroupsClientListAvailableResponse contains the response from method GitLabGroupsClient.ListAvailable.
type GitLabGroupsClientListOptions ¶
type GitLabGroupsClientListOptions struct {
}
GitLabGroupsClientListOptions contains the optional parameters for the GitLabGroupsClient.NewListPager method.
type GitLabGroupsClientListResponse ¶
type GitLabGroupsClientListResponse struct {
// List of RP resources which supports pagination.
GitLabGroupListResponse
}
GitLabGroupsClientListResponse contains the response from method GitLabGroupsClient.NewListPager.
type GitLabProject ¶
type GitLabProject struct {
// GitLab Project properties.
Properties *GitLabProjectProperties
// READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
ID *string
// READ-ONLY; The name of the resource
Name *string
// READ-ONLY; Metadata pertaining to creation and last modification of the resource.
SystemData *SystemData
// READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
Type *string
}
GitLabProject - GitLab Project resource.
func (GitLabProject) MarshalJSON ¶
func (g GitLabProject) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type GitLabProject.
func (*GitLabProject) UnmarshalJSON ¶
func (g *GitLabProject) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type GitLabProject.
type GitLabProjectListResponse ¶
type GitLabProjectListResponse struct {
// Gets or sets next link to scroll over the results.
NextLink *string
// Gets or sets list of resources.
Value []*GitLabProject
}
GitLabProjectListResponse - List of RP resources which supports pagination.
func (GitLabProjectListResponse) MarshalJSON ¶
func (g GitLabProjectListResponse) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type GitLabProjectListResponse.
func (*GitLabProjectListResponse) UnmarshalJSON ¶
func (g *GitLabProjectListResponse) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type GitLabProjectListResponse.
type GitLabProjectProperties ¶
type GitLabProjectProperties struct {
// Details about resource onboarding status across all connectors.
// OnboardedByOtherConnector - this resource has already been onboarded to another connector. This is only applicable to top-level
// resources. Onboarded - this resource has already been onboarded by the
// specified connector. NotOnboarded - this resource has not been onboarded to any connector. NotApplicable - the onboarding
// state is not applicable to the current endpoint.
OnboardingState *OnboardingState
// The provisioning state of the resource.
// Pending - Provisioning pending. Failed - Provisioning failed. Succeeded - Successful provisioning. Canceled - Provisioning
// canceled. PendingDeletion - Deletion pending. DeletionSuccess - Deletion
// successful. DeletionFailure - Deletion failure.
ProvisioningState *DevOpsProvisioningState
// READ-ONLY; Gets or sets the human readable fully-qualified name of the Project object.
// This contains the entire namespace hierarchy as seen on GitLab UI where entities are separated by the '/' character.
FullyQualifiedFriendlyName *string
// READ-ONLY; Gets or sets the fully-qualified name of the project object.
// This contains the entire hierarchy where entities are separated by the '$' character.
FullyQualifiedName *string
// READ-ONLY; Gets or sets the fully-qualified name of the project's parent group object.
// This contains the entire hierarchy where namespaces are separated by the '$' character.
FullyQualifiedParentGroupName *string
// READ-ONLY; Gets or sets resource status message.
ProvisioningStatusMessage *string
// READ-ONLY; Gets or sets time when resource was last checked.
ProvisioningStatusUpdateTimeUTC *time.Time
// READ-ONLY; Gets or sets the url of the GitLab Project.
URL *string
}
GitLabProjectProperties - GitLab Project properties.
func (GitLabProjectProperties) MarshalJSON ¶
func (g GitLabProjectProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type GitLabProjectProperties.
func (*GitLabProjectProperties) UnmarshalJSON ¶
func (g *GitLabProjectProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type GitLabProjectProperties.
type GitLabProjectsClient ¶
type GitLabProjectsClient struct {
// contains filtered or unexported fields
}
GitLabProjectsClient contains the methods for the GitLabProjects group. Don't use this type directly, use NewGitLabProjectsClient() instead.
func NewGitLabProjectsClient ¶
func NewGitLabProjectsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*GitLabProjectsClient, error)
NewGitLabProjectsClient creates a new instance of GitLabProjectsClient with the specified values.
- subscriptionID - Azure subscription ID
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*GitLabProjectsClient) Get ¶
func (client *GitLabProjectsClient) Get(ctx context.Context, resourceGroupName string, securityConnectorName string, groupFQName string, projectName string, options *GitLabProjectsClientGetOptions) (GitLabProjectsClientGetResponse, error)
Get - Returns a monitored GitLab Project resource for a given fully-qualified group name and project name. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2023-09-01-preview
- resourceGroupName - The name of the resource group. The name is case insensitive.
- securityConnectorName - The security connector name.
- groupFQName - The GitLab group fully-qualified name.
- projectName - The project name.
- options - GitLabProjectsClientGetOptions contains the optional parameters for the GitLabProjectsClient.Get method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-09-01-preview/examples/SecurityConnectorsDevOps/GetGitLabProjects_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewGitLabProjectsClient().Get(ctx, "myRg", "mySecurityConnectorName", "myGitLabGroup$mySubGroup", "myGitLabProject", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.GitLabProject = armsecurity.GitLabProject{
// Name: to.Ptr("myGitLabProject"),
// Type: to.Ptr("Microsoft.Security/securityConnectors/devops/gitLabGroups/projects"),
// ID: to.Ptr("/subscriptions/0806e1cd-cfda-4ff8-b99c-2b0af42cffd3/resourceGroups/myRg/providers/Microsoft.Security/securityConnectors/mySecurityConnectorName/devops/default/gitLabGroups/myGitLabGroup$mySubGroup/projects/myGitLabProject"),
// Properties: &armsecurity.GitLabProjectProperties{
// FullyQualifiedName: to.Ptr("myGitLabGroup$mySubGroup$myGitLabProject"),
// FullyQualifiedParentGroupName: to.Ptr("myGitLabGroup$mySubGroup"),
// OnboardingState: to.Ptr(armsecurity.OnboardingStateOnboarded),
// ProvisioningState: to.Ptr(armsecurity.DevOpsProvisioningStateSucceeded),
// URL: to.Ptr("https://gitlab.example.com/myGitLabGroup/mySubGroup/myGitLabProject"),
// },
// }
}
func (*GitLabProjectsClient) NewListPager ¶
func (client *GitLabProjectsClient) NewListPager(resourceGroupName string, securityConnectorName string, groupFQName string, options *GitLabProjectsClientListOptions) *runtime.Pager[GitLabProjectsClientListResponse]
NewListPager - Gets a list of GitLab projects that are directly owned by given group and onboarded to the connector.
Generated from API version 2023-09-01-preview
- resourceGroupName - The name of the resource group. The name is case insensitive.
- securityConnectorName - The security connector name.
- groupFQName - The GitLab group fully-qualified name.
- options - GitLabProjectsClientListOptions contains the optional parameters for the GitLabProjectsClient.NewListPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-09-01-preview/examples/SecurityConnectorsDevOps/ListGitLabProjects_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewGitLabProjectsClient().NewListPager("myRg", "mySecurityConnectorName", "myGitLabGroup$mySubGroup", nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.GitLabProjectListResponse = armsecurity.GitLabProjectListResponse{
// Value: []*armsecurity.GitLabProject{
// {
// Name: to.Ptr("myGitLabProject"),
// Type: to.Ptr("Microsoft.Security/securityConnectors/devops/gitLabGroups/projects"),
// ID: to.Ptr("/subscriptions/0806e1cd-cfda-4ff8-b99c-2b0af42cffd3/resourceGroups/myRg/providers/Microsoft.Security/securityConnectors/mySecurityConnectorName/devops/default/gitLabGroups/myGitLabGroup$mySubGroup/projects/myGitLabProject"),
// Properties: &armsecurity.GitLabProjectProperties{
// FullyQualifiedName: to.Ptr("myGitLabGroup$mySubGroup$myGitLabProject"),
// FullyQualifiedParentGroupName: to.Ptr("myGitLabGroup$mySubGroup"),
// OnboardingState: to.Ptr(armsecurity.OnboardingStateOnboarded),
// ProvisioningState: to.Ptr(armsecurity.DevOpsProvisioningStateSucceeded),
// URL: to.Ptr("https://gitlab.example.com/myGitLabGroup/mySubGroup/myGitLabProject"),
// },
// }},
// }
}
}
type GitLabProjectsClientGetOptions ¶
type GitLabProjectsClientGetOptions struct {
}
GitLabProjectsClientGetOptions contains the optional parameters for the GitLabProjectsClient.Get method.
type GitLabProjectsClientGetResponse ¶
type GitLabProjectsClientGetResponse struct {
// GitLab Project resource.
GitLabProject
}
GitLabProjectsClientGetResponse contains the response from method GitLabProjectsClient.Get.
type GitLabProjectsClientListOptions ¶
type GitLabProjectsClientListOptions struct {
}
GitLabProjectsClientListOptions contains the optional parameters for the GitLabProjectsClient.NewListPager method.
type GitLabProjectsClientListResponse ¶
type GitLabProjectsClientListResponse struct {
// List of RP resources which supports pagination.
GitLabProjectListResponse
}
GitLabProjectsClientListResponse contains the response from method GitLabProjectsClient.NewListPager.
type GitLabSubgroupsClient ¶
type GitLabSubgroupsClient struct {
// contains filtered or unexported fields
}
GitLabSubgroupsClient contains the methods for the GitLabSubgroups group. Don't use this type directly, use NewGitLabSubgroupsClient() instead.
func NewGitLabSubgroupsClient ¶
func NewGitLabSubgroupsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*GitLabSubgroupsClient, error)
NewGitLabSubgroupsClient creates a new instance of GitLabSubgroupsClient with the specified values.
- subscriptionID - Azure subscription ID
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*GitLabSubgroupsClient) List ¶
func (client *GitLabSubgroupsClient) List(ctx context.Context, resourceGroupName string, securityConnectorName string, groupFQName string, options *GitLabSubgroupsClientListOptions) (GitLabSubgroupsClientListResponse, error)
List - Gets nested subgroups of given GitLab Group which are onboarded to the connector. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2023-09-01-preview
- resourceGroupName - The name of the resource group. The name is case insensitive.
- securityConnectorName - The security connector name.
- groupFQName - The GitLab group fully-qualified name.
- options - GitLabSubgroupsClientListOptions contains the optional parameters for the GitLabSubgroupsClient.List method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-09-01-preview/examples/SecurityConnectorsDevOps/ListGitLabSubgroups_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewGitLabSubgroupsClient().List(ctx, "myRg", "mySecurityConnectorName", "myGitLabGroup", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.GitLabGroupListResponse = armsecurity.GitLabGroupListResponse{
// Value: []*armsecurity.GitLabGroup{
// {
// Name: to.Ptr("myGitLabGroup$mySubGroup"),
// Type: to.Ptr("Microsoft.Security/securityConnectors/devops/gitLabGroups"),
// ID: to.Ptr("/subscriptions/0806e1cd-cfda-4ff8-b99c-2b0af42cffd3/resourceGroups/myRg/providers/Microsoft.Security/securityConnectors/mySecurityConnectorName/devops/default/gitLabGroups/myGitLabGroup$mySubGroup"),
// Properties: &armsecurity.GitLabGroupProperties{
// FullyQualifiedName: to.Ptr("myGitLabGroup$mySubGroup"),
// OnboardingState: to.Ptr(armsecurity.OnboardingStateOnboarded),
// ProvisioningState: to.Ptr(armsecurity.DevOpsProvisioningStateSucceeded),
// URL: to.Ptr("https://gitlab.example.com/myGitLabGroup/mySubGroup"),
// },
// }},
// }
}
type GitLabSubgroupsClientListOptions ¶
type GitLabSubgroupsClientListOptions struct {
}
GitLabSubgroupsClientListOptions contains the optional parameters for the GitLabSubgroupsClient.List method.
type GitLabSubgroupsClientListResponse ¶
type GitLabSubgroupsClientListResponse struct {
// List of RP resources which supports pagination.
GitLabGroupListResponse
}
GitLabSubgroupsClientListResponse contains the response from method GitLabSubgroupsClient.List.
type GithubScopeEnvironmentData ¶
type GithubScopeEnvironmentData struct {
// REQUIRED; The type of the environment data.
EnvironmentType *EnvironmentType
}
GithubScopeEnvironmentData - The github scope connector's environment data
func (*GithubScopeEnvironmentData) GetEnvironmentData ¶
func (g *GithubScopeEnvironmentData) GetEnvironmentData() *EnvironmentData
GetEnvironmentData implements the EnvironmentDataClassification interface for type GithubScopeEnvironmentData.
func (GithubScopeEnvironmentData) MarshalJSON ¶
func (g GithubScopeEnvironmentData) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type GithubScopeEnvironmentData.
func (*GithubScopeEnvironmentData) UnmarshalJSON ¶
func (g *GithubScopeEnvironmentData) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type GithubScopeEnvironmentData.
type GitlabScopeEnvironmentData ¶
type GitlabScopeEnvironmentData struct {
// REQUIRED; The type of the environment data.
EnvironmentType *EnvironmentType
}
GitlabScopeEnvironmentData - The GitLab scope connector's environment data
func (*GitlabScopeEnvironmentData) GetEnvironmentData ¶
func (g *GitlabScopeEnvironmentData) GetEnvironmentData() *EnvironmentData
GetEnvironmentData implements the EnvironmentDataClassification interface for type GitlabScopeEnvironmentData.
func (GitlabScopeEnvironmentData) MarshalJSON ¶
func (g GitlabScopeEnvironmentData) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type GitlabScopeEnvironmentData.
func (*GitlabScopeEnvironmentData) UnmarshalJSON ¶
func (g *GitlabScopeEnvironmentData) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type GitlabScopeEnvironmentData.
type GovernanceAssignment ¶
type GovernanceAssignment struct {
// The properties of a governance assignment
Properties *GovernanceAssignmentProperties
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Resource type
Type *string
}
GovernanceAssignment - Governance assignment over a given scope
func (GovernanceAssignment) MarshalJSON ¶
func (g GovernanceAssignment) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type GovernanceAssignment.
func (*GovernanceAssignment) UnmarshalJSON ¶
func (g *GovernanceAssignment) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type GovernanceAssignment.
type GovernanceAssignmentAdditionalData ¶
type GovernanceAssignmentAdditionalData struct {
// Ticket link associated with this governance assignment - for example: https://snow.com
TicketLink *string
// Ticket number associated with this governance assignment
TicketNumber *int32
// The ticket status associated with this governance assignment - for example: Active
TicketStatus *string
}
GovernanceAssignmentAdditionalData - Describe the additional data of governance assignment - optional
func (GovernanceAssignmentAdditionalData) MarshalJSON ¶
func (g GovernanceAssignmentAdditionalData) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type GovernanceAssignmentAdditionalData.
func (*GovernanceAssignmentAdditionalData) UnmarshalJSON ¶
func (g *GovernanceAssignmentAdditionalData) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type GovernanceAssignmentAdditionalData.
type GovernanceAssignmentProperties ¶
type GovernanceAssignmentProperties struct {
// REQUIRED; The remediation due-date - after this date Secure Score will be affected (in case of active grace-period)
RemediationDueDate *time.Time
// The additional data for the governance assignment - e.g. links to ticket (optional), see example
AdditionalData *GovernanceAssignmentAdditionalData
// The email notifications settings for the governance rule, states whether to disable notifications for mangers and owners
GovernanceEmailNotification *GovernanceEmailNotification
// Defines whether there is a grace period on the governance assignment
IsGracePeriod *bool
// The Owner for the governance assignment - e.g. user@contoso.com - see example
Owner *string
// The ETA (estimated time of arrival) for remediation (optional), see example
RemediationEta *RemediationEta
}
GovernanceAssignmentProperties - Describes properties of an governance assignment
func (GovernanceAssignmentProperties) MarshalJSON ¶
func (g GovernanceAssignmentProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type GovernanceAssignmentProperties.
func (*GovernanceAssignmentProperties) UnmarshalJSON ¶
func (g *GovernanceAssignmentProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type GovernanceAssignmentProperties.
type GovernanceAssignmentsClient ¶
type GovernanceAssignmentsClient struct {
// contains filtered or unexported fields
}
GovernanceAssignmentsClient contains the methods for the GovernanceAssignments group. Don't use this type directly, use NewGovernanceAssignmentsClient() instead.
func NewGovernanceAssignmentsClient ¶
func NewGovernanceAssignmentsClient(credential azcore.TokenCredential, options *arm.ClientOptions) (*GovernanceAssignmentsClient, error)
NewGovernanceAssignmentsClient creates a new instance of GovernanceAssignmentsClient with the specified values.
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*GovernanceAssignmentsClient) CreateOrUpdate ¶
func (client *GovernanceAssignmentsClient) CreateOrUpdate(ctx context.Context, scope string, assessmentName string, assignmentKey string, governanceAssignment GovernanceAssignment, options *GovernanceAssignmentsClientCreateOrUpdateOptions) (GovernanceAssignmentsClientCreateOrUpdateResponse, error)
CreateOrUpdate - Creates or updates a governance assignment on the given subscription. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2022-01-01-preview
- scope - The scope of the Governance assignments. Valid scopes are: subscription (format: 'subscriptions/{subscriptionId}'), or security connector (format: 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors/{securityConnectorName})'
- assessmentName - The Assessment Key - A unique key for the assessment type
- assignmentKey - The governance assignment key - the assessment key of the required governance assignment
- governanceAssignment - Governance assignment over a subscription scope
- options - GovernanceAssignmentsClientCreateOrUpdateOptions contains the optional parameters for the GovernanceAssignmentsClient.CreateOrUpdate method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2022-01-01-preview/examples/GovernanceAssignments/PutGovernanceAssignment_example.json
package main
import (
"context"
"log"
"time"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewGovernanceAssignmentsClient().CreateOrUpdate(ctx, "subscriptions/c32e05d9-7207-4e22-bdf4-4f7d9c72e5fd/resourceGroups/compute_servers/providers/Microsoft.Compute/virtualMachines/win2012", "6b9421dd-5555-2251-9b3d-2be58e2f82cd", "6634ff9f-127b-4bf2-8e6e-b1737f5e789c", armsecurity.GovernanceAssignment{
Properties: &armsecurity.GovernanceAssignmentProperties{
AdditionalData: &armsecurity.GovernanceAssignmentAdditionalData{
TicketLink: to.Ptr("https://snow.com"),
TicketNumber: to.Ptr[int32](123123),
TicketStatus: to.Ptr("Active"),
},
GovernanceEmailNotification: &armsecurity.GovernanceEmailNotification{
DisableManagerEmailNotification: to.Ptr(false),
DisableOwnerEmailNotification: to.Ptr(false),
},
IsGracePeriod: to.Ptr(true),
Owner: to.Ptr("user@contoso.com"),
RemediationDueDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-01-07T13:00:00.000Z"); return t }()),
RemediationEta: &armsecurity.RemediationEta{
Eta: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-01-08T13:00:00.000Z"); return t }()),
Justification: to.Ptr("Justification of ETA"),
},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.GovernanceAssignment = armsecurity.GovernanceAssignment{
// Name: to.Ptr("6634ff9f-127b-4bf2-8e6e-b1737f5e789c"),
// Type: to.Ptr("Microsoft.Security/assessments/governanceAssignments"),
// ID: to.Ptr("/subscriptions/c32e05d9-7207-4e22-bdf4-4f7d9c72e5fd/resourceGroups/compute_servers/providers/Microsoft.Compute/virtualMachines/win2012/providers/Microsoft.Security/assessments/6b9421dd-5555-2251-9b3d-2be58e2f82cd/governanceAssignments/6634ff9f-127b-4bf2-8e6e-b1737f5e789c"),
// Properties: &armsecurity.GovernanceAssignmentProperties{
// AdditionalData: &armsecurity.GovernanceAssignmentAdditionalData{
// TicketLink: to.Ptr("https://snow.com"),
// TicketNumber: to.Ptr[int32](123123),
// TicketStatus: to.Ptr("Active"),
// },
// GovernanceEmailNotification: &armsecurity.GovernanceEmailNotification{
// DisableManagerEmailNotification: to.Ptr(false),
// DisableOwnerEmailNotification: to.Ptr(false),
// },
// IsGracePeriod: to.Ptr(true),
// Owner: to.Ptr("user@contoso.com"),
// RemediationDueDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-01-07T13:00:00.000Z"); return t}()),
// RemediationEta: &armsecurity.RemediationEta{
// Eta: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-01-08T13:00:00.000Z"); return t}()),
// Justification: to.Ptr("Justification of ETA"),
// },
// },
// }
}
func (*GovernanceAssignmentsClient) Delete ¶
func (client *GovernanceAssignmentsClient) Delete(ctx context.Context, scope string, assessmentName string, assignmentKey string, options *GovernanceAssignmentsClientDeleteOptions) (GovernanceAssignmentsClientDeleteResponse, error)
Delete - Delete a GovernanceAssignment over a given scope If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2022-01-01-preview
- scope - The scope of the Governance assignments. Valid scopes are: subscription (format: 'subscriptions/{subscriptionId}'), or security connector (format: 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors/{securityConnectorName})'
- assessmentName - The Assessment Key - A unique key for the assessment type
- assignmentKey - The governance assignment key - the assessment key of the required governance assignment
- options - GovernanceAssignmentsClientDeleteOptions contains the optional parameters for the GovernanceAssignmentsClient.Delete method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2022-01-01-preview/examples/GovernanceAssignments/DeleteGovernanceAssignment_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewGovernanceAssignmentsClient().Delete(ctx, "subscriptions/c32e05d9-7207-4e22-bdf4-4f7d9c72e5fd/resourceGroups/compute_servers/providers/Microsoft.Compute/virtualMachines/win2012", "6b9421dd-5555-2251-9b3d-2be58e2f82cd", "6634ff9f-127b-4bf2-8e6e-b1737f5e789c", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
}
func (*GovernanceAssignmentsClient) Get ¶
func (client *GovernanceAssignmentsClient) Get(ctx context.Context, scope string, assessmentName string, assignmentKey string, options *GovernanceAssignmentsClientGetOptions) (GovernanceAssignmentsClientGetResponse, error)
Get - Get a specific governanceAssignment for the requested scope by AssignmentKey If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2022-01-01-preview
- scope - The scope of the Governance assignments. Valid scopes are: subscription (format: 'subscriptions/{subscriptionId}'), or security connector (format: 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors/{securityConnectorName})'
- assessmentName - The Assessment Key - A unique key for the assessment type
- assignmentKey - The governance assignment key - the assessment key of the required governance assignment
- options - GovernanceAssignmentsClientGetOptions contains the optional parameters for the GovernanceAssignmentsClient.Get method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2022-01-01-preview/examples/GovernanceAssignments/GetGovernanceAssignment_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewGovernanceAssignmentsClient().Get(ctx, "subscriptions/c32e05d9-7207-4e22-bdf4-4f7d9c72e5fd/resourceGroups/compute_servers/providers/Microsoft.Compute/virtualMachines/win2012", "6b9421dd-5555-2251-9b3d-2be58e2f82cd", "6634ff9f-127b-4bf2-8e6e-b1737f5e789c", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.GovernanceAssignment = armsecurity.GovernanceAssignment{
// Name: to.Ptr("6634ff9f-127b-4bf2-8e6e-b1737f5e789c"),
// Type: to.Ptr("Microsoft.Security/assessments/governanceAssignments"),
// ID: to.Ptr("/subscriptions/c32e05d9-7207-4e22-bdf4-4f7d9c72e5fd/resourceGroups/compute_servers/providers/Microsoft.Compute/virtualMachines/win2012/providers/Microsoft.Security/assessments/6b9421dd-5555-2251-9b3d-2be58e2f82cd/governanceAssignments/6634ff9f-127b-4bf2-8e6e-b1737f5e789c"),
// Properties: &armsecurity.GovernanceAssignmentProperties{
// AdditionalData: &armsecurity.GovernanceAssignmentAdditionalData{
// TicketLink: to.Ptr("https://snow.com"),
// TicketNumber: to.Ptr[int32](123123),
// TicketStatus: to.Ptr("Active"),
// },
// GovernanceEmailNotification: &armsecurity.GovernanceEmailNotification{
// DisableManagerEmailNotification: to.Ptr(false),
// DisableOwnerEmailNotification: to.Ptr(false),
// },
// IsGracePeriod: to.Ptr(true),
// Owner: to.Ptr("user@contoso.com"),
// RemediationDueDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-01-07T13:00:00.000Z"); return t}()),
// RemediationEta: &armsecurity.RemediationEta{
// Eta: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-01-08T13:00:00.000Z"); return t}()),
// Justification: to.Ptr("Justification of ETA"),
// },
// },
// }
}
func (*GovernanceAssignmentsClient) NewListPager ¶
func (client *GovernanceAssignmentsClient) NewListPager(scope string, assessmentName string, options *GovernanceAssignmentsClientListOptions) *runtime.Pager[GovernanceAssignmentsClientListResponse]
NewListPager - Get governance assignments on all of your resources inside a scope
Generated from API version 2022-01-01-preview
- scope - The scope of the Governance assignments. Valid scopes are: subscription (format: 'subscriptions/{subscriptionId}'), or security connector (format: 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors/{securityConnectorName})'
- assessmentName - The Assessment Key - A unique key for the assessment type
- options - GovernanceAssignmentsClientListOptions contains the optional parameters for the GovernanceAssignmentsClient.NewListPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2022-01-01-preview/examples/GovernanceAssignments/ListGovernanceAssignments_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewGovernanceAssignmentsClient().NewListPager("subscriptions/c32e05d9-7207-4e22-bdf4-4f7d9c72e5fd", "6b9421dd-5555-2251-9b3d-2be58e2f82cd", nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.GovernanceAssignmentsList = armsecurity.GovernanceAssignmentsList{
// Value: []*armsecurity.GovernanceAssignment{
// {
// Name: to.Ptr("6634ff9f-127b-4bf2-8e6e-b1737f5e789c"),
// Type: to.Ptr("Microsoft.Security/assessments/governanceAssignments"),
// ID: to.Ptr("/subscriptions/c32e05d9-7207-4e22-bdf4-4f7d9c72e5fd/resourceGroups/compute_servers/providers/Microsoft.Compute/virtualMachines/win2012/providers/Microsoft.Security/assessments/6b9421dd-5555-2251-9b3d-2be58e2f82cd/governanceAssignments/6634ff9f-127b-4bf2-8e6e-b1737f5e789c"),
// Properties: &armsecurity.GovernanceAssignmentProperties{
// AdditionalData: &armsecurity.GovernanceAssignmentAdditionalData{
// TicketLink: to.Ptr("https://snow.com"),
// TicketNumber: to.Ptr[int32](123123),
// TicketStatus: to.Ptr("Active"),
// },
// IsGracePeriod: to.Ptr(true),
// Owner: to.Ptr("user@contoso.com"),
// RemediationDueDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-01-07T13:00:00.000Z"); return t}()),
// RemediationEta: &armsecurity.RemediationEta{
// Eta: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-01-08T13:00:00.000Z"); return t}()),
// Justification: to.Ptr("Justification of ETA"),
// },
// },
// },
// {
// Name: to.Ptr("41fb92a5-43dc-4c00-a969-469c16cef7a7"),
// Type: to.Ptr("Microsoft.Security/assessments/governanceAssignments"),
// ID: to.Ptr("/subscriptions/c32e05d9-7207-4e22-bdf4-4f7d9c72e5fd/resourceGroups/compute_servers/providers/Microsoft.Compute/virtualMachines/win2011/providers/Microsoft.Security/assessments/6b9421dd-5555-2251-9b3d-2be58e2f82cd/governanceAssignments/41fb92a5-43dc-4c00-a969-469c16cef7a7"),
// Properties: &armsecurity.GovernanceAssignmentProperties{
// AdditionalData: &armsecurity.GovernanceAssignmentAdditionalData{
// TicketLink: to.Ptr("https://snow.com"),
// TicketNumber: to.Ptr[int32](653424),
// TicketStatus: to.Ptr("Active"),
// },
// IsGracePeriod: to.Ptr(true),
// Owner: to.Ptr("user2@contoso.com"),
// RemediationDueDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-01-07T13:00:00.000Z"); return t}()),
// RemediationEta: &armsecurity.RemediationEta{
// Eta: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-01-08T13:00:00.000Z"); return t}()),
// Justification: to.Ptr("Justification of ETA"),
// },
// },
// }},
// }
}
}
type GovernanceAssignmentsClientCreateOrUpdateOptions ¶
type GovernanceAssignmentsClientCreateOrUpdateOptions struct {
}
GovernanceAssignmentsClientCreateOrUpdateOptions contains the optional parameters for the GovernanceAssignmentsClient.CreateOrUpdate method.
type GovernanceAssignmentsClientCreateOrUpdateResponse ¶
type GovernanceAssignmentsClientCreateOrUpdateResponse struct {
// Governance assignment over a given scope
GovernanceAssignment
}
GovernanceAssignmentsClientCreateOrUpdateResponse contains the response from method GovernanceAssignmentsClient.CreateOrUpdate.
type GovernanceAssignmentsClientDeleteOptions ¶
type GovernanceAssignmentsClientDeleteOptions struct {
}
GovernanceAssignmentsClientDeleteOptions contains the optional parameters for the GovernanceAssignmentsClient.Delete method.
type GovernanceAssignmentsClientDeleteResponse ¶
type GovernanceAssignmentsClientDeleteResponse struct {
}
GovernanceAssignmentsClientDeleteResponse contains the response from method GovernanceAssignmentsClient.Delete.
type GovernanceAssignmentsClientGetOptions ¶
type GovernanceAssignmentsClientGetOptions struct {
}
GovernanceAssignmentsClientGetOptions contains the optional parameters for the GovernanceAssignmentsClient.Get method.
type GovernanceAssignmentsClientGetResponse ¶
type GovernanceAssignmentsClientGetResponse struct {
// Governance assignment over a given scope
GovernanceAssignment
}
GovernanceAssignmentsClientGetResponse contains the response from method GovernanceAssignmentsClient.Get.
type GovernanceAssignmentsClientListOptions ¶
type GovernanceAssignmentsClientListOptions struct {
}
GovernanceAssignmentsClientListOptions contains the optional parameters for the GovernanceAssignmentsClient.NewListPager method.
type GovernanceAssignmentsClientListResponse ¶
type GovernanceAssignmentsClientListResponse struct {
// Page of a governance assignments list
GovernanceAssignmentsList
}
GovernanceAssignmentsClientListResponse contains the response from method GovernanceAssignmentsClient.NewListPager.
type GovernanceAssignmentsList ¶
type GovernanceAssignmentsList struct {
// READ-ONLY; The URI to fetch the next page
NextLink *string
// READ-ONLY; Collection of governance assignments in this page
Value []*GovernanceAssignment
}
GovernanceAssignmentsList - Page of a governance assignments list
func (GovernanceAssignmentsList) MarshalJSON ¶
func (g GovernanceAssignmentsList) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type GovernanceAssignmentsList.
func (*GovernanceAssignmentsList) UnmarshalJSON ¶
func (g *GovernanceAssignmentsList) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type GovernanceAssignmentsList.
type GovernanceEmailNotification ¶
type GovernanceEmailNotification struct {
// Exclude manager from weekly email notification.
DisableManagerEmailNotification *bool
// Exclude owner from weekly email notification.
DisableOwnerEmailNotification *bool
}
GovernanceEmailNotification - The governance email weekly notification configuration.
func (GovernanceEmailNotification) MarshalJSON ¶
func (g GovernanceEmailNotification) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type GovernanceEmailNotification.
func (*GovernanceEmailNotification) UnmarshalJSON ¶
func (g *GovernanceEmailNotification) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type GovernanceEmailNotification.
type GovernanceRule ¶
type GovernanceRule struct {
// Properties of a governance rule
Properties *GovernanceRuleProperties
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Resource type
Type *string
}
GovernanceRule - Governance rule over a given scope
func (GovernanceRule) MarshalJSON ¶
func (g GovernanceRule) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type GovernanceRule.
func (*GovernanceRule) UnmarshalJSON ¶
func (g *GovernanceRule) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type GovernanceRule.
type GovernanceRuleConditionOperator ¶
type GovernanceRuleConditionOperator string
GovernanceRuleConditionOperator - The governance rule Condition's Operator, for example Equals for severity or In for list of assessments, see examples
const ( // GovernanceRuleConditionOperatorEquals - Checks that the string value of the data defined in Property equals the given value // - exact fit GovernanceRuleConditionOperatorEquals GovernanceRuleConditionOperator = "Equals" // GovernanceRuleConditionOperatorIn - Checks that the string value of the data defined in Property equals any of the given // values (exact fit) GovernanceRuleConditionOperatorIn GovernanceRuleConditionOperator = "In" )
func PossibleGovernanceRuleConditionOperatorValues ¶
func PossibleGovernanceRuleConditionOperatorValues() []GovernanceRuleConditionOperator
PossibleGovernanceRuleConditionOperatorValues returns the possible values for the GovernanceRuleConditionOperator const type.
type GovernanceRuleEmailNotification ¶
type GovernanceRuleEmailNotification struct {
// Defines whether manager email notifications are disabled
DisableManagerEmailNotification *bool
// Defines whether owner email notifications are disabled
DisableOwnerEmailNotification *bool
}
GovernanceRuleEmailNotification - The governance email weekly notification configuration
func (GovernanceRuleEmailNotification) MarshalJSON ¶
func (g GovernanceRuleEmailNotification) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type GovernanceRuleEmailNotification.
func (*GovernanceRuleEmailNotification) UnmarshalJSON ¶
func (g *GovernanceRuleEmailNotification) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type GovernanceRuleEmailNotification.
type GovernanceRuleList ¶
type GovernanceRuleList struct {
// READ-ONLY; The URI to fetch the next page
NextLink *string
// READ-ONLY; Collection of governance rules in this page
Value []*GovernanceRule
}
GovernanceRuleList - Page of a governance rules list
func (GovernanceRuleList) MarshalJSON ¶
func (g GovernanceRuleList) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type GovernanceRuleList.
func (*GovernanceRuleList) UnmarshalJSON ¶
func (g *GovernanceRuleList) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type GovernanceRuleList.
type GovernanceRuleMetadata ¶
type GovernanceRuleMetadata struct {
// READ-ONLY; Governance rule Created by object id (GUID)
CreatedBy *string
// READ-ONLY; Governance rule creation date
CreatedOn *time.Time
// READ-ONLY; Governance rule last updated by object id (GUID)
UpdatedBy *string
// READ-ONLY; Governance rule last update date
UpdatedOn *time.Time
}
GovernanceRuleMetadata - The governance rule metadata
func (GovernanceRuleMetadata) MarshalJSON ¶
func (g GovernanceRuleMetadata) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type GovernanceRuleMetadata.
func (*GovernanceRuleMetadata) UnmarshalJSON ¶
func (g *GovernanceRuleMetadata) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type GovernanceRuleMetadata.
type GovernanceRuleOwnerSource ¶
type GovernanceRuleOwnerSource struct {
// The owner type for the governance rule owner source
Type *GovernanceRuleOwnerSourceType
// The source value e.g. tag key like owner name or email address
Value *string
}
GovernanceRuleOwnerSource - Describe the owner source of governance rule
func (GovernanceRuleOwnerSource) MarshalJSON ¶
func (g GovernanceRuleOwnerSource) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type GovernanceRuleOwnerSource.
func (*GovernanceRuleOwnerSource) UnmarshalJSON ¶
func (g *GovernanceRuleOwnerSource) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type GovernanceRuleOwnerSource.
type GovernanceRuleOwnerSourceType ¶
type GovernanceRuleOwnerSourceType string
GovernanceRuleOwnerSourceType - The owner type for the governance rule owner source
const ( // GovernanceRuleOwnerSourceTypeByTag - The rule source type defined using resource tag GovernanceRuleOwnerSourceTypeByTag GovernanceRuleOwnerSourceType = "ByTag" // GovernanceRuleOwnerSourceTypeManually - The rule source type defined manually GovernanceRuleOwnerSourceTypeManually GovernanceRuleOwnerSourceType = "Manually" )
func PossibleGovernanceRuleOwnerSourceTypeValues ¶
func PossibleGovernanceRuleOwnerSourceTypeValues() []GovernanceRuleOwnerSourceType
PossibleGovernanceRuleOwnerSourceTypeValues returns the possible values for the GovernanceRuleOwnerSourceType const type.
type GovernanceRuleProperties ¶
type GovernanceRuleProperties struct {
// REQUIRED; The governance rule conditionSets - see examples
ConditionSets []any
// REQUIRED; Display name of the governance rule
DisplayName *string
// REQUIRED; The owner source for the governance rule - e.g. Manually by user@contoso.com - see example
OwnerSource *GovernanceRuleOwnerSource
// REQUIRED; The governance rule priority, priority to the lower number. Rules with the same priority on the same scope will
// not be allowed
RulePriority *int32
// REQUIRED; The rule type of the governance rule, defines the source of the rule e.g. Integrated
RuleType *GovernanceRuleType
// REQUIRED; The governance rule source, what the rule affects, e.g. Assessments
SourceResourceType *GovernanceRuleSourceResourceType
// Description of the governance rule
Description *string
// Excluded scopes, filter out the descendants of the scope (on management scopes)
ExcludedScopes []*string
// The email notifications settings for the governance rule, states whether to disable notifications for mangers and owners
GovernanceEmailNotification *GovernanceRuleEmailNotification
// Defines whether the rule is management scope rule (master connector as a single scope or management scope)
IncludeMemberScopes *bool
// Defines whether the rule is active/inactive
IsDisabled *bool
// Defines whether there is a grace period on the governance rule
IsGracePeriod *bool
// The governance rule metadata
Metadata *GovernanceRuleMetadata
// Governance rule remediation timeframe - this is the time that will affect on the grace-period duration e.g. 7.00:00:00
// - means 7 days
RemediationTimeframe *string
// READ-ONLY; The tenantId (GUID)
TenantID *string
}
GovernanceRuleProperties - Describes properties of an governance rule
func (GovernanceRuleProperties) MarshalJSON ¶
func (g GovernanceRuleProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type GovernanceRuleProperties.
func (*GovernanceRuleProperties) UnmarshalJSON ¶
func (g *GovernanceRuleProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type GovernanceRuleProperties.
type GovernanceRuleSourceResourceType ¶
type GovernanceRuleSourceResourceType string
GovernanceRuleSourceResourceType - The governance rule source, what the rule affects, e.g. Assessments
const ( // GovernanceRuleSourceResourceTypeAssessments - The source of the governance rule is assessments GovernanceRuleSourceResourceTypeAssessments GovernanceRuleSourceResourceType = "Assessments" )
func PossibleGovernanceRuleSourceResourceTypeValues ¶
func PossibleGovernanceRuleSourceResourceTypeValues() []GovernanceRuleSourceResourceType
PossibleGovernanceRuleSourceResourceTypeValues returns the possible values for the GovernanceRuleSourceResourceType const type.
type GovernanceRuleType ¶
type GovernanceRuleType string
GovernanceRuleType - The rule type of the governance rule, defines the source of the rule e.g. Integrated
const ( // GovernanceRuleTypeIntegrated - The source of the rule type definition is integrated GovernanceRuleTypeIntegrated GovernanceRuleType = "Integrated" // GovernanceRuleTypeServiceNow - The source of the rule type definition is ServiceNow GovernanceRuleTypeServiceNow GovernanceRuleType = "ServiceNow" )
func PossibleGovernanceRuleTypeValues ¶
func PossibleGovernanceRuleTypeValues() []GovernanceRuleType
PossibleGovernanceRuleTypeValues returns the possible values for the GovernanceRuleType const type.
type GovernanceRulesClient ¶
type GovernanceRulesClient struct {
// contains filtered or unexported fields
}
GovernanceRulesClient contains the methods for the GovernanceRules group. Don't use this type directly, use NewGovernanceRulesClient() instead.
func NewGovernanceRulesClient ¶
func NewGovernanceRulesClient(credential azcore.TokenCredential, options *arm.ClientOptions) (*GovernanceRulesClient, error)
NewGovernanceRulesClient creates a new instance of GovernanceRulesClient with the specified values.
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*GovernanceRulesClient) BeginDelete ¶
func (client *GovernanceRulesClient) BeginDelete(ctx context.Context, scope string, ruleID string, options *GovernanceRulesClientBeginDeleteOptions) (*runtime.Poller[GovernanceRulesClientDeleteResponse], error)
BeginDelete - Delete a Governance rule over a given scope If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2022-01-01-preview
- scope - The scope of the Governance rules. Valid scopes are: management group (format: 'providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format: 'subscriptions/{subscriptionId}'), or security connector (format: 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors/{securityConnectorName})'
- ruleID - The governance rule key - unique key for the standard governance rule (GUID)
- options - GovernanceRulesClientBeginDeleteOptions contains the optional parameters for the GovernanceRulesClient.BeginDelete method.
Example (DeleteAGovernanceRuleOverManagementGroupScope) ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2022-01-01-preview/examples/GovernanceRules/DeleteManagementGroupGovernanceRule_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewGovernanceRulesClient().BeginDelete(ctx, "providers/Microsoft.Management/managementGroups/contoso", "ad9a8e26-29d9-4829-bb30-e597a58cdbb8", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
_, err = poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
}
Example (DeleteAGovernanceRuleOverSecurityConnectorScope) ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2022-01-01-preview/examples/GovernanceRules/DeleteSecurityConnectorGovernanceRule_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewGovernanceRulesClient().BeginDelete(ctx, "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/gcpResourceGroup/providers/Microsoft.Security/securityConnectors/gcpconnector", "ad9a8e26-29d9-4829-bb30-e597a58cdbb8", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
_, err = poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
}
Example (DeleteAGovernanceRuleOverSubscriptionScope) ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2022-01-01-preview/examples/GovernanceRules/DeleteGovernanceRule_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewGovernanceRulesClient().BeginDelete(ctx, "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23", "ad9a8e26-29d9-4829-bb30-e597a58cdbb8", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
_, err = poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
}
func (*GovernanceRulesClient) BeginExecute ¶
func (client *GovernanceRulesClient) BeginExecute(ctx context.Context, scope string, ruleID string, options *GovernanceRulesClientBeginExecuteOptions) (*runtime.Poller[GovernanceRulesClientExecuteResponse], error)
BeginExecute - Execute a governance rule If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2022-01-01-preview
- scope - The scope of the Governance rules. Valid scopes are: management group (format: 'providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format: 'subscriptions/{subscriptionId}'), or security connector (format: 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors/{securityConnectorName})'
- ruleID - The governance rule key - unique key for the standard governance rule (GUID)
- options - GovernanceRulesClientBeginExecuteOptions contains the optional parameters for the GovernanceRulesClient.BeginExecute method.
Example (ExecuteGovernanceRuleOverManagementGroupScope) ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2022-01-01-preview/examples/GovernanceRules/PostManagementGroupGovernanceRule_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewGovernanceRulesClient().BeginExecute(ctx, "providers/Microsoft.Management/managementGroups/contoso", "ad9a8e26-29d9-4829-bb30-e597a58cdbb8", &armsecurity.GovernanceRulesClientBeginExecuteOptions{ExecuteGovernanceRuleParams: nil})
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
_, err = poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
}
Example (ExecuteGovernanceRuleOverSecurityConnectorScope) ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2022-01-01-preview/examples/GovernanceRules/PostSecurityConnectorGovernanceRule_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewGovernanceRulesClient().BeginExecute(ctx, "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/gcpResourceGroup/providers/Microsoft.Security/securityConnectors/gcpconnector", "ad9a8e26-29d9-4829-bb30-e597a58cdbb8", &armsecurity.GovernanceRulesClientBeginExecuteOptions{ExecuteGovernanceRuleParams: nil})
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
_, err = poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
}
Example (ExecuteGovernanceRuleOverSubscriptionScope) ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2022-01-01-preview/examples/GovernanceRules/PostGovernanceRule_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewGovernanceRulesClient().BeginExecute(ctx, "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23", "ad9a8e26-29d9-4829-bb30-e597a58cdbb8", &armsecurity.GovernanceRulesClientBeginExecuteOptions{ExecuteGovernanceRuleParams: nil})
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
_, err = poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
}
func (*GovernanceRulesClient) CreateOrUpdate ¶
func (client *GovernanceRulesClient) CreateOrUpdate(ctx context.Context, scope string, ruleID string, governanceRule GovernanceRule, options *GovernanceRulesClientCreateOrUpdateOptions) (GovernanceRulesClientCreateOrUpdateResponse, error)
CreateOrUpdate - Creates or updates a governance rule over a given scope If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2022-01-01-preview
- scope - The scope of the Governance rules. Valid scopes are: management group (format: 'providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format: 'subscriptions/{subscriptionId}'), or security connector (format: 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors/{securityConnectorName})'
- ruleID - The governance rule key - unique key for the standard governance rule (GUID)
- governanceRule - Governance rule over a given scope
- options - GovernanceRulesClientCreateOrUpdateOptions contains the optional parameters for the GovernanceRulesClient.CreateOrUpdate method.
Example (CreateOrUpdateGovernanceRuleOverManagementGroupScope) ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2022-01-01-preview/examples/GovernanceRules/PutManagementGroupGovernanceRule_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewGovernanceRulesClient().CreateOrUpdate(ctx, "providers/Microsoft.Management/managementGroups/contoso", "ad9a8e26-29d9-4829-bb30-e597a58cdbb8", armsecurity.GovernanceRule{
Properties: &armsecurity.GovernanceRuleProperties{
Description: to.Ptr("A rule for a management group"),
ConditionSets: []any{
map[string]any{
"conditions": []any{
map[string]any{
"operator": "In",
"property": "$.AssessmentKey",
"value": "[\"b1cd27e0-4ecc-4246-939f-49c426d9d72f\", \"fe83f80b-073d-4ccf-93d9-6797eb870201\"]",
},
},
}},
DisplayName: to.Ptr("Management group rule"),
ExcludedScopes: []*string{
to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23")},
GovernanceEmailNotification: &armsecurity.GovernanceRuleEmailNotification{
DisableManagerEmailNotification: to.Ptr(true),
DisableOwnerEmailNotification: to.Ptr(false),
},
IsDisabled: to.Ptr(false),
IsGracePeriod: to.Ptr(true),
OwnerSource: &armsecurity.GovernanceRuleOwnerSource{
Type: to.Ptr(armsecurity.GovernanceRuleOwnerSourceTypeManually),
Value: to.Ptr("user@contoso.com"),
},
RemediationTimeframe: to.Ptr("7.00:00:00"),
RulePriority: to.Ptr[int32](200),
RuleType: to.Ptr(armsecurity.GovernanceRuleTypeIntegrated),
SourceResourceType: to.Ptr(armsecurity.GovernanceRuleSourceResourceTypeAssessments),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.GovernanceRule = armsecurity.GovernanceRule{
// Name: to.Ptr("ad9a8e26-29d9-4829-bb30-e597a58cdbb8"),
// Type: to.Ptr("Microsoft.Security/governanceRules"),
// ID: to.Ptr("providers/Microsoft.Management/managementGroups/contoso/providers/Microsoft.Security/governanceRules/ad9a8e26-29d9-4829-bb30-e597a58cdbb8"),
// Properties: &armsecurity.GovernanceRuleProperties{
// Description: to.Ptr("A rule for a management group"),
// ConditionSets: []any{
// map[string]any{
// "conditions":[]any{
// map[string]any{
// "operator": "In",
// "property": "$.AssessmentKey",
// "value": "[\"b1cd27e0-4ecc-4246-939f-49c426d9d72f\", \"fe83f80b-073d-4ccf-93d9-6797eb870201\"]",
// },
// },
// }},
// DisplayName: to.Ptr("Management group rule"),
// ExcludedScopes: []*string{
// to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23")},
// GovernanceEmailNotification: &armsecurity.GovernanceRuleEmailNotification{
// DisableManagerEmailNotification: to.Ptr(true),
// DisableOwnerEmailNotification: to.Ptr(false),
// },
// IncludeMemberScopes: to.Ptr(false),
// IsDisabled: to.Ptr(false),
// IsGracePeriod: to.Ptr(true),
// Metadata: &armsecurity.GovernanceRuleMetadata{
// CreatedBy: to.Ptr("c23b5354-ff0a-4b2a-9f92-6f144effd936"),
// CreatedOn: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-11-10T08:31:26.799Z"); return t}()),
// UpdatedBy: to.Ptr("c23b5354-ff0a-4b2a-9f92-6f144effd936"),
// UpdatedOn: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-11-10T08:31:26.799Z"); return t}()),
// },
// OwnerSource: &armsecurity.GovernanceRuleOwnerSource{
// Type: to.Ptr(armsecurity.GovernanceRuleOwnerSourceTypeManually),
// Value: to.Ptr("user@contoso.com"),
// },
// RemediationTimeframe: to.Ptr("7.00:00:00"),
// RulePriority: to.Ptr[int32](200),
// RuleType: to.Ptr(armsecurity.GovernanceRuleTypeIntegrated),
// SourceResourceType: to.Ptr(armsecurity.GovernanceRuleSourceResourceTypeAssessments),
// TenantID: to.Ptr("f0b6d37b-e4bc-4719-9291-c066c3194f23"),
// },
// }
}
Example (CreateOrUpdateGovernanceRuleOverSecurityConnectorScope) ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2022-01-01-preview/examples/GovernanceRules/PutSecurityConnectorGovernanceRule_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewGovernanceRulesClient().CreateOrUpdate(ctx, "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/gcpResourceGroup/providers/Microsoft.Security/securityConnectors/gcpconnector", "ad9a8e26-29d9-4829-bb30-e597a58cdbb8", armsecurity.GovernanceRule{
Properties: &armsecurity.GovernanceRuleProperties{
Description: to.Ptr("A rule on critical GCP recommendations"),
ConditionSets: []any{
map[string]any{
"conditions": []any{
map[string]any{
"operator": "In",
"property": "$.AssessmentKey",
"value": "[\"b1cd27e0-4ecc-4246-939f-49c426d9d72f\", \"fe83f80b-073d-4ccf-93d9-6797eb870201\"]",
},
},
}},
DisplayName: to.Ptr("GCP Admin's rule"),
GovernanceEmailNotification: &armsecurity.GovernanceRuleEmailNotification{
DisableManagerEmailNotification: to.Ptr(true),
DisableOwnerEmailNotification: to.Ptr(false),
},
IsDisabled: to.Ptr(false),
IsGracePeriod: to.Ptr(true),
OwnerSource: &armsecurity.GovernanceRuleOwnerSource{
Type: to.Ptr(armsecurity.GovernanceRuleOwnerSourceTypeManually),
Value: to.Ptr("user@contoso.com"),
},
RemediationTimeframe: to.Ptr("7.00:00:00"),
RulePriority: to.Ptr[int32](200),
RuleType: to.Ptr(armsecurity.GovernanceRuleTypeIntegrated),
SourceResourceType: to.Ptr(armsecurity.GovernanceRuleSourceResourceTypeAssessments),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.GovernanceRule = armsecurity.GovernanceRule{
// Name: to.Ptr("ad9a8e26-29d9-4829-bb30-e597a58cdbb8"),
// Type: to.Ptr("Microsoft.Security/governanceRules"),
// ID: to.Ptr("subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/gcpResourceGroup/providers/Microsoft.Security/securityConnectors/gcpconnector/providers/Microsoft.Security/governanceRules/ad9a8e26-29d9-4829-bb30-e597a58cdbb8"),
// Properties: &armsecurity.GovernanceRuleProperties{
// Description: to.Ptr("A rule on critical GCP recommendations"),
// ConditionSets: []any{
// map[string]any{
// "conditions":[]any{
// map[string]any{
// "operator": "In",
// "property": "$.AssessmentKey",
// "value": "[\"b1cd27e0-4ecc-4246-939f-49c426d9d72f\", \"fe83f80b-073d-4ccf-93d9-6797eb870201\"]",
// },
// },
// }},
// DisplayName: to.Ptr("GCP Admin's rule"),
// ExcludedScopes: []*string{
// },
// GovernanceEmailNotification: &armsecurity.GovernanceRuleEmailNotification{
// DisableManagerEmailNotification: to.Ptr(true),
// DisableOwnerEmailNotification: to.Ptr(false),
// },
// IncludeMemberScopes: to.Ptr(false),
// IsDisabled: to.Ptr(false),
// IsGracePeriod: to.Ptr(true),
// Metadata: &armsecurity.GovernanceRuleMetadata{
// CreatedBy: to.Ptr("c23b5354-ff0a-4b2a-9f92-6f144effd936"),
// CreatedOn: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-11-10T08:31:26.799Z"); return t}()),
// UpdatedBy: to.Ptr("c23b5354-ff0a-4b2a-9f92-6f144effd936"),
// UpdatedOn: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-11-10T08:31:26.799Z"); return t}()),
// },
// OwnerSource: &armsecurity.GovernanceRuleOwnerSource{
// Type: to.Ptr(armsecurity.GovernanceRuleOwnerSourceTypeManually),
// Value: to.Ptr("user@contoso.com"),
// },
// RemediationTimeframe: to.Ptr("7.00:00:00"),
// RulePriority: to.Ptr[int32](200),
// RuleType: to.Ptr(armsecurity.GovernanceRuleTypeIntegrated),
// SourceResourceType: to.Ptr(armsecurity.GovernanceRuleSourceResourceTypeAssessments),
// TenantID: to.Ptr("f0b6d37b-e4bc-4719-9291-c066c3194f23"),
// },
// }
}
Example (CreateOrUpdateGovernanceRuleOverSubscriptionScope) ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2022-01-01-preview/examples/GovernanceRules/PutGovernanceRule_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewGovernanceRulesClient().CreateOrUpdate(ctx, "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23", "ad9a8e26-29d9-4829-bb30-e597a58cdbb8", armsecurity.GovernanceRule{
Properties: &armsecurity.GovernanceRuleProperties{
Description: to.Ptr("A rule for critical recommendations"),
ConditionSets: []any{
map[string]any{
"conditions": []any{
map[string]any{
"operator": "In",
"property": "$.AssessmentKey",
"value": "[\"b1cd27e0-4ecc-4246-939f-49c426d9d72f\", \"fe83f80b-073d-4ccf-93d9-6797eb870201\"]",
},
},
}},
DisplayName: to.Ptr("Admin's rule"),
GovernanceEmailNotification: &armsecurity.GovernanceRuleEmailNotification{
DisableManagerEmailNotification: to.Ptr(false),
DisableOwnerEmailNotification: to.Ptr(false),
},
IsDisabled: to.Ptr(false),
IsGracePeriod: to.Ptr(true),
OwnerSource: &armsecurity.GovernanceRuleOwnerSource{
Type: to.Ptr(armsecurity.GovernanceRuleOwnerSourceTypeManually),
Value: to.Ptr("user@contoso.com"),
},
RemediationTimeframe: to.Ptr("7.00:00:00"),
RulePriority: to.Ptr[int32](200),
RuleType: to.Ptr(armsecurity.GovernanceRuleTypeIntegrated),
SourceResourceType: to.Ptr(armsecurity.GovernanceRuleSourceResourceTypeAssessments),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.GovernanceRule = armsecurity.GovernanceRule{
// Name: to.Ptr("ad9a8e26-29d9-4829-bb30-e597a58cdbb8"),
// Type: to.Ptr("Microsoft.Security/governanceRules"),
// ID: to.Ptr("subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/governanceRules/ad9a8e26-29d9-4829-bb30-e597a58cdbb8"),
// Properties: &armsecurity.GovernanceRuleProperties{
// Description: to.Ptr("A rule for critical recommendations"),
// ConditionSets: []any{
// map[string]any{
// "conditions":[]any{
// map[string]any{
// "operator": "In",
// "property": "$.AssessmentKey",
// "value": "[\"b1cd27e0-4ecc-4246-939f-49c426d9d72f\", \"fe83f80b-073d-4ccf-93d9-6797eb870201\"]",
// },
// },
// }},
// DisplayName: to.Ptr("Admin's rule"),
// ExcludedScopes: []*string{
// },
// GovernanceEmailNotification: &armsecurity.GovernanceRuleEmailNotification{
// DisableManagerEmailNotification: to.Ptr(false),
// DisableOwnerEmailNotification: to.Ptr(false),
// },
// IncludeMemberScopes: to.Ptr(false),
// IsDisabled: to.Ptr(false),
// IsGracePeriod: to.Ptr(true),
// Metadata: &armsecurity.GovernanceRuleMetadata{
// CreatedBy: to.Ptr("c23b5354-ff0a-4b2a-9f92-6f144effd936"),
// CreatedOn: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-11-10T08:31:26.799Z"); return t}()),
// UpdatedBy: to.Ptr("c23b5354-ff0a-4b2a-9f92-6f144effd936"),
// UpdatedOn: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-11-10T08:31:26.799Z"); return t}()),
// },
// OwnerSource: &armsecurity.GovernanceRuleOwnerSource{
// Type: to.Ptr(armsecurity.GovernanceRuleOwnerSourceTypeManually),
// Value: to.Ptr("user@contoso.com"),
// },
// RemediationTimeframe: to.Ptr("7.00:00:00"),
// RulePriority: to.Ptr[int32](200),
// RuleType: to.Ptr(armsecurity.GovernanceRuleTypeIntegrated),
// SourceResourceType: to.Ptr(armsecurity.GovernanceRuleSourceResourceTypeAssessments),
// TenantID: to.Ptr("f0b6d37b-e4bc-4719-9291-c066c3194f23"),
// },
// }
}
func (*GovernanceRulesClient) Get ¶
func (client *GovernanceRulesClient) Get(ctx context.Context, scope string, ruleID string, options *GovernanceRulesClientGetOptions) (GovernanceRulesClientGetResponse, error)
Get - Get a specific governance rule for the requested scope by ruleId If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2022-01-01-preview
- scope - The scope of the Governance rules. Valid scopes are: management group (format: 'providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format: 'subscriptions/{subscriptionId}'), or security connector (format: 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors/{securityConnectorName})'
- ruleID - The governance rule key - unique key for the standard governance rule (GUID)
- options - GovernanceRulesClientGetOptions contains the optional parameters for the GovernanceRulesClient.Get method.
Example (GetAGovernanceRuleOverManagementGroupScope) ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2022-01-01-preview/examples/GovernanceRules/GetManagementGroupGovernanceRule_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewGovernanceRulesClient().Get(ctx, "providers/Microsoft.Management/managementGroups/contoso", "ad9a8e26-29d9-4829-bb30-e597a58cdbb8", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.GovernanceRule = armsecurity.GovernanceRule{
// Name: to.Ptr("ad9a8e26-29d9-4829-bb30-e597a58cdbb8"),
// Type: to.Ptr("Microsoft.Security/governanceRules"),
// ID: to.Ptr("providers/Microsoft.Management/managementGroups/contoso/providers/Microsoft.Security/governanceRules/ad9a8e26-29d9-4829-bb30-e597a58cdbb8"),
// Properties: &armsecurity.GovernanceRuleProperties{
// Description: to.Ptr("A rule for a management group"),
// ConditionSets: []any{
// map[string]any{
// "conditions":[]any{
// map[string]any{
// "operator": "In",
// "property": "$.AssessmentKey",
// "value": "[\"b1cd27e0-4ecc-4246-939f-49c426d9d72f\", \"fe83f80b-073d-4ccf-93d9-6797eb870201\"]",
// },
// },
// }},
// DisplayName: to.Ptr("Management group rule"),
// ExcludedScopes: []*string{
// to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23")},
// GovernanceEmailNotification: &armsecurity.GovernanceRuleEmailNotification{
// DisableManagerEmailNotification: to.Ptr(false),
// DisableOwnerEmailNotification: to.Ptr(false),
// },
// IncludeMemberScopes: to.Ptr(false),
// IsDisabled: to.Ptr(false),
// IsGracePeriod: to.Ptr(true),
// Metadata: &armsecurity.GovernanceRuleMetadata{
// CreatedBy: to.Ptr("c23b5354-ff0a-4b2a-9f92-6f144effd936"),
// CreatedOn: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-11-10T08:31:26.799Z"); return t}()),
// UpdatedBy: to.Ptr("c23b5354-ff0a-4b2a-9f92-6f144effd936"),
// UpdatedOn: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-11-10T08:31:26.799Z"); return t}()),
// },
// OwnerSource: &armsecurity.GovernanceRuleOwnerSource{
// Type: to.Ptr(armsecurity.GovernanceRuleOwnerSourceTypeManually),
// Value: to.Ptr("user@contoso.com"),
// },
// RemediationTimeframe: to.Ptr("7.00:00:00"),
// RulePriority: to.Ptr[int32](200),
// RuleType: to.Ptr(armsecurity.GovernanceRuleTypeIntegrated),
// SourceResourceType: to.Ptr(armsecurity.GovernanceRuleSourceResourceTypeAssessments),
// TenantID: to.Ptr("f0b6d37b-e4bc-4719-9291-c066c3194f23"),
// },
// }
}
Example (GetAGovernanceRuleOverSecurityConnectorScope) ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2022-01-01-preview/examples/GovernanceRules/GetSecurityConnectorGovernanceRule_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewGovernanceRulesClient().Get(ctx, "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/gcpResourceGroup/providers/Microsoft.Security/securityConnectors/gcpconnector", "ad9a8e26-29d9-4829-bb30-e597a58cdbb8", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.GovernanceRule = armsecurity.GovernanceRule{
// Name: to.Ptr("ad9a8e26-29d9-4829-bb30-e597a58cdbb8"),
// Type: to.Ptr("Microsoft.Security/governanceRules"),
// ID: to.Ptr("subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/gcpResourceGroup/providers/Microsoft.Security/securityConnectors/gcpconnector/providers/Microsoft.Security/governanceRules/ad9a8e26-29d9-4829-bb30-e597a58cdbb8"),
// Properties: &armsecurity.GovernanceRuleProperties{
// Description: to.Ptr("A rule on critical GCP recommendations"),
// ConditionSets: []any{
// map[string]any{
// "conditions":[]any{
// map[string]any{
// "operator": "In",
// "property": "$.AssessmentKey",
// "value": "[\"b1cd27e0-4ecc-4246-939f-49c426d9d72f\", \"fe83f80b-073d-4ccf-93d9-6797eb870201\"]",
// },
// },
// }},
// DisplayName: to.Ptr("GCP Admin's rule"),
// ExcludedScopes: []*string{
// },
// GovernanceEmailNotification: &armsecurity.GovernanceRuleEmailNotification{
// DisableManagerEmailNotification: to.Ptr(false),
// DisableOwnerEmailNotification: to.Ptr(false),
// },
// IncludeMemberScopes: to.Ptr(false),
// IsDisabled: to.Ptr(false),
// IsGracePeriod: to.Ptr(true),
// Metadata: &armsecurity.GovernanceRuleMetadata{
// CreatedBy: to.Ptr("c23b5354-ff0a-4b2a-9f92-6f144effd936"),
// CreatedOn: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-11-10T08:31:26.799Z"); return t}()),
// UpdatedBy: to.Ptr("c23b5354-ff0a-4b2a-9f92-6f144effd936"),
// UpdatedOn: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-11-10T08:31:26.799Z"); return t}()),
// },
// OwnerSource: &armsecurity.GovernanceRuleOwnerSource{
// Type: to.Ptr(armsecurity.GovernanceRuleOwnerSourceTypeManually),
// Value: to.Ptr("user@contoso.com"),
// },
// RemediationTimeframe: to.Ptr("7.00:00:00"),
// RulePriority: to.Ptr[int32](200),
// RuleType: to.Ptr(armsecurity.GovernanceRuleTypeIntegrated),
// SourceResourceType: to.Ptr(armsecurity.GovernanceRuleSourceResourceTypeAssessments),
// TenantID: to.Ptr("f0b6d37b-e4bc-4719-9291-c066c3194f23"),
// },
// }
}
Example (GetAGovernanceRuleOverSubscriptionScope) ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2022-01-01-preview/examples/GovernanceRules/GetGovernanceRule_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewGovernanceRulesClient().Get(ctx, "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23", "ad9a8e26-29d9-4829-bb30-e597a58cdbb8", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.GovernanceRule = armsecurity.GovernanceRule{
// Name: to.Ptr("ad9a8e26-29d9-4829-bb30-e597a58cdbb8"),
// Type: to.Ptr("Microsoft.Security/governanceRules"),
// ID: to.Ptr("subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/governanceRules/ad9a8e26-29d9-4829-bb30-e597a58cdbb8"),
// Properties: &armsecurity.GovernanceRuleProperties{
// Description: to.Ptr("A rule for critical recommendations"),
// ConditionSets: []any{
// map[string]any{
// "conditions":[]any{
// map[string]any{
// "operator": "In",
// "property": "$.AssessmentKey",
// "value": "[\"b1cd27e0-4ecc-4246-939f-49c426d9d72f\", \"fe83f80b-073d-4ccf-93d9-6797eb870201\"]",
// },
// },
// }},
// DisplayName: to.Ptr("Admin's rule"),
// ExcludedScopes: []*string{
// },
// GovernanceEmailNotification: &armsecurity.GovernanceRuleEmailNotification{
// DisableManagerEmailNotification: to.Ptr(false),
// DisableOwnerEmailNotification: to.Ptr(false),
// },
// IncludeMemberScopes: to.Ptr(false),
// IsDisabled: to.Ptr(false),
// IsGracePeriod: to.Ptr(true),
// Metadata: &armsecurity.GovernanceRuleMetadata{
// CreatedBy: to.Ptr("c23b5354-ff0a-4b2a-9f92-6f144effd936"),
// CreatedOn: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-11-10T08:31:26.799Z"); return t}()),
// UpdatedBy: to.Ptr("c23b5354-ff0a-4b2a-9f92-6f144effd936"),
// UpdatedOn: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-11-10T08:31:26.799Z"); return t}()),
// },
// OwnerSource: &armsecurity.GovernanceRuleOwnerSource{
// Type: to.Ptr(armsecurity.GovernanceRuleOwnerSourceTypeManually),
// Value: to.Ptr("user@contoso.com"),
// },
// RemediationTimeframe: to.Ptr("7.00:00:00"),
// RulePriority: to.Ptr[int32](200),
// RuleType: to.Ptr(armsecurity.GovernanceRuleTypeIntegrated),
// SourceResourceType: to.Ptr(armsecurity.GovernanceRuleSourceResourceTypeAssessments),
// TenantID: to.Ptr("f0b6d37b-e4bc-4719-9291-c066c3194f23"),
// },
// }
}
func (*GovernanceRulesClient) NewListPager ¶
func (client *GovernanceRulesClient) NewListPager(scope string, options *GovernanceRulesClientListOptions) *runtime.Pager[GovernanceRulesClientListResponse]
NewListPager - Get a list of all relevant governance rules over a scope
Generated from API version 2022-01-01-preview
- scope - The scope of the Governance rules. Valid scopes are: management group (format: 'providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format: 'subscriptions/{subscriptionId}'), or security connector (format: 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors/{securityConnectorName})'
- options - GovernanceRulesClientListOptions contains the optional parameters for the GovernanceRulesClient.NewListPager method.
Example (ListGovernanceRulesByManagementGroupScope) ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2022-01-01-preview/examples/GovernanceRules/ListByManagementGroupGovernanceRules_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewGovernanceRulesClient().NewListPager("providers/Microsoft.Management/managementGroups/contoso", nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.GovernanceRuleList = armsecurity.GovernanceRuleList{
// Value: []*armsecurity.GovernanceRule{
// {
// Name: to.Ptr("ad9a8e26-29d9-4829-bb30-e597a58cdbb8"),
// Type: to.Ptr("Microsoft.Security/governanceRules"),
// ID: to.Ptr("providers/Microsoft.Management/managementGroups/contoso/providers/Microsoft.Security/governanceRules/ad9a8e26-29d9-4829-bb30-e597a58cdbb8"),
// Properties: &armsecurity.GovernanceRuleProperties{
// Description: to.Ptr("A rule for a management group"),
// ConditionSets: []any{
// map[string]any{
// "conditions":[]any{
// map[string]any{
// "operator": "In",
// "property": "$.AssessmentKey",
// "value": "[\"b1cd27e0-4ecc-4246-939f-49c426d9d72f\", \"fe83f80b-073d-4ccf-93d9-6797eb870201\"]",
// },
// },
// }},
// DisplayName: to.Ptr("Management group rule"),
// GovernanceEmailNotification: &armsecurity.GovernanceRuleEmailNotification{
// DisableManagerEmailNotification: to.Ptr(false),
// DisableOwnerEmailNotification: to.Ptr(false),
// },
// IsDisabled: to.Ptr(false),
// IsGracePeriod: to.Ptr(true),
// Metadata: &armsecurity.GovernanceRuleMetadata{
// CreatedBy: to.Ptr("c23b5354-ff0a-4b2a-9f92-6f144effd936"),
// CreatedOn: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-11-10T08:31:26.799Z"); return t}()),
// UpdatedBy: to.Ptr("c23b5354-ff0a-4b2a-9f92-6f144effd936"),
// UpdatedOn: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-11-10T08:31:26.799Z"); return t}()),
// },
// OwnerSource: &armsecurity.GovernanceRuleOwnerSource{
// Type: to.Ptr(armsecurity.GovernanceRuleOwnerSourceTypeManually),
// Value: to.Ptr("user@contoso.com"),
// },
// RemediationTimeframe: to.Ptr("7.00:00:00"),
// RulePriority: to.Ptr[int32](100),
// RuleType: to.Ptr(armsecurity.GovernanceRuleTypeIntegrated),
// SourceResourceType: to.Ptr(armsecurity.GovernanceRuleSourceResourceTypeAssessments),
// TenantID: to.Ptr("f0b6d37b-e4bc-4719-9291-c066c3194f23"),
// },
// },
// {
// Name: to.Ptr("4106f43c-6d82-4fc8-a92c-dcfe50799d1d"),
// Type: to.Ptr("Microsoft.Security/governanceRules"),
// ID: to.Ptr("providers/Microsoft.Management/managementGroups/contoso/providers/Microsoft.Security/governanceRules/4106f43c-6d82-4fc8-a92c-dcfe50799d1d"),
// Properties: &armsecurity.GovernanceRuleProperties{
// Description: to.Ptr("A rule for a management group"),
// ConditionSets: []any{
// map[string]any{
// "conditions":[]any{
// map[string]any{
// "operator": "Equals",
// "property": "$.Metadata.Severity",
// "value": "Low",
// },
// },
// }},
// DisplayName: to.Ptr("Management group rule 2"),
// ExcludedScopes: []*string{
// to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23")},
// GovernanceEmailNotification: &armsecurity.GovernanceRuleEmailNotification{
// DisableManagerEmailNotification: to.Ptr(false),
// DisableOwnerEmailNotification: to.Ptr(false),
// },
// IncludeMemberScopes: to.Ptr(false),
// IsDisabled: to.Ptr(false),
// IsGracePeriod: to.Ptr(true),
// Metadata: &armsecurity.GovernanceRuleMetadata{
// CreatedBy: to.Ptr("c23b5354-ff0a-4b2a-9f92-6f144effd936"),
// CreatedOn: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-11-10T08:31:26.799Z"); return t}()),
// UpdatedBy: to.Ptr("c23b5354-ff0a-4b2a-9f92-6f144effd936"),
// UpdatedOn: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-11-10T08:31:26.799Z"); return t}()),
// },
// OwnerSource: &armsecurity.GovernanceRuleOwnerSource{
// Type: to.Ptr(armsecurity.GovernanceRuleOwnerSourceTypeManually),
// Value: to.Ptr("user@contoso.com"),
// },
// RemediationTimeframe: to.Ptr("7.00:00:00"),
// RulePriority: to.Ptr[int32](200),
// RuleType: to.Ptr(armsecurity.GovernanceRuleTypeIntegrated),
// SourceResourceType: to.Ptr(armsecurity.GovernanceRuleSourceResourceTypeAssessments),
// TenantID: to.Ptr("f0b6d37b-e4bc-4719-9291-c066c3194f23"),
// },
// }},
// }
}
}
Example (ListGovernanceRulesBySecurityConnectorScope) ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2022-01-01-preview/examples/GovernanceRules/ListBySecurityConnectorGovernanceRules_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewGovernanceRulesClient().NewListPager("subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/gcpResourceGroup/providers/Microsoft.Security/securityConnectors/gcpconnector", nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.GovernanceRuleList = armsecurity.GovernanceRuleList{
// Value: []*armsecurity.GovernanceRule{
// {
// Name: to.Ptr("ad9a8e26-29d9-4829-bb30-e597a58cdbb8"),
// Type: to.Ptr("Microsoft.Security/governanceRules"),
// ID: to.Ptr("subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/gcpResourceGroup/providers/Microsoft.Security/securityConnectors/gcpconnector/providers/Microsoft.Security/governanceRules/ad9a8e26-29d9-4829-bb30-e597a58cdbb8"),
// Properties: &armsecurity.GovernanceRuleProperties{
// Description: to.Ptr("A rule on critical GCP recommendations"),
// ConditionSets: []any{
// map[string]any{
// "conditions":[]any{
// map[string]any{
// "operator": "In",
// "property": "$.AssessmentKey",
// "value": "[\"b1cd27e0-4ecc-4246-939f-49c426d9d72f\", \"fe83f80b-073d-4ccf-93d9-6797eb870201\"]",
// },
// },
// }},
// DisplayName: to.Ptr("Admin's GCP rule"),
// ExcludedScopes: []*string{
// },
// GovernanceEmailNotification: &armsecurity.GovernanceRuleEmailNotification{
// DisableManagerEmailNotification: to.Ptr(false),
// DisableOwnerEmailNotification: to.Ptr(false),
// },
// IncludeMemberScopes: to.Ptr(false),
// IsDisabled: to.Ptr(false),
// IsGracePeriod: to.Ptr(true),
// Metadata: &armsecurity.GovernanceRuleMetadata{
// CreatedBy: to.Ptr("c23b5354-ff0a-4b2a-9f92-6f144effd936"),
// CreatedOn: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-11-10T08:31:26.799Z"); return t}()),
// UpdatedBy: to.Ptr("c23b5354-ff0a-4b2a-9f92-6f144effd936"),
// UpdatedOn: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-11-10T08:31:26.799Z"); return t}()),
// },
// OwnerSource: &armsecurity.GovernanceRuleOwnerSource{
// Type: to.Ptr(armsecurity.GovernanceRuleOwnerSourceTypeManually),
// Value: to.Ptr("user@contoso.com"),
// },
// RemediationTimeframe: to.Ptr("7.00:00:00"),
// RulePriority: to.Ptr[int32](100),
// RuleType: to.Ptr(armsecurity.GovernanceRuleTypeIntegrated),
// SourceResourceType: to.Ptr(armsecurity.GovernanceRuleSourceResourceTypeAssessments),
// TenantID: to.Ptr("f0b6d37b-e4bc-4719-9291-c066c3194f23"),
// },
// },
// {
// Name: to.Ptr("4106f43c-6d82-4fc8-a92c-dcfe50799d1d"),
// Type: to.Ptr("Microsoft.Security/governanceRules"),
// ID: to.Ptr("subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/gcpResourceGroup/providers/Microsoft.Security/securityConnectors/gcpconnector/providers/Microsoft.Security/governanceRules/4106f43c-6d82-4fc8-a92c-dcfe50799d1d"),
// Properties: &armsecurity.GovernanceRuleProperties{
// Description: to.Ptr("A rule on critical GCP recommendations"),
// ConditionSets: []any{
// map[string]any{
// "conditions":[]any{
// map[string]any{
// "operator": "Equals",
// "property": "$.Metadata.Severity",
// "value": "Low",
// },
// },
// }},
// DisplayName: to.Ptr("GCP Admin's rule"),
// ExcludedScopes: []*string{
// },
// GovernanceEmailNotification: &armsecurity.GovernanceRuleEmailNotification{
// DisableManagerEmailNotification: to.Ptr(false),
// DisableOwnerEmailNotification: to.Ptr(false),
// },
// IncludeMemberScopes: to.Ptr(false),
// IsDisabled: to.Ptr(false),
// IsGracePeriod: to.Ptr(true),
// Metadata: &armsecurity.GovernanceRuleMetadata{
// CreatedBy: to.Ptr("c23b5354-ff0a-4b2a-9f92-6f144effd936"),
// CreatedOn: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-11-10T08:31:26.799Z"); return t}()),
// UpdatedBy: to.Ptr("c23b5354-ff0a-4b2a-9f92-6f144effd936"),
// UpdatedOn: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-11-10T08:31:26.799Z"); return t}()),
// },
// OwnerSource: &armsecurity.GovernanceRuleOwnerSource{
// Type: to.Ptr(armsecurity.GovernanceRuleOwnerSourceTypeManually),
// Value: to.Ptr("user@contoso.com"),
// },
// RemediationTimeframe: to.Ptr("7.00:00:00"),
// RulePriority: to.Ptr[int32](200),
// RuleType: to.Ptr(armsecurity.GovernanceRuleTypeIntegrated),
// SourceResourceType: to.Ptr(armsecurity.GovernanceRuleSourceResourceTypeAssessments),
// TenantID: to.Ptr("f0b6d37b-e4bc-4719-9291-c066c3194f23"),
// },
// }},
// }
}
}
Example (ListGovernanceRulesBySubscriptionScope) ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2022-01-01-preview/examples/GovernanceRules/ListBySubscriptionGovernanceRules_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewGovernanceRulesClient().NewListPager("subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23", nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.GovernanceRuleList = armsecurity.GovernanceRuleList{
// Value: []*armsecurity.GovernanceRule{
// {
// Name: to.Ptr("ad9a8e26-29d9-4829-bb30-e597a58cdbb8"),
// Type: to.Ptr("Microsoft.Security/governanceRules"),
// ID: to.Ptr("subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/governanceRules/ad9a8e26-29d9-4829-bb30-e597a58cdbb8"),
// Properties: &armsecurity.GovernanceRuleProperties{
// Description: to.Ptr("A rule for critical recommendations"),
// ConditionSets: []any{
// map[string]any{
// "conditions":[]any{
// map[string]any{
// "operator": "In",
// "property": "$.AssessmentKey",
// "value": "[\"b1cd27e0-4ecc-4246-939f-49c426d9d72f\", \"fe83f80b-073d-4ccf-93d9-6797eb870201\"]",
// },
// },
// }},
// DisplayName: to.Ptr("Admin's rule"),
// ExcludedScopes: []*string{
// },
// GovernanceEmailNotification: &armsecurity.GovernanceRuleEmailNotification{
// DisableManagerEmailNotification: to.Ptr(false),
// DisableOwnerEmailNotification: to.Ptr(false),
// },
// IncludeMemberScopes: to.Ptr(false),
// IsDisabled: to.Ptr(false),
// IsGracePeriod: to.Ptr(true),
// Metadata: &armsecurity.GovernanceRuleMetadata{
// CreatedBy: to.Ptr("c23b5354-ff0a-4b2a-9f92-6f144effd936"),
// CreatedOn: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-11-10T08:31:26.799Z"); return t}()),
// UpdatedBy: to.Ptr("c23b5354-ff0a-4b2a-9f92-6f144effd936"),
// UpdatedOn: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-11-10T08:31:26.799Z"); return t}()),
// },
// OwnerSource: &armsecurity.GovernanceRuleOwnerSource{
// Type: to.Ptr(armsecurity.GovernanceRuleOwnerSourceTypeManually),
// Value: to.Ptr("user@contoso.com"),
// },
// RemediationTimeframe: to.Ptr("7.00:00:00"),
// RulePriority: to.Ptr[int32](100),
// RuleType: to.Ptr(armsecurity.GovernanceRuleTypeIntegrated),
// SourceResourceType: to.Ptr(armsecurity.GovernanceRuleSourceResourceTypeAssessments),
// TenantID: to.Ptr("f0b6d37b-e4bc-4719-9291-c066c3194f23"),
// },
// },
// {
// Name: to.Ptr("4106f43c-6d82-4fc8-a92c-dcfe50799d1d"),
// Type: to.Ptr("Microsoft.Security/governanceRules"),
// ID: to.Ptr("subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/governanceRules/4106f43c-6d82-4fc8-a92c-dcfe50799d1d"),
// Properties: &armsecurity.GovernanceRuleProperties{
// Description: to.Ptr("A rule for critical recommendations"),
// ConditionSets: []any{
// map[string]any{
// "conditions":[]any{
// map[string]any{
// "operator": "Equals",
// "property": "$.Metadata.Severity",
// "value": "Low",
// },
// },
// }},
// DisplayName: to.Ptr("Admin's rule"),
// ExcludedScopes: []*string{
// },
// GovernanceEmailNotification: &armsecurity.GovernanceRuleEmailNotification{
// DisableManagerEmailNotification: to.Ptr(true),
// DisableOwnerEmailNotification: to.Ptr(true),
// },
// IncludeMemberScopes: to.Ptr(false),
// IsDisabled: to.Ptr(false),
// IsGracePeriod: to.Ptr(true),
// Metadata: &armsecurity.GovernanceRuleMetadata{
// CreatedBy: to.Ptr("c23b5354-ff0a-4b2a-9f92-6f144effd936"),
// CreatedOn: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-11-10T08:31:26.799Z"); return t}()),
// UpdatedBy: to.Ptr("c23b5354-ff0a-4b2a-9f92-6f144effd936"),
// UpdatedOn: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-11-10T08:31:26.799Z"); return t}()),
// },
// OwnerSource: &armsecurity.GovernanceRuleOwnerSource{
// Type: to.Ptr(armsecurity.GovernanceRuleOwnerSourceTypeManually),
// Value: to.Ptr("user@contoso.com"),
// },
// RemediationTimeframe: to.Ptr("7.00:00:00"),
// RulePriority: to.Ptr[int32](200),
// RuleType: to.Ptr(armsecurity.GovernanceRuleTypeIntegrated),
// SourceResourceType: to.Ptr(armsecurity.GovernanceRuleSourceResourceTypeAssessments),
// TenantID: to.Ptr("f0b6d37b-e4bc-4719-9291-c066c3194f23"),
// },
// }},
// }
}
}
func (*GovernanceRulesClient) OperationResults ¶
func (client *GovernanceRulesClient) OperationResults(ctx context.Context, scope string, ruleID string, operationID string, options *GovernanceRulesClientOperationResultsOptions) (GovernanceRulesClientOperationResultsResponse, error)
OperationResults - Get governance rules long run operation result for the requested scope by ruleId and operationId If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2022-01-01-preview
- scope - The scope of the Governance rules. Valid scopes are: management group (format: 'providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format: 'subscriptions/{subscriptionId}'), or security connector (format: 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors/{securityConnectorName})'
- ruleID - The governance rule key - unique key for the standard governance rule (GUID)
- operationID - The governance rule long running operation unique key
- options - GovernanceRulesClientOperationResultsOptions contains the optional parameters for the GovernanceRulesClient.OperationResults method.
Example (GetGovernanceRulesLongRunOperationResultOverManagementGroup) ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2022-01-01-preview/examples/GovernanceRules/GetManagementGroupGovernanceRuleExecuteStatus_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewGovernanceRulesClient().OperationResults(ctx, "providers/Microsoft.Management/managementGroups/contoso", "ad9a8e26-29d9-4829-bb30-e597a58cdbb8", "58b33f4f-c8c7-4b01-99cc-d437db4d40dd", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.OperationResultAutoGenerated = armsecurity.OperationResultAutoGenerated{
// Status: to.Ptr(armsecurity.OperationResultSucceeded),
// }
}
Example (GetGovernanceRulesLongRunOperationResultOverSecurityConnector) ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2022-01-01-preview/examples/GovernanceRules/GetSecurityConnectorGovernanceRuleExecuteStatus_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewGovernanceRulesClient().OperationResults(ctx, "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/gcpResourceGroup/providers/Microsoft.Security/securityConnectors/gcpconnector", "ad9a8e26-29d9-4829-bb30-e597a58cdbb8", "58b33f4f-c8c7-4b01-99cc-d437db4d40dd", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.OperationResultAutoGenerated = armsecurity.OperationResultAutoGenerated{
// Status: to.Ptr(armsecurity.OperationResultSucceeded),
// }
}
Example (GetGovernanceRulesLongRunOperationResultOverSubscription) ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2022-01-01-preview/examples/GovernanceRules/GetGovernanceRuleExecuteStatus_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewGovernanceRulesClient().OperationResults(ctx, "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23", "ad9a8e26-29d9-4829-bb30-e597a58cdbb8", "58b33f4f-c8c7-4b01-99cc-d437db4d40dd", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.OperationResultAutoGenerated = armsecurity.OperationResultAutoGenerated{
// Status: to.Ptr(armsecurity.OperationResultSucceeded),
// }
}
type GovernanceRulesClientBeginDeleteOptions ¶
type GovernanceRulesClientBeginDeleteOptions struct {
// Resumes the LRO from the provided token.
ResumeToken string
}
GovernanceRulesClientBeginDeleteOptions contains the optional parameters for the GovernanceRulesClient.BeginDelete method.
type GovernanceRulesClientBeginExecuteOptions ¶
type GovernanceRulesClientBeginExecuteOptions struct {
// Execute governance rule over a given scope
ExecuteGovernanceRuleParams *ExecuteGovernanceRuleParams
// Resumes the LRO from the provided token.
ResumeToken string
}
GovernanceRulesClientBeginExecuteOptions contains the optional parameters for the GovernanceRulesClient.BeginExecute method.
type GovernanceRulesClientCreateOrUpdateOptions ¶
type GovernanceRulesClientCreateOrUpdateOptions struct {
}
GovernanceRulesClientCreateOrUpdateOptions contains the optional parameters for the GovernanceRulesClient.CreateOrUpdate method.
type GovernanceRulesClientCreateOrUpdateResponse ¶
type GovernanceRulesClientCreateOrUpdateResponse struct {
// Governance rule over a given scope
GovernanceRule
}
GovernanceRulesClientCreateOrUpdateResponse contains the response from method GovernanceRulesClient.CreateOrUpdate.
type GovernanceRulesClientDeleteResponse ¶
type GovernanceRulesClientDeleteResponse struct {
}
GovernanceRulesClientDeleteResponse contains the response from method GovernanceRulesClient.BeginDelete.
type GovernanceRulesClientExecuteResponse ¶
type GovernanceRulesClientExecuteResponse struct {
}
GovernanceRulesClientExecuteResponse contains the response from method GovernanceRulesClient.BeginExecute.
type GovernanceRulesClientGetOptions ¶
type GovernanceRulesClientGetOptions struct {
}
GovernanceRulesClientGetOptions contains the optional parameters for the GovernanceRulesClient.Get method.
type GovernanceRulesClientGetResponse ¶
type GovernanceRulesClientGetResponse struct {
// Governance rule over a given scope
GovernanceRule
}
GovernanceRulesClientGetResponse contains the response from method GovernanceRulesClient.Get.
type GovernanceRulesClientListOptions ¶
type GovernanceRulesClientListOptions struct {
}
GovernanceRulesClientListOptions contains the optional parameters for the GovernanceRulesClient.NewListPager method.
type GovernanceRulesClientListResponse ¶
type GovernanceRulesClientListResponse struct {
// Page of a governance rules list
GovernanceRuleList
}
GovernanceRulesClientListResponse contains the response from method GovernanceRulesClient.NewListPager.
type GovernanceRulesClientOperationResultsOptions ¶
type GovernanceRulesClientOperationResultsOptions struct {
}
GovernanceRulesClientOperationResultsOptions contains the optional parameters for the GovernanceRulesClient.OperationResults method.
type GovernanceRulesClientOperationResultsResponse ¶
type GovernanceRulesClientOperationResultsResponse struct {
// Long run operation status of governance rule over a given scope
OperationResultAutoGenerated
// Location contains the information returned from the location header response.
Location *string
}
GovernanceRulesClientOperationResultsResponse contains the response from method GovernanceRulesClient.OperationResults.
type HTTPC2DMessagesNotInAllowedRange ¶
type HTTPC2DMessagesNotInAllowedRange struct {
// REQUIRED; Status of the custom alert.
IsEnabled *bool
// REQUIRED; The maximum threshold.
MaxThreshold *int32
// REQUIRED; The minimum threshold.
MinThreshold *int32
// REQUIRED; The type of the custom alert rule.
RuleType *string
// REQUIRED; The time window size in iso8601 format.
TimeWindowSize *string
// READ-ONLY; The description of the custom alert.
Description *string
// READ-ONLY; The display name of the custom alert.
DisplayName *string
}
HTTPC2DMessagesNotInAllowedRange - Number of cloud to device messages (HTTP protocol) is not in allowed range.
func (*HTTPC2DMessagesNotInAllowedRange) GetCustomAlertRule ¶
func (h *HTTPC2DMessagesNotInAllowedRange) GetCustomAlertRule() *CustomAlertRule
GetCustomAlertRule implements the CustomAlertRuleClassification interface for type HTTPC2DMessagesNotInAllowedRange.
func (*HTTPC2DMessagesNotInAllowedRange) GetThresholdCustomAlertRule ¶
func (h *HTTPC2DMessagesNotInAllowedRange) GetThresholdCustomAlertRule() *ThresholdCustomAlertRule
GetThresholdCustomAlertRule implements the ThresholdCustomAlertRuleClassification interface for type HTTPC2DMessagesNotInAllowedRange.
func (*HTTPC2DMessagesNotInAllowedRange) GetTimeWindowCustomAlertRule ¶
func (h *HTTPC2DMessagesNotInAllowedRange) GetTimeWindowCustomAlertRule() *TimeWindowCustomAlertRule
GetTimeWindowCustomAlertRule implements the TimeWindowCustomAlertRuleClassification interface for type HTTPC2DMessagesNotInAllowedRange.
func (HTTPC2DMessagesNotInAllowedRange) MarshalJSON ¶
func (h HTTPC2DMessagesNotInAllowedRange) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type HTTPC2DMessagesNotInAllowedRange.
func (*HTTPC2DMessagesNotInAllowedRange) UnmarshalJSON ¶
func (h *HTTPC2DMessagesNotInAllowedRange) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type HTTPC2DMessagesNotInAllowedRange.
type HTTPC2DRejectedMessagesNotInAllowedRange ¶
type HTTPC2DRejectedMessagesNotInAllowedRange struct {
// REQUIRED; Status of the custom alert.
IsEnabled *bool
// REQUIRED; The maximum threshold.
MaxThreshold *int32
// REQUIRED; The minimum threshold.
MinThreshold *int32
// REQUIRED; The type of the custom alert rule.
RuleType *string
// REQUIRED; The time window size in iso8601 format.
TimeWindowSize *string
// READ-ONLY; The description of the custom alert.
Description *string
// READ-ONLY; The display name of the custom alert.
DisplayName *string
}
HTTPC2DRejectedMessagesNotInAllowedRange - Number of rejected cloud to device messages (HTTP protocol) is not in allowed range.
func (*HTTPC2DRejectedMessagesNotInAllowedRange) GetCustomAlertRule ¶
func (h *HTTPC2DRejectedMessagesNotInAllowedRange) GetCustomAlertRule() *CustomAlertRule
GetCustomAlertRule implements the CustomAlertRuleClassification interface for type HTTPC2DRejectedMessagesNotInAllowedRange.
func (*HTTPC2DRejectedMessagesNotInAllowedRange) GetThresholdCustomAlertRule ¶
func (h *HTTPC2DRejectedMessagesNotInAllowedRange) GetThresholdCustomAlertRule() *ThresholdCustomAlertRule
GetThresholdCustomAlertRule implements the ThresholdCustomAlertRuleClassification interface for type HTTPC2DRejectedMessagesNotInAllowedRange.
func (*HTTPC2DRejectedMessagesNotInAllowedRange) GetTimeWindowCustomAlertRule ¶
func (h *HTTPC2DRejectedMessagesNotInAllowedRange) GetTimeWindowCustomAlertRule() *TimeWindowCustomAlertRule
GetTimeWindowCustomAlertRule implements the TimeWindowCustomAlertRuleClassification interface for type HTTPC2DRejectedMessagesNotInAllowedRange.
func (HTTPC2DRejectedMessagesNotInAllowedRange) MarshalJSON ¶
func (h HTTPC2DRejectedMessagesNotInAllowedRange) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type HTTPC2DRejectedMessagesNotInAllowedRange.
func (*HTTPC2DRejectedMessagesNotInAllowedRange) UnmarshalJSON ¶
func (h *HTTPC2DRejectedMessagesNotInAllowedRange) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type HTTPC2DRejectedMessagesNotInAllowedRange.
type HTTPD2CMessagesNotInAllowedRange ¶
type HTTPD2CMessagesNotInAllowedRange struct {
// REQUIRED; Status of the custom alert.
IsEnabled *bool
// REQUIRED; The maximum threshold.
MaxThreshold *int32
// REQUIRED; The minimum threshold.
MinThreshold *int32
// REQUIRED; The type of the custom alert rule.
RuleType *string
// REQUIRED; The time window size in iso8601 format.
TimeWindowSize *string
// READ-ONLY; The description of the custom alert.
Description *string
// READ-ONLY; The display name of the custom alert.
DisplayName *string
}
HTTPD2CMessagesNotInAllowedRange - Number of device to cloud messages (HTTP protocol) is not in allowed range.
func (*HTTPD2CMessagesNotInAllowedRange) GetCustomAlertRule ¶
func (h *HTTPD2CMessagesNotInAllowedRange) GetCustomAlertRule() *CustomAlertRule
GetCustomAlertRule implements the CustomAlertRuleClassification interface for type HTTPD2CMessagesNotInAllowedRange.
func (*HTTPD2CMessagesNotInAllowedRange) GetThresholdCustomAlertRule ¶
func (h *HTTPD2CMessagesNotInAllowedRange) GetThresholdCustomAlertRule() *ThresholdCustomAlertRule
GetThresholdCustomAlertRule implements the ThresholdCustomAlertRuleClassification interface for type HTTPD2CMessagesNotInAllowedRange.
func (*HTTPD2CMessagesNotInAllowedRange) GetTimeWindowCustomAlertRule ¶
func (h *HTTPD2CMessagesNotInAllowedRange) GetTimeWindowCustomAlertRule() *TimeWindowCustomAlertRule
GetTimeWindowCustomAlertRule implements the TimeWindowCustomAlertRuleClassification interface for type HTTPD2CMessagesNotInAllowedRange.
func (HTTPD2CMessagesNotInAllowedRange) MarshalJSON ¶
func (h HTTPD2CMessagesNotInAllowedRange) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type HTTPD2CMessagesNotInAllowedRange.
func (*HTTPD2CMessagesNotInAllowedRange) UnmarshalJSON ¶
func (h *HTTPD2CMessagesNotInAllowedRange) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type HTTPD2CMessagesNotInAllowedRange.
type HealthDataClassification ¶
type HealthDataClassification struct {
// The component describes the name of the agent/service that scans the issue
Component *string
// The scenario describes the health scenario issue of the component
Scenario *string
// The resource scope of the health report
Scope *string
}
HealthDataClassification - The classification of the health report
func (HealthDataClassification) MarshalJSON ¶
func (h HealthDataClassification) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type HealthDataClassification.
func (*HealthDataClassification) UnmarshalJSON ¶
func (h *HealthDataClassification) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type HealthDataClassification.
type HealthReport ¶
type HealthReport struct {
// Properties of a health report
Properties *HealthReportProperties
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Resource type
Type *string
}
HealthReport - The health report resource
func (HealthReport) MarshalJSON ¶
func (h HealthReport) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type HealthReport.
func (*HealthReport) UnmarshalJSON ¶
func (h *HealthReport) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type HealthReport.
type HealthReportProperties ¶
type HealthReportProperties struct {
// The affected defenders plans by unhealthy report
AffectedDefendersPlans []*string
// The affected defenders sub plans by unhealthy report
AffectedDefendersSubPlans []*string
// The environment details of the resource
EnvironmentDetails *EnvironmentDetails
// The classification of the health report
HealthDataClassification *HealthDataClassification
// A collection of the issues in the report
Issues []*Issue
// The resource details of the health report
ResourceDetails *ResourceDetailsAutoGenerated
// The status of the health report
Status *StatusAutoGenerated
// READ-ONLY; Additional data for the given health report, this field can include more details on the resource and the health
// scenario.
ReportAdditionalData map[string]*string
}
HealthReportProperties - Describes properties of the health report
func (HealthReportProperties) MarshalJSON ¶
func (h HealthReportProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type HealthReportProperties.
func (*HealthReportProperties) UnmarshalJSON ¶
func (h *HealthReportProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type HealthReportProperties.
type HealthReportsClient ¶
type HealthReportsClient struct {
// contains filtered or unexported fields
}
HealthReportsClient contains the methods for the HealthReports group. Don't use this type directly, use NewHealthReportsClient() instead.
func NewHealthReportsClient ¶
func NewHealthReportsClient(credential azcore.TokenCredential, options *arm.ClientOptions) (*HealthReportsClient, error)
NewHealthReportsClient creates a new instance of HealthReportsClient with the specified values.
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*HealthReportsClient) Get ¶
func (client *HealthReportsClient) Get(ctx context.Context, resourceID string, healthReportName string, options *HealthReportsClientGetOptions) (HealthReportsClientGetResponse, error)
Get - Get health report of resource If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2023-05-01-preview
- resourceID - The identifier of the resource.
- healthReportName - The health report Key - Unique key for the health report type
- options - HealthReportsClientGetOptions contains the optional parameters for the HealthReportsClient.Get method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-05-01-preview/examples/HealthReports/GetHealthReports_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewHealthReportsClient().Get(ctx, "subscriptions/a1efb6ca-fbc5-4782-9aaa-5c7daded1ce2/resourcegroups/E2E-IBB0WX/providers/Microsoft.Security/securityconnectors/AwsConnectorAllOfferings", "909c629a-bf39-4521-8e4f-10b443a0bc02", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.HealthReport = armsecurity.HealthReport{
// Name: to.Ptr("909c629a-bf39-4521-8e4f-10b443a0bc02"),
// Type: to.Ptr("Microsoft.Security/healthReports"),
// ID: to.Ptr("/subscriptions/a1efb6ca-fbc5-4782-9aaa-5c7daded1ce2/resourcegroups/E2E-IBB0WX/providers/Microsoft.Security/securityconnectors/AwsConnectorAllOfferings/providers/Microsoft.Security/healthReports/909c629a-bf39-4521-8e4f-10b443a0bc02"),
// Properties: &armsecurity.HealthReportProperties{
// AffectedDefendersPlans: []*string{
// },
// EnvironmentDetails: &armsecurity.EnvironmentDetails{
// EnvironmentHierarchyID: to.Ptr("a1efb6ca-fbc5-4782-9aaa-5c7daded1ce2"),
// NativeResourceID: to.Ptr("arn:aws:iam::827098768879"),
// OrganizationalHierarchyID: to.Ptr("e81b978c-11be-449f-a392-42c0ed96bb91"),
// SubscriptionID: to.Ptr("a1efb6ca-fbc5-4782-9aaa-5c7daded1ce2"),
// TenantID: to.Ptr("a1efb6ca-fbc5-4782-9aaa-5c7daded1ce2"),
// },
// HealthDataClassification: &armsecurity.HealthDataClassification{
// Component: to.Ptr("Connectivity"),
// Scope: to.Ptr("Connectors"),
// },
// Issues: []*armsecurity.Issue{
// {
// IssueAdditionalData: map[string]*string{
// "StacksetName": to.Ptr("ProdStackSet"),
// },
// IssueDescription: to.Ptr("A problem was identified with the AWS CloudFormation StackSet. The StackSet is used to create stacks across multiple accounts. To grant Defender for Cloud access to your member accounts, there is a need to run the StackSet on the member accounts."),
// IssueKey: to.Ptr("414af15d-207e-4c63-b8eb-624d1b652e45"),
// IssueName: to.Ptr("AWS CloudFormation StackSet name invalid or does not exist"),
// RemediationScript: to.Ptr(""),
// RemediationSteps: to.Ptr("Validate that the StackSet name in AWS matches the name provided in the onboarding set up: StackSet name can be found in AWS Management Console -> CloudFormation -> StackSets -> StackSet name In case the names do not match, update the StackSet name to match the StackSet name provided in the onboarding set up. In case the StackSet does not exist, re-run the CloudFormation template only for StackSet. Navigate to CloudFormation 'StackSets' in AWS Management Console -> Click 'Create StackSet' -> Choose 'Upload a template file', `Choose file` and select the downloaded template. Make sure to enter the exact StackSet name as it was provided in the onboarding set up. Download template link "),
// SecurityValues: []*string{
// to.Ptr("Connectivity to AWS member accounts")},
// }},
// ResourceDetails: &armsecurity.ResourceDetailsAutoGenerated{
// ConnectorID: to.Ptr("bb7ad9cc-26b6-48ec-a5b4-23fc23be2733"),
// ID: to.Ptr("/subscriptions/a1efb6ca-fbc5-4782-9aaa-5c7daded1ce2/resourcegroups/E2E-IBB0WX/providers/Microsoft.Security/securityconnectors/AwsConnectorAllOfferings"),
// Source: to.Ptr(armsecurity.Source("Aws")),
// },
// Status: &armsecurity.StatusAutoGenerated{
// Code: to.Ptr(armsecurity.StatusNameNotHealthy),
// FirstEvaluationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-01-12T09:07:18.675Z"); return t}()),
// LastScannedDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-04-25T09:02:20.134Z"); return t}()),
// StatusChangeDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-01-12T09:07:18.675Z"); return t}()),
// },
// },
// }
}
func (*HealthReportsClient) NewListPager ¶
func (client *HealthReportsClient) NewListPager(scope string, options *HealthReportsClientListOptions) *runtime.Pager[HealthReportsClientListResponse]
NewListPager - Get a list of all health reports inside a scope. Valid scopes are: subscription (format: 'subscriptions/{subscriptionId}'), or security connector (format: 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors/{securityConnectorName})'
Generated from API version 2023-05-01-preview
- scope - The scope at which the operation is performed.
- options - HealthReportsClientListOptions contains the optional parameters for the HealthReportsClient.NewListPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-05-01-preview/examples/HealthReports/ListHealthReports_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewHealthReportsClient().NewListPager("subscriptions/a1efb6ca-fbc5-4782-9aaa-5c7daded1ce2", nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.HealthReportsList = armsecurity.HealthReportsList{
// Value: []*armsecurity.HealthReport{
// {
// Name: to.Ptr("2351eaac-f8e6-43d8-87c0-a7e2c3d197c0"),
// Type: to.Ptr("Microsoft.Security/healthReports"),
// ID: to.Ptr("/subscriptions/a1efb6ca-fbc5-4782-9aaa-5c7daded1ce2/resourcegroups/ascdemorg/providers/microsoft.compute/virtualmachines/vm3/providers/Microsoft.Security/healthReports/2351eaac-f8e6-43d8-87c0-a7e2c3d197c0"),
// Properties: &armsecurity.HealthReportProperties{
// AffectedDefendersPlans: []*string{
// to.Ptr("DefenderForServers")},
// EnvironmentDetails: &armsecurity.EnvironmentDetails{
// EnvironmentHierarchyID: to.Ptr("a1efb6ca-fbc5-4782-9aaa-5c7daded1ce2"),
// NativeResourceID: to.Ptr("/subscriptions/a1efb6ca-fbc5-4782-9aaa-5c7daded1ce2/resourcegroups/ascdemorg/providers/microsoft.compute/virtualmachines/vm3"),
// OrganizationalHierarchyID: to.Ptr("200d73cf-ba70-4b93-8fa2-25e05e6aa1f6"),
// SubscriptionID: to.Ptr("a1efb6ca-fbc5-4782-9aaa-5c7daded1ce2"),
// TenantID: to.Ptr("200d73cf-ba70-4b93-8fa2-25e05e6aa1f6"),
// },
// HealthDataClassification: &armsecurity.HealthDataClassification{
// Component: to.Ptr("MDE"),
// Scenario: to.Ptr("Reporting"),
// Scope: to.Ptr("VirtualMachines"),
// },
// Issues: []*armsecurity.Issue{
// },
// ResourceDetails: &armsecurity.ResourceDetailsAutoGenerated{
// ID: to.Ptr("/subscriptions/a1efb6ca-fbc5-4782-9aaa-5c7daded1ce2/resourcegroups/ascdemorg/providers/microsoft.compute/virtualmachines/vm3"),
// Source: to.Ptr(armsecurity.SourceAzure),
// },
// Status: &armsecurity.StatusAutoGenerated{
// Code: to.Ptr(armsecurity.StatusNameHealthy),
// FirstEvaluationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-01-12T09:07:18.675Z"); return t}()),
// LastScannedDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-04-25T09:02:20.134Z"); return t}()),
// StatusChangeDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-01-12T09:07:18.675Z"); return t}()),
// },
// },
// }},
// }
}
}
type HealthReportsClientGetOptions ¶
type HealthReportsClientGetOptions struct {
}
HealthReportsClientGetOptions contains the optional parameters for the HealthReportsClient.Get method.
type HealthReportsClientGetResponse ¶
type HealthReportsClientGetResponse struct {
// The health report resource
HealthReport
}
HealthReportsClientGetResponse contains the response from method HealthReportsClient.Get.
type HealthReportsClientListOptions ¶
type HealthReportsClientListOptions struct {
}
HealthReportsClientListOptions contains the optional parameters for the HealthReportsClient.NewListPager method.
type HealthReportsClientListResponse ¶
type HealthReportsClientListResponse struct {
// Page of health reports list
HealthReportsList
}
HealthReportsClientListResponse contains the response from method HealthReportsClient.NewListPager.
type HealthReportsList ¶
type HealthReportsList struct {
// READ-ONLY; The URI to fetch the next page
NextLink *string
// READ-ONLY; Collection of health reports in this page
Value []*HealthReport
}
HealthReportsList - Page of health reports list
func (HealthReportsList) MarshalJSON ¶
func (h HealthReportsList) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type HealthReportsList.
func (*HealthReportsList) UnmarshalJSON ¶
func (h *HealthReportsList) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type HealthReportsList.
type HybridComputeProvisioningState ¶
type HybridComputeProvisioningState string
HybridComputeProvisioningState - State of the service principal and its secret
const ( // HybridComputeProvisioningStateExpired - the service principal details are expired HybridComputeProvisioningStateExpired HybridComputeProvisioningState = "Expired" // HybridComputeProvisioningStateInvalid - Invalid service principal details. HybridComputeProvisioningStateInvalid HybridComputeProvisioningState = "Invalid" // HybridComputeProvisioningStateValid - Valid service principal details. HybridComputeProvisioningStateValid HybridComputeProvisioningState = "Valid" )
func PossibleHybridComputeProvisioningStateValues ¶
func PossibleHybridComputeProvisioningStateValues() []HybridComputeProvisioningState
PossibleHybridComputeProvisioningStateValues returns the possible values for the HybridComputeProvisioningState const type.
type HybridComputeSettingsProperties ¶
type HybridComputeSettingsProperties struct {
// REQUIRED; Whether or not to automatically install Azure Arc (hybrid compute) agents on machines
AutoProvision *AutoProvision
// 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
// The location where the metadata of machines will be stored
Region *string
// The name of the resource group where Arc (Hybrid Compute) connectors are connected.
ResourceGroupName *string
// An object to access resources that are secured by an Azure AD tenant.
ServicePrincipal *ServicePrincipalProperties
// READ-ONLY; State of the service principal and its secret
HybridComputeProvisioningState *HybridComputeProvisioningState
}
HybridComputeSettingsProperties - Settings for hybrid compute management
func (HybridComputeSettingsProperties) MarshalJSON ¶
func (h HybridComputeSettingsProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type HybridComputeSettingsProperties.
func (*HybridComputeSettingsProperties) UnmarshalJSON ¶
func (h *HybridComputeSettingsProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type HybridComputeSettingsProperties.
type Identity ¶
type Identity struct {
// The identity type.
Type *string
// READ-ONLY; The principal ID of resource identity.
PrincipalID *string
// READ-ONLY; The tenant ID of resource.
TenantID *string
}
Identity for the resource.
func (Identity) MarshalJSON ¶
MarshalJSON implements the json.Marshaller interface for type Identity.
func (*Identity) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaller interface for type Identity.
type ImplementationEffort ¶
type ImplementationEffort string
ImplementationEffort - The implementation effort required to remediate this assessment
const ( ImplementationEffortHigh ImplementationEffort = "High" ImplementationEffortLow ImplementationEffort = "Low" ImplementationEffortModerate ImplementationEffort = "Moderate" )
func PossibleImplementationEffortValues ¶
func PossibleImplementationEffortValues() []ImplementationEffort
PossibleImplementationEffortValues returns the possible values for the ImplementationEffort const type.
type InfoType ¶
type InfoType struct {
// Description of the info type
Description *string
// Id of the info type
ID *string
// Display name of the info type
Name *string
}
InfoType - Custom user-defined information type
func (InfoType) MarshalJSON ¶
MarshalJSON implements the json.Marshaller interface for type InfoType.
func (*InfoType) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaller interface for type InfoType.
type InformationProtectionKeyword ¶
type InformationProtectionKeyword struct {
// Indicates whether the keyword can be applied on numeric types or not.
CanBeNumeric *bool
// Indicates whether the keyword is custom or not.
Custom *bool
// Indicates whether the keyword is excluded or not.
Excluded *bool
// The keyword pattern.
Pattern *string
}
InformationProtectionKeyword - The information type keyword.
func (InformationProtectionKeyword) MarshalJSON ¶
func (i InformationProtectionKeyword) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type InformationProtectionKeyword.
func (*InformationProtectionKeyword) UnmarshalJSON ¶
func (i *InformationProtectionKeyword) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type InformationProtectionKeyword.
type InformationProtectionPoliciesClient ¶
type InformationProtectionPoliciesClient struct {
// contains filtered or unexported fields
}
InformationProtectionPoliciesClient contains the methods for the InformationProtectionPolicies group. Don't use this type directly, use NewInformationProtectionPoliciesClient() instead.
func NewInformationProtectionPoliciesClient ¶
func NewInformationProtectionPoliciesClient(credential azcore.TokenCredential, options *arm.ClientOptions) (*InformationProtectionPoliciesClient, error)
NewInformationProtectionPoliciesClient creates a new instance of InformationProtectionPoliciesClient with the specified values.
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*InformationProtectionPoliciesClient) CreateOrUpdate ¶
func (client *InformationProtectionPoliciesClient) CreateOrUpdate(ctx context.Context, scope string, informationProtectionPolicyName InformationProtectionPolicyName, informationProtectionPolicy InformationProtectionPolicy, options *InformationProtectionPoliciesClientCreateOrUpdateOptions) (InformationProtectionPoliciesClientCreateOrUpdateResponse, error)
CreateOrUpdate - Details of the information protection policy. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2017-08-01-preview
- scope - Scope of the query, can be subscription (/subscriptions/0b06d9ea-afe6-4779-bd59-30e5c2d9d13f) or management group (/providers/Microsoft.Management/managementGroups/mgName).
- informationProtectionPolicyName - Name of the information protection policy.
- informationProtectionPolicy - Information protection policy.
- options - InformationProtectionPoliciesClientCreateOrUpdateOptions contains the optional parameters for the InformationProtectionPoliciesClient.CreateOrUpdate method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/InformationProtectionPolicies/CreateOrUpdateInformationProtectionPolicy_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewInformationProtectionPoliciesClient().CreateOrUpdate(ctx, "providers/Microsoft.Management/managementGroups/148059f7-faf3-49a6-ba35-85122112291e", armsecurity.InformationProtectionPolicyNameCustom, armsecurity.InformationProtectionPolicy{
Properties: &armsecurity.InformationProtectionPolicyProperties{
InformationTypes: map[string]*armsecurity.InformationType{
"3bf35491-99b8-41f2-86d5-c1200a7df658": {
Custom: to.Ptr(true),
DisplayName: to.Ptr("Custom"),
Enabled: to.Ptr(true),
Keywords: []*armsecurity.InformationProtectionKeyword{
{
CanBeNumeric: to.Ptr(true),
Custom: to.Ptr(true),
Pattern: to.Ptr("%custom%"),
}},
Order: to.Ptr[int32](1400),
RecommendedLabelID: to.Ptr("7aa516c7-5a53-4857-bc6e-6808c6acd542"),
},
"7fb9419d-2473-4ad8-8e11-b25cc8cf6a07": {
Custom: to.Ptr(false),
DisplayName: to.Ptr("Networking"),
Enabled: to.Ptr(true),
Keywords: []*armsecurity.InformationProtectionKeyword{
{
CanBeNumeric: to.Ptr(false),
Custom: to.Ptr(true),
Pattern: to.Ptr("%networking%"),
}},
Order: to.Ptr[int32](100),
RecommendedLabelID: to.Ptr("575739d2-3d53-4df0-9042-4c7772d5c7b1"),
},
},
Labels: map[string]*armsecurity.SensitivityLabel{
"1345da73-bc5a-4a8f-b7dd-3820eb713da8": {
DisplayName: to.Ptr("Public"),
Enabled: to.Ptr(true),
Order: to.Ptr[int32](100),
},
"575739d2-3d53-4df0-9042-4c7772d5c7b1": {
DisplayName: to.Ptr("Confidential"),
Enabled: to.Ptr(true),
Order: to.Ptr[int32](300),
},
"7aa516c7-5a53-4857-bc6e-6808c6acd542": {
DisplayName: to.Ptr("General"),
Enabled: to.Ptr(true),
Order: to.Ptr[int32](200),
},
},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.InformationProtectionPolicy = armsecurity.InformationProtectionPolicy{
// Name: to.Ptr("custom"),
// Type: to.Ptr("Microsoft.Security/informationProtectionPolicies"),
// ID: to.Ptr("/providers/Microsoft.Management/managementGroups/148059f7-faf3-49a6-ba35-85122112291e/providers/Microsoft.Security/informationProtectionPolicies/custom"),
// Properties: &armsecurity.InformationProtectionPolicyProperties{
// InformationTypes: map[string]*armsecurity.InformationType{
// "3bf35491-99b8-41f2-86d5-c1200a7df658": &armsecurity.InformationType{
// Custom: to.Ptr(true),
// DisplayName: to.Ptr("Custom"),
// Enabled: to.Ptr(true),
// Keywords: []*armsecurity.InformationProtectionKeyword{
// {
// CanBeNumeric: to.Ptr(true),
// Custom: to.Ptr(true),
// Pattern: to.Ptr("%custom%"),
// }},
// Order: to.Ptr[int32](1400),
// RecommendedLabelID: to.Ptr("7aa516c7-5a53-4857-bc6e-6808c6acd542"),
// },
// "7fb9419d-2473-4ad8-8e11-b25cc8cf6a07": &armsecurity.InformationType{
// Custom: to.Ptr(false),
// DisplayName: to.Ptr("Networking"),
// Enabled: to.Ptr(true),
// Keywords: []*armsecurity.InformationProtectionKeyword{
// {
// CanBeNumeric: to.Ptr(false),
// Custom: to.Ptr(true),
// Pattern: to.Ptr("%networking%"),
// }},
// Order: to.Ptr[int32](100),
// RecommendedLabelID: to.Ptr("575739d2-3d53-4df0-9042-4c7772d5c7b1"),
// },
// },
// Labels: map[string]*armsecurity.SensitivityLabel{
// "1345da73-bc5a-4a8f-b7dd-3820eb713da8": &armsecurity.SensitivityLabel{
// DisplayName: to.Ptr("Public"),
// Enabled: to.Ptr(true),
// Order: to.Ptr[int32](100),
// },
// "575739d2-3d53-4df0-9042-4c7772d5c7b1": &armsecurity.SensitivityLabel{
// DisplayName: to.Ptr("Confidential"),
// Enabled: to.Ptr(true),
// Order: to.Ptr[int32](300),
// },
// "7aa516c7-5a53-4857-bc6e-6808c6acd542": &armsecurity.SensitivityLabel{
// DisplayName: to.Ptr("General"),
// Enabled: to.Ptr(true),
// Order: to.Ptr[int32](200),
// },
// },
// },
// }
}
func (*InformationProtectionPoliciesClient) Get ¶
func (client *InformationProtectionPoliciesClient) Get(ctx context.Context, scope string, informationProtectionPolicyName InformationProtectionPolicyName, options *InformationProtectionPoliciesClientGetOptions) (InformationProtectionPoliciesClientGetResponse, error)
Get - Details of the information protection policy. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2017-08-01-preview
- scope - Scope of the query, can be subscription (/subscriptions/0b06d9ea-afe6-4779-bd59-30e5c2d9d13f) or management group (/providers/Microsoft.Management/managementGroups/mgName).
- informationProtectionPolicyName - Name of the information protection policy.
- options - InformationProtectionPoliciesClientGetOptions contains the optional parameters for the InformationProtectionPoliciesClient.Get method.
Example (GetTheCustomizedInformationProtectionPolicyForAManagementGroup) ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/InformationProtectionPolicies/GetCustomInformationProtectionPolicy_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewInformationProtectionPoliciesClient().Get(ctx, "providers/Microsoft.Management/managementGroups/148059f7-faf3-49a6-ba35-85122112291e", armsecurity.InformationProtectionPolicyNameCustom, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.InformationProtectionPolicy = armsecurity.InformationProtectionPolicy{
// Name: to.Ptr("custom"),
// Type: to.Ptr("Microsoft.Security/informationProtectionPolicies"),
// ID: to.Ptr("/providers/Microsoft.Management/managementGroups/148059f7-faf3-49a6-ba35-85122112291e/providers/Microsoft.Security/informationProtectionPolicies/custom"),
// Properties: &armsecurity.InformationProtectionPolicyProperties{
// InformationTypes: map[string]*armsecurity.InformationType{
// "3bf35491-99b8-41f2-86d5-c1200a7df658": &armsecurity.InformationType{
// Custom: to.Ptr(true),
// DisplayName: to.Ptr("Custom"),
// Enabled: to.Ptr(true),
// Keywords: []*armsecurity.InformationProtectionKeyword{
// {
// CanBeNumeric: to.Ptr(true),
// Custom: to.Ptr(true),
// Pattern: to.Ptr("%custom%"),
// }},
// Order: to.Ptr[int32](1400),
// RecommendedLabelID: to.Ptr("7aa516c7-5a53-4857-bc6e-6808c6acd542"),
// },
// "7fb9419d-2473-4ad8-8e11-b25cc8cf6a07": &armsecurity.InformationType{
// Custom: to.Ptr(false),
// DisplayName: to.Ptr("Networking"),
// Enabled: to.Ptr(true),
// Keywords: []*armsecurity.InformationProtectionKeyword{
// {
// CanBeNumeric: to.Ptr(false),
// Custom: to.Ptr(true),
// Pattern: to.Ptr("%networking%"),
// }},
// Order: to.Ptr[int32](100),
// RecommendedLabelID: to.Ptr("575739d2-3d53-4df0-9042-4c7772d5c7b1"),
// },
// },
// Labels: map[string]*armsecurity.SensitivityLabel{
// "1345da73-bc5a-4a8f-b7dd-3820eb713da8": &armsecurity.SensitivityLabel{
// DisplayName: to.Ptr("Public"),
// Enabled: to.Ptr(true),
// Order: to.Ptr[int32](100),
// },
// "575739d2-3d53-4df0-9042-4c7772d5c7b1": &armsecurity.SensitivityLabel{
// DisplayName: to.Ptr("Confidential"),
// Enabled: to.Ptr(true),
// Order: to.Ptr[int32](300),
// },
// "7aa516c7-5a53-4857-bc6e-6808c6acd542": &armsecurity.SensitivityLabel{
// DisplayName: to.Ptr("General"),
// Enabled: to.Ptr(true),
// Order: to.Ptr[int32](200),
// },
// },
// },
// }
}
Example (GetTheEffectiveInformationProtectionPolicyForAManagementGroup) ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/InformationProtectionPolicies/GetEffectiveInformationProtectionPolicy_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewInformationProtectionPoliciesClient().Get(ctx, "providers/Microsoft.Management/managementGroups/148059f7-faf3-49a6-ba35-85122112291e", armsecurity.InformationProtectionPolicyNameEffective, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.InformationProtectionPolicy = armsecurity.InformationProtectionPolicy{
// Name: to.Ptr("effective"),
// Type: to.Ptr("Microsoft.Security/informationProtectionPolicies"),
// ID: to.Ptr("/providers/Microsoft.Management/managementGroups/148059f7-faf3-49a6-ba35-85122112291e/providers/Microsoft.Security/informationProtectionPolicies/effective"),
// Properties: &armsecurity.InformationProtectionPolicyProperties{
// InformationTypes: map[string]*armsecurity.InformationType{
// "3bf35491-99b8-41f2-86d5-c1200a7df658": &armsecurity.InformationType{
// Custom: to.Ptr(true),
// DisplayName: to.Ptr("Custom"),
// Enabled: to.Ptr(true),
// Keywords: []*armsecurity.InformationProtectionKeyword{
// {
// CanBeNumeric: to.Ptr(false),
// Custom: to.Ptr(true),
// Pattern: to.Ptr("%networking%"),
// }},
// Order: to.Ptr[int32](1400),
// RecommendedLabelID: to.Ptr("7aa516c7-5a53-4857-bc6e-6808c6acd542"),
// },
// "5856f35c-8e08-4d08-9bf7-87a146150569": &armsecurity.InformationType{
// Custom: to.Ptr(false),
// DisplayName: to.Ptr("Contact Info"),
// Enabled: to.Ptr(true),
// Keywords: []*armsecurity.InformationProtectionKeyword{
// {
// CanBeNumeric: to.Ptr(false),
// Custom: to.Ptr(false),
// Pattern: to.Ptr("%email%"),
// },
// {
// CanBeNumeric: to.Ptr(false),
// Custom: to.Ptr(false),
// Pattern: to.Ptr("%e-mail%"),
// },
// {
// CanBeNumeric: to.Ptr(false),
// Custom: to.Ptr(false),
// Pattern: to.Ptr("%addr%"),
// },
// {
// CanBeNumeric: to.Ptr(true),
// Custom: to.Ptr(false),
// Pattern: to.Ptr("%street%"),
// },
// {
// CanBeNumeric: to.Ptr(false),
// Custom: to.Ptr(false),
// Pattern: to.Ptr("%city%"),
// }},
// Order: to.Ptr[int32](200),
// RecommendedLabelID: to.Ptr("575739d2-3d53-4df0-9042-4c7772d5c7b1"),
// },
// "7fb9419d-2473-4ad8-8e11-b25cc8cf6a07": &armsecurity.InformationType{
// Custom: to.Ptr(false),
// DisplayName: to.Ptr("Networking"),
// Enabled: to.Ptr(true),
// Keywords: []*armsecurity.InformationProtectionKeyword{
// {
// CanBeNumeric: to.Ptr(false),
// Custom: to.Ptr(false),
// Pattern: to.Ptr("%ip%"),
// },
// {
// CanBeNumeric: to.Ptr(false),
// Custom: to.Ptr(false),
// Pattern: to.Ptr("ip%address%"),
// },
// {
// CanBeNumeric: to.Ptr(false),
// Custom: to.Ptr(false),
// Pattern: to.Ptr("%mac%address%"),
// },
// {
// CanBeNumeric: to.Ptr(true),
// Custom: to.Ptr(true),
// Excluded: to.Ptr(true),
// Pattern: to.Ptr("%networking%"),
// }},
// Order: to.Ptr[int32](100),
// RecommendedLabelID: to.Ptr("575739d2-3d53-4df0-9042-4c7772d5c7b1"),
// },
// },
// Labels: map[string]*armsecurity.SensitivityLabel{
// "1345da73-bc5a-4a8f-b7dd-3820eb713da8": &armsecurity.SensitivityLabel{
// DisplayName: to.Ptr("Public"),
// Enabled: to.Ptr(true),
// Order: to.Ptr[int32](100),
// },
// "575739d2-3d53-4df0-9042-4c7772d5c7b1": &armsecurity.SensitivityLabel{
// DisplayName: to.Ptr("Confidential"),
// Enabled: to.Ptr(true),
// Order: to.Ptr[int32](300),
// },
// "7aa516c7-5a53-4857-bc6e-6808c6acd542": &armsecurity.SensitivityLabel{
// DisplayName: to.Ptr("General"),
// Enabled: to.Ptr(true),
// Order: to.Ptr[int32](200),
// },
// },
// },
// }
}
func (*InformationProtectionPoliciesClient) NewListPager ¶
func (client *InformationProtectionPoliciesClient) NewListPager(scope string, options *InformationProtectionPoliciesClientListOptions) *runtime.Pager[InformationProtectionPoliciesClientListResponse]
NewListPager - Information protection policies of a specific management group.
Generated from API version 2017-08-01-preview
- scope - Scope of the query, can be subscription (/subscriptions/0b06d9ea-afe6-4779-bd59-30e5c2d9d13f) or management group (/providers/Microsoft.Management/managementGroups/mgName).
- options - InformationProtectionPoliciesClientListOptions contains the optional parameters for the InformationProtectionPoliciesClient.NewListPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/InformationProtectionPolicies/ListInformationProtectionPolicies_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewInformationProtectionPoliciesClient().NewListPager("providers/Microsoft.Management/managementGroups/148059f7-faf3-49a6-ba35-85122112291e", nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.InformationProtectionPolicyList = armsecurity.InformationProtectionPolicyList{
// Value: []*armsecurity.InformationProtectionPolicy{
// {
// Name: to.Ptr("effective"),
// Type: to.Ptr("Microsoft.Security/informationProtectionPolicies"),
// ID: to.Ptr("/providers/Microsoft.Management/managementGroups/148059f7-faf3-49a6-ba35-85122112291e/providers/Microsoft.Security/informationProtectionPolicies/effective"),
// Properties: &armsecurity.InformationProtectionPolicyProperties{
// InformationTypes: map[string]*armsecurity.InformationType{
// "3bf35491-99b8-41f2-86d5-c1200a7df658": &armsecurity.InformationType{
// Custom: to.Ptr(true),
// DisplayName: to.Ptr("Custom"),
// Enabled: to.Ptr(true),
// Keywords: []*armsecurity.InformationProtectionKeyword{
// {
// CanBeNumeric: to.Ptr(false),
// Custom: to.Ptr(true),
// Pattern: to.Ptr("%networking%"),
// }},
// Order: to.Ptr[int32](1400),
// RecommendedLabelID: to.Ptr("7aa516c7-5a53-4857-bc6e-6808c6acd542"),
// },
// "5856f35c-8e08-4d08-9bf7-87a146150569": &armsecurity.InformationType{
// Custom: to.Ptr(false),
// DisplayName: to.Ptr("Contact Info"),
// Enabled: to.Ptr(true),
// Keywords: []*armsecurity.InformationProtectionKeyword{
// {
// CanBeNumeric: to.Ptr(false),
// Custom: to.Ptr(false),
// Pattern: to.Ptr("%email%"),
// },
// {
// CanBeNumeric: to.Ptr(false),
// Custom: to.Ptr(false),
// Pattern: to.Ptr("%e-mail%"),
// },
// {
// CanBeNumeric: to.Ptr(false),
// Custom: to.Ptr(false),
// Pattern: to.Ptr("%addr%"),
// },
// {
// CanBeNumeric: to.Ptr(true),
// Custom: to.Ptr(false),
// Pattern: to.Ptr("%street%"),
// },
// {
// CanBeNumeric: to.Ptr(false),
// Custom: to.Ptr(false),
// Pattern: to.Ptr("%city%"),
// }},
// Order: to.Ptr[int32](200),
// RecommendedLabelID: to.Ptr("575739d2-3d53-4df0-9042-4c7772d5c7b1"),
// },
// "7fb9419d-2473-4ad8-8e11-b25cc8cf6a07": &armsecurity.InformationType{
// Custom: to.Ptr(false),
// DisplayName: to.Ptr("Networking"),
// Enabled: to.Ptr(true),
// Keywords: []*armsecurity.InformationProtectionKeyword{
// {
// CanBeNumeric: to.Ptr(false),
// Custom: to.Ptr(false),
// Pattern: to.Ptr("%ip%"),
// },
// {
// CanBeNumeric: to.Ptr(false),
// Custom: to.Ptr(false),
// Pattern: to.Ptr("ip%address%"),
// },
// {
// CanBeNumeric: to.Ptr(false),
// Custom: to.Ptr(false),
// Pattern: to.Ptr("%mac%address%"),
// },
// {
// CanBeNumeric: to.Ptr(true),
// Custom: to.Ptr(true),
// Pattern: to.Ptr("%networking%"),
// }},
// Order: to.Ptr[int32](100),
// RecommendedLabelID: to.Ptr("575739d2-3d53-4df0-9042-4c7772d5c7b1"),
// },
// },
// Labels: map[string]*armsecurity.SensitivityLabel{
// "1345da73-bc5a-4a8f-b7dd-3820eb713da8": &armsecurity.SensitivityLabel{
// DisplayName: to.Ptr("Public"),
// Enabled: to.Ptr(true),
// Order: to.Ptr[int32](100),
// },
// "575739d2-3d53-4df0-9042-4c7772d5c7b1": &armsecurity.SensitivityLabel{
// DisplayName: to.Ptr("Confidential"),
// Enabled: to.Ptr(true),
// Order: to.Ptr[int32](300),
// },
// "7aa516c7-5a53-4857-bc6e-6808c6acd542": &armsecurity.SensitivityLabel{
// DisplayName: to.Ptr("General"),
// Enabled: to.Ptr(true),
// Order: to.Ptr[int32](200),
// },
// },
// },
// },
// {
// Name: to.Ptr("custom"),
// Type: to.Ptr("Microsoft.Security/informationProtectionPolicies"),
// ID: to.Ptr("/providers/Microsoft.Management/managementGroups/148059f7-faf3-49a6-ba35-85122112291e/providers/Microsoft.Security/informationProtectionPolicies/custom"),
// Properties: &armsecurity.InformationProtectionPolicyProperties{
// InformationTypes: map[string]*armsecurity.InformationType{
// "3bf35491-99b8-41f2-86d5-c1200a7df658": &armsecurity.InformationType{
// Custom: to.Ptr(true),
// DisplayName: to.Ptr("Custom"),
// Enabled: to.Ptr(true),
// Keywords: []*armsecurity.InformationProtectionKeyword{
// {
// CanBeNumeric: to.Ptr(true),
// Custom: to.Ptr(true),
// Pattern: to.Ptr("%custom%"),
// }},
// Order: to.Ptr[int32](1400),
// RecommendedLabelID: to.Ptr("7aa516c7-5a53-4857-bc6e-6808c6acd542"),
// },
// "7fb9419d-2473-4ad8-8e11-b25cc8cf6a07": &armsecurity.InformationType{
// Custom: to.Ptr(false),
// DisplayName: to.Ptr("Networking"),
// Enabled: to.Ptr(true),
// Keywords: []*armsecurity.InformationProtectionKeyword{
// {
// CanBeNumeric: to.Ptr(false),
// Custom: to.Ptr(true),
// Pattern: to.Ptr("%networking%"),
// }},
// Order: to.Ptr[int32](100),
// RecommendedLabelID: to.Ptr("575739d2-3d53-4df0-9042-4c7772d5c7b1"),
// },
// },
// Labels: map[string]*armsecurity.SensitivityLabel{
// "1345da73-bc5a-4a8f-b7dd-3820eb713da8": &armsecurity.SensitivityLabel{
// DisplayName: to.Ptr("Public"),
// Enabled: to.Ptr(true),
// Order: to.Ptr[int32](100),
// },
// "575739d2-3d53-4df0-9042-4c7772d5c7b1": &armsecurity.SensitivityLabel{
// DisplayName: to.Ptr("Confidential"),
// Enabled: to.Ptr(true),
// Order: to.Ptr[int32](300),
// },
// "7aa516c7-5a53-4857-bc6e-6808c6acd542": &armsecurity.SensitivityLabel{
// DisplayName: to.Ptr("General"),
// Enabled: to.Ptr(true),
// Order: to.Ptr[int32](200),
// },
// },
// },
// }},
// }
}
}
type InformationProtectionPoliciesClientCreateOrUpdateOptions ¶
type InformationProtectionPoliciesClientCreateOrUpdateOptions struct {
}
InformationProtectionPoliciesClientCreateOrUpdateOptions contains the optional parameters for the InformationProtectionPoliciesClient.CreateOrUpdate method.
type InformationProtectionPoliciesClientCreateOrUpdateResponse ¶
type InformationProtectionPoliciesClientCreateOrUpdateResponse struct {
// Information protection policy.
InformationProtectionPolicy
}
InformationProtectionPoliciesClientCreateOrUpdateResponse contains the response from method InformationProtectionPoliciesClient.CreateOrUpdate.
type InformationProtectionPoliciesClientGetOptions ¶
type InformationProtectionPoliciesClientGetOptions struct {
}
InformationProtectionPoliciesClientGetOptions contains the optional parameters for the InformationProtectionPoliciesClient.Get method.
type InformationProtectionPoliciesClientGetResponse ¶
type InformationProtectionPoliciesClientGetResponse struct {
// Information protection policy.
InformationProtectionPolicy
}
InformationProtectionPoliciesClientGetResponse contains the response from method InformationProtectionPoliciesClient.Get.
type InformationProtectionPoliciesClientListOptions ¶
type InformationProtectionPoliciesClientListOptions struct {
}
InformationProtectionPoliciesClientListOptions contains the optional parameters for the InformationProtectionPoliciesClient.NewListPager method.
type InformationProtectionPoliciesClientListResponse ¶
type InformationProtectionPoliciesClientListResponse struct {
// Information protection policies response.
InformationProtectionPolicyList
}
InformationProtectionPoliciesClientListResponse contains the response from method InformationProtectionPoliciesClient.NewListPager.
type InformationProtectionPolicy ¶
type InformationProtectionPolicy struct {
// Information protection policy data
Properties *InformationProtectionPolicyProperties
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Resource type
Type *string
}
InformationProtectionPolicy - Information protection policy.
func (InformationProtectionPolicy) MarshalJSON ¶
func (i InformationProtectionPolicy) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type InformationProtectionPolicy.
func (*InformationProtectionPolicy) UnmarshalJSON ¶
func (i *InformationProtectionPolicy) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type InformationProtectionPolicy.
type InformationProtectionPolicyList ¶
type InformationProtectionPolicyList struct {
// List of information protection policies.
Value []*InformationProtectionPolicy
// READ-ONLY; The URI to fetch the next page.
NextLink *string
}
InformationProtectionPolicyList - Information protection policies response.
func (InformationProtectionPolicyList) MarshalJSON ¶
func (i InformationProtectionPolicyList) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type InformationProtectionPolicyList.
func (*InformationProtectionPolicyList) UnmarshalJSON ¶
func (i *InformationProtectionPolicyList) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type InformationProtectionPolicyList.
type InformationProtectionPolicyName ¶
type InformationProtectionPolicyName string
const ( InformationProtectionPolicyNameCustom InformationProtectionPolicyName = "custom" InformationProtectionPolicyNameEffective InformationProtectionPolicyName = "effective" )
func PossibleInformationProtectionPolicyNameValues ¶
func PossibleInformationProtectionPolicyNameValues() []InformationProtectionPolicyName
PossibleInformationProtectionPolicyNameValues returns the possible values for the InformationProtectionPolicyName const type.
type InformationProtectionPolicyProperties ¶
type InformationProtectionPolicyProperties struct {
// The sensitivity information types.
InformationTypes map[string]*InformationType
// Dictionary of sensitivity labels.
Labels map[string]*SensitivityLabel
// READ-ONLY; Describes the last UTC time the policy was modified.
LastModifiedUTC *time.Time
// READ-ONLY; Describes the version of the policy.
Version *string
}
InformationProtectionPolicyProperties - describes properties of an information protection policy.
func (InformationProtectionPolicyProperties) MarshalJSON ¶
func (i InformationProtectionPolicyProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type InformationProtectionPolicyProperties.
func (*InformationProtectionPolicyProperties) UnmarshalJSON ¶
func (i *InformationProtectionPolicyProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type InformationProtectionPolicyProperties.
type InformationType ¶
type InformationType struct {
// Indicates whether the information type is custom or not.
Custom *bool
// The description of the information type.
Description *string
// The name of the information type.
DisplayName *string
// Indicates whether the information type is enabled or not.
Enabled *bool
// The information type keywords.
Keywords []*InformationProtectionKeyword
// The order of the information type.
Order *int32
// The recommended label id to be associated with this information type.
RecommendedLabelID *string
}
InformationType - The information type.
func (InformationType) MarshalJSON ¶
func (i InformationType) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type InformationType.
func (*InformationType) UnmarshalJSON ¶
func (i *InformationType) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type InformationType.
type InheritFromParentState ¶
type InheritFromParentState string
InheritFromParentState - Update Settings. Enabled - Resource should inherit configurations from parent. Disabled - Resource should not inherit configurations from parent.
const ( InheritFromParentStateDisabled InheritFromParentState = "Disabled" InheritFromParentStateEnabled InheritFromParentState = "Enabled" )
func PossibleInheritFromParentStateValues ¶
func PossibleInheritFromParentStateValues() []InheritFromParentState
PossibleInheritFromParentStateValues returns the possible values for the InheritFromParentState const type.
type Inherited ¶
type Inherited string
Inherited - "inherited" = "True" indicates that the current scope inherits its pricing configuration from its parent. The ID of the parent scope that provides the inherited configuration is displayed in the "inheritedFrom" field. On the other hand, "inherited" = "False" indicates that the current scope has its own pricing configuration explicitly set, and does not inherit from its parent. This field is read only and available only for resource-level pricing.
const ( // InheritedFalse - Indicates that the current scope sets its own pricing configuration and does not inherit it from its parent InheritedFalse Inherited = "False" // InheritedTrue - Indicates that the current scope is inheriting its pricing configuration from its parent InheritedTrue Inherited = "True" )
func PossibleInheritedValues ¶
func PossibleInheritedValues() []Inherited
PossibleInheritedValues returns the possible values for the Inherited const type.
type Intent ¶
type Intent string
Intent - The kill chain related intent behind the alert. For list of supported values, and explanations of Azure Security Center's supported kill chain intents.
const ( // IntentCollection - Collection consists of techniques used to identify and gather information, such as sensitive files, // from a target network prior to exfiltration. IntentCollection Intent = "Collection" // IntentCommandAndControl - The command and control tactic represents how adversaries communicate with systems under their // control within a target network. IntentCommandAndControl Intent = "CommandAndControl" // IntentCredentialAccess - Credential access represents techniques resulting in access to or control over system, domain, // or service credentials that are used within an enterprise environment. IntentCredentialAccess Intent = "CredentialAccess" // IntentDefenseEvasion - Defense evasion consists of techniques an adversary may use to evade detection or avoid other defenses. IntentDefenseEvasion Intent = "DefenseEvasion" // IntentDiscovery - Discovery consists of techniques that allow the adversary to gain knowledge about the system and internal // network. IntentDiscovery Intent = "Discovery" // IntentExecution - The execution tactic represents techniques that result in execution of adversary-controlled code on a // local or remote system. IntentExecution Intent = "Execution" // IntentExfiltration - Exfiltration refers to techniques and attributes that result or aid in the adversary removing files // and information from a target network. IntentExfiltration Intent = "Exfiltration" // IntentExploitation - Exploitation is the stage where an attacker manages to get a foothold on the attacked resource. This // stage is relevant for compute hosts and resources such as user accounts, certificates etc. IntentExploitation Intent = "Exploitation" // IntentImpact - Impact events primarily try to directly reduce the availability or integrity of a system, service, or network; // including manipulation of data to impact a business or operational process. IntentImpact Intent = "Impact" // IntentInitialAccess - InitialAccess is the stage where an attacker manages to get foothold on the attacked resource. IntentInitialAccess Intent = "InitialAccess" // IntentLateralMovement - Lateral movement consists of techniques that enable an adversary to access and control remote systems // on a network and could, but does not necessarily, include execution of tools on remote systems. IntentLateralMovement Intent = "LateralMovement" // IntentPersistence - Persistence is any access, action, or configuration change to a system that gives a threat actor a // persistent presence on that system. IntentPersistence Intent = "Persistence" // IntentPreAttack - PreAttack could be either an attempt to access a certain resource regardless of a malicious intent, or // a failed attempt to gain access to a target system to gather information prior to exploitation. This step is usually detected // as an attempt, originating from outside the network, to scan the target system and find a way in. Further details on the // PreAttack stage can be read in [MITRE Pre-Att&ck matrix](https://attack.mitre.org/matrices/pre/). IntentPreAttack Intent = "PreAttack" // IntentPrivilegeEscalation - Privilege escalation is the result of actions that allow an adversary to obtain a higher level // of permissions on a system or network. IntentPrivilegeEscalation Intent = "PrivilegeEscalation" // IntentProbing - Probing could be either an attempt to access a certain resource regardless of a malicious intent, or a // failed attempt to gain access to a target system to gather information prior to exploitation. IntentProbing Intent = "Probing" // IntentUnknown - Unknown IntentUnknown Intent = "Unknown" )
func PossibleIntentValues ¶
func PossibleIntentValues() []Intent
PossibleIntentValues returns the possible values for the Intent const type.
type IoTSecurityAggregatedAlert ¶
type IoTSecurityAggregatedAlert struct {
// IoT Security solution aggregated alert details.
Properties *IoTSecurityAggregatedAlertProperties
// Resource tags
Tags map[string]*string
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Resource type
Type *string
}
IoTSecurityAggregatedAlert - Security Solution Aggregated Alert information
func (IoTSecurityAggregatedAlert) MarshalJSON ¶
func (i IoTSecurityAggregatedAlert) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type IoTSecurityAggregatedAlert.
func (*IoTSecurityAggregatedAlert) UnmarshalJSON ¶
func (i *IoTSecurityAggregatedAlert) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type IoTSecurityAggregatedAlert.
type IoTSecurityAggregatedAlertList ¶
type IoTSecurityAggregatedAlertList struct {
// REQUIRED; List of aggregated alerts data.
Value []*IoTSecurityAggregatedAlert
// READ-ONLY; When there is too much alert data for one page, use this URI to fetch the next page.
NextLink *string
}
IoTSecurityAggregatedAlertList - List of IoT Security solution aggregated alert data.
func (IoTSecurityAggregatedAlertList) MarshalJSON ¶
func (i IoTSecurityAggregatedAlertList) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type IoTSecurityAggregatedAlertList.
func (*IoTSecurityAggregatedAlertList) UnmarshalJSON ¶
func (i *IoTSecurityAggregatedAlertList) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type IoTSecurityAggregatedAlertList.
type IoTSecurityAggregatedAlertProperties ¶
type IoTSecurityAggregatedAlertProperties struct {
// READ-ONLY; IoT Security solution alert response.
ActionTaken *string
// READ-ONLY; Date of detection.
AggregatedDateUTC *time.Time
// READ-ONLY; Display name of the alert type.
AlertDisplayName *string
// READ-ONLY; Name of the alert type.
AlertType *string
// READ-ONLY; Number of alerts occurrences within the aggregated time window.
Count *int64
// READ-ONLY; Description of the suspected vulnerability and meaning.
Description *string
// READ-ONLY; Azure resource ID of the resource that received the alerts.
EffectedResourceType *string
// READ-ONLY; Log analytics query for getting the list of affected devices/alerts.
LogAnalyticsQuery *string
// READ-ONLY; Recommended steps for remediation.
RemediationSteps *string
// READ-ONLY; Assessed alert severity.
ReportedSeverity *ReportedSeverity
// READ-ONLY; The type of the alerted resource (Azure, Non-Azure).
SystemSource *string
// READ-ONLY; 10 devices with the highest number of occurrences of this alert type, on this day.
TopDevicesList []*IoTSecurityAggregatedAlertPropertiesTopDevicesListItem
// READ-ONLY; Name of the organization that raised the alert.
VendorName *string
}
IoTSecurityAggregatedAlertProperties - IoT Security solution aggregated alert details.
func (IoTSecurityAggregatedAlertProperties) MarshalJSON ¶
func (i IoTSecurityAggregatedAlertProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type IoTSecurityAggregatedAlertProperties.
func (*IoTSecurityAggregatedAlertProperties) UnmarshalJSON ¶
func (i *IoTSecurityAggregatedAlertProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type IoTSecurityAggregatedAlertProperties.
type IoTSecurityAggregatedAlertPropertiesTopDevicesListItem ¶
type IoTSecurityAggregatedAlertPropertiesTopDevicesListItem struct {
// READ-ONLY; Number of alerts raised for this device.
AlertsCount *int64
// READ-ONLY; Name of the device.
DeviceID *string
// READ-ONLY; Most recent time this alert was raised for this device, on this day.
LastOccurrence *string
}
func (IoTSecurityAggregatedAlertPropertiesTopDevicesListItem) MarshalJSON ¶
func (i IoTSecurityAggregatedAlertPropertiesTopDevicesListItem) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type IoTSecurityAggregatedAlertPropertiesTopDevicesListItem.
func (*IoTSecurityAggregatedAlertPropertiesTopDevicesListItem) UnmarshalJSON ¶
func (i *IoTSecurityAggregatedAlertPropertiesTopDevicesListItem) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type IoTSecurityAggregatedAlertPropertiesTopDevicesListItem.
type IoTSecurityAggregatedRecommendation ¶
type IoTSecurityAggregatedRecommendation struct {
// Security Solution data
Properties *IoTSecurityAggregatedRecommendationProperties
// Resource tags
Tags map[string]*string
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Resource type
Type *string
}
IoTSecurityAggregatedRecommendation - IoT Security solution recommendation information.
func (IoTSecurityAggregatedRecommendation) MarshalJSON ¶
func (i IoTSecurityAggregatedRecommendation) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type IoTSecurityAggregatedRecommendation.
func (*IoTSecurityAggregatedRecommendation) UnmarshalJSON ¶
func (i *IoTSecurityAggregatedRecommendation) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type IoTSecurityAggregatedRecommendation.
type IoTSecurityAggregatedRecommendationList ¶
type IoTSecurityAggregatedRecommendationList struct {
// REQUIRED; List of aggregated recommendations data.
Value []*IoTSecurityAggregatedRecommendation
// READ-ONLY; When there is too much alert data for one page, use this URI to fetch the next page.
NextLink *string
}
IoTSecurityAggregatedRecommendationList - List of IoT Security solution aggregated recommendations.
func (IoTSecurityAggregatedRecommendationList) MarshalJSON ¶
func (i IoTSecurityAggregatedRecommendationList) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type IoTSecurityAggregatedRecommendationList.
func (*IoTSecurityAggregatedRecommendationList) UnmarshalJSON ¶
func (i *IoTSecurityAggregatedRecommendationList) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type IoTSecurityAggregatedRecommendationList.
type IoTSecurityAggregatedRecommendationProperties ¶
type IoTSecurityAggregatedRecommendationProperties struct {
// Name of the recommendation.
RecommendationName *string
// READ-ONLY; Description of the suspected vulnerability and meaning.
Description *string
// READ-ONLY; Name of the organization that made the recommendation.
DetectedBy *string
// READ-ONLY; Number of healthy devices within the IoT Security solution.
HealthyDevices *int64
// READ-ONLY; Log analytics query for getting the list of affected devices/alerts.
LogAnalyticsQuery *string
// READ-ONLY; Display name of the recommendation type.
RecommendationDisplayName *string
// READ-ONLY; Recommendation-type GUID.
RecommendationTypeID *string
// READ-ONLY; Recommended steps for remediation
RemediationSteps *string
// READ-ONLY; Assessed recommendation severity.
ReportedSeverity *ReportedSeverity
// READ-ONLY; Number of unhealthy devices within the IoT Security solution.
UnhealthyDeviceCount *int64
}
IoTSecurityAggregatedRecommendationProperties - IoT Security solution aggregated recommendation information
func (IoTSecurityAggregatedRecommendationProperties) MarshalJSON ¶
func (i IoTSecurityAggregatedRecommendationProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type IoTSecurityAggregatedRecommendationProperties.
func (*IoTSecurityAggregatedRecommendationProperties) UnmarshalJSON ¶
func (i *IoTSecurityAggregatedRecommendationProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type IoTSecurityAggregatedRecommendationProperties.
type IoTSecurityAlertedDevice ¶
type IoTSecurityAlertedDevice struct {
// READ-ONLY; Number of alerts raised for this device.
AlertsCount *int64
// READ-ONLY; Device identifier.
DeviceID *string
}
IoTSecurityAlertedDevice - Statistical information about the number of alerts per device during last set number of days.
func (IoTSecurityAlertedDevice) MarshalJSON ¶
func (i IoTSecurityAlertedDevice) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type IoTSecurityAlertedDevice.
func (*IoTSecurityAlertedDevice) UnmarshalJSON ¶
func (i *IoTSecurityAlertedDevice) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type IoTSecurityAlertedDevice.
type IoTSecurityDeviceAlert ¶
type IoTSecurityDeviceAlert struct {
// READ-ONLY; Display name of the alert
AlertDisplayName *string
// READ-ONLY; Number of alerts raised for this alert type.
AlertsCount *int64
// READ-ONLY; Assessed Alert severity.
ReportedSeverity *ReportedSeverity
}
IoTSecurityDeviceAlert - Statistical information about the number of alerts per alert type during last set number of days
func (IoTSecurityDeviceAlert) MarshalJSON ¶
func (i IoTSecurityDeviceAlert) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type IoTSecurityDeviceAlert.
func (*IoTSecurityDeviceAlert) UnmarshalJSON ¶
func (i *IoTSecurityDeviceAlert) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type IoTSecurityDeviceAlert.
type IoTSecurityDeviceRecommendation ¶
type IoTSecurityDeviceRecommendation struct {
// READ-ONLY; Number of devices with this recommendation.
DevicesCount *int64
// READ-ONLY; Display name of the recommendation.
RecommendationDisplayName *string
// READ-ONLY; Assessed recommendation severity.
ReportedSeverity *ReportedSeverity
}
IoTSecurityDeviceRecommendation - Statistical information about the number of recommendations per device, per recommendation type.
func (IoTSecurityDeviceRecommendation) MarshalJSON ¶
func (i IoTSecurityDeviceRecommendation) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type IoTSecurityDeviceRecommendation.
func (*IoTSecurityDeviceRecommendation) UnmarshalJSON ¶
func (i *IoTSecurityDeviceRecommendation) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type IoTSecurityDeviceRecommendation.
type IoTSecuritySolutionAnalyticsModel ¶
type IoTSecuritySolutionAnalyticsModel struct {
// Security Solution Aggregated Alert data
Properties *IoTSecuritySolutionAnalyticsModelProperties
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Resource type
Type *string
}
IoTSecuritySolutionAnalyticsModel - Security analytics of your IoT Security solution
func (IoTSecuritySolutionAnalyticsModel) MarshalJSON ¶
func (i IoTSecuritySolutionAnalyticsModel) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type IoTSecuritySolutionAnalyticsModel.
func (*IoTSecuritySolutionAnalyticsModel) UnmarshalJSON ¶
func (i *IoTSecuritySolutionAnalyticsModel) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type IoTSecuritySolutionAnalyticsModel.
type IoTSecuritySolutionAnalyticsModelList ¶
type IoTSecuritySolutionAnalyticsModelList struct {
// REQUIRED; List of Security analytics of your IoT Security solution
Value []*IoTSecuritySolutionAnalyticsModel
// READ-ONLY; When there is too much alert data for one page, use this URI to fetch the next page.
NextLink *string
}
IoTSecuritySolutionAnalyticsModelList - List of Security analytics of your IoT Security solution
func (IoTSecuritySolutionAnalyticsModelList) MarshalJSON ¶
func (i IoTSecuritySolutionAnalyticsModelList) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type IoTSecuritySolutionAnalyticsModelList.
func (*IoTSecuritySolutionAnalyticsModelList) UnmarshalJSON ¶
func (i *IoTSecuritySolutionAnalyticsModelList) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type IoTSecuritySolutionAnalyticsModelList.
type IoTSecuritySolutionAnalyticsModelProperties ¶
type IoTSecuritySolutionAnalyticsModelProperties struct {
// List of the 3 most prevalent device alerts.
MostPrevalentDeviceAlerts []*IoTSecurityDeviceAlert
// List of the 3 most prevalent device recommendations.
MostPrevalentDeviceRecommendations []*IoTSecurityDeviceRecommendation
// List of the 3 devices with the most alerts.
TopAlertedDevices []*IoTSecurityAlertedDevice
// READ-ONLY; List of device metrics by the aggregation date.
DevicesMetrics []*IoTSecuritySolutionAnalyticsModelPropertiesDevicesMetricsItem
// READ-ONLY; Security analytics of your IoT Security solution.
Metrics *IoTSeverityMetrics
// READ-ONLY; Number of unhealthy devices within your IoT Security solution.
UnhealthyDeviceCount *int64
}
IoTSecuritySolutionAnalyticsModelProperties - Security analytics properties of your IoT Security solution
func (IoTSecuritySolutionAnalyticsModelProperties) MarshalJSON ¶
func (i IoTSecuritySolutionAnalyticsModelProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type IoTSecuritySolutionAnalyticsModelProperties.
func (*IoTSecuritySolutionAnalyticsModelProperties) UnmarshalJSON ¶
func (i *IoTSecuritySolutionAnalyticsModelProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type IoTSecuritySolutionAnalyticsModelProperties.
type IoTSecuritySolutionAnalyticsModelPropertiesDevicesMetricsItem ¶
type IoTSecuritySolutionAnalyticsModelPropertiesDevicesMetricsItem struct {
// Aggregation of IoT Security solution device alert metrics by date.
Date *time.Time
// Device alert count by severity.
DevicesMetrics *IoTSeverityMetrics
}
func (IoTSecuritySolutionAnalyticsModelPropertiesDevicesMetricsItem) MarshalJSON ¶
func (i IoTSecuritySolutionAnalyticsModelPropertiesDevicesMetricsItem) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type IoTSecuritySolutionAnalyticsModelPropertiesDevicesMetricsItem.
func (*IoTSecuritySolutionAnalyticsModelPropertiesDevicesMetricsItem) UnmarshalJSON ¶
func (i *IoTSecuritySolutionAnalyticsModelPropertiesDevicesMetricsItem) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type IoTSecuritySolutionAnalyticsModelPropertiesDevicesMetricsItem.
type IoTSecuritySolutionModel ¶
type IoTSecuritySolutionModel struct {
// The resource location.
Location *string
// Security Solution data
Properties *IoTSecuritySolutionProperties
// Resource tags
Tags map[string]*string
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
SystemData *SystemData
// READ-ONLY; Resource type
Type *string
}
IoTSecuritySolutionModel - IoT Security solution configuration and resource information.
func (IoTSecuritySolutionModel) MarshalJSON ¶
func (i IoTSecuritySolutionModel) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type IoTSecuritySolutionModel.
func (*IoTSecuritySolutionModel) UnmarshalJSON ¶
func (i *IoTSecuritySolutionModel) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type IoTSecuritySolutionModel.
type IoTSecuritySolutionProperties ¶
type IoTSecuritySolutionProperties struct {
// REQUIRED; Resource display name.
DisplayName *string
// REQUIRED; IoT Hub resource IDs
IotHubs []*string
// List of additional workspaces
AdditionalWorkspaces []*AdditionalWorkspacesProperties
// Disabled data sources. Disabling these data sources compromises the system.
DisabledDataSources []*DataSource
// List of additional options for exporting to workspace data.
Export []*ExportData
// List of the configuration status for each recommendation type.
RecommendationsConfiguration []*RecommendationConfigurationProperties
// Status of the IoT Security solution.
Status *SecuritySolutionStatus
// Unmasked IP address logging status
UnmaskedIPLoggingStatus *UnmaskedIPLoggingStatus
// Properties of the IoT Security solution's user defined resources.
UserDefinedResources *UserDefinedResourcesProperties
// Workspace resource ID
Workspace *string
// READ-ONLY; List of resources that were automatically discovered as relevant to the security solution.
AutoDiscoveredResources []*string
}
IoTSecuritySolutionProperties - Security Solution setting data
func (IoTSecuritySolutionProperties) MarshalJSON ¶
func (i IoTSecuritySolutionProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type IoTSecuritySolutionProperties.
func (*IoTSecuritySolutionProperties) UnmarshalJSON ¶
func (i *IoTSecuritySolutionProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type IoTSecuritySolutionProperties.
type IoTSecuritySolutionsList ¶
type IoTSecuritySolutionsList struct {
// REQUIRED; List of IoT Security solutions
Value []*IoTSecuritySolutionModel
// READ-ONLY; The URI to fetch the next page.
NextLink *string
}
IoTSecuritySolutionsList - List of IoT Security solutions.
func (IoTSecuritySolutionsList) MarshalJSON ¶
func (i IoTSecuritySolutionsList) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type IoTSecuritySolutionsList.
func (*IoTSecuritySolutionsList) UnmarshalJSON ¶
func (i *IoTSecuritySolutionsList) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type IoTSecuritySolutionsList.
type IoTSeverityMetrics ¶
type IoTSeverityMetrics struct {
// Count of high severity alerts/recommendations.
High *int64
// Count of low severity alerts/recommendations.
Low *int64
// Count of medium severity alerts/recommendations.
Medium *int64
}
IoTSeverityMetrics - IoT Security solution analytics severity metrics.
func (IoTSeverityMetrics) MarshalJSON ¶
func (i IoTSeverityMetrics) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type IoTSeverityMetrics.
func (*IoTSeverityMetrics) UnmarshalJSON ¶
func (i *IoTSeverityMetrics) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type IoTSeverityMetrics.
type IotSecuritySolutionAnalyticsClient ¶
type IotSecuritySolutionAnalyticsClient struct {
// contains filtered or unexported fields
}
IotSecuritySolutionAnalyticsClient contains the methods for the IotSecuritySolutionAnalytics group. Don't use this type directly, use NewIotSecuritySolutionAnalyticsClient() instead.
func NewIotSecuritySolutionAnalyticsClient ¶
func NewIotSecuritySolutionAnalyticsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*IotSecuritySolutionAnalyticsClient, error)
NewIotSecuritySolutionAnalyticsClient creates a new instance of IotSecuritySolutionAnalyticsClient with the specified values.
- subscriptionID - Azure subscription ID
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*IotSecuritySolutionAnalyticsClient) Get ¶
func (client *IotSecuritySolutionAnalyticsClient) Get(ctx context.Context, resourceGroupName string, solutionName string, options *IotSecuritySolutionAnalyticsClientGetOptions) (IotSecuritySolutionAnalyticsClientGetResponse, error)
Get - Use this method to get IoT Security Analytics metrics. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2019-08-01
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- solutionName - The name of the IoT Security solution.
- options - IotSecuritySolutionAnalyticsClientGetOptions contains the optional parameters for the IotSecuritySolutionAnalyticsClient.Get method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IoTSecuritySolutionsAnalytics/GetIoTSecuritySolutionsSecurityAnalytics.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewIotSecuritySolutionAnalyticsClient().Get(ctx, "MyGroup", "default", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.IoTSecuritySolutionAnalyticsModel = armsecurity.IoTSecuritySolutionAnalyticsModel{
// Name: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyGroup/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default"),
// Type: to.Ptr("Microsoft.Security/iotSecuritySolutions/analyticsModels"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyGroup/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default"),
// Properties: &armsecurity.IoTSecuritySolutionAnalyticsModelProperties{
// DevicesMetrics: []*armsecurity.IoTSecuritySolutionAnalyticsModelPropertiesDevicesMetricsItem{
// {
// Date: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-02-01T00:00:00.000Z"); return t}()),
// DevicesMetrics: &armsecurity.IoTSeverityMetrics{
// High: to.Ptr[int64](3),
// Low: to.Ptr[int64](70),
// Medium: to.Ptr[int64](15),
// },
// },
// {
// Date: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-02-02T00:00:00.000Z"); return t}()),
// DevicesMetrics: &armsecurity.IoTSeverityMetrics{
// High: to.Ptr[int64](3),
// Low: to.Ptr[int64](65),
// Medium: to.Ptr[int64](45),
// },
// }},
// Metrics: &armsecurity.IoTSeverityMetrics{
// High: to.Ptr[int64](5),
// Low: to.Ptr[int64](102),
// Medium: to.Ptr[int64](200),
// },
// MostPrevalentDeviceAlerts: []*armsecurity.IoTSecurityDeviceAlert{
// {
// AlertDisplayName: to.Ptr("Custom Alert - number of device to cloud messages in AMQP protocol is not in the allowed range"),
// AlertsCount: to.Ptr[int64](200),
// ReportedSeverity: to.Ptr(armsecurity.ReportedSeverityLow),
// },
// {
// AlertDisplayName: to.Ptr("Custom Alert - execution of a process that is not allowed"),
// AlertsCount: to.Ptr[int64](170),
// ReportedSeverity: to.Ptr(armsecurity.ReportedSeverityMedium),
// },
// {
// AlertDisplayName: to.Ptr("Successful Bruteforce"),
// AlertsCount: to.Ptr[int64](150),
// ReportedSeverity: to.Ptr(armsecurity.ReportedSeverityLow),
// }},
// MostPrevalentDeviceRecommendations: []*armsecurity.IoTSecurityDeviceRecommendation{
// {
// DevicesCount: to.Ptr[int64](200),
// RecommendationDisplayName: to.Ptr("Install the Azure Security of Things Agent"),
// ReportedSeverity: to.Ptr(armsecurity.ReportedSeverityLow),
// },
// {
// DevicesCount: to.Ptr[int64](170),
// RecommendationDisplayName: to.Ptr("High level permissions configured in Edge model twin for Edge module"),
// ReportedSeverity: to.Ptr(armsecurity.ReportedSeverityLow),
// },
// {
// DevicesCount: to.Ptr[int64](150),
// RecommendationDisplayName: to.Ptr("Same Authentication Credentials used by multiple devices"),
// ReportedSeverity: to.Ptr(armsecurity.ReportedSeverityMedium),
// }},
// TopAlertedDevices: []*armsecurity.IoTSecurityAlertedDevice{
// {
// AlertsCount: to.Ptr[int64](200),
// DeviceID: to.Ptr("id1"),
// },
// {
// AlertsCount: to.Ptr[int64](170),
// DeviceID: to.Ptr("id2"),
// },
// {
// AlertsCount: to.Ptr[int64](150),
// DeviceID: to.Ptr("id3"),
// }},
// UnhealthyDeviceCount: to.Ptr[int64](1200),
// },
// }
}
func (*IotSecuritySolutionAnalyticsClient) List ¶
func (client *IotSecuritySolutionAnalyticsClient) List(ctx context.Context, resourceGroupName string, solutionName string, options *IotSecuritySolutionAnalyticsClientListOptions) (IotSecuritySolutionAnalyticsClientListResponse, error)
List - Use this method to get IoT security Analytics metrics in an array. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2019-08-01
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- solutionName - The name of the IoT Security solution.
- options - IotSecuritySolutionAnalyticsClientListOptions contains the optional parameters for the IotSecuritySolutionAnalyticsClient.List method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IoTSecuritySolutionsAnalytics/GetIoTSecuritySolutionsSecurityAnalyticsList.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewIotSecuritySolutionAnalyticsClient().List(ctx, "MyGroup", "default", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.IoTSecuritySolutionAnalyticsModelList = armsecurity.IoTSecuritySolutionAnalyticsModelList{
// Value: []*armsecurity.IoTSecuritySolutionAnalyticsModel{
// {
// Name: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyGroup/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default"),
// Type: to.Ptr("Microsoft.Security/iotSecuritySolutions/analyticsModels"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyGroup/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default"),
// Properties: &armsecurity.IoTSecuritySolutionAnalyticsModelProperties{
// DevicesMetrics: []*armsecurity.IoTSecuritySolutionAnalyticsModelPropertiesDevicesMetricsItem{
// {
// Date: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-02-01T00:00:00.000Z"); return t}()),
// DevicesMetrics: &armsecurity.IoTSeverityMetrics{
// High: to.Ptr[int64](3),
// Low: to.Ptr[int64](70),
// Medium: to.Ptr[int64](15),
// },
// },
// {
// Date: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-02-02T00:00:00.000Z"); return t}()),
// DevicesMetrics: &armsecurity.IoTSeverityMetrics{
// High: to.Ptr[int64](3),
// Low: to.Ptr[int64](65),
// Medium: to.Ptr[int64](45),
// },
// }},
// Metrics: &armsecurity.IoTSeverityMetrics{
// High: to.Ptr[int64](5),
// Low: to.Ptr[int64](102),
// Medium: to.Ptr[int64](200),
// },
// MostPrevalentDeviceAlerts: []*armsecurity.IoTSecurityDeviceAlert{
// {
// AlertDisplayName: to.Ptr("Custom Alert - number of device to cloud messages in AMQP protocol is not in the allowed range"),
// AlertsCount: to.Ptr[int64](200),
// ReportedSeverity: to.Ptr(armsecurity.ReportedSeverityLow),
// },
// {
// AlertDisplayName: to.Ptr("Custom Alert - execution of a process that is not allowed"),
// AlertsCount: to.Ptr[int64](170),
// ReportedSeverity: to.Ptr(armsecurity.ReportedSeverityMedium),
// },
// {
// AlertDisplayName: to.Ptr("Successful Bruteforce"),
// AlertsCount: to.Ptr[int64](150),
// ReportedSeverity: to.Ptr(armsecurity.ReportedSeverityLow),
// }},
// MostPrevalentDeviceRecommendations: []*armsecurity.IoTSecurityDeviceRecommendation{
// {
// DevicesCount: to.Ptr[int64](200),
// RecommendationDisplayName: to.Ptr("Install the Azure Security of Things Agent"),
// ReportedSeverity: to.Ptr(armsecurity.ReportedSeverityLow),
// },
// {
// DevicesCount: to.Ptr[int64](170),
// RecommendationDisplayName: to.Ptr("High level permissions configured in Edge model twin for Edge module"),
// ReportedSeverity: to.Ptr(armsecurity.ReportedSeverityLow),
// },
// {
// DevicesCount: to.Ptr[int64](150),
// RecommendationDisplayName: to.Ptr("Same Authentication Credentials used by multiple devices"),
// ReportedSeverity: to.Ptr(armsecurity.ReportedSeverityMedium),
// }},
// TopAlertedDevices: []*armsecurity.IoTSecurityAlertedDevice{
// {
// AlertsCount: to.Ptr[int64](200),
// DeviceID: to.Ptr("id1"),
// },
// {
// AlertsCount: to.Ptr[int64](170),
// DeviceID: to.Ptr("id2"),
// },
// {
// AlertsCount: to.Ptr[int64](150),
// DeviceID: to.Ptr("id3"),
// }},
// UnhealthyDeviceCount: to.Ptr[int64](1200),
// },
// }},
// }
}
type IotSecuritySolutionAnalyticsClientGetOptions ¶
type IotSecuritySolutionAnalyticsClientGetOptions struct {
}
IotSecuritySolutionAnalyticsClientGetOptions contains the optional parameters for the IotSecuritySolutionAnalyticsClient.Get method.
type IotSecuritySolutionAnalyticsClientGetResponse ¶
type IotSecuritySolutionAnalyticsClientGetResponse struct {
// Security analytics of your IoT Security solution
IoTSecuritySolutionAnalyticsModel
}
IotSecuritySolutionAnalyticsClientGetResponse contains the response from method IotSecuritySolutionAnalyticsClient.Get.
type IotSecuritySolutionAnalyticsClientListOptions ¶
type IotSecuritySolutionAnalyticsClientListOptions struct {
}
IotSecuritySolutionAnalyticsClientListOptions contains the optional parameters for the IotSecuritySolutionAnalyticsClient.List method.
type IotSecuritySolutionAnalyticsClientListResponse ¶
type IotSecuritySolutionAnalyticsClientListResponse struct {
// List of Security analytics of your IoT Security solution
IoTSecuritySolutionAnalyticsModelList
}
IotSecuritySolutionAnalyticsClientListResponse contains the response from method IotSecuritySolutionAnalyticsClient.List.
type IotSecuritySolutionClient ¶
type IotSecuritySolutionClient struct {
// contains filtered or unexported fields
}
IotSecuritySolutionClient contains the methods for the IotSecuritySolution group. Don't use this type directly, use NewIotSecuritySolutionClient() instead.
func NewIotSecuritySolutionClient ¶
func NewIotSecuritySolutionClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*IotSecuritySolutionClient, error)
NewIotSecuritySolutionClient creates a new instance of IotSecuritySolutionClient with the specified values.
- subscriptionID - Azure subscription ID
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*IotSecuritySolutionClient) CreateOrUpdate ¶
func (client *IotSecuritySolutionClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, solutionName string, iotSecuritySolutionData IoTSecuritySolutionModel, options *IotSecuritySolutionClientCreateOrUpdateOptions) (IotSecuritySolutionClientCreateOrUpdateResponse, error)
CreateOrUpdate - Use this method to create or update yours IoT Security solution If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2019-08-01
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- solutionName - The name of the IoT Security solution.
- iotSecuritySolutionData - The security solution data
- options - IotSecuritySolutionClientCreateOrUpdateOptions contains the optional parameters for the IotSecuritySolutionClient.CreateOrUpdate method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IoTSecuritySolutions/CreateIoTSecuritySolution.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewIotSecuritySolutionClient().CreateOrUpdate(ctx, "MyGroup", "default", armsecurity.IoTSecuritySolutionModel{
Tags: map[string]*string{},
Location: to.Ptr("East Us"),
Properties: &armsecurity.IoTSecuritySolutionProperties{
DisabledDataSources: []*armsecurity.DataSource{},
DisplayName: to.Ptr("Solution Default"),
Export: []*armsecurity.ExportData{},
IotHubs: []*string{
to.Ptr("/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub")},
RecommendationsConfiguration: []*armsecurity.RecommendationConfigurationProperties{
{
RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTOpenPorts),
Status: to.Ptr(armsecurity.RecommendationConfigStatusDisabled),
},
{
RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTSharedCredentials),
Status: to.Ptr(armsecurity.RecommendationConfigStatusDisabled),
}},
Status: to.Ptr(armsecurity.SecuritySolutionStatusEnabled),
UnmaskedIPLoggingStatus: to.Ptr(armsecurity.UnmaskedIPLoggingStatusEnabled),
UserDefinedResources: &armsecurity.UserDefinedResourcesProperties{
Query: to.Ptr("where type != \"microsoft.devices/iothubs\" | where name contains \"iot\""),
QuerySubscriptions: []*string{
to.Ptr("075423e9-7d33-4166-8bdf-3920b04e3735")},
},
Workspace: to.Ptr("/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1"),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.IoTSecuritySolutionModel = armsecurity.IoTSecuritySolutionModel{
// Name: to.Ptr("default"),
// Type: to.Ptr("Microsoft.Security/IoTSecuritySolutions"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyGroup/providers/Microsoft.Security/Locations/eastus/IoTSecuritySolutions/default"),
// Tags: map[string]*string{
// },
// Location: to.Ptr("East Us"),
// Properties: &armsecurity.IoTSecuritySolutionProperties{
// AutoDiscoveredResources: []*string{
// to.Ptr("/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735"),
// to.Ptr("/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub")},
// DisabledDataSources: []*armsecurity.DataSource{
// },
// DisplayName: to.Ptr("Solution Default"),
// Export: []*armsecurity.ExportData{
// },
// IotHubs: []*string{
// to.Ptr("/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub")},
// RecommendationsConfiguration: []*armsecurity.RecommendationConfigurationProperties{
// {
// Name: to.Ptr("Service Principal Not Used with ACR"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTAcrauthentication),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Agent sending underutilized messages"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTAgentSendsUnutilizedMessages),
// Status: to.Ptr(armsecurity.RecommendationConfigStatus("TurnedOn")),
// },
// {
// Name: to.Ptr("Operating system (OS) baseline validation failure"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTBaseline),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Edge Hub memory can be optimized"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTEdgeHubMemOptimize),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("No Logging Configured for Edge Module"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTEdgeLoggingOptions),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Module Settings Inconsistent in SecurityGroup"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTInconsistentModuleSettings),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Install the Azure Security of Things Agent"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTInstallAgent),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Default IP Filter Policy should be Deny"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTIpfilterDenyAll),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("IP Filter rule includes large IP range"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTIpfilterPermissiveRule),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Open Ports On Device"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTOpenPorts),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusDisabled),
// },
// {
// Name: to.Ptr("Permissive firewall policy in one of the chains was found"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTPermissiveFirewallPolicy),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Permissive firewall rule in the input chain was found"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTPermissiveInputFirewallRules),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Permissive firewall rule in the output chain was found"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTPermissiveOutputFirewallRules),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("High level permissions configured in Edge model twin for Edge module"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTPrivilegedDockerOptions),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Same Authentication Credentials used by multiple devices"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTSharedCredentials),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusDisabled),
// },
// {
// Name: to.Ptr("TLS cipher suite upgrade"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTVulnerableTLSCipherSuite),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// }},
// Status: to.Ptr(armsecurity.SecuritySolutionStatusEnabled),
// UnmaskedIPLoggingStatus: to.Ptr(armsecurity.UnmaskedIPLoggingStatusEnabled),
// UserDefinedResources: &armsecurity.UserDefinedResourcesProperties{
// Query: to.Ptr("where type != \"microsoft.devices/iothubs\" | where name contains \"iot\""),
// QuerySubscriptions: []*string{
// to.Ptr("075423e9-7d33-4166-8bdf-3920b04e3735")},
// },
// Workspace: to.Ptr("/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1"),
// },
// SystemData: &armsecurity.SystemData{
// CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-27T21:53:29.092Z"); return t}()),
// CreatedBy: to.Ptr("string"),
// CreatedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-27T21:53:29.092Z"); return t}()),
// LastModifiedBy: to.Ptr("string"),
// LastModifiedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// },
// }
}
func (*IotSecuritySolutionClient) Delete ¶
func (client *IotSecuritySolutionClient) Delete(ctx context.Context, resourceGroupName string, solutionName string, options *IotSecuritySolutionClientDeleteOptions) (IotSecuritySolutionClientDeleteResponse, error)
Delete - Use this method to delete yours IoT Security solution If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2019-08-01
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- solutionName - The name of the IoT Security solution.
- options - IotSecuritySolutionClientDeleteOptions contains the optional parameters for the IotSecuritySolutionClient.Delete method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IoTSecuritySolutions/DeleteIoTSecuritySolution.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewIotSecuritySolutionClient().Delete(ctx, "MyGroup", "default", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
}
func (*IotSecuritySolutionClient) Get ¶
func (client *IotSecuritySolutionClient) Get(ctx context.Context, resourceGroupName string, solutionName string, options *IotSecuritySolutionClientGetOptions) (IotSecuritySolutionClientGetResponse, error)
Get - User this method to get details of a specific IoT Security solution based on solution name If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2019-08-01
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- solutionName - The name of the IoT Security solution.
- options - IotSecuritySolutionClientGetOptions contains the optional parameters for the IotSecuritySolutionClient.Get method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IoTSecuritySolutions/GetIoTSecuritySolution.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewIotSecuritySolutionClient().Get(ctx, "MyGroup", "default", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.IoTSecuritySolutionModel = armsecurity.IoTSecuritySolutionModel{
// Name: to.Ptr("default"),
// Type: to.Ptr("Microsoft.Security/IoTSecuritySolutions"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyGroup/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default"),
// Tags: map[string]*string{
// },
// Location: to.Ptr("East Us"),
// Properties: &armsecurity.IoTSecuritySolutionProperties{
// AutoDiscoveredResources: []*string{
// to.Ptr("/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735"),
// to.Ptr("/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub")},
// DisabledDataSources: []*armsecurity.DataSource{
// },
// DisplayName: to.Ptr("Solution Default"),
// Export: []*armsecurity.ExportData{
// },
// IotHubs: []*string{
// to.Ptr("/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub")},
// RecommendationsConfiguration: []*armsecurity.RecommendationConfigurationProperties{
// {
// Name: to.Ptr("Service Principal Not Used with ACR"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTAcrauthentication),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Agent sending underutilized messages"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTAgentSendsUnutilizedMessages),
// Status: to.Ptr(armsecurity.RecommendationConfigStatus("TurnedOn")),
// },
// {
// Name: to.Ptr("Operating system (OS) baseline validation failure"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTBaseline),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Edge Hub memory can be optimized"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTEdgeHubMemOptimize),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("No Logging Configured for Edge Module"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTEdgeLoggingOptions),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Module Settings Inconsistent in SecurityGroup"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTInconsistentModuleSettings),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Install the Azure Security of Things Agent"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTInstallAgent),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Default IP Filter Policy should be Deny"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTIpfilterDenyAll),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("IP Filter rule includes large IP range"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTIpfilterPermissiveRule),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Open Ports On Device"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTOpenPorts),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusDisabled),
// },
// {
// Name: to.Ptr("Permissive firewall policy in one of the chains was found"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTPermissiveFirewallPolicy),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Permissive firewall rule in the input chain was found"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTPermissiveInputFirewallRules),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Permissive firewall rule in the output chain was found"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTPermissiveOutputFirewallRules),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("High level permissions configured in Edge model twin for Edge module"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTPrivilegedDockerOptions),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Same Authentication Credentials used by multiple devices"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTSharedCredentials),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusDisabled),
// },
// {
// Name: to.Ptr("TLS cipher suite upgrade"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTVulnerableTLSCipherSuite),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// }},
// Status: to.Ptr(armsecurity.SecuritySolutionStatusEnabled),
// UnmaskedIPLoggingStatus: to.Ptr(armsecurity.UnmaskedIPLoggingStatusEnabled),
// UserDefinedResources: &armsecurity.UserDefinedResourcesProperties{
// Query: to.Ptr("where type != \"microsoft.devices/iothubs\" | where name contains \"iot\""),
// QuerySubscriptions: []*string{
// to.Ptr("075423e9-7d33-4166-8bdf-3920b04e3735")},
// },
// Workspace: to.Ptr("/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1"),
// },
// SystemData: &armsecurity.SystemData{
// CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-27T21:53:29.092Z"); return t}()),
// CreatedBy: to.Ptr("string"),
// CreatedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-27T21:53:29.092Z"); return t}()),
// LastModifiedBy: to.Ptr("string"),
// LastModifiedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// },
// }
}
func (*IotSecuritySolutionClient) NewListByResourceGroupPager ¶
func (client *IotSecuritySolutionClient) NewListByResourceGroupPager(resourceGroupName string, options *IotSecuritySolutionClientListByResourceGroupOptions) *runtime.Pager[IotSecuritySolutionClientListByResourceGroupResponse]
NewListByResourceGroupPager - Use this method to get the list IoT Security solutions organized by resource group.
Generated from API version 2019-08-01
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- options - IotSecuritySolutionClientListByResourceGroupOptions contains the optional parameters for the IotSecuritySolutionClient.NewListByResourceGroupPager method.
Example (ListIoTSecuritySolutionsByResourceGroup) ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByRg.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewIotSecuritySolutionClient().NewListByResourceGroupPager("MyGroup", &armsecurity.IotSecuritySolutionClientListByResourceGroupOptions{Filter: nil})
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.IoTSecuritySolutionsList = armsecurity.IoTSecuritySolutionsList{
// Value: []*armsecurity.IoTSecuritySolutionModel{
// {
// Name: to.Ptr("default"),
// Type: to.Ptr("Microsoft.Security/IoTSecuritySolutions"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyGroup/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default"),
// Tags: map[string]*string{
// },
// Location: to.Ptr("East Us"),
// Properties: &armsecurity.IoTSecuritySolutionProperties{
// AutoDiscoveredResources: []*string{
// to.Ptr("/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735"),
// to.Ptr("/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub")},
// DisabledDataSources: []*armsecurity.DataSource{
// },
// DisplayName: to.Ptr("Solution Default"),
// Export: []*armsecurity.ExportData{
// },
// IotHubs: []*string{
// to.Ptr("/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub")},
// RecommendationsConfiguration: []*armsecurity.RecommendationConfigurationProperties{
// {
// Name: to.Ptr("Service Principal Not Used with ACR"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTAcrauthentication),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Agent sending underutilized messages"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTAgentSendsUnutilizedMessages),
// Status: to.Ptr(armsecurity.RecommendationConfigStatus("TurnedOn")),
// },
// {
// Name: to.Ptr("Operating system (OS) baseline validation failure"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTBaseline),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Edge Hub memory can be optimized"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTEdgeHubMemOptimize),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("No Logging Configured for Edge Module"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTEdgeLoggingOptions),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Module Settings Inconsistent in SecurityGroup"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTInconsistentModuleSettings),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Install the Azure Security of Things Agent"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTInstallAgent),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Default IP Filter Policy should be Deny"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTIpfilterDenyAll),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("IP Filter rule includes large IP range"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTIpfilterPermissiveRule),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Open Ports On Device"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTOpenPorts),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusDisabled),
// },
// {
// Name: to.Ptr("Permissive firewall policy in one of the chains was found"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTPermissiveFirewallPolicy),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Permissive firewall rule in the input chain was found"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTPermissiveInputFirewallRules),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Permissive firewall rule in the output chain was found"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTPermissiveOutputFirewallRules),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("High level permissions configured in Edge model twin for Edge module"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTPrivilegedDockerOptions),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Same Authentication Credentials used by multiple devices"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTSharedCredentials),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusDisabled),
// },
// {
// Name: to.Ptr("TLS cipher suite upgrade"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTVulnerableTLSCipherSuite),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// }},
// Status: to.Ptr(armsecurity.SecuritySolutionStatusEnabled),
// UnmaskedIPLoggingStatus: to.Ptr(armsecurity.UnmaskedIPLoggingStatusEnabled),
// UserDefinedResources: &armsecurity.UserDefinedResourcesProperties{
// Query: to.Ptr("where type != \"microsoft.devices/iothubs\" | where name contains \"iot\""),
// QuerySubscriptions: []*string{
// to.Ptr("075423e9-7d33-4166-8bdf-3920b04e3735")},
// },
// Workspace: to.Ptr("/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1"),
// },
// SystemData: &armsecurity.SystemData{
// CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-27T21:53:29.092Z"); return t}()),
// CreatedBy: to.Ptr("string"),
// CreatedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-27T21:53:29.092Z"); return t}()),
// LastModifiedBy: to.Ptr("string"),
// LastModifiedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// },
// }},
// }
}
}
Example (ListIoTSecuritySolutionsByResourceGroupAndIoTHub) ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByIotHubAndRg.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewIotSecuritySolutionClient().NewListByResourceGroupPager("MyRg", &armsecurity.IotSecuritySolutionClientListByResourceGroupOptions{Filter: to.Ptr("properties.iotHubs/any(i eq \"/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub\")")})
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.IoTSecuritySolutionsList = armsecurity.IoTSecuritySolutionsList{
// Value: []*armsecurity.IoTSecuritySolutionModel{
// {
// Name: to.Ptr("default"),
// Type: to.Ptr("Microsoft.Security/IoTSecuritySolutions"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyRg/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default"),
// Tags: map[string]*string{
// },
// Location: to.Ptr("East Us"),
// Properties: &armsecurity.IoTSecuritySolutionProperties{
// AutoDiscoveredResources: []*string{
// to.Ptr("/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735"),
// to.Ptr("/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub")},
// DisabledDataSources: []*armsecurity.DataSource{
// },
// DisplayName: to.Ptr("Solution Default"),
// Export: []*armsecurity.ExportData{
// to.Ptr(armsecurity.ExportDataRawEvents)},
// IotHubs: []*string{
// to.Ptr("/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub")},
// RecommendationsConfiguration: []*armsecurity.RecommendationConfigurationProperties{
// {
// Name: to.Ptr("Service Principal Not Used with ACR"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTAcrauthentication),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Agent sending underutilized messages"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTAgentSendsUnutilizedMessages),
// Status: to.Ptr(armsecurity.RecommendationConfigStatus("TurnedOn")),
// },
// {
// Name: to.Ptr("Operating system (OS) baseline validation failure"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTBaseline),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Edge Hub memory can be optimized"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTEdgeHubMemOptimize),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("No Logging Configured for Edge Module"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTEdgeLoggingOptions),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Module Settings Inconsistent in SecurityGroup"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTInconsistentModuleSettings),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Install the Azure Security of Things Agent"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTInstallAgent),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Default IP Filter Policy should be Deny"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTIpfilterDenyAll),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("IP Filter rule includes large IP range"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTIpfilterPermissiveRule),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Open Ports On Device"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTOpenPorts),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusDisabled),
// },
// {
// Name: to.Ptr("Permissive firewall policy in one of the chains was found"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTPermissiveFirewallPolicy),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Permissive firewall rule in the input chain was found"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTPermissiveInputFirewallRules),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Permissive firewall rule in the output chain was found"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTPermissiveOutputFirewallRules),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("High level permissions configured in Edge model twin for Edge module"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTPrivilegedDockerOptions),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Same Authentication Credentials used by multiple devices"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTSharedCredentials),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusDisabled),
// },
// {
// Name: to.Ptr("TLS cipher suite upgrade"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTVulnerableTLSCipherSuite),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// }},
// Status: to.Ptr(armsecurity.SecuritySolutionStatusEnabled),
// UnmaskedIPLoggingStatus: to.Ptr(armsecurity.UnmaskedIPLoggingStatusEnabled),
// UserDefinedResources: &armsecurity.UserDefinedResourcesProperties{
// Query: to.Ptr("where type != \"microsoft.devices/iothubs\" | where name contains \"iot\""),
// QuerySubscriptions: []*string{
// to.Ptr("075423e9-7d33-4166-8bdf-3920b04e3735")},
// },
// Workspace: to.Ptr("/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1"),
// },
// SystemData: &armsecurity.SystemData{
// CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-27T21:53:29.092Z"); return t}()),
// CreatedBy: to.Ptr("string"),
// CreatedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-27T21:53:29.092Z"); return t}()),
// LastModifiedBy: to.Ptr("string"),
// LastModifiedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// },
// }},
// }
}
}
func (*IotSecuritySolutionClient) NewListBySubscriptionPager ¶
func (client *IotSecuritySolutionClient) NewListBySubscriptionPager(options *IotSecuritySolutionClientListBySubscriptionOptions) *runtime.Pager[IotSecuritySolutionClientListBySubscriptionResponse]
NewListBySubscriptionPager - Use this method to get the list of IoT Security solutions by subscription.
Generated from API version 2019-08-01
- options - IotSecuritySolutionClientListBySubscriptionOptions contains the optional parameters for the IotSecuritySolutionClient.NewListBySubscriptionPager method.
Example (ListIoTSecuritySolutionsByIoTHub) ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByIotHub.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewIotSecuritySolutionClient().NewListBySubscriptionPager(&armsecurity.IotSecuritySolutionClientListBySubscriptionOptions{Filter: to.Ptr("properties.iotHubs/any(i eq \"/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub\")")})
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.IoTSecuritySolutionsList = armsecurity.IoTSecuritySolutionsList{
// Value: []*armsecurity.IoTSecuritySolutionModel{
// {
// Name: to.Ptr("default"),
// Type: to.Ptr("Microsoft.Security/IoTSecuritySolutions"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyGroup/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default"),
// Tags: map[string]*string{
// },
// Location: to.Ptr("East Us"),
// Properties: &armsecurity.IoTSecuritySolutionProperties{
// AutoDiscoveredResources: []*string{
// to.Ptr("/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735"),
// to.Ptr("/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub")},
// DisabledDataSources: []*armsecurity.DataSource{
// },
// DisplayName: to.Ptr("Solution Default"),
// Export: []*armsecurity.ExportData{
// to.Ptr(armsecurity.ExportDataRawEvents)},
// IotHubs: []*string{
// to.Ptr("/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub")},
// RecommendationsConfiguration: []*armsecurity.RecommendationConfigurationProperties{
// {
// Name: to.Ptr("Service Principal Not Used with ACR"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTAcrauthentication),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Agent sending underutilized messages"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTAgentSendsUnutilizedMessages),
// Status: to.Ptr(armsecurity.RecommendationConfigStatus("TurnedOn")),
// },
// {
// Name: to.Ptr("Operating system (OS) baseline validation failure"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTBaseline),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Edge Hub memory can be optimized"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTEdgeHubMemOptimize),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("No Logging Configured for Edge Module"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTEdgeLoggingOptions),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Module Settings Inconsistent in SecurityGroup"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTInconsistentModuleSettings),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Install the Azure Security of Things Agent"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTInstallAgent),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Default IP Filter Policy should be Deny"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTIpfilterDenyAll),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("IP Filter rule includes large IP range"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTIpfilterPermissiveRule),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Open Ports On Device"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTOpenPorts),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusDisabled),
// },
// {
// Name: to.Ptr("Permissive firewall policy in one of the chains was found"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTPermissiveFirewallPolicy),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Permissive firewall rule in the input chain was found"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTPermissiveInputFirewallRules),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Permissive firewall rule in the output chain was found"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTPermissiveOutputFirewallRules),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("High level permissions configured in Edge model twin for Edge module"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTPrivilegedDockerOptions),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Same Authentication Credentials used by multiple devices"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTSharedCredentials),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusDisabled),
// },
// {
// Name: to.Ptr("TLS cipher suite upgrade"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTVulnerableTLSCipherSuite),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// }},
// Status: to.Ptr(armsecurity.SecuritySolutionStatusEnabled),
// UnmaskedIPLoggingStatus: to.Ptr(armsecurity.UnmaskedIPLoggingStatusEnabled),
// UserDefinedResources: &armsecurity.UserDefinedResourcesProperties{
// Query: to.Ptr("where type != \"microsoft.devices/iothubs\" | where name contains \"iot\""),
// QuerySubscriptions: []*string{
// to.Ptr("075423e9-7d33-4166-8bdf-3920b04e3735")},
// },
// Workspace: to.Ptr("/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1"),
// },
// SystemData: &armsecurity.SystemData{
// CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-27T21:53:29.092Z"); return t}()),
// CreatedBy: to.Ptr("string"),
// CreatedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-27T21:53:29.092Z"); return t}()),
// LastModifiedBy: to.Ptr("string"),
// LastModifiedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// },
// }},
// }
}
}
Example (ListIoTSecuritySolutionsBySubscription) ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsList.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewIotSecuritySolutionClient().NewListBySubscriptionPager(&armsecurity.IotSecuritySolutionClientListBySubscriptionOptions{Filter: nil})
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.IoTSecuritySolutionsList = armsecurity.IoTSecuritySolutionsList{
// Value: []*armsecurity.IoTSecuritySolutionModel{
// {
// Name: to.Ptr("default"),
// Type: to.Ptr("Microsoft.Security/IoTSecuritySolutions"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyGroup/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default"),
// Tags: map[string]*string{
// },
// Location: to.Ptr("East Us"),
// Properties: &armsecurity.IoTSecuritySolutionProperties{
// AutoDiscoveredResources: []*string{
// to.Ptr("/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735"),
// to.Ptr("/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub")},
// DisabledDataSources: []*armsecurity.DataSource{
// },
// DisplayName: to.Ptr("Solution Default"),
// Export: []*armsecurity.ExportData{
// },
// IotHubs: []*string{
// to.Ptr("/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub")},
// RecommendationsConfiguration: []*armsecurity.RecommendationConfigurationProperties{
// {
// Name: to.Ptr("Service Principal Not Used with ACR"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTAcrauthentication),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Agent sending underutilized messages"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTAgentSendsUnutilizedMessages),
// Status: to.Ptr(armsecurity.RecommendationConfigStatus("TurnedOn")),
// },
// {
// Name: to.Ptr("Operating system (OS) baseline validation failure"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTBaseline),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Edge Hub memory can be optimized"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTEdgeHubMemOptimize),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("No Logging Configured for Edge Module"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTEdgeLoggingOptions),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Module Settings Inconsistent in SecurityGroup"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTInconsistentModuleSettings),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Install the Azure Security of Things Agent"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTInstallAgent),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Default IP Filter Policy should be Deny"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTIpfilterDenyAll),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("IP Filter rule includes large IP range"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTIpfilterPermissiveRule),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Open Ports On Device"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTOpenPorts),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusDisabled),
// },
// {
// Name: to.Ptr("Permissive firewall policy in one of the chains was found"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTPermissiveFirewallPolicy),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Permissive firewall rule in the input chain was found"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTPermissiveInputFirewallRules),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Permissive firewall rule in the output chain was found"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTPermissiveOutputFirewallRules),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("High level permissions configured in Edge model twin for Edge module"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTPrivilegedDockerOptions),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Same Authentication Credentials used by multiple devices"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTSharedCredentials),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusDisabled),
// },
// {
// Name: to.Ptr("TLS cipher suite upgrade"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTVulnerableTLSCipherSuite),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// }},
// Status: to.Ptr(armsecurity.SecuritySolutionStatusEnabled),
// UnmaskedIPLoggingStatus: to.Ptr(armsecurity.UnmaskedIPLoggingStatusEnabled),
// UserDefinedResources: &armsecurity.UserDefinedResourcesProperties{
// Query: to.Ptr("where type != \"microsoft.devices/iothubs\" | where name contains \"iot\""),
// QuerySubscriptions: []*string{
// to.Ptr("075423e9-7d33-4166-8bdf-3920b04e3735")},
// },
// Workspace: to.Ptr("/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1"),
// },
// SystemData: &armsecurity.SystemData{
// CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-27T21:53:29.092Z"); return t}()),
// CreatedBy: to.Ptr("string"),
// CreatedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-27T21:53:29.092Z"); return t}()),
// LastModifiedBy: to.Ptr("string"),
// LastModifiedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// },
// },
// {
// Name: to.Ptr("sec-solution"),
// Type: to.Ptr("Microsoft.Security/IoTSecuritySolutions"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SecondGroup/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/sec-solution"),
// Tags: map[string]*string{
// },
// Location: to.Ptr("East Us"),
// Properties: &armsecurity.IoTSecuritySolutionProperties{
// AutoDiscoveredResources: []*string{
// to.Ptr("/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735"),
// to.Ptr("/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/IotHubSecond")},
// DisabledDataSources: []*armsecurity.DataSource{
// },
// DisplayName: to.Ptr("Second Solution"),
// Export: []*armsecurity.ExportData{
// to.Ptr(armsecurity.ExportDataRawEvents)},
// IotHubs: []*string{
// to.Ptr("/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/IotHubSecond")},
// RecommendationsConfiguration: []*armsecurity.RecommendationConfigurationProperties{
// {
// Name: to.Ptr("Service Principal Not Used with ACR"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTAcrauthentication),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Agent sending underutilized messages"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTAgentSendsUnutilizedMessages),
// Status: to.Ptr(armsecurity.RecommendationConfigStatus("TurnedOn")),
// },
// {
// Name: to.Ptr("Operating system (OS) baseline validation failure"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTBaseline),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Edge Hub memory can be optimized"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTEdgeHubMemOptimize),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("No Logging Configured for Edge Module"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTEdgeLoggingOptions),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Module Settings Inconsistent in SecurityGroup"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTInconsistentModuleSettings),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Install the Azure Security of Things Agent"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTInstallAgent),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Default IP Filter Policy should be Deny"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTIpfilterDenyAll),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("IP Filter rule includes large IP range"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTIpfilterPermissiveRule),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Open Ports On Device"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTOpenPorts),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusDisabled),
// },
// {
// Name: to.Ptr("Permissive firewall policy in one of the chains was found"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTPermissiveFirewallPolicy),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Permissive firewall rule in the input chain was found"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTPermissiveInputFirewallRules),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Permissive firewall rule in the output chain was found"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTPermissiveOutputFirewallRules),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("High level permissions configured in Edge model twin for Edge module"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTPrivilegedDockerOptions),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Same Authentication Credentials used by multiple devices"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTSharedCredentials),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusDisabled),
// },
// {
// Name: to.Ptr("TLS cipher suite upgrade"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTVulnerableTLSCipherSuite),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// }},
// Status: to.Ptr(armsecurity.SecuritySolutionStatusEnabled),
// UnmaskedIPLoggingStatus: to.Ptr(armsecurity.UnmaskedIPLoggingStatusEnabled),
// UserDefinedResources: &armsecurity.UserDefinedResourcesProperties{
// Query: to.Ptr("where type != \"microsoft.devices/iothubs\" | where name contains \"iot\""),
// QuerySubscriptions: []*string{
// to.Ptr("075423e9-7d33-4166-8bdf-3920b04e3735")},
// },
// Workspace: to.Ptr("/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1"),
// },
// SystemData: &armsecurity.SystemData{
// CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-27T21:53:29.092Z"); return t}()),
// CreatedBy: to.Ptr("string"),
// CreatedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-27T21:53:29.092Z"); return t}()),
// LastModifiedBy: to.Ptr("string"),
// LastModifiedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// },
// }},
// }
}
}
func (*IotSecuritySolutionClient) Update ¶
func (client *IotSecuritySolutionClient) Update(ctx context.Context, resourceGroupName string, solutionName string, updateIotSecuritySolutionData UpdateIotSecuritySolutionData, options *IotSecuritySolutionClientUpdateOptions) (IotSecuritySolutionClientUpdateResponse, error)
Update - Use this method to update existing IoT Security solution tags or user defined resources. To update other fields use the CreateOrUpdate method. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2019-08-01
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- solutionName - The name of the IoT Security solution.
- updateIotSecuritySolutionData - The security solution data
- options - IotSecuritySolutionClientUpdateOptions contains the optional parameters for the IotSecuritySolutionClient.Update method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IoTSecuritySolutions/UpdateIoTSecuritySolution.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewIotSecuritySolutionClient().Update(ctx, "myRg", "default", armsecurity.UpdateIotSecuritySolutionData{
Tags: map[string]*string{
"foo": to.Ptr("bar"),
},
Properties: &armsecurity.UpdateIoTSecuritySolutionProperties{
RecommendationsConfiguration: []*armsecurity.RecommendationConfigurationProperties{
{
RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTOpenPorts),
Status: to.Ptr(armsecurity.RecommendationConfigStatusDisabled),
},
{
RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTSharedCredentials),
Status: to.Ptr(armsecurity.RecommendationConfigStatusDisabled),
}},
UserDefinedResources: &armsecurity.UserDefinedResourcesProperties{
Query: to.Ptr("where type != \"microsoft.devices/iothubs\" | where name contains \"v2\""),
QuerySubscriptions: []*string{
to.Ptr("075423e9-7d33-4166-8bdf-3920b04e3735")},
},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.IoTSecuritySolutionModel = armsecurity.IoTSecuritySolutionModel{
// Name: to.Ptr("default"),
// Type: to.Ptr("Microsoft.Security/IoTSecuritySolutions"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyGroup/providers/Microsoft.Security/Locations/eastus/IoTSecuritySolutions/default"),
// Tags: map[string]*string{
// "foo": to.Ptr("bar"),
// },
// Location: to.Ptr("East Us"),
// Properties: &armsecurity.IoTSecuritySolutionProperties{
// AutoDiscoveredResources: []*string{
// to.Ptr("/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735"),
// to.Ptr("/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub")},
// DisabledDataSources: []*armsecurity.DataSource{
// },
// DisplayName: to.Ptr("Solution Default"),
// Export: []*armsecurity.ExportData{
// to.Ptr(armsecurity.ExportDataRawEvents)},
// IotHubs: []*string{
// to.Ptr("/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub")},
// RecommendationsConfiguration: []*armsecurity.RecommendationConfigurationProperties{
// {
// Name: to.Ptr("Service Principal Not Used with ACR"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTAcrauthentication),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Agent sending underutilized messages"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTAgentSendsUnutilizedMessages),
// Status: to.Ptr(armsecurity.RecommendationConfigStatus("TurnedOn")),
// },
// {
// Name: to.Ptr("Operating system (OS) baseline validation failure"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTBaseline),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Edge Hub memory can be optimized"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTEdgeHubMemOptimize),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("No Logging Configured for Edge Module"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTEdgeLoggingOptions),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Module Settings Inconsistent in SecurityGroup"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTInconsistentModuleSettings),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Install the Azure Security of Things Agent"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTInstallAgent),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Default IP Filter Policy should be Deny"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTIpfilterDenyAll),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("IP Filter rule includes large IP range"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTIpfilterPermissiveRule),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Open Ports On Device"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTOpenPorts),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusDisabled),
// },
// {
// Name: to.Ptr("Permissive firewall policy in one of the chains was found"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTPermissiveFirewallPolicy),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Permissive firewall rule in the input chain was found"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTPermissiveInputFirewallRules),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Permissive firewall rule in the output chain was found"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTPermissiveOutputFirewallRules),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("High level permissions configured in Edge model twin for Edge module"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTPrivilegedDockerOptions),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// },
// {
// Name: to.Ptr("Same Authentication Credentials used by multiple devices"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTSharedCredentials),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusDisabled),
// },
// {
// Name: to.Ptr("TLS cipher suite upgrade"),
// RecommendationType: to.Ptr(armsecurity.RecommendationTypeIoTVulnerableTLSCipherSuite),
// Status: to.Ptr(armsecurity.RecommendationConfigStatusEnabled),
// }},
// Status: to.Ptr(armsecurity.SecuritySolutionStatusEnabled),
// UnmaskedIPLoggingStatus: to.Ptr(armsecurity.UnmaskedIPLoggingStatusEnabled),
// UserDefinedResources: &armsecurity.UserDefinedResourcesProperties{
// Query: to.Ptr("where type != \"microsoft.devices/iothubs\" | where name contains \"v2\""),
// QuerySubscriptions: []*string{
// to.Ptr("075423e9-7d33-4166-8bdf-3920b04e3735")},
// },
// Workspace: to.Ptr("/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1"),
// },
// SystemData: &armsecurity.SystemData{
// CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-27T21:53:29.092Z"); return t}()),
// CreatedBy: to.Ptr("string"),
// CreatedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-27T21:53:29.092Z"); return t}()),
// LastModifiedBy: to.Ptr("string"),
// LastModifiedByType: to.Ptr(armsecurity.CreatedByTypeUser),
// },
// }
}
type IotSecuritySolutionClientCreateOrUpdateOptions ¶
type IotSecuritySolutionClientCreateOrUpdateOptions struct {
}
IotSecuritySolutionClientCreateOrUpdateOptions contains the optional parameters for the IotSecuritySolutionClient.CreateOrUpdate method.
type IotSecuritySolutionClientCreateOrUpdateResponse ¶
type IotSecuritySolutionClientCreateOrUpdateResponse struct {
// IoT Security solution configuration and resource information.
IoTSecuritySolutionModel
}
IotSecuritySolutionClientCreateOrUpdateResponse contains the response from method IotSecuritySolutionClient.CreateOrUpdate.
type IotSecuritySolutionClientDeleteOptions ¶
type IotSecuritySolutionClientDeleteOptions struct {
}
IotSecuritySolutionClientDeleteOptions contains the optional parameters for the IotSecuritySolutionClient.Delete method.
type IotSecuritySolutionClientDeleteResponse ¶
type IotSecuritySolutionClientDeleteResponse struct {
}
IotSecuritySolutionClientDeleteResponse contains the response from method IotSecuritySolutionClient.Delete.
type IotSecuritySolutionClientGetOptions ¶
type IotSecuritySolutionClientGetOptions struct {
}
IotSecuritySolutionClientGetOptions contains the optional parameters for the IotSecuritySolutionClient.Get method.
type IotSecuritySolutionClientGetResponse ¶
type IotSecuritySolutionClientGetResponse struct {
// IoT Security solution configuration and resource information.
IoTSecuritySolutionModel
}
IotSecuritySolutionClientGetResponse contains the response from method IotSecuritySolutionClient.Get.
type IotSecuritySolutionClientListByResourceGroupOptions ¶
type IotSecuritySolutionClientListByResourceGroupOptions struct {
// Filter the IoT Security solution with OData syntax. Supports filtering by iotHubs.
Filter *string
}
IotSecuritySolutionClientListByResourceGroupOptions contains the optional parameters for the IotSecuritySolutionClient.NewListByResourceGroupPager method.
type IotSecuritySolutionClientListByResourceGroupResponse ¶
type IotSecuritySolutionClientListByResourceGroupResponse struct {
// List of IoT Security solutions.
IoTSecuritySolutionsList
}
IotSecuritySolutionClientListByResourceGroupResponse contains the response from method IotSecuritySolutionClient.NewListByResourceGroupPager.
type IotSecuritySolutionClientListBySubscriptionOptions ¶
type IotSecuritySolutionClientListBySubscriptionOptions struct {
// Filter the IoT Security solution with OData syntax. Supports filtering by iotHubs.
Filter *string
}
IotSecuritySolutionClientListBySubscriptionOptions contains the optional parameters for the IotSecuritySolutionClient.NewListBySubscriptionPager method.
type IotSecuritySolutionClientListBySubscriptionResponse ¶
type IotSecuritySolutionClientListBySubscriptionResponse struct {
// List of IoT Security solutions.
IoTSecuritySolutionsList
}
IotSecuritySolutionClientListBySubscriptionResponse contains the response from method IotSecuritySolutionClient.NewListBySubscriptionPager.
type IotSecuritySolutionClientUpdateOptions ¶
type IotSecuritySolutionClientUpdateOptions struct {
}
IotSecuritySolutionClientUpdateOptions contains the optional parameters for the IotSecuritySolutionClient.Update method.
type IotSecuritySolutionClientUpdateResponse ¶
type IotSecuritySolutionClientUpdateResponse struct {
// IoT Security solution configuration and resource information.
IoTSecuritySolutionModel
}
IotSecuritySolutionClientUpdateResponse contains the response from method IotSecuritySolutionClient.Update.
type IotSecuritySolutionsAnalyticsAggregatedAlertClient ¶
type IotSecuritySolutionsAnalyticsAggregatedAlertClient struct {
// contains filtered or unexported fields
}
IotSecuritySolutionsAnalyticsAggregatedAlertClient contains the methods for the IotSecuritySolutionsAnalyticsAggregatedAlert group. Don't use this type directly, use NewIotSecuritySolutionsAnalyticsAggregatedAlertClient() instead.
func NewIotSecuritySolutionsAnalyticsAggregatedAlertClient ¶
func NewIotSecuritySolutionsAnalyticsAggregatedAlertClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*IotSecuritySolutionsAnalyticsAggregatedAlertClient, error)
NewIotSecuritySolutionsAnalyticsAggregatedAlertClient creates a new instance of IotSecuritySolutionsAnalyticsAggregatedAlertClient with the specified values.
- subscriptionID - Azure subscription ID
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*IotSecuritySolutionsAnalyticsAggregatedAlertClient) Dismiss ¶
func (client *IotSecuritySolutionsAnalyticsAggregatedAlertClient) Dismiss(ctx context.Context, resourceGroupName string, solutionName string, aggregatedAlertName string, options *IotSecuritySolutionsAnalyticsAggregatedAlertClientDismissOptions) (IotSecuritySolutionsAnalyticsAggregatedAlertClientDismissResponse, error)
Dismiss - Use this method to dismiss an aggregated IoT Security Solution Alert. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2019-08-01
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- solutionName - The name of the IoT Security solution.
- aggregatedAlertName - Identifier of the aggregated alert.
- options - IotSecuritySolutionsAnalyticsAggregatedAlertClientDismissOptions contains the optional parameters for the IotSecuritySolutionsAnalyticsAggregatedAlertClient.Dismiss method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IoTSecuritySolutionsAnalytics/PostIoTSecuritySolutionsSecurityAggregatedAlertDismiss.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewIotSecuritySolutionsAnalyticsAggregatedAlertClient().Dismiss(ctx, "IoTEdgeResources", "default", "IoT_Bruteforce_Fail/2019-02-02/dismiss", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
}
func (*IotSecuritySolutionsAnalyticsAggregatedAlertClient) Get ¶
func (client *IotSecuritySolutionsAnalyticsAggregatedAlertClient) Get(ctx context.Context, resourceGroupName string, solutionName string, aggregatedAlertName string, options *IotSecuritySolutionsAnalyticsAggregatedAlertClientGetOptions) (IotSecuritySolutionsAnalyticsAggregatedAlertClientGetResponse, error)
Get - Use this method to get a single the aggregated alert of yours IoT Security solution. This aggregation is performed by alert name. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2019-08-01
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- solutionName - The name of the IoT Security solution.
- aggregatedAlertName - Identifier of the aggregated alert.
- options - IotSecuritySolutionsAnalyticsAggregatedAlertClientGetOptions contains the optional parameters for the IotSecuritySolutionsAnalyticsAggregatedAlertClient.Get method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IoTSecuritySolutionsAnalytics/GetIoTSecuritySolutionsSecurityAggregatedAlert.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewIotSecuritySolutionsAnalyticsAggregatedAlertClient().Get(ctx, "MyGroup", "default", "IoT_Bruteforce_Fail/2019-02-02", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.IoTSecurityAggregatedAlert = armsecurity.IoTSecurityAggregatedAlert{
// Name: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyGroup/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default/IoT_Bruteforce_Fail/2019-02-02"),
// Type: to.Ptr("Microsoft.Security/iotSecuritySolutions/analyticsModels/aggregatedAlerts"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyGroup/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default/IoT_Bruteforce_Fail/2019-02-02"),
// Properties: &armsecurity.IoTSecurityAggregatedAlertProperties{
// Description: to.Ptr("Multiple unsuccsseful login attempts identified. A Bruteforce attack on the device failed."),
// ActionTaken: to.Ptr("Detected"),
// AggregatedDateUTC: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2019-02-02"); return t}()),
// AlertDisplayName: to.Ptr("Failed Bruteforce"),
// AlertType: to.Ptr("IoT_Bruteforce_Fail"),
// Count: to.Ptr[int64](50),
// EffectedResourceType: to.Ptr("IoT Device"),
// LogAnalyticsQuery: to.Ptr("SecurityAlert | where tolower(ResourceId) == tolower('/subscriptions/b77ec8a9-04ed-48d2-a87a-e5887b978ba6/resourceGroups/IoT-Solution-DemoEnv/providers/Microsoft.Devices/IotHubs/rtogm-hub') and tolower(AlertName) == tolower('Custom Alert - number of device to cloud messages in MQTT protocol is not in the allowed range') | extend DeviceId=parse_json(ExtendedProperties)['DeviceId'] | project DeviceId, TimeGenerated, DisplayName, AlertSeverity, Description, RemediationSteps, ExtendedProperties"),
// RemediationSteps: to.Ptr(""),
// ReportedSeverity: to.Ptr(armsecurity.ReportedSeverityLow),
// SystemSource: to.Ptr("Devices"),
// TopDevicesList: []*armsecurity.IoTSecurityAggregatedAlertPropertiesTopDevicesListItem{
// {
// AlertsCount: to.Ptr[int64](100),
// DeviceID: to.Ptr("testDevice1"),
// LastOccurrence: to.Ptr("10:42"),
// },
// {
// AlertsCount: to.Ptr[int64](80),
// DeviceID: to.Ptr("testDevice2"),
// LastOccurrence: to.Ptr("15:42"),
// }},
// VendorName: to.Ptr("Microsoft"),
// },
// }
}
func (*IotSecuritySolutionsAnalyticsAggregatedAlertClient) NewListPager ¶
func (client *IotSecuritySolutionsAnalyticsAggregatedAlertClient) NewListPager(resourceGroupName string, solutionName string, options *IotSecuritySolutionsAnalyticsAggregatedAlertClientListOptions) *runtime.Pager[IotSecuritySolutionsAnalyticsAggregatedAlertClientListResponse]
NewListPager - Use this method to get the aggregated alert list of yours IoT Security solution.
Generated from API version 2019-08-01
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- solutionName - The name of the IoT Security solution.
- options - IotSecuritySolutionsAnalyticsAggregatedAlertClientListOptions contains the optional parameters for the IotSecuritySolutionsAnalyticsAggregatedAlertClient.NewListPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IoTSecuritySolutionsAnalytics/GetIoTSecuritySolutionsSecurityAggregatedAlertList.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewIotSecuritySolutionsAnalyticsAggregatedAlertClient().NewListPager("MyGroup", "default", &armsecurity.IotSecuritySolutionsAnalyticsAggregatedAlertClientListOptions{Top: nil})
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.IoTSecurityAggregatedAlertList = armsecurity.IoTSecurityAggregatedAlertList{
// Value: []*armsecurity.IoTSecurityAggregatedAlert{
// {
// Name: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyGroup/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default/IoT_Bruteforce_Fail/2019-02-02"),
// Type: to.Ptr("Microsoft.Security/iotSecuritySolutions/analyticsModels/aggregatedAlerts"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyGroup/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default/IoT_Bruteforce_Fail/2019-02-02"),
// Properties: &armsecurity.IoTSecurityAggregatedAlertProperties{
// Description: to.Ptr("Multiple unsuccsseful login attempts identified. A Bruteforce attack on the device failed."),
// ActionTaken: to.Ptr("Detected"),
// AggregatedDateUTC: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2019-02-02"); return t}()),
// AlertDisplayName: to.Ptr("Failed Bruteforce"),
// AlertType: to.Ptr("IoT_Bruteforce_Fail"),
// Count: to.Ptr[int64](50),
// EffectedResourceType: to.Ptr("IoT Device"),
// LogAnalyticsQuery: to.Ptr("SecurityAlert | where tolower(ResourceId) == tolower('/subscriptions/b77ec8a9-04ed-48d2-a87a-e5887b978ba6/resourceGroups/IoT-Solution-DemoEnv/providers/Microsoft.Devices/IotHubs/rtogm-hub') and tolower(AlertName) == tolower('Custom Alert - number of device to cloud messages in MQTT protocol is not in the allowed range') | extend DeviceId=parse_json(ExtendedProperties)['DeviceId'] | project DeviceId, TimeGenerated, DisplayName, AlertSeverity, Description, RemediationSteps, ExtendedProperties"),
// RemediationSteps: to.Ptr(""),
// ReportedSeverity: to.Ptr(armsecurity.ReportedSeverityLow),
// SystemSource: to.Ptr("Devices"),
// TopDevicesList: []*armsecurity.IoTSecurityAggregatedAlertPropertiesTopDevicesListItem{
// {
// AlertsCount: to.Ptr[int64](45),
// DeviceID: to.Ptr("testDevice1"),
// LastOccurrence: to.Ptr("10:42"),
// },
// {
// AlertsCount: to.Ptr[int64](30),
// DeviceID: to.Ptr("testDevice2"),
// LastOccurrence: to.Ptr("15:42"),
// }},
// VendorName: to.Ptr("Microsoft"),
// },
// },
// {
// Name: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyGroup/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default/IoT_Bruteforce_Success/2019-02-02"),
// Type: to.Ptr("Microsoft.Security/iotSecuritySolutions/analyticsModels/aggregatedAlerts"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyGroup/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default/IoT_Bruteforce_Success/2019-02-02"),
// Properties: &armsecurity.IoTSecurityAggregatedAlertProperties{
// Description: to.Ptr("Multiple unsuccsseful login attempts identified followed by a succssful login. A Bruteforce attack on the device was Successfule"),
// ActionTaken: to.Ptr("Detected"),
// AggregatedDateUTC: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2019-02-02"); return t}()),
// AlertDisplayName: to.Ptr("Successful Bruteforce"),
// AlertType: to.Ptr("IoT_Bruteforce_Success"),
// Count: to.Ptr[int64](600000),
// EffectedResourceType: to.Ptr("IoT Device"),
// LogAnalyticsQuery: to.Ptr("SecurityAlert | where tolower(ResourceId) == tolower('/subscriptions/b77ec8a9-04ed-48d2-a87a-e5887b978ba6/resourceGroups/IoT-Solution-DemoEnv/providers/Microsoft.Devices/IotHubs/rtogm-hub') and tolower(AlertName) == tolower('Custom Alert - number of device to cloud messages in MQTT protocol is not in the allowed range') | extend DeviceId=parse_json(ExtendedProperties)['DeviceId'] | project DeviceId, TimeGenerated, DisplayName, AlertSeverity, Description, RemediationSteps, ExtendedProperties"),
// RemediationSteps: to.Ptr(""),
// ReportedSeverity: to.Ptr(armsecurity.ReportedSeverityLow),
// SystemSource: to.Ptr("Devices"),
// TopDevicesList: []*armsecurity.IoTSecurityAggregatedAlertPropertiesTopDevicesListItem{
// {
// AlertsCount: to.Ptr[int64](12321),
// DeviceID: to.Ptr("testDevice1"),
// LastOccurrence: to.Ptr("10:42"),
// },
// {
// AlertsCount: to.Ptr[int64](455),
// DeviceID: to.Ptr("testDevice2"),
// LastOccurrence: to.Ptr("15:42"),
// }},
// VendorName: to.Ptr("Microsoft"),
// },
// }},
// }
}
}
type IotSecuritySolutionsAnalyticsAggregatedAlertClientDismissOptions ¶
type IotSecuritySolutionsAnalyticsAggregatedAlertClientDismissOptions struct {
}
IotSecuritySolutionsAnalyticsAggregatedAlertClientDismissOptions contains the optional parameters for the IotSecuritySolutionsAnalyticsAggregatedAlertClient.Dismiss method.
type IotSecuritySolutionsAnalyticsAggregatedAlertClientDismissResponse ¶
type IotSecuritySolutionsAnalyticsAggregatedAlertClientDismissResponse struct {
}
IotSecuritySolutionsAnalyticsAggregatedAlertClientDismissResponse contains the response from method IotSecuritySolutionsAnalyticsAggregatedAlertClient.Dismiss.
type IotSecuritySolutionsAnalyticsAggregatedAlertClientGetOptions ¶
type IotSecuritySolutionsAnalyticsAggregatedAlertClientGetOptions struct {
}
IotSecuritySolutionsAnalyticsAggregatedAlertClientGetOptions contains the optional parameters for the IotSecuritySolutionsAnalyticsAggregatedAlertClient.Get method.
type IotSecuritySolutionsAnalyticsAggregatedAlertClientGetResponse ¶
type IotSecuritySolutionsAnalyticsAggregatedAlertClientGetResponse struct {
// Security Solution Aggregated Alert information
IoTSecurityAggregatedAlert
}
IotSecuritySolutionsAnalyticsAggregatedAlertClientGetResponse contains the response from method IotSecuritySolutionsAnalyticsAggregatedAlertClient.Get.
type IotSecuritySolutionsAnalyticsAggregatedAlertClientListOptions ¶
type IotSecuritySolutionsAnalyticsAggregatedAlertClientListOptions struct {
// Number of results to retrieve.
Top *int32
}
IotSecuritySolutionsAnalyticsAggregatedAlertClientListOptions contains the optional parameters for the IotSecuritySolutionsAnalyticsAggregatedAlertClient.NewListPager method.
type IotSecuritySolutionsAnalyticsAggregatedAlertClientListResponse ¶
type IotSecuritySolutionsAnalyticsAggregatedAlertClientListResponse struct {
// List of IoT Security solution aggregated alert data.
IoTSecurityAggregatedAlertList
}
IotSecuritySolutionsAnalyticsAggregatedAlertClientListResponse contains the response from method IotSecuritySolutionsAnalyticsAggregatedAlertClient.NewListPager.
type IotSecuritySolutionsAnalyticsRecommendationClient ¶
type IotSecuritySolutionsAnalyticsRecommendationClient struct {
// contains filtered or unexported fields
}
IotSecuritySolutionsAnalyticsRecommendationClient contains the methods for the IotSecuritySolutionsAnalyticsRecommendation group. Don't use this type directly, use NewIotSecuritySolutionsAnalyticsRecommendationClient() instead.
func NewIotSecuritySolutionsAnalyticsRecommendationClient ¶
func NewIotSecuritySolutionsAnalyticsRecommendationClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*IotSecuritySolutionsAnalyticsRecommendationClient, error)
NewIotSecuritySolutionsAnalyticsRecommendationClient creates a new instance of IotSecuritySolutionsAnalyticsRecommendationClient with the specified values.
- subscriptionID - Azure subscription ID
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*IotSecuritySolutionsAnalyticsRecommendationClient) Get ¶
func (client *IotSecuritySolutionsAnalyticsRecommendationClient) Get(ctx context.Context, resourceGroupName string, solutionName string, aggregatedRecommendationName string, options *IotSecuritySolutionsAnalyticsRecommendationClientGetOptions) (IotSecuritySolutionsAnalyticsRecommendationClientGetResponse, error)
Get - Use this method to get the aggregated security analytics recommendation of yours IoT Security solution. This aggregation is performed by recommendation name. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2019-08-01
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- solutionName - The name of the IoT Security solution.
- aggregatedRecommendationName - Name of the recommendation aggregated for this query.
- options - IotSecuritySolutionsAnalyticsRecommendationClientGetOptions contains the optional parameters for the IotSecuritySolutionsAnalyticsRecommendationClient.Get method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IoTSecuritySolutionsAnalytics/GetIoTSecuritySolutionsSecurityRecommendation.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewIotSecuritySolutionsAnalyticsRecommendationClient().Get(ctx, "IoTEdgeResources", "default", "OpenPortsOnDevice", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.IoTSecurityAggregatedRecommendation = armsecurity.IoTSecurityAggregatedRecommendation{
// Name: to.Ptr("/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/IoTEdgeResources/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default/OpenPortsOnDevice"),
// Type: to.Ptr("Microsoft.Security/iotSecuritySolutions/analyticsModels/aggregatedRecommendations"),
// ID: to.Ptr("/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/IoTEdgeResources/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default/OpenPortsOnDevice"),
// Properties: &armsecurity.IoTSecurityAggregatedRecommendationProperties{
// Description: to.Ptr("An allowed firewall policy was found in main firewall Chains (INPUT/OUTPUT). The policy should Deny all traffic by default define rules to allow necessary communication to/from the device"),
// DetectedBy: to.Ptr("Microsoft"),
// HealthyDevices: to.Ptr[int64](10000),
// LogAnalyticsQuery: to.Ptr("SecurityRecommendation | where tolower(AssessedResourceId) == tolower('/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/IoTEdgeResources/providers/Microsoft.Devices/IotHubs/t-ofdadu-hub') and tolower(RecommendationName) == tolower('OpenPortsOnDevice')"),
// RecommendationDisplayName: to.Ptr("Permissive firewall policy in one of the chains was found"),
// RecommendationName: to.Ptr("OpenPortsOnDevice"),
// RecommendationTypeID: to.Ptr("{20ff7fc3-e762-44dd-bd96-b71116dcdc23}"),
// RemediationSteps: to.Ptr(""),
// ReportedSeverity: to.Ptr(armsecurity.ReportedSeverityLow),
// UnhealthyDeviceCount: to.Ptr[int64](200),
// },
// }
}
func (*IotSecuritySolutionsAnalyticsRecommendationClient) NewListPager ¶
func (client *IotSecuritySolutionsAnalyticsRecommendationClient) NewListPager(resourceGroupName string, solutionName string, options *IotSecuritySolutionsAnalyticsRecommendationClientListOptions) *runtime.Pager[IotSecuritySolutionsAnalyticsRecommendationClientListResponse]
NewListPager - Use this method to get the list of aggregated security analytics recommendations of yours IoT Security solution.
Generated from API version 2019-08-01
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- solutionName - The name of the IoT Security solution.
- options - IotSecuritySolutionsAnalyticsRecommendationClientListOptions contains the optional parameters for the IotSecuritySolutionsAnalyticsRecommendationClient.NewListPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IoTSecuritySolutionsAnalytics/GetIoTSecuritySolutionsSecurityRecommendationList.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewIotSecuritySolutionsAnalyticsRecommendationClient().NewListPager("IoTEdgeResources", "default", &armsecurity.IotSecuritySolutionsAnalyticsRecommendationClientListOptions{Top: nil})
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.IoTSecurityAggregatedRecommendationList = armsecurity.IoTSecurityAggregatedRecommendationList{
// Value: []*armsecurity.IoTSecurityAggregatedRecommendation{
// {
// Name: to.Ptr("/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/IoTEdgeResources/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default/OpenPortsOnDevice"),
// Type: to.Ptr("Microsoft.Security/iotSecuritySolutions/analyticsModels/aggregatedRecommendations"),
// ID: to.Ptr("/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/IoTEdgeResources/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default/OpenPortsOnDevice"),
// Properties: &armsecurity.IoTSecurityAggregatedRecommendationProperties{
// Description: to.Ptr("An allowed firewall policy was found in main firewall Chains (INPUT/OUTPUT). The policy should Deny all traffic by default define rules to allow necessary communication to/from the device"),
// DetectedBy: to.Ptr("Microsoft"),
// HealthyDevices: to.Ptr[int64](10000),
// LogAnalyticsQuery: to.Ptr("SecurityRecommendation | where tolower(AssessedResourceId) == tolower('/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/IoTEdgeResources/providers/Microsoft.Devices/IotHubs/t-ofdadu-hub') and tolower(RecommendationName) == tolower('OpenPortsOnDevice')"),
// RecommendationDisplayName: to.Ptr("Permissive firewall policy in one of the chains was found"),
// RecommendationName: to.Ptr("OpenPortsOnDevice"),
// RecommendationTypeID: to.Ptr("{20ff7fc3-e762-44dd-bd96-b71116dcdc23}"),
// RemediationSteps: to.Ptr(""),
// ReportedSeverity: to.Ptr(armsecurity.ReportedSeverityLow),
// UnhealthyDeviceCount: to.Ptr[int64](200),
// },
// },
// {
// Name: to.Ptr("/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/IoTEdgeResources/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default/IoT_InstallAgent"),
// Type: to.Ptr("Microsoft.Security/iotSecuritySolutions/analyticsModels/aggregatedRecommendations"),
// ID: to.Ptr("/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/IoTEdgeResources/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default/TooLargeIPRange"),
// Properties: &armsecurity.IoTSecurityAggregatedRecommendationProperties{
// Description: to.Ptr("An allow IP filter rule source IP range is too large. Overly permissive rules can expose your IoT hub to malicious actors."),
// DetectedBy: to.Ptr("Microsoft"),
// HealthyDevices: to.Ptr[int64](130000),
// LogAnalyticsQuery: to.Ptr("SecurityRecommendation | where tolower(AssessedResourceId) == tolower('/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/IoTEdgeResources/providers/Microsoft.Devices/IotHubs/t-ofdadu-hub') and tolower(RecommendationName) == tolower('TooLargeIPRange')"),
// RecommendationDisplayName: to.Ptr("Permissive firewall policy in one of the chains was found"),
// RecommendationName: to.Ptr("TooLargeIPRange"),
// RecommendationTypeID: to.Ptr("{20ff7fc3-e762-44dd-bd96-b71116dcdc23}"),
// RemediationSteps: to.Ptr(""),
// ReportedSeverity: to.Ptr(armsecurity.ReportedSeverityHigh),
// UnhealthyDeviceCount: to.Ptr[int64](1),
// },
// }},
// }
}
}
type IotSecuritySolutionsAnalyticsRecommendationClientGetOptions ¶
type IotSecuritySolutionsAnalyticsRecommendationClientGetOptions struct {
}
IotSecuritySolutionsAnalyticsRecommendationClientGetOptions contains the optional parameters for the IotSecuritySolutionsAnalyticsRecommendationClient.Get method.
type IotSecuritySolutionsAnalyticsRecommendationClientGetResponse ¶
type IotSecuritySolutionsAnalyticsRecommendationClientGetResponse struct {
// IoT Security solution recommendation information.
IoTSecurityAggregatedRecommendation
}
IotSecuritySolutionsAnalyticsRecommendationClientGetResponse contains the response from method IotSecuritySolutionsAnalyticsRecommendationClient.Get.
type IotSecuritySolutionsAnalyticsRecommendationClientListOptions ¶
type IotSecuritySolutionsAnalyticsRecommendationClientListOptions struct {
// Number of results to retrieve.
Top *int32
}
IotSecuritySolutionsAnalyticsRecommendationClientListOptions contains the optional parameters for the IotSecuritySolutionsAnalyticsRecommendationClient.NewListPager method.
type IotSecuritySolutionsAnalyticsRecommendationClientListResponse ¶
type IotSecuritySolutionsAnalyticsRecommendationClientListResponse struct {
// List of IoT Security solution aggregated recommendations.
IoTSecurityAggregatedRecommendationList
}
IotSecuritySolutionsAnalyticsRecommendationClientListResponse contains the response from method IotSecuritySolutionsAnalyticsRecommendationClient.NewListPager.
type IsEnabled ¶
type IsEnabled string
IsEnabled - Indicates whether the extension is enabled.
func PossibleIsEnabledValues ¶
func PossibleIsEnabledValues() []IsEnabled
PossibleIsEnabledValues returns the possible values for the IsEnabled const type.
type Issue ¶
type Issue struct {
// REQUIRED; The unique issue key
IssueKey *string
// Additional data for the given issue. The additional data depends on the issue type
IssueAdditionalData map[string]*string
// The issue description
IssueDescription *string
// The issue name
IssueName *string
// The remediation script to solve this issue
RemediationScript *string
// Human readable description of what you should do to mitigate this health issue
RemediationSteps *string
// The affected security values that MDC offers that will be affected by the issue, for example: recommendations, alerts,
// etc
SecurityValues []*string
}
Issue - The issue that caused the resource to by unhealthy
func (Issue) MarshalJSON ¶
MarshalJSON implements the json.Marshaller interface for type Issue.
func (*Issue) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaller interface for type Issue.
type JitNetworkAccessPoliciesClient ¶
type JitNetworkAccessPoliciesClient struct {
// contains filtered or unexported fields
}
JitNetworkAccessPoliciesClient contains the methods for the JitNetworkAccessPolicies group. Don't use this type directly, use NewJitNetworkAccessPoliciesClient() instead.
func NewJitNetworkAccessPoliciesClient ¶
func NewJitNetworkAccessPoliciesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*JitNetworkAccessPoliciesClient, error)
NewJitNetworkAccessPoliciesClient creates a new instance of JitNetworkAccessPoliciesClient with the specified values.
- subscriptionID - Azure subscription ID
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*JitNetworkAccessPoliciesClient) CreateOrUpdate ¶
func (client *JitNetworkAccessPoliciesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, ascLocation string, jitNetworkAccessPolicyName string, body JitNetworkAccessPolicy, options *JitNetworkAccessPoliciesClientCreateOrUpdateOptions) (JitNetworkAccessPoliciesClientCreateOrUpdateResponse, error)
CreateOrUpdate - Create a policy for protecting resources using Just-in-Time access control If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2020-01-01
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- ascLocation - The location where ASC stores the data of the subscription. can be retrieved from Get locations
- jitNetworkAccessPolicyName - Name of a Just-in-Time access configuration policy.
- options - JitNetworkAccessPoliciesClientCreateOrUpdateOptions contains the optional parameters for the JitNetworkAccessPoliciesClient.CreateOrUpdate method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/JitNetworkAccessPolicies/CreateJitNetworkAccessPolicy_example.json
package main
import (
"context"
"log"
"time"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewJitNetworkAccessPoliciesClient().CreateOrUpdate(ctx, "myRg1", "westeurope", "default", armsecurity.JitNetworkAccessPolicy{
Kind: to.Ptr("Basic"),
Location: to.Ptr("westeurope"),
Name: to.Ptr("default"),
Type: to.Ptr("Microsoft.Security/locations/jitNetworkAccessPolicies"),
ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Security/locations/westeurope/jitNetworkAccessPolicies/default"),
Properties: &armsecurity.JitNetworkAccessPolicyProperties{
ProvisioningState: to.Ptr("Succeeded"),
Requests: []*armsecurity.JitNetworkAccessRequest{
{
Requestor: to.Ptr("barbara@contoso.com"),
StartTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-05-17T08:06:45.569Z"); return t }()),
VirtualMachines: []*armsecurity.JitNetworkAccessRequestVirtualMachine{
{
ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1"),
Ports: []*armsecurity.JitNetworkAccessRequestPort{
{
AllowedSourceAddressPrefix: to.Ptr("192.127.0.2"),
EndTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-05-17T09:06:45.569Z"); return t }()),
Number: to.Ptr[int32](3389),
Status: to.Ptr(armsecurity.StatusInitiated),
StatusReason: to.Ptr(armsecurity.StatusReasonUserRequested),
}},
}},
}},
VirtualMachines: []*armsecurity.JitNetworkAccessPolicyVirtualMachine{
{
ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1"),
Ports: []*armsecurity.JitNetworkAccessPortRule{
{
AllowedSourceAddressPrefix: to.Ptr("*"),
MaxRequestAccessDuration: to.Ptr("PT3H"),
Number: to.Ptr[int32](22),
Protocol: to.Ptr(armsecurity.ProtocolAll),
},
{
AllowedSourceAddressPrefix: to.Ptr("*"),
MaxRequestAccessDuration: to.Ptr("PT3H"),
Number: to.Ptr[int32](3389),
Protocol: to.Ptr(armsecurity.ProtocolAll),
}},
}},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.JitNetworkAccessPolicy = armsecurity.JitNetworkAccessPolicy{
// Kind: to.Ptr("Basic"),
// Location: to.Ptr("westeurope"),
// Name: to.Ptr("default"),
// Type: to.Ptr("Microsoft.Security/locations/jitNetworkAccessPolicies"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Security/locations/westeurope/jitNetworkAccessPolicies/default"),
// Properties: &armsecurity.JitNetworkAccessPolicyProperties{
// ProvisioningState: to.Ptr("Succeeded"),
// Requests: []*armsecurity.JitNetworkAccessRequest{
// {
// Requestor: to.Ptr("barbara@contoso.com"),
// StartTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-05-17T08:06:45.569Z"); return t}()),
// VirtualMachines: []*armsecurity.JitNetworkAccessRequestVirtualMachine{
// {
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1"),
// Ports: []*armsecurity.JitNetworkAccessRequestPort{
// {
// AllowedSourceAddressPrefix: to.Ptr("192.127.0.2"),
// EndTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-05-17T09:06:45.569Z"); return t}()),
// Number: to.Ptr[int32](3389),
// Status: to.Ptr(armsecurity.StatusInitiated),
// StatusReason: to.Ptr(armsecurity.StatusReasonUserRequested),
// }},
// }},
// }},
// VirtualMachines: []*armsecurity.JitNetworkAccessPolicyVirtualMachine{
// {
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1"),
// Ports: []*armsecurity.JitNetworkAccessPortRule{
// {
// AllowedSourceAddressPrefix: to.Ptr("*"),
// MaxRequestAccessDuration: to.Ptr("PT3H"),
// Number: to.Ptr[int32](22),
// Protocol: to.Ptr(armsecurity.ProtocolAll),
// },
// {
// AllowedSourceAddressPrefix: to.Ptr("*"),
// MaxRequestAccessDuration: to.Ptr("PT3H"),
// Number: to.Ptr[int32](3389),
// Protocol: to.Ptr(armsecurity.ProtocolAll),
// }},
// }},
// },
// }
}
func (*JitNetworkAccessPoliciesClient) Delete ¶
func (client *JitNetworkAccessPoliciesClient) Delete(ctx context.Context, resourceGroupName string, ascLocation string, jitNetworkAccessPolicyName string, options *JitNetworkAccessPoliciesClientDeleteOptions) (JitNetworkAccessPoliciesClientDeleteResponse, error)
Delete - Delete a Just-in-Time access control policy. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2020-01-01
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- ascLocation - The location where ASC stores the data of the subscription. can be retrieved from Get locations
- jitNetworkAccessPolicyName - Name of a Just-in-Time access configuration policy.
- options - JitNetworkAccessPoliciesClientDeleteOptions contains the optional parameters for the JitNetworkAccessPoliciesClient.Delete method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/JitNetworkAccessPolicies/DeleteJitNetworkAccessPolicy_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewJitNetworkAccessPoliciesClient().Delete(ctx, "myRg1", "westeurope", "default", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
}
func (*JitNetworkAccessPoliciesClient) Get ¶
func (client *JitNetworkAccessPoliciesClient) Get(ctx context.Context, resourceGroupName string, ascLocation string, jitNetworkAccessPolicyName string, options *JitNetworkAccessPoliciesClientGetOptions) (JitNetworkAccessPoliciesClientGetResponse, error)
Get - Policies for protecting resources using Just-in-Time access control for the subscription, location If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2020-01-01
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- ascLocation - The location where ASC stores the data of the subscription. can be retrieved from Get locations
- jitNetworkAccessPolicyName - Name of a Just-in-Time access configuration policy.
- options - JitNetworkAccessPoliciesClientGetOptions contains the optional parameters for the JitNetworkAccessPoliciesClient.Get method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/JitNetworkAccessPolicies/GetJitNetworkAccessPolicy_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewJitNetworkAccessPoliciesClient().Get(ctx, "myRg1", "westeurope", "default", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.JitNetworkAccessPolicy = armsecurity.JitNetworkAccessPolicy{
// Kind: to.Ptr("Basic"),
// Location: to.Ptr("westeurope"),
// Name: to.Ptr("default"),
// Type: to.Ptr("Microsoft.Security/locations/jitNetworkAccessPolicies"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Security/locations/westeurope/jitNetworkAccessPolicies/default"),
// Properties: &armsecurity.JitNetworkAccessPolicyProperties{
// ProvisioningState: to.Ptr("Succeeded"),
// Requests: []*armsecurity.JitNetworkAccessRequest{
// {
// Justification: to.Ptr("testing a new version of the product"),
// Requestor: to.Ptr("barbara@contoso.com"),
// StartTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-05-17T08:06:45.569Z"); return t}()),
// VirtualMachines: []*armsecurity.JitNetworkAccessRequestVirtualMachine{
// {
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1"),
// Ports: []*armsecurity.JitNetworkAccessRequestPort{
// {
// AllowedSourceAddressPrefix: to.Ptr("192.127.0.2"),
// EndTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-05-17T09:06:45.569Z"); return t}()),
// Number: to.Ptr[int32](3389),
// Status: to.Ptr(armsecurity.StatusInitiated),
// StatusReason: to.Ptr(armsecurity.StatusReasonUserRequested),
// }},
// }},
// }},
// VirtualMachines: []*armsecurity.JitNetworkAccessPolicyVirtualMachine{
// {
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1"),
// Ports: []*armsecurity.JitNetworkAccessPortRule{
// {
// AllowedSourceAddressPrefix: to.Ptr("*"),
// MaxRequestAccessDuration: to.Ptr("PT3H"),
// Number: to.Ptr[int32](22),
// Protocol: to.Ptr(armsecurity.ProtocolAll),
// },
// {
// AllowedSourceAddressPrefix: to.Ptr("*"),
// MaxRequestAccessDuration: to.Ptr("PT3H"),
// Number: to.Ptr[int32](3389),
// Protocol: to.Ptr(armsecurity.ProtocolAll),
// }},
// }},
// },
// }
}
func (*JitNetworkAccessPoliciesClient) Initiate ¶
func (client *JitNetworkAccessPoliciesClient) Initiate(ctx context.Context, resourceGroupName string, ascLocation string, jitNetworkAccessPolicyName string, body JitNetworkAccessPolicyInitiateRequest, options *JitNetworkAccessPoliciesClientInitiateOptions) (JitNetworkAccessPoliciesClientInitiateResponse, error)
Initiate - Initiate a JIT access from a specific Just-in-Time policy configuration. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2020-01-01
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- ascLocation - The location where ASC stores the data of the subscription. can be retrieved from Get locations
- jitNetworkAccessPolicyName - Name of a Just-in-Time access configuration policy.
- options - JitNetworkAccessPoliciesClientInitiateOptions contains the optional parameters for the JitNetworkAccessPoliciesClient.Initiate method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/JitNetworkAccessPolicies/InitiateJitNetworkAccessPolicy_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewJitNetworkAccessPoliciesClient().Initiate(ctx, "myRg1", "westeurope", "default", armsecurity.JitNetworkAccessPolicyInitiateRequest{
Justification: to.Ptr("testing a new version of the product"),
VirtualMachines: []*armsecurity.JitNetworkAccessPolicyInitiateVirtualMachine{
{
ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1"),
Ports: []*armsecurity.JitNetworkAccessPolicyInitiatePort{
{
AllowedSourceAddressPrefix: to.Ptr("192.127.0.2"),
Number: to.Ptr[int32](3389),
}},
}},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
}
func (*JitNetworkAccessPoliciesClient) NewListByRegionPager ¶
func (client *JitNetworkAccessPoliciesClient) NewListByRegionPager(ascLocation string, options *JitNetworkAccessPoliciesClientListByRegionOptions) *runtime.Pager[JitNetworkAccessPoliciesClientListByRegionResponse]
NewListByRegionPager - Policies for protecting resources using Just-in-Time access control for the subscription, location
Generated from API version 2020-01-01
- ascLocation - The location where ASC stores the data of the subscription. can be retrieved from Get locations
- options - JitNetworkAccessPoliciesClientListByRegionOptions contains the optional parameters for the JitNetworkAccessPoliciesClient.NewListByRegionPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/JitNetworkAccessPolicies/GetJitNetworkAccessPoliciesSubscriptionLocation_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewJitNetworkAccessPoliciesClient().NewListByRegionPager("westeurope", nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.JitNetworkAccessPoliciesList = armsecurity.JitNetworkAccessPoliciesList{
// Value: []*armsecurity.JitNetworkAccessPolicy{
// {
// Kind: to.Ptr("Basic"),
// Location: to.Ptr("westeurope"),
// Name: to.Ptr("default"),
// Type: to.Ptr("Microsoft.Security/locations/jitNetworkAccessPolicies"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Security/locations/westeurope/jitNetworkAccessPolicies/default"),
// Properties: &armsecurity.JitNetworkAccessPolicyProperties{
// ProvisioningState: to.Ptr("Succeeded"),
// Requests: []*armsecurity.JitNetworkAccessRequest{
// {
// Justification: to.Ptr("testing a new version of the product"),
// Requestor: to.Ptr("barbara@contoso.com"),
// StartTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-05-17T08:06:45.569Z"); return t}()),
// VirtualMachines: []*armsecurity.JitNetworkAccessRequestVirtualMachine{
// {
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1"),
// Ports: []*armsecurity.JitNetworkAccessRequestPort{
// {
// AllowedSourceAddressPrefix: to.Ptr("192.127.0.2"),
// EndTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-05-17T09:06:45.569Z"); return t}()),
// Number: to.Ptr[int32](3389),
// Status: to.Ptr(armsecurity.StatusInitiated),
// StatusReason: to.Ptr(armsecurity.StatusReasonUserRequested),
// }},
// }},
// }},
// VirtualMachines: []*armsecurity.JitNetworkAccessPolicyVirtualMachine{
// {
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1"),
// Ports: []*armsecurity.JitNetworkAccessPortRule{
// {
// AllowedSourceAddressPrefix: to.Ptr("*"),
// MaxRequestAccessDuration: to.Ptr("PT3H"),
// Number: to.Ptr[int32](22),
// Protocol: to.Ptr(armsecurity.ProtocolAll),
// },
// {
// AllowedSourceAddressPrefix: to.Ptr("*"),
// MaxRequestAccessDuration: to.Ptr("PT3H"),
// Number: to.Ptr[int32](3389),
// Protocol: to.Ptr(armsecurity.ProtocolAll),
// }},
// }},
// },
// }},
// }
}
}
func (*JitNetworkAccessPoliciesClient) NewListByResourceGroupAndRegionPager ¶
func (client *JitNetworkAccessPoliciesClient) NewListByResourceGroupAndRegionPager(resourceGroupName string, ascLocation string, options *JitNetworkAccessPoliciesClientListByResourceGroupAndRegionOptions) *runtime.Pager[JitNetworkAccessPoliciesClientListByResourceGroupAndRegionResponse]
NewListByResourceGroupAndRegionPager - Policies for protecting resources using Just-in-Time access control for the subscription, location
Generated from API version 2020-01-01
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- ascLocation - The location where ASC stores the data of the subscription. can be retrieved from Get locations
- options - JitNetworkAccessPoliciesClientListByResourceGroupAndRegionOptions contains the optional parameters for the JitNetworkAccessPoliciesClient.NewListByResourceGroupAndRegionPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/JitNetworkAccessPolicies/GetJitNetworkAccessPoliciesResourceGroupLocation_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewJitNetworkAccessPoliciesClient().NewListByResourceGroupAndRegionPager("myRg1", "westeurope", nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.JitNetworkAccessPoliciesList = armsecurity.JitNetworkAccessPoliciesList{
// Value: []*armsecurity.JitNetworkAccessPolicy{
// {
// Kind: to.Ptr("Basic"),
// Location: to.Ptr("westeurope"),
// Name: to.Ptr("default"),
// Type: to.Ptr("Microsoft.Security/locations/jitNetworkAccessPolicies"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Security/locations/westeurope/jitNetworkAccessPolicies/default"),
// Properties: &armsecurity.JitNetworkAccessPolicyProperties{
// ProvisioningState: to.Ptr("Succeeded"),
// Requests: []*armsecurity.JitNetworkAccessRequest{
// {
// Justification: to.Ptr("testing a new version of the product"),
// Requestor: to.Ptr("barbara@contoso.com"),
// StartTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-05-17T08:06:45.569Z"); return t}()),
// VirtualMachines: []*armsecurity.JitNetworkAccessRequestVirtualMachine{
// {
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1"),
// Ports: []*armsecurity.JitNetworkAccessRequestPort{
// {
// AllowedSourceAddressPrefix: to.Ptr("192.127.0.2"),
// EndTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-05-17T09:06:45.569Z"); return t}()),
// Number: to.Ptr[int32](3389),
// Status: to.Ptr(armsecurity.StatusInitiated),
// StatusReason: to.Ptr(armsecurity.StatusReasonUserRequested),
// }},
// }},
// }},
// VirtualMachines: []*armsecurity.JitNetworkAccessPolicyVirtualMachine{
// {
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1"),
// Ports: []*armsecurity.JitNetworkAccessPortRule{
// {
// AllowedSourceAddressPrefix: to.Ptr("*"),
// MaxRequestAccessDuration: to.Ptr("PT3H"),
// Number: to.Ptr[int32](22),
// Protocol: to.Ptr(armsecurity.ProtocolAll),
// },
// {
// AllowedSourceAddressPrefix: to.Ptr("*"),
// MaxRequestAccessDuration: to.Ptr("PT3H"),
// Number: to.Ptr[int32](3389),
// Protocol: to.Ptr(armsecurity.ProtocolAll),
// }},
// }},
// },
// }},
// }
}
}
func (*JitNetworkAccessPoliciesClient) NewListByResourceGroupPager ¶
func (client *JitNetworkAccessPoliciesClient) NewListByResourceGroupPager(resourceGroupName string, options *JitNetworkAccessPoliciesClientListByResourceGroupOptions) *runtime.Pager[JitNetworkAccessPoliciesClientListByResourceGroupResponse]
NewListByResourceGroupPager - Policies for protecting resources using Just-in-Time access control for the subscription, location
Generated from API version 2020-01-01
- resourceGroupName - The name of the resource group within the user's subscription. The name is case insensitive.
- options - JitNetworkAccessPoliciesClientListByResourceGroupOptions contains the optional parameters for the JitNetworkAccessPoliciesClient.NewListByResourceGroupPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/JitNetworkAccessPolicies/GetJitNetworkAccessPoliciesResourceGroup_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewJitNetworkAccessPoliciesClient().NewListByResourceGroupPager("myRg1", nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.JitNetworkAccessPoliciesList = armsecurity.JitNetworkAccessPoliciesList{
// Value: []*armsecurity.JitNetworkAccessPolicy{
// {
// Kind: to.Ptr("Basic"),
// Location: to.Ptr("westeurope"),
// Name: to.Ptr("default"),
// Type: to.Ptr("Microsoft.Security/locations/jitNetworkAccessPolicies"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Security/locations/westeurope/jitNetworkAccessPolicies/default"),
// Properties: &armsecurity.JitNetworkAccessPolicyProperties{
// ProvisioningState: to.Ptr("Succeeded"),
// Requests: []*armsecurity.JitNetworkAccessRequest{
// {
// Justification: to.Ptr("testing a new version of the product"),
// Requestor: to.Ptr("barbara@contoso.com"),
// StartTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-05-17T08:06:45.569Z"); return t}()),
// VirtualMachines: []*armsecurity.JitNetworkAccessRequestVirtualMachine{
// {
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1"),
// Ports: []*armsecurity.JitNetworkAccessRequestPort{
// {
// AllowedSourceAddressPrefix: to.Ptr("192.127.0.2"),
// EndTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-05-17T09:06:45.569Z"); return t}()),
// Number: to.Ptr[int32](3389),
// Status: to.Ptr(armsecurity.StatusInitiated),
// StatusReason: to.Ptr(armsecurity.StatusReasonUserRequested),
// }},
// }},
// }},
// VirtualMachines: []*armsecurity.JitNetworkAccessPolicyVirtualMachine{
// {
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1"),
// Ports: []*armsecurity.JitNetworkAccessPortRule{
// {
// AllowedSourceAddressPrefix: to.Ptr("*"),
// MaxRequestAccessDuration: to.Ptr("PT3H"),
// Number: to.Ptr[int32](22),
// Protocol: to.Ptr(armsecurity.ProtocolAll),
// },
// {
// AllowedSourceAddressPrefix: to.Ptr("*"),
// MaxRequestAccessDuration: to.Ptr("PT3H"),
// Number: to.Ptr[int32](3389),
// Protocol: to.Ptr(armsecurity.ProtocolAll),
// }},
// }},
// },
// }},
// }
}
}
func (*JitNetworkAccessPoliciesClient) NewListPager ¶
func (client *JitNetworkAccessPoliciesClient) NewListPager(options *JitNetworkAccessPoliciesClientListOptions) *runtime.Pager[JitNetworkAccessPoliciesClientListResponse]
NewListPager - Policies for protecting resources using Just-in-Time access control.
Generated from API version 2020-01-01
- options - JitNetworkAccessPoliciesClientListOptions contains the optional parameters for the JitNetworkAccessPoliciesClient.NewListPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/JitNetworkAccessPolicies/GetJitNetworkAccessPoliciesSubscription_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewJitNetworkAccessPoliciesClient().NewListPager(nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.JitNetworkAccessPoliciesList = armsecurity.JitNetworkAccessPoliciesList{
// Value: []*armsecurity.JitNetworkAccessPolicy{
// {
// Kind: to.Ptr("Basic"),
// Location: to.Ptr("westeurope"),
// Name: to.Ptr("default"),
// Type: to.Ptr("Microsoft.Security/locations/jitNetworkAccessPolicies"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Security/locations/westeurope/jitNetworkAccessPolicies/default"),
// Properties: &armsecurity.JitNetworkAccessPolicyProperties{
// ProvisioningState: to.Ptr("Succeeded"),
// Requests: []*armsecurity.JitNetworkAccessRequest{
// {
// Justification: to.Ptr("testing a new version of the product"),
// Requestor: to.Ptr("barbara@contoso.com"),
// StartTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-05-17T08:06:45.569Z"); return t}()),
// VirtualMachines: []*armsecurity.JitNetworkAccessRequestVirtualMachine{
// {
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1"),
// Ports: []*armsecurity.JitNetworkAccessRequestPort{
// {
// AllowedSourceAddressPrefix: to.Ptr("192.127.0.2"),
// EndTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-05-17T09:06:45.569Z"); return t}()),
// Number: to.Ptr[int32](3389),
// Status: to.Ptr(armsecurity.StatusInitiated),
// StatusReason: to.Ptr(armsecurity.StatusReasonUserRequested),
// }},
// }},
// }},
// VirtualMachines: []*armsecurity.JitNetworkAccessPolicyVirtualMachine{
// {
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1"),
// Ports: []*armsecurity.JitNetworkAccessPortRule{
// {
// AllowedSourceAddressPrefix: to.Ptr("*"),
// MaxRequestAccessDuration: to.Ptr("PT3H"),
// Number: to.Ptr[int32](22),
// Protocol: to.Ptr(armsecurity.ProtocolAll),
// },
// {
// AllowedSourceAddressPrefix: to.Ptr("*"),
// MaxRequestAccessDuration: to.Ptr("PT3H"),
// Number: to.Ptr[int32](3389),
// Protocol: to.Ptr(armsecurity.ProtocolAll),
// }},
// }},
// },
// }},
// }
}
}
type JitNetworkAccessPoliciesClientCreateOrUpdateOptions ¶
type JitNetworkAccessPoliciesClientCreateOrUpdateOptions struct {
}
JitNetworkAccessPoliciesClientCreateOrUpdateOptions contains the optional parameters for the JitNetworkAccessPoliciesClient.CreateOrUpdate method.
type JitNetworkAccessPoliciesClientCreateOrUpdateResponse ¶
type JitNetworkAccessPoliciesClientCreateOrUpdateResponse struct {
JitNetworkAccessPolicy
}
JitNetworkAccessPoliciesClientCreateOrUpdateResponse contains the response from method JitNetworkAccessPoliciesClient.CreateOrUpdate.
type JitNetworkAccessPoliciesClientDeleteOptions ¶
type JitNetworkAccessPoliciesClientDeleteOptions struct {
}
JitNetworkAccessPoliciesClientDeleteOptions contains the optional parameters for the JitNetworkAccessPoliciesClient.Delete method.
type JitNetworkAccessPoliciesClientDeleteResponse ¶
type JitNetworkAccessPoliciesClientDeleteResponse struct {
}
JitNetworkAccessPoliciesClientDeleteResponse contains the response from method JitNetworkAccessPoliciesClient.Delete.
type JitNetworkAccessPoliciesClientGetOptions ¶
type JitNetworkAccessPoliciesClientGetOptions struct {
}
JitNetworkAccessPoliciesClientGetOptions contains the optional parameters for the JitNetworkAccessPoliciesClient.Get method.
type JitNetworkAccessPoliciesClientGetResponse ¶
type JitNetworkAccessPoliciesClientGetResponse struct {
JitNetworkAccessPolicy
}
JitNetworkAccessPoliciesClientGetResponse contains the response from method JitNetworkAccessPoliciesClient.Get.
type JitNetworkAccessPoliciesClientInitiateOptions ¶
type JitNetworkAccessPoliciesClientInitiateOptions struct {
}
JitNetworkAccessPoliciesClientInitiateOptions contains the optional parameters for the JitNetworkAccessPoliciesClient.Initiate method.
type JitNetworkAccessPoliciesClientInitiateResponse ¶
type JitNetworkAccessPoliciesClientInitiateResponse struct {
JitNetworkAccessRequest
}
JitNetworkAccessPoliciesClientInitiateResponse contains the response from method JitNetworkAccessPoliciesClient.Initiate.
type JitNetworkAccessPoliciesClientListByRegionOptions ¶
type JitNetworkAccessPoliciesClientListByRegionOptions struct {
}
JitNetworkAccessPoliciesClientListByRegionOptions contains the optional parameters for the JitNetworkAccessPoliciesClient.NewListByRegionPager method.
type JitNetworkAccessPoliciesClientListByRegionResponse ¶
type JitNetworkAccessPoliciesClientListByRegionResponse struct {
JitNetworkAccessPoliciesList
}
JitNetworkAccessPoliciesClientListByRegionResponse contains the response from method JitNetworkAccessPoliciesClient.NewListByRegionPager.
type JitNetworkAccessPoliciesClientListByResourceGroupAndRegionOptions ¶
type JitNetworkAccessPoliciesClientListByResourceGroupAndRegionOptions struct {
}
JitNetworkAccessPoliciesClientListByResourceGroupAndRegionOptions contains the optional parameters for the JitNetworkAccessPoliciesClient.NewListByResourceGroupAndRegionPager method.
type JitNetworkAccessPoliciesClientListByResourceGroupAndRegionResponse ¶
type JitNetworkAccessPoliciesClientListByResourceGroupAndRegionResponse struct {
JitNetworkAccessPoliciesList
}
JitNetworkAccessPoliciesClientListByResourceGroupAndRegionResponse contains the response from method JitNetworkAccessPoliciesClient.NewListByResourceGroupAndRegionPager.
type JitNetworkAccessPoliciesClientListByResourceGroupOptions ¶
type JitNetworkAccessPoliciesClientListByResourceGroupOptions struct {
}
JitNetworkAccessPoliciesClientListByResourceGroupOptions contains the optional parameters for the JitNetworkAccessPoliciesClient.NewListByResourceGroupPager method.
type JitNetworkAccessPoliciesClientListByResourceGroupResponse ¶
type JitNetworkAccessPoliciesClientListByResourceGroupResponse struct {
JitNetworkAccessPoliciesList
}
JitNetworkAccessPoliciesClientListByResourceGroupResponse contains the response from method JitNetworkAccessPoliciesClient.NewListByResourceGroupPager.
type JitNetworkAccessPoliciesClientListOptions ¶
type JitNetworkAccessPoliciesClientListOptions struct {
}
JitNetworkAccessPoliciesClientListOptions contains the optional parameters for the JitNetworkAccessPoliciesClient.NewListPager method.
type JitNetworkAccessPoliciesClientListResponse ¶
type JitNetworkAccessPoliciesClientListResponse struct {
JitNetworkAccessPoliciesList
}
JitNetworkAccessPoliciesClientListResponse contains the response from method JitNetworkAccessPoliciesClient.NewListPager.
type JitNetworkAccessPoliciesList ¶
type JitNetworkAccessPoliciesList struct {
Value []*JitNetworkAccessPolicy
// READ-ONLY; The URI to fetch the next page.
NextLink *string
}
func (JitNetworkAccessPoliciesList) MarshalJSON ¶
func (j JitNetworkAccessPoliciesList) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type JitNetworkAccessPoliciesList.
func (*JitNetworkAccessPoliciesList) UnmarshalJSON ¶
func (j *JitNetworkAccessPoliciesList) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type JitNetworkAccessPoliciesList.
type JitNetworkAccessPolicy ¶
type JitNetworkAccessPolicy struct {
// REQUIRED
Properties *JitNetworkAccessPolicyProperties
// Kind of the resource
Kind *string
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Location where the resource is stored
Location *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Resource type
Type *string
}
func (JitNetworkAccessPolicy) MarshalJSON ¶
func (j JitNetworkAccessPolicy) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type JitNetworkAccessPolicy.
func (*JitNetworkAccessPolicy) UnmarshalJSON ¶
func (j *JitNetworkAccessPolicy) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type JitNetworkAccessPolicy.
type JitNetworkAccessPolicyInitiatePort ¶
type JitNetworkAccessPolicyInitiatePort struct {
// REQUIRED; The time to close the request in UTC
EndTimeUTC *time.Time
// REQUIRED
Number *int32
// Source of the allowed traffic. If omitted, the request will be for the source IP address of the initiate request.
AllowedSourceAddressPrefix *string
}
func (JitNetworkAccessPolicyInitiatePort) MarshalJSON ¶
func (j JitNetworkAccessPolicyInitiatePort) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type JitNetworkAccessPolicyInitiatePort.
func (*JitNetworkAccessPolicyInitiatePort) UnmarshalJSON ¶
func (j *JitNetworkAccessPolicyInitiatePort) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type JitNetworkAccessPolicyInitiatePort.
type JitNetworkAccessPolicyInitiateRequest ¶
type JitNetworkAccessPolicyInitiateRequest struct {
// REQUIRED; A list of virtual machines & ports to open access for
VirtualMachines []*JitNetworkAccessPolicyInitiateVirtualMachine
// The justification for making the initiate request
Justification *string
}
func (JitNetworkAccessPolicyInitiateRequest) MarshalJSON ¶
func (j JitNetworkAccessPolicyInitiateRequest) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type JitNetworkAccessPolicyInitiateRequest.
func (*JitNetworkAccessPolicyInitiateRequest) UnmarshalJSON ¶
func (j *JitNetworkAccessPolicyInitiateRequest) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type JitNetworkAccessPolicyInitiateRequest.
type JitNetworkAccessPolicyInitiateVirtualMachine ¶
type JitNetworkAccessPolicyInitiateVirtualMachine struct {
// REQUIRED; Resource ID of the virtual machine that is linked to this policy
ID *string
// REQUIRED; The ports to open for the resource with the id
Ports []*JitNetworkAccessPolicyInitiatePort
}
func (JitNetworkAccessPolicyInitiateVirtualMachine) MarshalJSON ¶
func (j JitNetworkAccessPolicyInitiateVirtualMachine) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type JitNetworkAccessPolicyInitiateVirtualMachine.
func (*JitNetworkAccessPolicyInitiateVirtualMachine) UnmarshalJSON ¶
func (j *JitNetworkAccessPolicyInitiateVirtualMachine) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type JitNetworkAccessPolicyInitiateVirtualMachine.
type JitNetworkAccessPolicyProperties ¶
type JitNetworkAccessPolicyProperties struct {
// REQUIRED; Configurations for Microsoft.Compute/virtualMachines resource type.
VirtualMachines []*JitNetworkAccessPolicyVirtualMachine
Requests []*JitNetworkAccessRequest
// READ-ONLY; Gets the provisioning state of the Just-in-Time policy.
ProvisioningState *string
}
func (JitNetworkAccessPolicyProperties) MarshalJSON ¶
func (j JitNetworkAccessPolicyProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type JitNetworkAccessPolicyProperties.
func (*JitNetworkAccessPolicyProperties) UnmarshalJSON ¶
func (j *JitNetworkAccessPolicyProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type JitNetworkAccessPolicyProperties.
type JitNetworkAccessPolicyVirtualMachine ¶
type JitNetworkAccessPolicyVirtualMachine struct {
// REQUIRED; Resource ID of the virtual machine that is linked to this policy
ID *string
// REQUIRED; Port configurations for the virtual machine
Ports []*JitNetworkAccessPortRule
// Public IP address of the Azure Firewall that is linked to this policy, if applicable
PublicIPAddress *string
}
func (JitNetworkAccessPolicyVirtualMachine) MarshalJSON ¶
func (j JitNetworkAccessPolicyVirtualMachine) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type JitNetworkAccessPolicyVirtualMachine.
func (*JitNetworkAccessPolicyVirtualMachine) UnmarshalJSON ¶
func (j *JitNetworkAccessPolicyVirtualMachine) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type JitNetworkAccessPolicyVirtualMachine.
type JitNetworkAccessPortRule ¶
type JitNetworkAccessPortRule struct {
// REQUIRED; Maximum duration requests can be made for. In ISO 8601 duration format. Minimum 5 minutes, maximum 1 day
MaxRequestAccessDuration *string
// REQUIRED
Number *int32
// REQUIRED
Protocol *Protocol
// Mutually exclusive with the "allowedSourceAddressPrefixes" parameter. Should be an IP address or CIDR, for example "192.168.0.3"
// or "192.168.0.0/16".
AllowedSourceAddressPrefix *string
// Mutually exclusive with the "allowedSourceAddressPrefix" parameter.
AllowedSourceAddressPrefixes []*string
}
func (JitNetworkAccessPortRule) MarshalJSON ¶
func (j JitNetworkAccessPortRule) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type JitNetworkAccessPortRule.
func (*JitNetworkAccessPortRule) UnmarshalJSON ¶
func (j *JitNetworkAccessPortRule) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type JitNetworkAccessPortRule.
type JitNetworkAccessRequest ¶
type JitNetworkAccessRequest struct {
// REQUIRED; The identity of the person who made the request
Requestor *string
// REQUIRED; The start time of the request in UTC
StartTimeUTC *time.Time
// REQUIRED
VirtualMachines []*JitNetworkAccessRequestVirtualMachine
// The justification for making the initiate request
Justification *string
}
func (JitNetworkAccessRequest) MarshalJSON ¶
func (j JitNetworkAccessRequest) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type JitNetworkAccessRequest.
func (*JitNetworkAccessRequest) UnmarshalJSON ¶
func (j *JitNetworkAccessRequest) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type JitNetworkAccessRequest.
type JitNetworkAccessRequestPort ¶
type JitNetworkAccessRequestPort struct {
// REQUIRED; The date & time at which the request ends in UTC
EndTimeUTC *time.Time
// REQUIRED
Number *int32
// REQUIRED; The status of the port
Status *Status
// REQUIRED; A description of why the status has its value
StatusReason *StatusReason
// Mutually exclusive with the "allowedSourceAddressPrefixes" parameter. Should be an IP address or CIDR, for example "192.168.0.3"
// or "192.168.0.0/16".
AllowedSourceAddressPrefix *string
// Mutually exclusive with the "allowedSourceAddressPrefix" parameter.
AllowedSourceAddressPrefixes []*string
// The port which is mapped to this port's number in the Azure Firewall, if applicable
MappedPort *int32
}
func (JitNetworkAccessRequestPort) MarshalJSON ¶
func (j JitNetworkAccessRequestPort) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type JitNetworkAccessRequestPort.
func (*JitNetworkAccessRequestPort) UnmarshalJSON ¶
func (j *JitNetworkAccessRequestPort) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type JitNetworkAccessRequestPort.
type JitNetworkAccessRequestVirtualMachine ¶
type JitNetworkAccessRequestVirtualMachine struct {
// REQUIRED; Resource ID of the virtual machine that is linked to this policy
ID *string
// REQUIRED; The ports that were opened for the virtual machine
Ports []*JitNetworkAccessRequestPort
}
func (JitNetworkAccessRequestVirtualMachine) MarshalJSON ¶
func (j JitNetworkAccessRequestVirtualMachine) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type JitNetworkAccessRequestVirtualMachine.
func (*JitNetworkAccessRequestVirtualMachine) UnmarshalJSON ¶
func (j *JitNetworkAccessRequestVirtualMachine) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type JitNetworkAccessRequestVirtualMachine.
type Kind ¶
type Kind string
Kind - The kind of alert simulation.
const ( // KindBundles - Simulate alerts according to bundles KindBundles Kind = "Bundles" )
func PossibleKindValues ¶
func PossibleKindValues() []Kind
PossibleKindValues returns the possible values for the Kind const type.
type KindAutoGenerated ¶
type KindAutoGenerated struct {
// Kind of the resource
Kind *string
}
KindAutoGenerated - Describes an Azure resource with kind
func (KindAutoGenerated) MarshalJSON ¶
func (k KindAutoGenerated) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type KindAutoGenerated.
func (*KindAutoGenerated) UnmarshalJSON ¶
func (k *KindAutoGenerated) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type KindAutoGenerated.
type Label ¶
type Label struct {
// The ID of the label
ID *string
// The display name of the label
Name *string
// Labels are ordered by sensitivity level. The higher the order of the label, the more sensitive it is.
Order *float32
}
Label - Microsoft information protection sensitivity label
func (Label) MarshalJSON ¶
MarshalJSON implements the json.Marshaller interface for type Label.
func (*Label) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaller interface for type Label.
type ListCustomAlertRule ¶
type ListCustomAlertRule struct {
// REQUIRED; Status of the custom alert.
IsEnabled *bool
// REQUIRED; The type of the custom alert rule.
RuleType *string
// READ-ONLY; The description of the custom alert.
Description *string
// READ-ONLY; The display name of the custom alert.
DisplayName *string
// READ-ONLY; The value type of the items in the list.
ValueType *ValueType
}
ListCustomAlertRule - A List custom alert rule.
func (*ListCustomAlertRule) GetCustomAlertRule ¶
func (l *ListCustomAlertRule) GetCustomAlertRule() *CustomAlertRule
GetCustomAlertRule implements the CustomAlertRuleClassification interface for type ListCustomAlertRule.
func (*ListCustomAlertRule) GetListCustomAlertRule ¶
func (l *ListCustomAlertRule) GetListCustomAlertRule() *ListCustomAlertRule
GetListCustomAlertRule implements the ListCustomAlertRuleClassification interface for type ListCustomAlertRule.
func (ListCustomAlertRule) MarshalJSON ¶
func (l ListCustomAlertRule) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ListCustomAlertRule.
func (*ListCustomAlertRule) UnmarshalJSON ¶
func (l *ListCustomAlertRule) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ListCustomAlertRule.
type ListCustomAlertRuleClassification ¶
type ListCustomAlertRuleClassification interface {
CustomAlertRuleClassification
// GetListCustomAlertRule returns the ListCustomAlertRule content of the underlying type.
GetListCustomAlertRule() *ListCustomAlertRule
}
ListCustomAlertRuleClassification provides polymorphic access to related types. Call the interface's GetListCustomAlertRule() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AllowlistCustomAlertRule, *ConnectionFromIPNotAllowed, *ConnectionToIPNotAllowed, *DenylistCustomAlertRule, *ListCustomAlertRule, - *LocalUserNotAllowed, *ProcessNotAllowed
type LocalUserNotAllowed ¶
type LocalUserNotAllowed struct {
// REQUIRED; The values to allow. The format of the values depends on the rule type.
AllowlistValues []*string
// REQUIRED; Status of the custom alert.
IsEnabled *bool
// REQUIRED; The type of the custom alert rule.
RuleType *string
// READ-ONLY; The description of the custom alert.
Description *string
// READ-ONLY; The display name of the custom alert.
DisplayName *string
// READ-ONLY; The value type of the items in the list.
ValueType *ValueType
}
LocalUserNotAllowed - Login by a local user that isn't allowed. Allow list consists of login names to allow.
func (*LocalUserNotAllowed) GetAllowlistCustomAlertRule ¶
func (l *LocalUserNotAllowed) GetAllowlistCustomAlertRule() *AllowlistCustomAlertRule
GetAllowlistCustomAlertRule implements the AllowlistCustomAlertRuleClassification interface for type LocalUserNotAllowed.
func (*LocalUserNotAllowed) GetCustomAlertRule ¶
func (l *LocalUserNotAllowed) GetCustomAlertRule() *CustomAlertRule
GetCustomAlertRule implements the CustomAlertRuleClassification interface for type LocalUserNotAllowed.
func (*LocalUserNotAllowed) GetListCustomAlertRule ¶
func (l *LocalUserNotAllowed) GetListCustomAlertRule() *ListCustomAlertRule
GetListCustomAlertRule implements the ListCustomAlertRuleClassification interface for type LocalUserNotAllowed.
func (LocalUserNotAllowed) MarshalJSON ¶
func (l LocalUserNotAllowed) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type LocalUserNotAllowed.
func (*LocalUserNotAllowed) UnmarshalJSON ¶
func (l *LocalUserNotAllowed) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type LocalUserNotAllowed.
type Location ¶
type Location struct {
// READ-ONLY; Location where the resource is stored
Location *string
}
Location - Describes an Azure resource with location
func (Location) MarshalJSON ¶
MarshalJSON implements the json.Marshaller interface for type Location.
func (*Location) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaller interface for type Location.
type LocationsClient ¶
type LocationsClient struct {
// contains filtered or unexported fields
}
LocationsClient contains the methods for the Locations group. Don't use this type directly, use NewLocationsClient() instead.
func NewLocationsClient ¶
func NewLocationsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*LocationsClient, error)
NewLocationsClient creates a new instance of LocationsClient with the specified values.
- subscriptionID - Azure subscription ID
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*LocationsClient) Get ¶
func (client *LocationsClient) Get(ctx context.Context, ascLocation string, options *LocationsClientGetOptions) (LocationsClientGetResponse, error)
Get - Details of a specific location If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2015-06-01-preview
- ascLocation - The location where ASC stores the data of the subscription. can be retrieved from Get locations
- options - LocationsClientGetOptions contains the optional parameters for the LocationsClient.Get method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/examples/Locations/GetLocation_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewLocationsClient().Get(ctx, "centralus", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.AscLocation = armsecurity.AscLocation{
// Name: to.Ptr("centralus"),
// Type: to.Ptr("Microsoft.Security/locations"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/locations/centralus"),
// Properties: map[string]any{
// "homeRegionName": "centralus",
// },
// }
}
func (*LocationsClient) NewListPager ¶
func (client *LocationsClient) NewListPager(options *LocationsClientListOptions) *runtime.Pager[LocationsClientListResponse]
NewListPager - The location of the responsible ASC of the specific subscription (home region). For each subscription there is only one responsible location. The location in the response should be used to read or write other resources in ASC according to their ID.
Generated from API version 2015-06-01-preview
- options - LocationsClientListOptions contains the optional parameters for the LocationsClient.NewListPager method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/examples/Locations/GetLocations_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewLocationsClient().NewListPager(nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.AscLocationList = armsecurity.AscLocationList{
// Value: []*armsecurity.AscLocation{
// {
// Name: to.Ptr("centralus"),
// Type: to.Ptr("Microsoft.Security/locations"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/locations/centralus"),
// Properties: map[string]any{
// "homeRegionName": "centralus",
// },
// }},
// }
}
}
type LocationsClientGetOptions ¶
type LocationsClientGetOptions struct {
}
LocationsClientGetOptions contains the optional parameters for the LocationsClient.Get method.
type LocationsClientGetResponse ¶
type LocationsClientGetResponse struct {
// The ASC location of the subscription is in the "name" field
AscLocation
}
LocationsClientGetResponse contains the response from method LocationsClient.Get.
type LocationsClientListOptions ¶
type LocationsClientListOptions struct {
}
LocationsClientListOptions contains the optional parameters for the LocationsClient.NewListPager method.
type LocationsClientListResponse ¶
type LocationsClientListResponse struct {
// List of locations where ASC saves your data
AscLocationList
}
LocationsClientListResponse contains the response from method LocationsClient.NewListPager.
type LogAnalyticsIdentifier ¶
type LogAnalyticsIdentifier struct {
// REQUIRED; There can be multiple identifiers of different type per alert, this field specify the identifier type.
Type *ResourceIdentifierType
// READ-ONLY; (optional) The LogAnalytics agent id reporting the event that this alert is based on.
AgentID *string
// READ-ONLY; The LogAnalytics workspace id that stores this alert.
WorkspaceID *string
// READ-ONLY; The azure resource group for the LogAnalytics workspace storing this alert
WorkspaceResourceGroup *string
// READ-ONLY; The azure subscription id for the LogAnalytics workspace storing this alert.
WorkspaceSubscriptionID *string
}
LogAnalyticsIdentifier - Represents a Log Analytics workspace scope identifier.
func (*LogAnalyticsIdentifier) GetResourceIdentifier ¶
func (l *LogAnalyticsIdentifier) GetResourceIdentifier() *ResourceIdentifier
GetResourceIdentifier implements the ResourceIdentifierClassification interface for type LogAnalyticsIdentifier.
func (LogAnalyticsIdentifier) MarshalJSON ¶
func (l LogAnalyticsIdentifier) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type LogAnalyticsIdentifier.
func (*LogAnalyticsIdentifier) UnmarshalJSON ¶
func (l *LogAnalyticsIdentifier) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type LogAnalyticsIdentifier.
type MalwareScanningProperties ¶
type MalwareScanningProperties struct {
// Properties of On Upload malware scanning.
OnUpload *OnUploadProperties
// Optional. Resource id of an Event Grid Topic to send scan results to.
ScanResultsEventGridTopicResourceID *string
// READ-ONLY; Upon failure or partial success. Additional data describing Malware Scanning enable/disable operation.
OperationStatus *OperationStatus
}
MalwareScanningProperties - Properties of Malware Scanning.
func (MalwareScanningProperties) MarshalJSON ¶
func (m MalwareScanningProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type MalwareScanningProperties.
func (*MalwareScanningProperties) UnmarshalJSON ¶
func (m *MalwareScanningProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type MalwareScanningProperties.
type MdeOnboardingData ¶
type MdeOnboardingData struct {
// Properties of the MDE configuration or data parameter needed to onboard the machine to MDE
Properties *MdeOnboardingDataProperties
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Resource type
Type *string
}
MdeOnboardingData - The resource of the configuration or data needed to onboard the machine to MDE
func (MdeOnboardingData) MarshalJSON ¶
func (m MdeOnboardingData) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type MdeOnboardingData.
func (*MdeOnboardingData) UnmarshalJSON ¶
func (m *MdeOnboardingData) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type MdeOnboardingData.
type MdeOnboardingDataList ¶
type MdeOnboardingDataList struct {
// List of the resources of the configuration or data needed to onboard the machine to MDE
Value []*MdeOnboardingData
}
MdeOnboardingDataList - List of all MDE onboarding data resources
func (MdeOnboardingDataList) MarshalJSON ¶
func (m MdeOnboardingDataList) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type MdeOnboardingDataList.
func (*MdeOnboardingDataList) UnmarshalJSON ¶
func (m *MdeOnboardingDataList) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type MdeOnboardingDataList.
type MdeOnboardingDataProperties ¶
type MdeOnboardingDataProperties struct {
// The onboarding package used to onboard Linux machines to MDE, coded in base64. This can also be used for onboarding using
// the dedicated VM Extension
OnboardingPackageLinux []byte
// The onboarding package used to onboard Windows machines to MDE, coded in base64. This can also be used for onboarding using
// the dedicated VM Extension
OnboardingPackageWindows []byte
}
MdeOnboardingDataProperties - Properties of the MDE configuration or data parameter needed to onboard the machine to MDE
func (MdeOnboardingDataProperties) MarshalJSON ¶
func (m MdeOnboardingDataProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type MdeOnboardingDataProperties.
func (*MdeOnboardingDataProperties) UnmarshalJSON ¶
func (m *MdeOnboardingDataProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type MdeOnboardingDataProperties.
type MdeOnboardingsClient ¶
type MdeOnboardingsClient struct {
// contains filtered or unexported fields
}
MdeOnboardingsClient contains the methods for the MdeOnboardings group. Don't use this type directly, use NewMdeOnboardingsClient() instead.
func NewMdeOnboardingsClient ¶
func NewMdeOnboardingsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*MdeOnboardingsClient, error)
NewMdeOnboardingsClient creates a new instance of MdeOnboardingsClient with the specified values.
- subscriptionID - Azure subscription ID
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*MdeOnboardingsClient) Get ¶
func (client *MdeOnboardingsClient) Get(ctx context.Context, options *MdeOnboardingsClientGetOptions) (MdeOnboardingsClientGetResponse, error)
Get - The default configuration or data needed to onboard the machine to MDE If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2021-10-01-preview
- options - MdeOnboardingsClientGetOptions contains the optional parameters for the MdeOnboardingsClient.Get method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2021-10-01-preview/examples/MdeOnboardings/GetMdeOnboardings_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewMdeOnboardingsClient().Get(ctx, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.MdeOnboardingData = armsecurity.MdeOnboardingData{
// Name: to.Ptr("default"),
// Type: to.Ptr("Microsoft.Security/mdeOnboardings"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/mdeOnboardings/default"),
// Properties: &armsecurity.MdeOnboardingDataProperties{
// OnboardingPackageLinux: []byte("QGVjaG8gb2ZmCgplY2hvLiA+TlVMIDI+JjEKZWNobyBTdGFydGluZyBXaW5kb3dzIERlZmVuZGVyIEFkdmFuY2VkIFRocmVhdCBQcm90ZWN0aW9uIG9uYm9hcmRpbmcgcHJvY2Vzcy4uLiA+TlVMIDI+JjEKZWNoby4gPk5VTCAyPiYxCgpzZXQgZXJyb3JDb2RlPTAKc2V0IGxhc3RFcnJvcj0wCnNldCAidHJvdWJsZXNob290SW5mbz1Gb3IgbW9yZSBpbmZvcm1hdGlvbiwgdmlzaXQ6IGh0dHBzOi8vZ28ubWljcm9zb2Z0LmNvbS9md2xpbmsvcC8/bGlua2lkPTgyMjgwNyIKc2V0ICJlcnJvckRlc2NyaXB0aW9uPSIKCmVjaG8gVGVzdGluZyBhZG1pbmlzdHJhdG9yIHByaXZpbGVnZXMgPk5VTCAyPiYxCgpuZXQgc2Vzc2lvbiA+TlVMIDI+JjEKaWYgJUVSUk9STEVWRUwlIE5FUSAwICgKCUBlY2hvIFNjcmlwdCBpcyBydW5uaW5nIHdpdGggaW5zdWZmaWNpZW50IHByaXZpbGVnZXMuIFBsZWFzZSBydW4gd2l0aCBhZG1pbmlzdHJhdG9yIHByaXZpbGVnZXM+ICVUTVAlXHNlbnNlVG1wLnR4dAoJc2V0IGVycm9yQ29kZT02NQogc2V0IGxhc3RFcnJvcj0lRVJST1JMRVZFTCUKCUdPVE8gRVJST1IKKQoKZWNobyBTY3JpcHQgaXMgcnVubmluZyB3aXRoIHN1ZmZpY2llbnQgcHJpdmlsZWdlcyA+TlVMIDI+JjEKZWNoby4gPk5VTCAyPiYxCmVjaG8gUGVyZm9ybWluZyBvbmJvYXJkaW5nIG9wZXJhdGlvbnMgPk5VTCAyPiYxCmVjaG8uID5OVUwgMj4mMQoKSUYgWyVQUk9DRVNTT1JfQVJDSElURVc2NDMyJV0gRVFVIFtdICgKICBzZXQgcG93ZXJzaGVsbFBhdGg9JXdpbmRpciVcU3lzdGVtMzJcV2luZG93c1Bvd2VyU2hlbGxcdjEuMFxwb3dlcnNoZWxsLmV4ZQopIEVMU0UgKAogIHNldCBwb3dlcnNoZWxsUGF0aD0ld2luZGlyJVxTeXNOYXRpdmVcV2luZG93c1Bvd2VyU2hlbGxcdjEuMFxwb3dlcnNoZWxsLmV4ZQopCgpzZXQgc2RiaW49MDEwMDA0ODA0NDAwMDAwMDU0MDAwMDAwMDAwMDAwMDAxNDAwMDAwMDAyMDAzMDAwMDIwMDAwMDAwMDAwMTQwMEZGMEYxMjAwMDEwMTAwMDAwMDAwMDAwNTEyMDAwMDAwMDAwMDE0MDBFMTA0MTIwMDAxMDEwMDAwMDAwMDAwMDUwQjAwMDAwMDAxMDIwMDAwMDAwMDAwMDUyMDAwMDAwMDIwMDIwMDAwMDEwMjAwMDAwMDAwMDAwNTIwMDAwMDAwMjAwMjAwMDAgPk5VTCAyPiYxCnJlZyBhZGQgSEtMTVxTWVNURU1cQ3VycmVudENvbnRyb2xTZXRcQ29udHJvbFxXTUlcU2VjdXJpdHkgL3YgMTRmODEzOGUtM2I2MS01ODBiLTU0NGItMjYwOTM3OGFlNDYwIC90IFJFR19CSU5BUlkgL2QgJXNkYmluJSAvZiA+TlVMIDI+JjEKcmVnIGFkZCBIS0xNXFNZU1RFTVxDdXJyZW50Q29udHJvbFNldFxDb250cm9sXFdNSVxTZWN1cml0eSAvdiBjYjJmZjcyZC1kNGU0LTU4NWQtMzNmOS1mM2EzOTVjNDBiZTcgL3QgUkVHX0JJTkFSWSAvZCAlc2RiaW4lIC9mID5OVUwgMj4mMQoKUkVHIGFkZCAiSEtMTVxTT0ZUV0FSRVxQb2xpY2llc1xNaWNyb3NvZnRcV2luZG93c1xEYXRhQ29sbGVjdGlvbiIgL3YgRGlzYWJsZUVudGVycHJpc2VBdXRoUHJveHkgL3QgUkVHX0RXT1JEIC9mIC9kIDEgPk5VTCAyPiYxCgolcG93ZXJzaGVsbFBhdGglIC1FeGVjdXRpb25Qb2xpY3kgQnlwYXNzIC1Ob1Byb2ZpbGUgLUNvbW1hbmQgIkFkZC1UeXBlICcgdXNpbmcgU3lzdGVtOyB1c2luZyBTeXN0ZW0uSU87IHVzaW5nIFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlczsgdXNpbmcgTWljcm9zb2Z0LldpbjMyLlNhZmVIYW5kbGVzOyB1c2luZyBTeXN0ZW0uQ29tcG9uZW50TW9kZWw7IHB1YmxpYyBzdGF0aWMgY2xhc3MgRWxhbXsgW0RsbEltcG9ydChcIktlcm5lbDMyXCIsIENoYXJTZXQ9Q2hhclNldC5BdXRvLCBTZXRMYXN0RXJyb3I9dHJ1ZSldIHB1YmxpYyBzdGF0aWMgZXh0ZXJuIGJvb2wgSW5zdGFsbEVMQU1DZXJ0aWZpY2F0ZUluZm8oU2FmZUZpbGVIYW5kbGUgaGFuZGxlKTsgcHVibGljIHN0YXRpYyB2b2lkIEluc3RhbGxXZEJvb3Qoc3RyaW5nIHBhdGgpIHsgQ29uc29sZS5PdXQuV3JpdGVMaW5lKFwiQWJvdXQgdG8gY2FsbCBjcmVhdGUgZmlsZSBvbiB7MH1cIiwgcGF0aCk7IHZhciBzdHJlYW0gPSBGaWxlLk9wZW4ocGF0aCwgRmlsZU1vZGUuT3BlbiwgRmlsZUFjY2Vzcy5SZWFkLCBGaWxlU2hhcmUuUmVhZCk7IHZhciBoYW5kbGUgPSBzdHJlYW0uU2FmZUZpbGVIYW5kbGU7IENvbnNvbGUuT3V0LldyaXRlTGluZShcIkFib3V0IHRvIGNhbGwgSW5zdGFsbEVMQU1DZXJ0aWZpY2F0ZUluZm8gb24gaGFuZGxlIHswfVwiLCBoYW5kbGUuRGFuZ2Vyb3VzR2V0SGFuZGxlKCkpOyBpZiAoIUluc3RhbGxFTEFNQ2VydGlmaWNhdGVJbmZvKGhhbmRsZSkpIHsgQ29uc29sZS5PdXQuV3JpdGVMaW5lKFwiQ2FsbCBmYWlsZWQuXCIpOyB0aHJvdyBuZXcgV2luMzJFeGNlcHRpb24oTWFyc2hhbC5HZXRMYXN0V2luMzJFcnJvcigpKTsgfSBDb25zb2xlLk91dC5Xcml0ZUxpbmUoXCJDYWxsIHN1Y2Nlc3NmdWwuXCIpOyB9IH0gJzsgJGRyaXZlclBhdGggPSAkZW52OlN5c3RlbVJvb3QgKyAnXFN5c3RlbTMyXERyaXZlcnNcV2RCb290LnN5cyc7IFtFbGFtXTo6SW5zdGFsbFdkQm9vdCgkZHJpdmVyUGF0aCkgIiA+TlVMIDI+JjEKClJFRyBxdWVyeSAiSEtMTVxTT0ZUV0FSRVxQb2xpY2llc1xNaWNyb3NvZnRcV2luZG93cyBBZHZhbmNlZCBUaHJlYXQgUHJvdGVjdGlvbiIgL3YgNjk2QzFGQTEtNDAzMC00RkE0LTg3MTMtRkFGOUIyRUE3QzBBIC9yZWc6NjQgPiAlVE1QJVxzZW5zZVRtcC50eHQgMj4mMQppZiAlRVJST1JMRVZFTCUgRVFVIDAgKCAgCiAgICBSRUcgZGVsZXRlICJIS0xNXFNPRlRXQVJFXFBvbGljaWVzXE1pY3Jvc29mdFxXaW5kb3dzIEFkdmFuY2VkIFRocmVhdCBQcm90ZWN0aW9uIiAvdiA2OTZDMUZBMS00MDMwLTRGQTQtODcxMy1GQUY5QjJFQTdDMEEgL2YgPiAlVE1QJVxzZW5zZVRtcC50eHQgMj4mMQogICAgaWYgJUVSUk9STEVWRUwlIE5FUSAwICgKICAgICAgICBzZXQgImVycm9yRGVzY3JpcHRpb249VW5hYmxlIHRvIGRlbGV0ZSBwcmV2aW91cyBvZmZib2FyZGluZyBpbmZvcm1hdGlvbiBmcm9tIHJlZ2lzdHJ5LiIKICAgICAgICBzZXQgZXJyb3JDb2RlPTUKICAgICAgICBzZXQgbGFzdEVycm9yPSVFUlJPUkxFVkVMJQogICAgICAgIEdPVE8gRVJST1IKICAgICkKKQoKUkVHIGFkZCAiSEtMTVxTT0ZUV0FSRVxQb2xpY2llc1xNaWNyb3NvZnRcV2luZG93cyBBZHZhbmNlZCBUaHJlYXQgUHJvdGVjdGlvbiIgL3YgT25ib2FyZGluZ0luZm8gL3QgUkVHX1NaIC9mIC9kICJ7XCJib2R5XCI6XCJ7XFxcInByZXZpb3VzT3JnSWRzXFxcIjpbXSxcXFwib3JnSWRcXFwiOlxcXCIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMGRlYWRcXFwiLFxcXCJnZW9Mb2NhdGlvblVybFxcXCI6XFxcImh0dHBzOi8vc2V2aWxsZWNsb3VkZ2F0ZXdheS1zdGcubWljcm9zb2Z0LmNvbS9cXFwiLFxcXCJkYXRhY2VudGVyXFxcIjpcXFwiRWFzdFVzMlxcXCIsXFxcInZvcnRleEdlb0xvY2F0aW9uXFxcIjpcXFwiU2FuZGJveFxcXCIsXFxcInZlcnNpb25cXFwiOlxcXCIxLjNcXFwifVwiLFwic2lnXCI6XCJKc0dGR2o3UCtIL1cvUEExcW9LTml3RXROZkU4YkhGblhxeks1SDhsQ09wc0RnRGNWTWpoT3BmQTZJTTJ3RFZadk5kWGhvZ0dEQ1FDWjNYdFJCbHRkcGFWc3pZNGtINVpHVkdnRUQxVE80ZCtCTjk2VDFSa3pOZ2NjZ2ZCWDNNQUw1bllUWXdiMGlUQUtFMGIxb3BmQmZrMzJQN3Q3b3A5dkhPeXZNMW5qdlZybVdWWWVSNk4rZFFrLzM4UDNUY2V3b2FkRmFUb3pidjBZK3dZOHgrbFcxeWN6bk1KMitQWTlxRHpabXoybE1rd0FlaDJwRTI4VW5MT0lhNjg0Y3U5RitHUlAveGhhR3dQWmpoc1JCSW51cHV5U1E2Y09YdE9kSERCQlRaZzVKSEhHMDBkNk9tUk5ONmxBelJWeFJURUVmaFFUVnN0U1poKzNMSjJTMGhmZGc9PVwiLFwic2hhMjU2c2lnXCI6XCJsVGI4ZittdkFveDRCckxPS0lqejFnTTNrRHREbG9wL21uNmZodmVEWjMvblVqb1lhNk81V2p4R0x2Z3lqZ0RtdThETkdPNUtqWWlxTVZ6Z0QzcHdqOVYwOXVOeUdYNGJUaXN0d1BnQTFLbGMrMUFLcmtWQTRGWGlQTHlST2tXdlhLM2dydFFJWU9nYjdSRlh6dzhnQlB5YlV0Z0FWbmNaMVFpdTAzblFLdGh5MFU3aXBlZUxaVE9oYVlhN001cTJxUTcya1BaSTZWUWlqSE42NVg3UTEvcm5rdUlSUkFmUEErZElIeE4wN0tpSlY2MGZsbDFZUUtOUlpSYUhKeGQ1UDd0RmdaaytEZE5mNVNXcHVaSTZTZE9MdExDN3VnbmdnK0krU2pUeUtvcVFKZElkWGRRaE5JK3I3WEM1L1M0ZlhnRVNtWmZKTUYxL0JtVlVFZUJDZlE9PVwiLFwiY2VydFwiOlwiTUlJRjVqQ0NBODZnQXdJQkFnSVRNd0FBQVkwdmh1VTl6R2x5b1FBQUFBQUJqVEFOQmdrcWhraUc5dzBCQVFzRkFEQitNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1YyRnphR2x1WjNSdmJqRVFNQTRHQTFVRUJ4TUhVbVZrYlc5dVpERWVNQndHQTFVRUNoTVZUV2xqY205emIyWjBJRU52Y25CdmNtRjBhVzl1TVNnd0pnWURWUVFERXg5TmFXTnliM052Wm5RZ1UyVmpkWEpsSUZObGNuWmxjaUJEUVNBeU1ERXhNQjRYRFRJd01EZ3dOakl3TlRBMU9Gb1hEVEl4TURnd05qSXdOVEExT0Zvd2dZb3hDekFKQmdOVkJBWVRBbFZUTVFzd0NRWURWUVFJRXdKWFFURVFNQTRHQTFVRUJ4TUhVbVZrYlc5dVpERWVNQndHQTFVRUNoTVZUV2xqY205emIyWjBJRU52Y25CdmNtRjBhVzl1TVI0d0hBWURWUVFMRXhWTmFXTnliM052Wm5RZ1EyOXljRzl5WVhScGIyNHhIREFhQmdOVkJBTVRFMU5sZG1sc2JHVXVWMmx1Wkc5M2N5NWpiMjB3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRRENmcWtCcmV1Um1qdm90bDFFdURQWVplaVc1dUVERmV6MXhsYmh6cjVaa1BjSUJYT3RIMVZWRjRaUmVrdTFpK3ZMbTNON2xkVGl4c2RSZW0yU09iVkFGb1dDbjZ2cEYwL1ZYcWpmUTJHbyt2dk9UU1Q0Si9pQWxocXhialVVbkRyWFpXYUMvS2xtU0lYMjlHUng5bG1pT0IrWVBhRzlOTEE1U3F3emNad2hjTThzS3F0VDhHaWQ3Q3JFNGs1WldES0gyL1dPVTVsQ01iZTY2MWtrbWxKZDB2TlBDTXpyMUgzVmNmRG1qVVo4Q25WQzBFODlhVVA3VHhhME1uS0FzVFArQkpCNXJMenhkVlJRbGRNbmhHVXNXRU0ydUNOWXFOdWc4QWYrTGp3RytySXZrSVR3NVlDMUZDZy9qVHBvdHJnSFhmSGRqaURqa0F3ZWY1TlVkTmx0QWdNQkFBR2pnZ0ZPTUlJQlNqQU9CZ05WSFE4QkFmOEVCQU1DQjRBd0V3WURWUjBsQkF3d0NnWUlLd1lCQlFVSEF3RXdIUVlEVlIwT0JCWUVGT0U1NVFoeno5bEhuWTl2aDVTWmtyMTdjbEtzTUI0R0ExVWRFUVFYTUJXQ0UxTmxkbWxzYkdVdVYybHVaRzkzY3k1amIyMHdId1lEVlIwakJCZ3dGb0FVTmxhSlpVbkxXNXN2UEt4Q0ZsQk5rYmt6MTVFd1V3WURWUjBmQkV3d1NqQklvRWFnUklaQ2FIUjBjRG92TDNkM2R5NXRhV055YjNOdlpuUXVZMjl0TDNCcmFXOXdjeTlqY213dlRXbGpVMlZqVTJWeVEwRXlNREV4WHpJd01URXRNVEF0TVRndVkzSnNNR0FHQ0NzR0FRVUZCd0VCQkZRd1VqQlFCZ2dyQmdFRkJRY3dBb1pFYUhSMGNEb3ZMM2QzZHk1dGFXTnliM052Wm5RdVkyOXRMM0JyYVc5d2N5OWpaWEowY3k5TmFXTlRaV05UWlhKRFFUSXdNVEZmTWpBeE1TMHhNQzB4T0M1amNuUXdEQVlEVlIwVEFRSC9CQUl3QURBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQWdFQVp3ZGxhWjg4U3BURFdUUjc5NWRHV2N0dUxUWmc2UDBqYmh4Q0dhOXBnb3AzSXZ1Qi9QYzJXT2Ruc1ZCYUpUZG5WN3NvcFZHa3V4Vjc1eWk2Q0NQM2sxNG0xQ1FhNk01cmNodmJuVEY0TFdjWld4U1g4Z0hjRWhObFdYV3hxU3FKMzNnSHVGNEc5SCs3VDM3UlNMb2Jqb1MyeVRhc21SRWtCNTI4b1gwWVU0cVpjeVdyK0xEMVovQk10dEhMUlZUZUtHdnpMaVpCNmhqWURybW9qUUxKZXZwSEdoTVdOTU9oR2RLd2pOS0crZGhVRHV6dTdsVXgwZzdhaUR3c1l4NzFTaU9ucDJWOSt5UEhET2R5OXlBRUNPb0N3bUprbW5qLzlDMmVNMDFDQjFZMUxTWHNiQUJtQVd3Si9iczhRNnhTWlJtSnkyRXJSQ3VTakl0MUQydzRTUFVMRFNNVTdIaDk3TWJpQVJDV25TMVRRMGg5azZFWVVmbW1ZaFNHQ0p3MXFlekFqZ2FmTngyYWcrRDhzRFFkQzRjVHhUSTk5aGthUm1DakFmeW1qcVdscUx5V0pCUmdvaXdTd21MVDFUbzRJNUVjZHFoQ1FNdEpoRVVRR2dpenk2ZUE2RlhtNHhmeExua08xSkNKSGJUejlqL2c4OW5zZ0hVN2V4SDVnZHhZQ0FDMGJkUlZLN1YrVlBDcExnLy9SemtlNm9mc1Y3WkxyQUpvN0EyQTZka0dVL09XeGhpVjJiY0VlUEpmSWsrVjM3UHp3c25yZ1JFV2RpM1pic3dBOU5aTTVzZGVSMFlFRm11bit0b2JCRGMzMlRidlVyTUpTb2tjcG9XNnRZczlkR0tUcE1GV01EZ09UeEZjSHljbHZrMjRVQVV2dXk2WVcvSVN2VlY4a3BRPVwiLFwiY2hhaW5cIjpbXCJNSUlHMkRDQ0JNQ2dBd0lCQWdJS1lUKzNHQUFBQUFBQUJEQU5CZ2txaGtpRzl3MEJBUXNGQURDQmlERUxNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2xkaGMyaHBibWQwYjI0eEVEQU9CZ05WQkFjVEIxSmxaRzF2Ym1ReEhqQWNCZ05WQkFvVEZVMXBZM0p2YzI5bWRDQkRiM0p3YjNKaGRHbHZiakV5TURBR0ExVUVBeE1wVFdsamNtOXpiMlowSUZKdmIzUWdRMlZ5ZEdsbWFXTmhkR1VnUVhWMGFHOXlhWFI1SURJd01URXdIaGNOTVRFeE1ERTRNakkxTlRFNVdoY05Nall4TURFNE1qTXdOVEU1V2pCK01Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LVjJGemFHbHVaM1J2YmpFUU1BNEdBMVVFQnhNSFVtVmtiVzl1WkRFZU1Cd0dBMVVFQ2hNVlRXbGpjbTl6YjJaMElFTnZjbkJ2Y21GMGFXOXVNU2d3SmdZRFZRUURFeDlOYVdOeWIzTnZablFnVTJWamRYSmxJRk5sY25abGNpQkRRU0F5TURFeE1JSUNJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBZzhBTUlJQ0NnS0NBZ0VBMEF2QXBLZ1pnZUkyNWVLcTVmT3lGVmgxdnJUbFNmSGdoUG03RFdUdmhjR0JWYmp6NS9GdFFGVTl6b3RxMFlTVDlYVjhXNlRVZEJES012TWowNjd1ejU0RVdNTFpSOHZSZkFCQlNIRWJBV2NYR0svRy9uTURmdVR2UTV6dkFYRXFINEVtUTNlWVZGZHpuVlVyOEo2T2ZRWU9yQnRVOHliMytDTUlJb3VlQmgwM09QMXkwc3JsWThHYVduMnliYk5TcVc3cHJyWDhpemI1bnZyMkhGZ2JsMWFsRWVXM1V0dTc2ZkJVdjdUL0xHeTRYU2JPb0FyWDM1UHRmOTJzOFN4ekd0a1pOMVc2M1NKNGpxSFVtd240QnlJeGNiQ1VydUN3NXlaRVY1Q0JseFhPWWV4bDRrdnhoVklXTXZpMWVLcCt6VTNzZ3lHa3FKdSttbW9FNEtNY3pWWVliUDFyTDBJKzRqZnljcXZRZUhOeWU5N3NBRmpsSVRDakNEcVo3NS9EOTNvV2xtVzF3NEd2OURsd1NhLzJxZlpxQURqNXRBZ1o0Qm8xcFZaMklsOXE4bW11UHExWVJrMjRWUGFKUVVRZWNyRzhFaWRUMHNIL3NzMVFtQjYxOUx1MndvSTUyYXdiOGpzbmhHcXd4aVlMMXpvUTU3UGJmTk5XckZOTUMvbzdNVGQwMkZrcitRQjVHUVo3L1J3ZFF0UkJEUzhGRHRWclNTUC96ODM0ZW9MUDJqd3QzK2pZRWdRWXVoNklkN2lZSHhBSHU4Z0ZmZ3NKdjJ2ZDQwNWJzUG5IaEtZN3lreWZXMklwOThlaXFKV0ljQ3psd1Q4OFVpTlBRSnJETVlXREw3OHA4UjFRanlHV0I4N3Y4b0RDUkgyYll1OHZ3M2VKcTBWTlV6NENlZE1DQXdFQUFhT0NBVXN3Z2dGSE1CQUdDU3NHQVFRQmdqY1ZBUVFEQWdFQU1CMEdBMVVkRGdRV0JCUTJWb2xsU2N0Ym15ODhyRUlXVUUyUnVUUFhrVEFaQmdrckJnRUVBWUkzRkFJRURCNEtBRk1BZFFCaUFFTUFRVEFMQmdOVkhROEVCQU1DQVlZd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZkJnTlZIU01FR0RBV2dCUnlMVG9DTVpCRHVSUUZUdUhxcDhjeDBTT0pOREJhQmdOVkhSOEVVekJSTUUrZ1RhQkxoa2xvZEhSd09pOHZZM0pzTG0xcFkzSnZjMjltZEM1amIyMHZjR3RwTDJOeWJDOXdjbTlrZFdOMGN5OU5hV05TYjI5RFpYSkJkWFF5TURFeFh6SXdNVEZmTUROZk1qSXVZM0pzTUY0R0NDc0dBUVVGQndFQkJGSXdVREJPQmdnckJnRUZCUWN3QW9aQ2FIUjBjRG92TDNkM2R5NXRhV055YjNOdlpuUXVZMjl0TDNCcmFTOWpaWEowY3k5TmFXTlNiMjlEWlhKQmRYUXlNREV4WHpJd01URmZNRE5mTWpJdVkzSjBNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUNBUUJCeUdIQjlWdWVQcEV4OGJER3Z3a0J0SjIya0hUWENkdW1MZzJmeU9kMk5FYXZCMkNKVElHelBOWDBFalYxd25PbDlVMkVqTXVrWGErL2t2WVhDRmRDbFhKbEJYWjVyZTdSdXJndVZLTlJCNnhvNnlFTTR5V0J3czBxOHNQL3o4SzlTUmlheC9DRXhma1V2R3VWNVpidnMwTFNVOVZLb0JMRXJoSjJVd2xXRHAzMzA2WkppRkR5aWl5WElLSytUbmp2QldXM1M2RVdpTjR4eHdoQ0pIeWtlNTZkdkdBQVhtS1g0NVA4cC81YmV5WGY1Rk4vUzc3bVB2RGJBWGxDSEc2RmJIMjJSREQ3cFRlU2s3S2w3aUN0UDFQVnlmUW9hMWZCK0IxcXQxWXF0aWVCSEtZdG4rZjAwREdEbDZncXRxeStHMEgxNUlsZlZ2dmFXdE5lZlZXVUVINVRWL1JLUFVBcXlMMW5uNFRoRU83OTJtc1Zna244UmgzL1JRWjBuRUlVN2NVNTA3UE5DNE1ua0VOUmt2SkVncTV1bWhVWHNobjZ4MFZzbUFGN3Z6ZXBzSWlra3J3NE9PQWQ1SHlYbUJvdVgrODRaYmMxTDcxL1R5SDZ4SXpTYndiNVNUWHEzeUFQSmFycVlLc3NIMHVKL0xmNlhGU1FTejZpS0U5czVGSmx3ZjJRSElXQ2lHN3BwbFhkSVNoNVJiQVU1UXJNNWwvRXU5dGhOR21mckNZNDk4RXBRUWdWTGt5Zzkva01QdDVmcXdnSkxZT3NyRFNEWXZUSlNVS0pKYlZ1c2tmRnN6bWdzU0FiTExHT0JHK2xNRWtjMEVicFFGdjByVzY2MjRKS2h4SktnQWxOMjk5MnVRVmJHK0M3SUhCZkFDWEgwdzc2RnExN0lwNXhDQT09XCIsXCJNSUlGN1RDQ0E5V2dBd0lCQWdJUVA0dkl0Znlmc3BaRHRXbldiRUxoUkRBTkJna3Foa2lHOXcwQkFRc0ZBRENCaURFTE1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDbGRoYzJocGJtZDBiMjR4RURBT0JnTlZCQWNUQjFKbFpHMXZibVF4SGpBY0JnTlZCQW9URlUxcFkzSnZjMjltZENCRGIzSndiM0poZEdsdmJqRXlNREFHQTFVRUF4TXBUV2xqY205emIyWjBJRkp2YjNRZ1EyVnlkR2xtYVdOaGRHVWdRWFYwYUc5eWFYUjVJREl3TVRFd0hoY05NVEV3TXpJeU1qSXdOVEk0V2hjTk16WXdNekl5TWpJeE16QTBXakNCaURFTE1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDbGRoYzJocGJtZDBiMjR4RURBT0JnTlZCQWNUQjFKbFpHMXZibVF4SGpBY0JnTlZCQW9URlUxcFkzSnZjMjltZENCRGIzSndiM0poZEdsdmJqRXlNREFHQTFVRUF4TXBUV2xqY205emIyWjBJRkp2YjNRZ1EyVnlkR2xtYVdOaGRHVWdRWFYwYUc5eWFYUjVJREl3TVRFd2dnSWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUNEd0F3Z2dJS0FvSUNBUUN5Z0VHcU5UaE5FM0l5YUNKTnVMTHgvOVZTdkd6SDlkSktqRGJ1MGNKY2ZveUtycThUS0cvQWMrTTZ6dEFscUZvNmJlK291Rm1yRXlOb3pRd3BoOUZ2Z0Z5UFJIOWRrQUZTV0t4UnhWOHFoOXpjMkFvZHdRTzVlN0JXNktQZVpHSENudmp6Zkxuc0RiVlUva3kyWlUrSThKeEltUXhDQ3dsOE1Wa1hlUVo0S0kySk9rd0RKYjV4YWx3TDU0UmdwSmtpNDlLdmhLU24rOUdZN1F5cDNwU0o0UTZnM01ET21UM3FDRks3Vm5ua0g0UzZIcmkweEVsY1R6RkxoOTNkQldjbW1ZRGdjUkdqdUtWQjRxUlR1ZmN5S1lNTUU3ODJYZ1N6UzBOSEwydmlrUjdUbUUvZFFnZkk2QjBTL0ptcGF6NlNmc2pXYVRyOFpMMjJDWjNLL1F3TG9wdDNZRXNEbEtRd2FSTFdRaTNCUVV6SzNLcjlqMXVEUnByWi9MSFI0N1BKZjBoNnpTVHdRWTljZE5Dc3NCQWdCa20zeHkwaHlGZmowSWJ6QTJqNzBNNXh3WW1aU21RQmJQM3NNSkhQUVR5U3grVzZoaDFoaE1kZmd6bGlyclNTTDBmekMvaFY2NkFmV2RDN2RKc2UwSGJtOHVrRzF4RG8rbVRlYWNZMWxvZ0M4RWE0UHllWmI4dHhpU2sxOTBnV0FqV1AxWGw4VFFMUFgrdUtnMDlGY1lqNXFRMU9jdW5DbkFmUFNSdE9CQTVqVVl4ZTJBREJWU3kyeHVEQ1pVN0pORG4xbkxQRWZ1aGhiaE5mRmNSZjJYN3RIYzd1Uk96TExvYXg3RGoyY08yclhCUEIyUThOeDRDeVZlMDA5NnliNU1QYTUwYzhwcldQTWQvRlM2L3I4UUlEQVFBQm8xRXdUekFMQmdOVkhROEVCQU1DQVlZd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFRmdRVWNpMDZBakdRUTdrVUJVN2g2cWZITWRFamlUUXdFQVlKS3dZQkJBR0NOeFVCQkFNQ0FRQXdEUVlKS29aSWh2Y05BUUVMQlFBRGdnSUJBSDl5encrM3hSWGJtOEJKeWlaYi9wNFQ1dFB3MHR1WFgvSkxQMDJ6cmhtdTdkZVhvS3p2cVRxandrR3c1YmlSbmhPQkpBUG1DZjAvVjBBNUlTUlcwUkF2UzBDcE5vWkx0Rk5YbXZ2eGZvbVBFZjRZYkZHcTZPMEpsYlhsY2NtaDZZZDFwaFYveVg0M1ZGNTBrOFhEWjh3TlQydW9Gd3h0Q0pKK2k5MkJxaTF3SWNNOUJoUzd2eVJlcDRUWFB3OGhJcjFMQUFiYmx4ellYdFRGQzF5SGJsQ2s2TU00cFB2TExNV1NacHVGWHN0NmJKTjhnQ2xZVzFlMVFHbTZDSG1tWkdJVm5ZZVdSYlZtSXlBRGl4eHpvTk9pZVRQZ1VGbUcyeS9sQWlYcWN5cWZBQlRJTnNlU08rbE9BT3pZVmdtNU0wa1MwbFFMQWF1c1I3YVJLWDFNdEhXQVVnSG95b0wybjh5c25JOFg2aThtc0t0eXJBditubEVleDBOVlowOVJzMWZXdHV6dVVyYzY2VTdoMTRHSXZFK09kYnRMcVBBMXFpYlVaMmRKc25CTU81UGNIZDk0a0laeXNqaWswZHlTVGNsWTZ5c1NYTlE3cm94cnNJUGxBVC80Q1RMMmt6VTBJcS9kTncxM0NZQXJ6VWdBOFl5WkdVY0ZBZW5SdjlGTzBPWW9RemVacEFwS0NObWFjWFBTcXMweEUyTjJvVGR2a2pnZWZSSThaakxueTIzaC9GS0ozY3JXWmdXYWxtRytvaWpISEtPbk5sQThPcVRmU203bWh6dk82L0RnZ1RlZEV6eFNqcjI1SFRUR0hkVUthajJZS1hDTWlTclJxNElRU0IvYzlPK2x4YnRWR2poamhFNjNiSzJWVk94bEloQkpGN2pBSHNjUHJGUkhcIl19IiA+ICVUTVAlXHNlbnNlVG1wLnR4dCAyPiYxCmlmICVFUlJPUkxFVkVMJSBORVEgMCAoCiAgIHNldCAiZXJyb3JEZXNjcmlwdGlvbj1VbmFibGUgdG8gd3JpdGUgb25ib2FyZGluZyBpbmZvcm1hdGlvbiB0byByZWdpc3RyeS4iCiAgIHNldCBlcnJvckNvZGU9MTAKICAgc2V0IGxhc3RFcnJvcj0lRVJST1JMRVZFTCUKICAgR09UTyBFUlJPUgopCgplY2hvIFN0YXJ0aW5nIHRoZSBzZXJ2aWNlLCBpZiBub3QgYWxyZWFkeSBydW5uaW5nID5OVUwgMj4mMQplY2hvLiA+TlVMIDI+JjEKc2MgcXVlcnkgIlNFTlNFIiB8IGZpbmQgL2kgIlJVTk5JTkciID5OVUwgMj4mMQppZiAlRVJST1JMRVZFTCUgRVFVIDAgR09UTyBSVU5OSU5HCgpuZXQgc3RhcnQgc2Vuc2UgPiAlVE1QJVxzZW5zZVRtcC50eHQgMj4mMQppZiAlRVJST1JMRVZFTCUgTkVRIDAgKAogICBlY2hvIFdpbmRvd3MgRGVmZW5kZXIgQWR2YW5jZWQgVGhyZWF0IFByb3RlY3Rpb24gU2VydmljZSBoYXMgbm90IHN0YXJ0ZWQgeWV0ID5OVUwgMj4mMQogICBHT1RPIFdBSVRfRk9SX1RIRV9TRVJWSUNFX1RPX1NUQVJUCikKZ290byBTVUNDRUVERUQKCjpSVU5OSU5HCnNldCAicnVubmluZ091dHB1dD1UaGUgV2luZG93cyBEZWZlbmRlciBBZHZhbmNlZCBUaHJlYXQgUHJvdGVjdGlvbiBTZXJ2aWNlIGlzIGFscmVhZHkgcnVubmluZyEiCmVjaG8gJXJ1bm5pbmdPdXRwdXQlID5OVUwgMj4mMQplY2hvLiA+TlVMIDI+JjEKZXZlbnRjcmVhdGUgL2wgQXBwbGljYXRpb24gL3NvIFdEQVRQT25ib2FyZGluZyAvdCBJbmZvcm1hdGlvbiAvaWQgMTAgL2QgIiVydW5uaW5nT3V0cHV0JSIgPk5VTCAyPiYxCkdPVE8gV0FJVF9GT1JfVEhFX1NFUlZJQ0VfVE9fU1RBUlQKCjpFUlJPUgpTZXQgL1AgZXJyb3JNc2c9PCVUTVAlXHNlbnNlVG1wLnR4dApzZXQgImVycm9yT3V0cHV0PVtFcnJvciBJZDogJWVycm9yQ29kZSUsIEVycm9yIExldmVsOiAlbGFzdEVycm9yJV0gJWVycm9yRGVzY3JpcHRpb24lIEVycm9yIG1lc3NhZ2U6ICVlcnJvck1zZyUiCiVwb3dlcnNoZWxsUGF0aCUgLUV4ZWN1dGlvblBvbGljeSBCeXBhc3MgLU5vUHJvZmlsZSAtQ29tbWFuZCAiQWRkLVR5cGUgJ3VzaW5nIFN5c3RlbTsgdXNpbmcgU3lzdGVtLkRpYWdub3N0aWNzOyB1c2luZyBTeXN0ZW0uRGlhZ25vc3RpY3MuVHJhY2luZzsgbmFtZXNwYWNlIFNlbnNlIHsgW0V2ZW50RGF0YShOYW1lID0gXCJPbmJvYXJkaW5nXCIpXXB1YmxpYyBzdHJ1Y3QgT25ib2FyZGluZ3twdWJsaWMgc3RyaW5nIE1lc3NhZ2UgeyBnZXQ7IHNldDsgfX0gcHVibGljIGNsYXNzIFRyYWNlIHtwdWJsaWMgc3RhdGljIEV2ZW50U291cmNlT3B0aW9ucyBUZWxlbWV0cnlDcml0aWNhbE9wdGlvbiA9IG5ldyBFdmVudFNvdXJjZU9wdGlvbnMoKXtMZXZlbCA9IEV2ZW50TGV2ZWwuRXJyb3IsIEtleXdvcmRzID0gKEV2ZW50S2V5d29yZHMpMHgwMDAwMjAwMDAwMDAwMDAwLCBUYWdzID0gKEV2ZW50VGFncykweDAyMDAwMDB9OyBwdWJsaWMgdm9pZCBXcml0ZU9uYm9hcmRpbmdNZXNzYWdlKHN0cmluZyBtZXNzYWdlKXtlcy5Xcml0ZShcIk9uYm9hcmRpbmdTY3JpcHRcIiwgVGVsZW1ldHJ5Q3JpdGljYWxPcHRpb24sIG5ldyBPbmJvYXJkaW5nIHtNZXNzYWdlID0gbWVzc2FnZX0pO30gcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgc3RyaW5nW10gdGVsZW1ldHJ5VHJhaXRzID0geyBcIkVUV19HUk9VUFwiLCBcIns1RUNCMEJBQy1COTMwLTQ3RjUtQThBNC1FODI1MzUyOUVEQjd9XCIgfTsgcHJpdmF0ZSBFdmVudFNvdXJjZSBlcyA9IG5ldyBFdmVudFNvdXJjZShcIk1pY3Jvc29mdC5XaW5kb3dzLlNlbnNlLkNsaWVudC5NYW5hZ2VtZW50XCIsRXZlbnRTb3VyY2VTZXR0aW5ncy5FdHdTZWxmRGVzY3JpYmluZ0V2ZW50Rm9ybWF0LHRlbGVtZXRyeVRyYWl0cyk7fX0nOyAkbG9nZ2VyID0gTmV3LU9iamVjdCAtVHlwZU5hbWUgU2Vuc2UuVHJhY2U7ICRsb2dnZXIuV3JpdGVPbmJvYXJkaW5nTWVzc2FnZSgnJWVycm9yT3V0cHV0JScpIiA+TlVMIDI+JjEKZWNobyAlZXJyb3JPdXRwdXQlID5OVUwgMj4mMQplY2hvLiA+TlVMIDI+JjEKZXZlbnRjcmVhdGUgL2wgQXBwbGljYXRpb24gL3NvIFdEQVRQT25ib2FyZGluZyAvdCBFcnJvciAvaWQgJWVycm9yQ29kZSUgL2QgIiVlcnJvck91dHB1dCUiID5OVUwgMj4mMQpHT1RPIENMRUFOVVAKCjpTVUNDRUVERUQKZWNobyBGaW5pc2hlZCBwZXJmb3JtaW5nIG9uYm9hcmRpbmcgb3BlcmF0aW9ucyA+TlVMIDI+JjEKZWNoby4gPk5VTCAyPiYxCkdPVE8gV0FJVF9GT1JfVEhFX1NFUlZJQ0VfVE9fU1RBUlQKCjpXQUlUX0ZPUl9USEVfU0VSVklDRV9UT19TVEFSVAplY2hvIFdhaXRpbmcgZm9yIHRoZSBzZXJ2aWNlIHRvIHN0YXJ0ID5OVUwgMj4mMQplY2hvLiA+TlVMIDI+JjEKCnNldCAvYSBjb3VudGVyPTAKCjpTRU5TRV9SVU5OSU5HX1dBSVQKc2MgcXVlcnkgIlNFTlNFIiB8IGZpbmQgL2kgIlJVTk5JTkciID5OVUwgMj4mMQppZiAlRVJST1JMRVZFTCUgTkVRIDAgKAoJSUYgJWNvdW50ZXIlIEVRVSA0ICgKCQlzZXQgImVycm9yRGVzY3JpcHRpb249VW5hYmxlIHRvIHN0YXJ0IFdpbmRvd3MgRGVmZW5kZXIgQWR2YW5jZWQgVGhyZWF0IFByb3RlY3Rpb24gU2VydmljZS4iCgkJc2V0IGVycm9yQ29kZT0xNQoJCXNldCBsYXN0RXJyb3I9JUVSUk9STEVWRUwlCgkJR09UTyBFUlJPUgoJKQoKCXNldCAvYSBjb3VudGVyPSVjb3VudGVyJSsxCgoJdGltZW91dCA1ID5OVUwgMj4mMQoJR09UTyA6U0VOU0VfUlVOTklOR19XQUlUCikKCnNldCAvYSBjb3VudGVyPTAKCjpTRU5TRV9PTkJPQVJERURfU1RBVFVTX1dBSVQKUkVHIHF1ZXJ5ICJIS0xNXFNPRlRXQVJFXE1pY3Jvc29mdFxXaW5kb3dzIEFkdmFuY2VkIFRocmVhdCBQcm90ZWN0aW9uXFN0YXR1cyIgL3YgT25ib2FyZGluZ1N0YXRlIC9yZWc6NjQgPk5VTCAyPiYxCmlmICVFUlJPUkxFVkVMJSBORVEgMCAoCglJRiAlY291bnRlciUgRVFVIDQgKAoJCUBlY2hvIFdpbmRvd3MgRGVmZW5kZXIgQWR2YW5jZWQgVGhyZWF0IFByb3RlY3Rpb24gU2VydmljZSBpcyBub3QgcnVubmluZyBhcyBleHBlY3RlZD4gJVRNUCVcc2Vuc2VUbXAudHh0CgkJc2V0IGVycm9yQ29kZT0zNQogICAgIHNldCBsYXN0RXJyb3I9JUVSUk9STEVWRUwlCgkJR09UTyBFUlJPUgoJKQoKCXNldCAvYSBjb3VudGVyPSVjb3VudGVyJSsxCgoJdGltZW91dCA1ID5OVUwgMj4mMQoJR09UTyA6U0VOU0VfT05CT0FSREVEX1NUQVRVU19XQUlUCikKCnNldCAvYSBjb3VudGVyPTAKCjpTRU5TRV9PTkJPQVJERURfV0FJVApSRUcgcXVlcnkgIkhLTE1cU09GVFdBUkVcTWljcm9zb2Z0XFdpbmRvd3MgQWR2YW5jZWQgVGhyZWF0IFByb3RlY3Rpb25cU3RhdHVzIiAvdiBPbmJvYXJkaW5nU3RhdGUgL3JlZzo2NCB8IGZpbmQgL2kgIjB4MSIgPk5VTCAyPiYxCmlmICVFUlJPUkxFVkVMJSBORVEgMCAoCglJRiAlY291bnRlciUgRVFVIDQgKAoJCUBlY2hvIFdpbmRvd3MgRGVmZW5kZXIgQWR2YW5jZWQgVGhyZWF0IFByb3RlY3Rpb24gU2VydmljZSBpcyBub3QgcnVubmluZyBhcyBleHBlY3RlZD4gJVRNUCVcc2Vuc2VUbXAudHh0CgkJc2V0IGVycm9yQ29kZT00MAogICAgIHNldCBsYXN0RXJyb3I9JUVSUk9STEVWRUwlCgkJR09UTyBFUlJPUgoJKQoKCXNldCAvYSBjb3VudGVyPSVjb3VudGVyJSsxCgoJdGltZW91dCA1ID5OVUwgMj4mMQoJR09UTyA6U0VOU0VfT05CT0FSREVEX1dBSVQKKQoKc2V0ICJzdWNjZXNzT3V0cHV0PVN1Y2Nlc3NmdWxseSBvbmJvYXJkZWQgbWFjaGluZSB0byBXaW5kb3dzIERlZmVuZGVyIEFkdmFuY2VkIFRocmVhdCBQcm90ZWN0aW9uIgplY2hvICVzdWNjZXNzT3V0cHV0JSA+TlVMIDI+JjEKZWNoby4KZXZlbnRjcmVhdGUgL2wgQXBwbGljYXRpb24gL3NvIFdEQVRQT25ib2FyZGluZyAvdCBJbmZvcm1hdGlvbiAvaWQgMjAgL2QgIiVzdWNjZXNzT3V0cHV0JSIgPk5VTCAyPiYxCiVwb3dlcnNoZWxsUGF0aCUgLUV4ZWN1dGlvblBvbGljeSBCeXBhc3MgLU5vUHJvZmlsZSAtQ29tbWFuZCAiQWRkLVR5cGUgJ3VzaW5nIFN5c3RlbTsgdXNpbmcgU3lzdGVtLkRpYWdub3N0aWNzOyB1c2luZyBTeXN0ZW0uRGlhZ25vc3RpY3MuVHJhY2luZzsgbmFtZXNwYWNlIFNlbnNlIHsgW0V2ZW50RGF0YShOYW1lID0gXCJPbmJvYXJkaW5nXCIpXXB1YmxpYyBzdHJ1Y3QgT25ib2FyZGluZ3twdWJsaWMgc3RyaW5nIE1lc3NhZ2UgeyBnZXQ7IHNldDsgfX0gcHVibGljIGNsYXNzIFRyYWNlIHtwdWJsaWMgc3RhdGljIEV2ZW50U291cmNlT3B0aW9ucyBUZWxlbWV0cnlDcml0aWNhbE9wdGlvbiA9IG5ldyBFdmVudFNvdXJjZU9wdGlvbnMoKXtMZXZlbCA9IEV2ZW50TGV2ZWwuSW5mb3JtYXRpb25hbCwgS2V5d29yZHMgPSAoRXZlbnRLZXl3b3JkcykweDAwMDAyMDAwMDAwMDAwMDAsIFRhZ3MgPSAoRXZlbnRUYWdzKTB4MDIwMDAwMH07IHB1YmxpYyB2b2lkIFdyaXRlT25ib2FyZGluZ01lc3NhZ2Uoc3RyaW5nIG1lc3NhZ2Upe2VzLldyaXRlKFwiT25ib2FyZGluZ1NjcmlwdFwiLCBUZWxlbWV0cnlDcml0aWNhbE9wdGlvbiwgbmV3IE9uYm9hcmRpbmcge01lc3NhZ2UgPSBtZXNzYWdlfSk7fSBwcml2YXRlIHN0YXRpYyByZWFkb25seSBzdHJpbmdbXSB0ZWxlbWV0cnlUcmFpdHMgPSB7IFwiRVRXX0dST1VQXCIsIFwiezVFQ0IwQkFDLUI5MzAtNDdGNS1BOEE0LUU4MjUzNTI5RURCN31cIiB9OyBwcml2YXRlIEV2ZW50U291cmNlIGVzID0gbmV3IEV2ZW50U291cmNlKFwiTWljcm9zb2Z0LldpbmRvd3MuU2Vuc2UuQ2xpZW50Lk1hbmFnZW1lbnRcIixFdmVudFNvdXJjZVNldHRpbmdzLkV0d1NlbGZEZXNjcmliaW5nRXZlbnRGb3JtYXQsdGVsZW1ldHJ5VHJhaXRzKTt9fSc7ICRsb2dnZXIgPSBOZXctT2JqZWN0IC1UeXBlTmFtZSBTZW5zZS5UcmFjZTsgJGxvZ2dlci5Xcml0ZU9uYm9hcmRpbmdNZXNzYWdlKCclc3VjY2Vzc091dHB1dCUnKSIgPk5VTCAyPiYxCiIlUFJPR1JBTUZJTEVTJVxXaW5kb3dzIERlZmVuZGVyXE1wQ21kUnVuLmV4ZSIgLVJlbG9hZEVuZ2luZSA+TlVMIDI+JjEKCkdPVE8gQ0xFQU5VUAoKOkNMRUFOVVAKaWYgZXhpc3QgJVRNUCVcc2Vuc2VUbXAudHh0IGRlbCAlVE1QJVxzZW5zZVRtcC50eHQKRVhJVCAvQiAlZXJyb3JDb2RlJQo=="),
// OnboardingPackageWindows: []byte("QGVjaG8gb2ZmCgplY2hvLiA+TlVMIDI+JjEKZWNobyBTdGFydGluZyBXaW5kb3dzIERlZmVuZGVyIEFkdmFuY2VkIFRocmVhdCBQcm90ZWN0aW9uIG9uYm9hcmRpbmcgcHJvY2Vzcy4uLiA+TlVMIDI+JjEKZWNoby4gPk5VTCAyPiYxCgpzZXQgZXJyb3JDb2RlPTAKc2V0IGxhc3RFcnJvcj0wCnNldCAidHJvdWJsZXNob290SW5mbz1Gb3IgbW9yZSBpbmZvcm1hdGlvbiwgdmlzaXQ6IGh0dHBzOi8vZ28ubWljcm9zb2Z0LmNvbS9md2xpbmsvcC8/bGlua2lkPTgyMjgwNyIKc2V0ICJlcnJvckRlc2NyaXB0aW9uPSIKCmVjaG8gVGVzdGluZyBhZG1pbmlzdHJhdG9yIHByaXZpbGVnZXMgPk5VTCAyPiYxCgpuZXQgc2Vzc2lvbiA+TlVMIDI+JjEKaWYgJUVSUk9STEVWRUwlIE5FUSAwICgKCUBlY2hvIFNjcmlwdCBpcyBydW5uaW5nIHdpdGggaW5zdWZmaWNpZW50IHByaXZpbGVnZXMuIFBsZWFzZSBydW4gd2l0aCBhZG1pbmlzdHJhdG9yIHByaXZpbGVnZXM+ICVUTVAlXHNlbnNlVG1wLnR4dAoJc2V0IGVycm9yQ29kZT02NQogc2V0IGxhc3RFcnJvcj0lRVJST1JMRVZFTCUKCUdPVE8gRVJST1IKKQoKZWNobyBTY3JpcHQgaXMgcnVubmluZyB3aXRoIHN1ZmZpY2llbnQgcHJpdmlsZWdlcyA+TlVMIDI+JjEKZWNoby4gPk5VTCAyPiYxCmVjaG8gUGVyZm9ybWluZyBvbmJvYXJkaW5nIG9wZXJhdGlvbnMgPk5VTCAyPiYxCmVjaG8uID5OVUwgMj4mMQoKSUYgWyVQUk9DRVNTT1JfQVJDSElURVc2NDMyJV0gRVFVIFtdICgKICBzZXQgcG93ZXJzaGVsbFBhdGg9JXdpbmRpciVcU3lzdGVtMzJcV2luZG93c1Bvd2VyU2hlbGxcdjEuMFxwb3dlcnNoZWxsLmV4ZQopIEVMU0UgKAogIHNldCBwb3dlcnNoZWxsUGF0aD0ld2luZGlyJVxTeXNOYXRpdmVcV2luZG93c1Bvd2VyU2hlbGxcdjEuMFxwb3dlcnNoZWxsLmV4ZQopCgpzZXQgc2RiaW49MDEwMDA0ODA0NDAwMDAwMDU0MDAwMDAwMDAwMDAwMDAxNDAwMDAwMDAyMDAzMDAwMDIwMDAwMDAwMDAwMTQwMEZGMEYxMjAwMDEwMTAwMDAwMDAwMDAwNTEyMDAwMDAwMDAwMDE0MDBFMTA0MTIwMDAxMDEwMDAwMDAwMDAwMDUwQjAwMDAwMDAxMDIwMDAwMDAwMDAwMDUyMDAwMDAwMDIwMDIwMDAwMDEwMjAwMDAwMDAwMDAwNTIwMDAwMDAwMjAwMjAwMDAgPk5VTCAyPiYxCnJlZyBhZGQgSEtMTVxTWVNURU1cQ3VycmVudENvbnRyb2xTZXRcQ29udHJvbFxXTUlcU2VjdXJpdHkgL3YgMTRmODEzOGUtM2I2MS01ODBiLTU0NGItMjYwOTM3OGFlNDYwIC90IFJFR19CSU5BUlkgL2QgJXNkYmluJSAvZiA+TlVMIDI+JjEKcmVnIGFkZCBIS0xNXFNZU1RFTVxDdXJyZW50Q29udHJvbFNldFxDb250cm9sXFdNSVxTZWN1cml0eSAvdiBjYjJmZjcyZC1kNGU0LTU4NWQtMzNmOS1mM2EzOTVjNDBiZTcgL3QgUkVHX0JJTkFSWSAvZCAlc2RiaW4lIC9mID5OVUwgMj4mMQoKUkVHIGFkZCAiSEtMTVxTT0ZUV0FSRVxQb2xpY2llc1xNaWNyb3NvZnRcV2luZG93c1xEYXRhQ29sbGVjdGlvbiIgL3YgRGlzYWJsZUVudGVycHJpc2VBdXRoUHJveHkgL3QgUkVHX0RXT1JEIC9mIC9kIDEgPk5VTCAyPiYxCgolcG93ZXJzaGVsbFBhdGglIC1FeGVjdXRpb25Qb2xpY3kgQnlwYXNzIC1Ob1Byb2ZpbGUgLUNvbW1hbmQgIkFkZC1UeXBlICcgdXNpbmcgU3lzdGVtOyB1c2luZyBTeXN0ZW0uSU87IHVzaW5nIFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlczsgdXNpbmcgTWljcm9zb2Z0LldpbjMyLlNhZmVIYW5kbGVzOyB1c2luZyBTeXN0ZW0uQ29tcG9uZW50TW9kZWw7IHB1YmxpYyBzdGF0aWMgY2xhc3MgRWxhbXsgW0RsbEltcG9ydChcIktlcm5lbDMyXCIsIENoYXJTZXQ9Q2hhclNldC5BdXRvLCBTZXRMYXN0RXJyb3I9dHJ1ZSldIHB1YmxpYyBzdGF0aWMgZXh0ZXJuIGJvb2wgSW5zdGFsbEVMQU1DZXJ0aWZpY2F0ZUluZm8oU2FmZUZpbGVIYW5kbGUgaGFuZGxlKTsgcHVibGljIHN0YXRpYyB2b2lkIEluc3RhbGxXZEJvb3Qoc3RyaW5nIHBhdGgpIHsgQ29uc29sZS5PdXQuV3JpdGVMaW5lKFwiQWJvdXQgdG8gY2FsbCBjcmVhdGUgZmlsZSBvbiB7MH1cIiwgcGF0aCk7IHZhciBzdHJlYW0gPSBGaWxlLk9wZW4ocGF0aCwgRmlsZU1vZGUuT3BlbiwgRmlsZUFjY2Vzcy5SZWFkLCBGaWxlU2hhcmUuUmVhZCk7IHZhciBoYW5kbGUgPSBzdHJlYW0uU2FmZUZpbGVIYW5kbGU7IENvbnNvbGUuT3V0LldyaXRlTGluZShcIkFib3V0IHRvIGNhbGwgSW5zdGFsbEVMQU1DZXJ0aWZpY2F0ZUluZm8gb24gaGFuZGxlIHswfVwiLCBoYW5kbGUuRGFuZ2Vyb3VzR2V0SGFuZGxlKCkpOyBpZiAoIUluc3RhbGxFTEFNQ2VydGlmaWNhdGVJbmZvKGhhbmRsZSkpIHsgQ29uc29sZS5PdXQuV3JpdGVMaW5lKFwiQ2FsbCBmYWlsZWQuXCIpOyB0aHJvdyBuZXcgV2luMzJFeGNlcHRpb24oTWFyc2hhbC5HZXRMYXN0V2luMzJFcnJvcigpKTsgfSBDb25zb2xlLk91dC5Xcml0ZUxpbmUoXCJDYWxsIHN1Y2Nlc3NmdWwuXCIpOyB9IH0gJzsgJGRyaXZlclBhdGggPSAkZW52OlN5c3RlbVJvb3QgKyAnXFN5c3RlbTMyXERyaXZlcnNcV2RCb290LnN5cyc7IFtFbGFtXTo6SW5zdGFsbFdkQm9vdCgkZHJpdmVyUGF0aCkgIiA+TlVMIDI+JjEKClJFRyBxdWVyeSAiSEtMTVxTT0ZUV0FSRVxQb2xpY2llc1xNaWNyb3NvZnRcV2luZG93cyBBZHZhbmNlZCBUaHJlYXQgUHJvdGVjdGlvbiIgL3YgNjk2QzFGQTEtNDAzMC00RkE0LTg3MTMtRkFGOUIyRUE3QzBBIC9yZWc6NjQgPiAlVE1QJVxzZW5zZVRtcC50eHQgMj4mMQppZiAlRVJST1JMRVZFTCUgRVFVIDAgKCAgCiAgICBSRUcgZGVsZXRlICJIS0xNXFNPRlRXQVJFXFBvbGljaWVzXE1pY3Jvc29mdFxXaW5kb3dzIEFkdmFuY2VkIFRocmVhdCBQcm90ZWN0aW9uIiAvdiA2OTZDMUZBMS00MDMwLTRGQTQtODcxMy1GQUY5QjJFQTdDMEEgL2YgPiAlVE1QJVxzZW5zZVRtcC50eHQgMj4mMQogICAgaWYgJUVSUk9STEVWRUwlIE5FUSAwICgKICAgICAgICBzZXQgImVycm9yRGVzY3JpcHRpb249VW5hYmxlIHRvIGRlbGV0ZSBwcmV2aW91cyBvZmZib2FyZGluZyBpbmZvcm1hdGlvbiBmcm9tIHJlZ2lzdHJ5LiIKICAgICAgICBzZXQgZXJyb3JDb2RlPTUKICAgICAgICBzZXQgbGFzdEVycm9yPSVFUlJPUkxFVkVMJQogICAgICAgIEdPVE8gRVJST1IKICAgICkKKQoKUkVHIGFkZCAiSEtMTVxTT0ZUV0FSRVxQb2xpY2llc1xNaWNyb3NvZnRcV2luZG93cyBBZHZhbmNlZCBUaHJlYXQgUHJvdGVjdGlvbiIgL3YgT25ib2FyZGluZ0luZm8gL3QgUkVHX1NaIC9mIC9kICJ7XCJib2R5XCI6XCJ7XFxcInByZXZpb3VzT3JnSWRzXFxcIjpbXSxcXFwib3JnSWRcXFwiOlxcXCIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMGRlYWRcXFwiLFxcXCJnZW9Mb2NhdGlvblVybFxcXCI6XFxcImh0dHBzOi8vc2V2aWxsZWNsb3VkZ2F0ZXdheS1zdGcubWljcm9zb2Z0LmNvbS9cXFwiLFxcXCJkYXRhY2VudGVyXFxcIjpcXFwiRWFzdFVzMlxcXCIsXFxcInZvcnRleEdlb0xvY2F0aW9uXFxcIjpcXFwiU2FuZGJveFxcXCIsXFxcInZlcnNpb25cXFwiOlxcXCIxLjNcXFwifVwiLFwic2lnXCI6XCJKc0dGR2o3UCtIL1cvUEExcW9LTml3RXROZkU4YkhGblhxeks1SDhsQ09wc0RnRGNWTWpoT3BmQTZJTTJ3RFZadk5kWGhvZ0dEQ1FDWjNYdFJCbHRkcGFWc3pZNGtINVpHVkdnRUQxVE80ZCtCTjk2VDFSa3pOZ2NjZ2ZCWDNNQUw1bllUWXdiMGlUQUtFMGIxb3BmQmZrMzJQN3Q3b3A5dkhPeXZNMW5qdlZybVdWWWVSNk4rZFFrLzM4UDNUY2V3b2FkRmFUb3pidjBZK3dZOHgrbFcxeWN6bk1KMitQWTlxRHpabXoybE1rd0FlaDJwRTI4VW5MT0lhNjg0Y3U5RitHUlAveGhhR3dQWmpoc1JCSW51cHV5U1E2Y09YdE9kSERCQlRaZzVKSEhHMDBkNk9tUk5ONmxBelJWeFJURUVmaFFUVnN0U1poKzNMSjJTMGhmZGc9PVwiLFwic2hhMjU2c2lnXCI6XCJsVGI4ZittdkFveDRCckxPS0lqejFnTTNrRHREbG9wL21uNmZodmVEWjMvblVqb1lhNk81V2p4R0x2Z3lqZ0RtdThETkdPNUtqWWlxTVZ6Z0QzcHdqOVYwOXVOeUdYNGJUaXN0d1BnQTFLbGMrMUFLcmtWQTRGWGlQTHlST2tXdlhLM2dydFFJWU9nYjdSRlh6dzhnQlB5YlV0Z0FWbmNaMVFpdTAzblFLdGh5MFU3aXBlZUxaVE9oYVlhN001cTJxUTcya1BaSTZWUWlqSE42NVg3UTEvcm5rdUlSUkFmUEErZElIeE4wN0tpSlY2MGZsbDFZUUtOUlpSYUhKeGQ1UDd0RmdaaytEZE5mNVNXcHVaSTZTZE9MdExDN3VnbmdnK0krU2pUeUtvcVFKZElkWGRRaE5JK3I3WEM1L1M0ZlhnRVNtWmZKTUYxL0JtVlVFZUJDZlE9PVwiLFwiY2VydFwiOlwiTUlJRjVqQ0NBODZnQXdJQkFnSVRNd0FBQVkwdmh1VTl6R2x5b1FBQUFBQUJqVEFOQmdrcWhraUc5dzBCQVFzRkFEQitNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1YyRnphR2x1WjNSdmJqRVFNQTRHQTFVRUJ4TUhVbVZrYlc5dVpERWVNQndHQTFVRUNoTVZUV2xqY205emIyWjBJRU52Y25CdmNtRjBhVzl1TVNnd0pnWURWUVFERXg5TmFXTnliM052Wm5RZ1UyVmpkWEpsSUZObGNuWmxjaUJEUVNBeU1ERXhNQjRYRFRJd01EZ3dOakl3TlRBMU9Gb1hEVEl4TURnd05qSXdOVEExT0Zvd2dZb3hDekFKQmdOVkJBWVRBbFZUTVFzd0NRWURWUVFJRXdKWFFURVFNQTRHQTFVRUJ4TUhVbVZrYlc5dVpERWVNQndHQTFVRUNoTVZUV2xqY205emIyWjBJRU52Y25CdmNtRjBhVzl1TVI0d0hBWURWUVFMRXhWTmFXTnliM052Wm5RZ1EyOXljRzl5WVhScGIyNHhIREFhQmdOVkJBTVRFMU5sZG1sc2JHVXVWMmx1Wkc5M2N5NWpiMjB3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRRENmcWtCcmV1Um1qdm90bDFFdURQWVplaVc1dUVERmV6MXhsYmh6cjVaa1BjSUJYT3RIMVZWRjRaUmVrdTFpK3ZMbTNON2xkVGl4c2RSZW0yU09iVkFGb1dDbjZ2cEYwL1ZYcWpmUTJHbyt2dk9UU1Q0Si9pQWxocXhialVVbkRyWFpXYUMvS2xtU0lYMjlHUng5bG1pT0IrWVBhRzlOTEE1U3F3emNad2hjTThzS3F0VDhHaWQ3Q3JFNGs1WldES0gyL1dPVTVsQ01iZTY2MWtrbWxKZDB2TlBDTXpyMUgzVmNmRG1qVVo4Q25WQzBFODlhVVA3VHhhME1uS0FzVFArQkpCNXJMenhkVlJRbGRNbmhHVXNXRU0ydUNOWXFOdWc4QWYrTGp3RytySXZrSVR3NVlDMUZDZy9qVHBvdHJnSFhmSGRqaURqa0F3ZWY1TlVkTmx0QWdNQkFBR2pnZ0ZPTUlJQlNqQU9CZ05WSFE4QkFmOEVCQU1DQjRBd0V3WURWUjBsQkF3d0NnWUlLd1lCQlFVSEF3RXdIUVlEVlIwT0JCWUVGT0U1NVFoeno5bEhuWTl2aDVTWmtyMTdjbEtzTUI0R0ExVWRFUVFYTUJXQ0UxTmxkbWxzYkdVdVYybHVaRzkzY3k1amIyMHdId1lEVlIwakJCZ3dGb0FVTmxhSlpVbkxXNXN2UEt4Q0ZsQk5rYmt6MTVFd1V3WURWUjBmQkV3d1NqQklvRWFnUklaQ2FIUjBjRG92TDNkM2R5NXRhV055YjNOdlpuUXVZMjl0TDNCcmFXOXdjeTlqY213dlRXbGpVMlZqVTJWeVEwRXlNREV4WHpJd01URXRNVEF0TVRndVkzSnNNR0FHQ0NzR0FRVUZCd0VCQkZRd1VqQlFCZ2dyQmdFRkJRY3dBb1pFYUhSMGNEb3ZMM2QzZHk1dGFXTnliM052Wm5RdVkyOXRMM0JyYVc5d2N5OWpaWEowY3k5TmFXTlRaV05UWlhKRFFUSXdNVEZmTWpBeE1TMHhNQzB4T0M1amNuUXdEQVlEVlIwVEFRSC9CQUl3QURBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQWdFQVp3ZGxhWjg4U3BURFdUUjc5NWRHV2N0dUxUWmc2UDBqYmh4Q0dhOXBnb3AzSXZ1Qi9QYzJXT2Ruc1ZCYUpUZG5WN3NvcFZHa3V4Vjc1eWk2Q0NQM2sxNG0xQ1FhNk01cmNodmJuVEY0TFdjWld4U1g4Z0hjRWhObFdYV3hxU3FKMzNnSHVGNEc5SCs3VDM3UlNMb2Jqb1MyeVRhc21SRWtCNTI4b1gwWVU0cVpjeVdyK0xEMVovQk10dEhMUlZUZUtHdnpMaVpCNmhqWURybW9qUUxKZXZwSEdoTVdOTU9oR2RLd2pOS0crZGhVRHV6dTdsVXgwZzdhaUR3c1l4NzFTaU9ucDJWOSt5UEhET2R5OXlBRUNPb0N3bUprbW5qLzlDMmVNMDFDQjFZMUxTWHNiQUJtQVd3Si9iczhRNnhTWlJtSnkyRXJSQ3VTakl0MUQydzRTUFVMRFNNVTdIaDk3TWJpQVJDV25TMVRRMGg5azZFWVVmbW1ZaFNHQ0p3MXFlekFqZ2FmTngyYWcrRDhzRFFkQzRjVHhUSTk5aGthUm1DakFmeW1qcVdscUx5V0pCUmdvaXdTd21MVDFUbzRJNUVjZHFoQ1FNdEpoRVVRR2dpenk2ZUE2RlhtNHhmeExua08xSkNKSGJUejlqL2c4OW5zZ0hVN2V4SDVnZHhZQ0FDMGJkUlZLN1YrVlBDcExnLy9SemtlNm9mc1Y3WkxyQUpvN0EyQTZka0dVL09XeGhpVjJiY0VlUEpmSWsrVjM3UHp3c25yZ1JFV2RpM1pic3dBOU5aTTVzZGVSMFlFRm11bit0b2JCRGMzMlRidlVyTUpTb2tjcG9XNnRZczlkR0tUcE1GV01EZ09UeEZjSHljbHZrMjRVQVV2dXk2WVcvSVN2VlY4a3BRPVwiLFwiY2hhaW5cIjpbXCJNSUlHMkRDQ0JNQ2dBd0lCQWdJS1lUKzNHQUFBQUFBQUJEQU5CZ2txaGtpRzl3MEJBUXNGQURDQmlERUxNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2xkaGMyaHBibWQwYjI0eEVEQU9CZ05WQkFjVEIxSmxaRzF2Ym1ReEhqQWNCZ05WQkFvVEZVMXBZM0p2YzI5bWRDQkRiM0p3YjNKaGRHbHZiakV5TURBR0ExVUVBeE1wVFdsamNtOXpiMlowSUZKdmIzUWdRMlZ5ZEdsbWFXTmhkR1VnUVhWMGFHOXlhWFI1SURJd01URXdIaGNOTVRFeE1ERTRNakkxTlRFNVdoY05Nall4TURFNE1qTXdOVEU1V2pCK01Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LVjJGemFHbHVaM1J2YmpFUU1BNEdBMVVFQnhNSFVtVmtiVzl1WkRFZU1Cd0dBMVVFQ2hNVlRXbGpjbTl6YjJaMElFTnZjbkJ2Y21GMGFXOXVNU2d3SmdZRFZRUURFeDlOYVdOeWIzTnZablFnVTJWamRYSmxJRk5sY25abGNpQkRRU0F5TURFeE1JSUNJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBZzhBTUlJQ0NnS0NBZ0VBMEF2QXBLZ1pnZUkyNWVLcTVmT3lGVmgxdnJUbFNmSGdoUG03RFdUdmhjR0JWYmp6NS9GdFFGVTl6b3RxMFlTVDlYVjhXNlRVZEJES012TWowNjd1ejU0RVdNTFpSOHZSZkFCQlNIRWJBV2NYR0svRy9uTURmdVR2UTV6dkFYRXFINEVtUTNlWVZGZHpuVlVyOEo2T2ZRWU9yQnRVOHliMytDTUlJb3VlQmgwM09QMXkwc3JsWThHYVduMnliYk5TcVc3cHJyWDhpemI1bnZyMkhGZ2JsMWFsRWVXM1V0dTc2ZkJVdjdUL0xHeTRYU2JPb0FyWDM1UHRmOTJzOFN4ekd0a1pOMVc2M1NKNGpxSFVtd240QnlJeGNiQ1VydUN3NXlaRVY1Q0JseFhPWWV4bDRrdnhoVklXTXZpMWVLcCt6VTNzZ3lHa3FKdSttbW9FNEtNY3pWWVliUDFyTDBJKzRqZnljcXZRZUhOeWU5N3NBRmpsSVRDakNEcVo3NS9EOTNvV2xtVzF3NEd2OURsd1NhLzJxZlpxQURqNXRBZ1o0Qm8xcFZaMklsOXE4bW11UHExWVJrMjRWUGFKUVVRZWNyRzhFaWRUMHNIL3NzMVFtQjYxOUx1MndvSTUyYXdiOGpzbmhHcXd4aVlMMXpvUTU3UGJmTk5XckZOTUMvbzdNVGQwMkZrcitRQjVHUVo3L1J3ZFF0UkJEUzhGRHRWclNTUC96ODM0ZW9MUDJqd3QzK2pZRWdRWXVoNklkN2lZSHhBSHU4Z0ZmZ3NKdjJ2ZDQwNWJzUG5IaEtZN3lreWZXMklwOThlaXFKV0ljQ3psd1Q4OFVpTlBRSnJETVlXREw3OHA4UjFRanlHV0I4N3Y4b0RDUkgyYll1OHZ3M2VKcTBWTlV6NENlZE1DQXdFQUFhT0NBVXN3Z2dGSE1CQUdDU3NHQVFRQmdqY1ZBUVFEQWdFQU1CMEdBMVVkRGdRV0JCUTJWb2xsU2N0Ym15ODhyRUlXVUUyUnVUUFhrVEFaQmdrckJnRUVBWUkzRkFJRURCNEtBRk1BZFFCaUFFTUFRVEFMQmdOVkhROEVCQU1DQVlZd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZkJnTlZIU01FR0RBV2dCUnlMVG9DTVpCRHVSUUZUdUhxcDhjeDBTT0pOREJhQmdOVkhSOEVVekJSTUUrZ1RhQkxoa2xvZEhSd09pOHZZM0pzTG0xcFkzSnZjMjltZEM1amIyMHZjR3RwTDJOeWJDOXdjbTlrZFdOMGN5OU5hV05TYjI5RFpYSkJkWFF5TURFeFh6SXdNVEZmTUROZk1qSXVZM0pzTUY0R0NDc0dBUVVGQndFQkJGSXdVREJPQmdnckJnRUZCUWN3QW9aQ2FIUjBjRG92TDNkM2R5NXRhV055YjNOdlpuUXVZMjl0TDNCcmFTOWpaWEowY3k5TmFXTlNiMjlEWlhKQmRYUXlNREV4WHpJd01URmZNRE5mTWpJdVkzSjBNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUNBUUJCeUdIQjlWdWVQcEV4OGJER3Z3a0J0SjIya0hUWENkdW1MZzJmeU9kMk5FYXZCMkNKVElHelBOWDBFalYxd25PbDlVMkVqTXVrWGErL2t2WVhDRmRDbFhKbEJYWjVyZTdSdXJndVZLTlJCNnhvNnlFTTR5V0J3czBxOHNQL3o4SzlTUmlheC9DRXhma1V2R3VWNVpidnMwTFNVOVZLb0JMRXJoSjJVd2xXRHAzMzA2WkppRkR5aWl5WElLSytUbmp2QldXM1M2RVdpTjR4eHdoQ0pIeWtlNTZkdkdBQVhtS1g0NVA4cC81YmV5WGY1Rk4vUzc3bVB2RGJBWGxDSEc2RmJIMjJSREQ3cFRlU2s3S2w3aUN0UDFQVnlmUW9hMWZCK0IxcXQxWXF0aWVCSEtZdG4rZjAwREdEbDZncXRxeStHMEgxNUlsZlZ2dmFXdE5lZlZXVUVINVRWL1JLUFVBcXlMMW5uNFRoRU83OTJtc1Zna244UmgzL1JRWjBuRUlVN2NVNTA3UE5DNE1ua0VOUmt2SkVncTV1bWhVWHNobjZ4MFZzbUFGN3Z6ZXBzSWlra3J3NE9PQWQ1SHlYbUJvdVgrODRaYmMxTDcxL1R5SDZ4SXpTYndiNVNUWHEzeUFQSmFycVlLc3NIMHVKL0xmNlhGU1FTejZpS0U5czVGSmx3ZjJRSElXQ2lHN3BwbFhkSVNoNVJiQVU1UXJNNWwvRXU5dGhOR21mckNZNDk4RXBRUWdWTGt5Zzkva01QdDVmcXdnSkxZT3NyRFNEWXZUSlNVS0pKYlZ1c2tmRnN6bWdzU0FiTExHT0JHK2xNRWtjMEVicFFGdjByVzY2MjRKS2h4SktnQWxOMjk5MnVRVmJHK0M3SUhCZkFDWEgwdzc2RnExN0lwNXhDQT09XCIsXCJNSUlGN1RDQ0E5V2dBd0lCQWdJUVA0dkl0Znlmc3BaRHRXbldiRUxoUkRBTkJna3Foa2lHOXcwQkFRc0ZBRENCaURFTE1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDbGRoYzJocGJtZDBiMjR4RURBT0JnTlZCQWNUQjFKbFpHMXZibVF4SGpBY0JnTlZCQW9URlUxcFkzSnZjMjltZENCRGIzSndiM0poZEdsdmJqRXlNREFHQTFVRUF4TXBUV2xqY205emIyWjBJRkp2YjNRZ1EyVnlkR2xtYVdOaGRHVWdRWFYwYUc5eWFYUjVJREl3TVRFd0hoY05NVEV3TXpJeU1qSXdOVEk0V2hjTk16WXdNekl5TWpJeE16QTBXakNCaURFTE1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDbGRoYzJocGJtZDBiMjR4RURBT0JnTlZCQWNUQjFKbFpHMXZibVF4SGpBY0JnTlZCQW9URlUxcFkzSnZjMjltZENCRGIzSndiM0poZEdsdmJqRXlNREFHQTFVRUF4TXBUV2xqY205emIyWjBJRkp2YjNRZ1EyVnlkR2xtYVdOaGRHVWdRWFYwYUc5eWFYUjVJREl3TVRFd2dnSWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUNEd0F3Z2dJS0FvSUNBUUN5Z0VHcU5UaE5FM0l5YUNKTnVMTHgvOVZTdkd6SDlkSktqRGJ1MGNKY2ZveUtycThUS0cvQWMrTTZ6dEFscUZvNmJlK291Rm1yRXlOb3pRd3BoOUZ2Z0Z5UFJIOWRrQUZTV0t4UnhWOHFoOXpjMkFvZHdRTzVlN0JXNktQZVpHSENudmp6Zkxuc0RiVlUva3kyWlUrSThKeEltUXhDQ3dsOE1Wa1hlUVo0S0kySk9rd0RKYjV4YWx3TDU0UmdwSmtpNDlLdmhLU24rOUdZN1F5cDNwU0o0UTZnM01ET21UM3FDRks3Vm5ua0g0UzZIcmkweEVsY1R6RkxoOTNkQldjbW1ZRGdjUkdqdUtWQjRxUlR1ZmN5S1lNTUU3ODJYZ1N6UzBOSEwydmlrUjdUbUUvZFFnZkk2QjBTL0ptcGF6NlNmc2pXYVRyOFpMMjJDWjNLL1F3TG9wdDNZRXNEbEtRd2FSTFdRaTNCUVV6SzNLcjlqMXVEUnByWi9MSFI0N1BKZjBoNnpTVHdRWTljZE5Dc3NCQWdCa20zeHkwaHlGZmowSWJ6QTJqNzBNNXh3WW1aU21RQmJQM3NNSkhQUVR5U3grVzZoaDFoaE1kZmd6bGlyclNTTDBmekMvaFY2NkFmV2RDN2RKc2UwSGJtOHVrRzF4RG8rbVRlYWNZMWxvZ0M4RWE0UHllWmI4dHhpU2sxOTBnV0FqV1AxWGw4VFFMUFgrdUtnMDlGY1lqNXFRMU9jdW5DbkFmUFNSdE9CQTVqVVl4ZTJBREJWU3kyeHVEQ1pVN0pORG4xbkxQRWZ1aGhiaE5mRmNSZjJYN3RIYzd1Uk96TExvYXg3RGoyY08yclhCUEIyUThOeDRDeVZlMDA5NnliNU1QYTUwYzhwcldQTWQvRlM2L3I4UUlEQVFBQm8xRXdUekFMQmdOVkhROEVCQU1DQVlZd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFRmdRVWNpMDZBakdRUTdrVUJVN2g2cWZITWRFamlUUXdFQVlKS3dZQkJBR0NOeFVCQkFNQ0FRQXdEUVlKS29aSWh2Y05BUUVMQlFBRGdnSUJBSDl5encrM3hSWGJtOEJKeWlaYi9wNFQ1dFB3MHR1WFgvSkxQMDJ6cmhtdTdkZVhvS3p2cVRxandrR3c1YmlSbmhPQkpBUG1DZjAvVjBBNUlTUlcwUkF2UzBDcE5vWkx0Rk5YbXZ2eGZvbVBFZjRZYkZHcTZPMEpsYlhsY2NtaDZZZDFwaFYveVg0M1ZGNTBrOFhEWjh3TlQydW9Gd3h0Q0pKK2k5MkJxaTF3SWNNOUJoUzd2eVJlcDRUWFB3OGhJcjFMQUFiYmx4ellYdFRGQzF5SGJsQ2s2TU00cFB2TExNV1NacHVGWHN0NmJKTjhnQ2xZVzFlMVFHbTZDSG1tWkdJVm5ZZVdSYlZtSXlBRGl4eHpvTk9pZVRQZ1VGbUcyeS9sQWlYcWN5cWZBQlRJTnNlU08rbE9BT3pZVmdtNU0wa1MwbFFMQWF1c1I3YVJLWDFNdEhXQVVnSG95b0wybjh5c25JOFg2aThtc0t0eXJBditubEVleDBOVlowOVJzMWZXdHV6dVVyYzY2VTdoMTRHSXZFK09kYnRMcVBBMXFpYlVaMmRKc25CTU81UGNIZDk0a0laeXNqaWswZHlTVGNsWTZ5c1NYTlE3cm94cnNJUGxBVC80Q1RMMmt6VTBJcS9kTncxM0NZQXJ6VWdBOFl5WkdVY0ZBZW5SdjlGTzBPWW9RemVacEFwS0NObWFjWFBTcXMweEUyTjJvVGR2a2pnZWZSSThaakxueTIzaC9GS0ozY3JXWmdXYWxtRytvaWpISEtPbk5sQThPcVRmU203bWh6dk82L0RnZ1RlZEV6eFNqcjI1SFRUR0hkVUthajJZS1hDTWlTclJxNElRU0IvYzlPK2x4YnRWR2poamhFNjNiSzJWVk94bEloQkpGN2pBSHNjUHJGUkhcIl19IiA+ICVUTVAlXHNlbnNlVG1wLnR4dCAyPiYxCmlmICVFUlJPUkxFVkVMJSBORVEgMCAoCiAgIHNldCAiZXJyb3JEZXNjcmlwdGlvbj1VbmFibGUgdG8gd3JpdGUgb25ib2FyZGluZyBpbmZvcm1hdGlvbiB0byByZWdpc3RyeS4iCiAgIHNldCBlcnJvckNvZGU9MTAKICAgc2V0IGxhc3RFcnJvcj0lRVJST1JMRVZFTCUKICAgR09UTyBFUlJPUgopCgplY2hvIFN0YXJ0aW5nIHRoZSBzZXJ2aWNlLCBpZiBub3QgYWxyZWFkeSBydW5uaW5nID5OVUwgMj4mMQplY2hvLiA+TlVMIDI+JjEKc2MgcXVlcnkgIlNFTlNFIiB8IGZpbmQgL2kgIlJVTk5JTkciID5OVUwgMj4mMQppZiAlRVJST1JMRVZFTCUgRVFVIDAgR09UTyBSVU5OSU5HCgpuZXQgc3RhcnQgc2Vuc2UgPiAlVE1QJVxzZW5zZVRtcC50eHQgMj4mMQppZiAlRVJST1JMRVZFTCUgTkVRIDAgKAogICBlY2hvIFdpbmRvd3MgRGVmZW5kZXIgQWR2YW5jZWQgVGhyZWF0IFByb3RlY3Rpb24gU2VydmljZSBoYXMgbm90IHN0YXJ0ZWQgeWV0ID5OVUwgMj4mMQogICBHT1RPIFdBSVRfRk9SX1RIRV9TRVJWSUNFX1RPX1NUQVJUCikKZ290byBTVUNDRUVERUQKCjpSVU5OSU5HCnNldCAicnVubmluZ091dHB1dD1UaGUgV2luZG93cyBEZWZlbmRlciBBZHZhbmNlZCBUaHJlYXQgUHJvdGVjdGlvbiBTZXJ2aWNlIGlzIGFscmVhZHkgcnVubmluZyEiCmVjaG8gJXJ1bm5pbmdPdXRwdXQlID5OVUwgMj4mMQplY2hvLiA+TlVMIDI+JjEKZXZlbnRjcmVhdGUgL2wgQXBwbGljYXRpb24gL3NvIFdEQVRQT25ib2FyZGluZyAvdCBJbmZvcm1hdGlvbiAvaWQgMTAgL2QgIiVydW5uaW5nT3V0cHV0JSIgPk5VTCAyPiYxCkdPVE8gV0FJVF9GT1JfVEhFX1NFUlZJQ0VfVE9fU1RBUlQKCjpFUlJPUgpTZXQgL1AgZXJyb3JNc2c9PCVUTVAlXHNlbnNlVG1wLnR4dApzZXQgImVycm9yT3V0cHV0PVtFcnJvciBJZDogJWVycm9yQ29kZSUsIEVycm9yIExldmVsOiAlbGFzdEVycm9yJV0gJWVycm9yRGVzY3JpcHRpb24lIEVycm9yIG1lc3NhZ2U6ICVlcnJvck1zZyUiCiVwb3dlcnNoZWxsUGF0aCUgLUV4ZWN1dGlvblBvbGljeSBCeXBhc3MgLU5vUHJvZmlsZSAtQ29tbWFuZCAiQWRkLVR5cGUgJ3VzaW5nIFN5c3RlbTsgdXNpbmcgU3lzdGVtLkRpYWdub3N0aWNzOyB1c2luZyBTeXN0ZW0uRGlhZ25vc3RpY3MuVHJhY2luZzsgbmFtZXNwYWNlIFNlbnNlIHsgW0V2ZW50RGF0YShOYW1lID0gXCJPbmJvYXJkaW5nXCIpXXB1YmxpYyBzdHJ1Y3QgT25ib2FyZGluZ3twdWJsaWMgc3RyaW5nIE1lc3NhZ2UgeyBnZXQ7IHNldDsgfX0gcHVibGljIGNsYXNzIFRyYWNlIHtwdWJsaWMgc3RhdGljIEV2ZW50U291cmNlT3B0aW9ucyBUZWxlbWV0cnlDcml0aWNhbE9wdGlvbiA9IG5ldyBFdmVudFNvdXJjZU9wdGlvbnMoKXtMZXZlbCA9IEV2ZW50TGV2ZWwuRXJyb3IsIEtleXdvcmRzID0gKEV2ZW50S2V5d29yZHMpMHgwMDAwMjAwMDAwMDAwMDAwLCBUYWdzID0gKEV2ZW50VGFncykweDAyMDAwMDB9OyBwdWJsaWMgdm9pZCBXcml0ZU9uYm9hcmRpbmdNZXNzYWdlKHN0cmluZyBtZXNzYWdlKXtlcy5Xcml0ZShcIk9uYm9hcmRpbmdTY3JpcHRcIiwgVGVsZW1ldHJ5Q3JpdGljYWxPcHRpb24sIG5ldyBPbmJvYXJkaW5nIHtNZXNzYWdlID0gbWVzc2FnZX0pO30gcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgc3RyaW5nW10gdGVsZW1ldHJ5VHJhaXRzID0geyBcIkVUV19HUk9VUFwiLCBcIns1RUNCMEJBQy1COTMwLTQ3RjUtQThBNC1FODI1MzUyOUVEQjd9XCIgfTsgcHJpdmF0ZSBFdmVudFNvdXJjZSBlcyA9IG5ldyBFdmVudFNvdXJjZShcIk1pY3Jvc29mdC5XaW5kb3dzLlNlbnNlLkNsaWVudC5NYW5hZ2VtZW50XCIsRXZlbnRTb3VyY2VTZXR0aW5ncy5FdHdTZWxmRGVzY3JpYmluZ0V2ZW50Rm9ybWF0LHRlbGVtZXRyeVRyYWl0cyk7fX0nOyAkbG9nZ2VyID0gTmV3LU9iamVjdCAtVHlwZU5hbWUgU2Vuc2UuVHJhY2U7ICRsb2dnZXIuV3JpdGVPbmJvYXJkaW5nTWVzc2FnZSgnJWVycm9yT3V0cHV0JScpIiA+TlVMIDI+JjEKZWNobyAlZXJyb3JPdXRwdXQlID5OVUwgMj4mMQplY2hvLiA+TlVMIDI+JjEKZXZlbnRjcmVhdGUgL2wgQXBwbGljYXRpb24gL3NvIFdEQVRQT25ib2FyZGluZyAvdCBFcnJvciAvaWQgJWVycm9yQ29kZSUgL2QgIiVlcnJvck91dHB1dCUiID5OVUwgMj4mMQpHT1RPIENMRUFOVVAKCjpTVUNDRUVERUQKZWNobyBGaW5pc2hlZCBwZXJmb3JtaW5nIG9uYm9hcmRpbmcgb3BlcmF0aW9ucyA+TlVMIDI+JjEKZWNoby4gPk5VTCAyPiYxCkdPVE8gV0FJVF9GT1JfVEhFX1NFUlZJQ0VfVE9fU1RBUlQKCjpXQUlUX0ZPUl9USEVfU0VSVklDRV9UT19TVEFSVAplY2hvIFdhaXRpbmcgZm9yIHRoZSBzZXJ2aWNlIHRvIHN0YXJ0ID5OVUwgMj4mMQplY2hvLiA+TlVMIDI+JjEKCnNldCAvYSBjb3VudGVyPTAKCjpTRU5TRV9SVU5OSU5HX1dBSVQKc2MgcXVlcnkgIlNFTlNFIiB8IGZpbmQgL2kgIlJVTk5JTkciID5OVUwgMj4mMQppZiAlRVJST1JMRVZFTCUgTkVRIDAgKAoJSUYgJWNvdW50ZXIlIEVRVSA0ICgKCQlzZXQgImVycm9yRGVzY3JpcHRpb249VW5hYmxlIHRvIHN0YXJ0IFdpbmRvd3MgRGVmZW5kZXIgQWR2YW5jZWQgVGhyZWF0IFByb3RlY3Rpb24gU2VydmljZS4iCgkJc2V0IGVycm9yQ29kZT0xNQoJCXNldCBsYXN0RXJyb3I9JUVSUk9STEVWRUwlCgkJR09UTyBFUlJPUgoJKQoKCXNldCAvYSBjb3VudGVyPSVjb3VudGVyJSsxCgoJdGltZW91dCA1ID5OVUwgMj4mMQoJR09UTyA6U0VOU0VfUlVOTklOR19XQUlUCikKCnNldCAvYSBjb3VudGVyPTAKCjpTRU5TRV9PTkJPQVJERURfU1RBVFVTX1dBSVQKUkVHIHF1ZXJ5ICJIS0xNXFNPRlRXQVJFXE1pY3Jvc29mdFxXaW5kb3dzIEFkdmFuY2VkIFRocmVhdCBQcm90ZWN0aW9uXFN0YXR1cyIgL3YgT25ib2FyZGluZ1N0YXRlIC9yZWc6NjQgPk5VTCAyPiYxCmlmICVFUlJPUkxFVkVMJSBORVEgMCAoCglJRiAlY291bnRlciUgRVFVIDQgKAoJCUBlY2hvIFdpbmRvd3MgRGVmZW5kZXIgQWR2YW5jZWQgVGhyZWF0IFByb3RlY3Rpb24gU2VydmljZSBpcyBub3QgcnVubmluZyBhcyBleHBlY3RlZD4gJVRNUCVcc2Vuc2VUbXAudHh0CgkJc2V0IGVycm9yQ29kZT0zNQogICAgIHNldCBsYXN0RXJyb3I9JUVSUk9STEVWRUwlCgkJR09UTyBFUlJPUgoJKQoKCXNldCAvYSBjb3VudGVyPSVjb3VudGVyJSsxCgoJdGltZW91dCA1ID5OVUwgMj4mMQoJR09UTyA6U0VOU0VfT05CT0FSREVEX1NUQVRVU19XQUlUCikKCnNldCAvYSBjb3VudGVyPTAKCjpTRU5TRV9PTkJPQVJERURfV0FJVApSRUcgcXVlcnkgIkhLTE1cU09GVFdBUkVcTWljcm9zb2Z0XFdpbmRvd3MgQWR2YW5jZWQgVGhyZWF0IFByb3RlY3Rpb25cU3RhdHVzIiAvdiBPbmJvYXJkaW5nU3RhdGUgL3JlZzo2NCB8IGZpbmQgL2kgIjB4MSIgPk5VTCAyPiYxCmlmICVFUlJPUkxFVkVMJSBORVEgMCAoCglJRiAlY291bnRlciUgRVFVIDQgKAoJCUBlY2hvIFdpbmRvd3MgRGVmZW5kZXIgQWR2YW5jZWQgVGhyZWF0IFByb3RlY3Rpb24gU2VydmljZSBpcyBub3QgcnVubmluZyBhcyBleHBlY3RlZD4gJVRNUCVcc2Vuc2VUbXAudHh0CgkJc2V0IGVycm9yQ29kZT00MAogICAgIHNldCBsYXN0RXJyb3I9JUVSUk9STEVWRUwlCgkJR09UTyBFUlJPUgoJKQoKCXNldCAvYSBjb3VudGVyPSVjb3VudGVyJSsxCgoJdGltZW91dCA1ID5OVUwgMj4mMQoJR09UTyA6U0VOU0VfT05CT0FSREVEX1dBSVQKKQoKc2V0ICJzdWNjZXNzT3V0cHV0PVN1Y2Nlc3NmdWxseSBvbmJvYXJkZWQgbWFjaGluZSB0byBXaW5kb3dzIERlZmVuZGVyIEFkdmFuY2VkIFRocmVhdCBQcm90ZWN0aW9uIgplY2hvICVzdWNjZXNzT3V0cHV0JSA+TlVMIDI+JjEKZWNoby4KZXZlbnRjcmVhdGUgL2wgQXBwbGljYXRpb24gL3NvIFdEQVRQT25ib2FyZGluZyAvdCBJbmZvcm1hdGlvbiAvaWQgMjAgL2QgIiVzdWNjZXNzT3V0cHV0JSIgPk5VTCAyPiYxCiVwb3dlcnNoZWxsUGF0aCUgLUV4ZWN1dGlvblBvbGljeSBCeXBhc3MgLU5vUHJvZmlsZSAtQ29tbWFuZCAiQWRkLVR5cGUgJ3VzaW5nIFN5c3RlbTsgdXNpbmcgU3lzdGVtLkRpYWdub3N0aWNzOyB1c2luZyBTeXN0ZW0uRGlhZ25vc3RpY3MuVHJhY2luZzsgbmFtZXNwYWNlIFNlbnNlIHsgW0V2ZW50RGF0YShOYW1lID0gXCJPbmJvYXJkaW5nXCIpXXB1YmxpYyBzdHJ1Y3QgT25ib2FyZGluZ3twdWJsaWMgc3RyaW5nIE1lc3NhZ2UgeyBnZXQ7IHNldDsgfX0gcHVibGljIGNsYXNzIFRyYWNlIHtwdWJsaWMgc3RhdGljIEV2ZW50U291cmNlT3B0aW9ucyBUZWxlbWV0cnlDcml0aWNhbE9wdGlvbiA9IG5ldyBFdmVudFNvdXJjZU9wdGlvbnMoKXtMZXZlbCA9IEV2ZW50TGV2ZWwuSW5mb3JtYXRpb25hbCwgS2V5d29yZHMgPSAoRXZlbnRLZXl3b3JkcykweDAwMDAyMDAwMDAwMDAwMDAsIFRhZ3MgPSAoRXZlbnRUYWdzKTB4MDIwMDAwMH07IHB1YmxpYyB2b2lkIFdyaXRlT25ib2FyZGluZ01lc3NhZ2Uoc3RyaW5nIG1lc3NhZ2Upe2VzLldyaXRlKFwiT25ib2FyZGluZ1NjcmlwdFwiLCBUZWxlbWV0cnlDcml0aWNhbE9wdGlvbiwgbmV3IE9uYm9hcmRpbmcge01lc3NhZ2UgPSBtZXNzYWdlfSk7fSBwcml2YXRlIHN0YXRpYyByZWFkb25seSBzdHJpbmdbXSB0ZWxlbWV0cnlUcmFpdHMgPSB7IFwiRVRXX0dST1VQXCIsIFwiezVFQ0IwQkFDLUI5MzAtNDdGNS1BOEE0LUU4MjUzNTI5RURCN31cIiB9OyBwcml2YXRlIEV2ZW50U291cmNlIGVzID0gbmV3IEV2ZW50U291cmNlKFwiTWljcm9zb2Z0LldpbmRvd3MuU2Vuc2UuQ2xpZW50Lk1hbmFnZW1lbnRcIixFdmVudFNvdXJjZVNldHRpbmdzLkV0d1NlbGZEZXNjcmliaW5nRXZlbnRGb3JtYXQsdGVsZW1ldHJ5VHJhaXRzKTt9fSc7ICRsb2dnZXIgPSBOZXctT2JqZWN0IC1UeXBlTmFtZSBTZW5zZS5UcmFjZTsgJGxvZ2dlci5Xcml0ZU9uYm9hcmRpbmdNZXNzYWdlKCclc3VjY2Vzc091dHB1dCUnKSIgPk5VTCAyPiYxCiIlUFJPR1JBTUZJTEVTJVxXaW5kb3dzIERlZmVuZGVyXE1wQ21kUnVuLmV4ZSIgLVJlbG9hZEVuZ2luZSA+TlVMIDI+JjEKCkdPVE8gQ0xFQU5VUAoKOkNMRUFOVVAKaWYgZXhpc3QgJVRNUCVcc2Vuc2VUbXAudHh0IGRlbCAlVE1QJVxzZW5zZVRtcC50eHQKRVhJVCAvQiAlZXJyb3JDb2RlJQo=="),
// },
// }
}
func (*MdeOnboardingsClient) List ¶
func (client *MdeOnboardingsClient) List(ctx context.Context, options *MdeOnboardingsClientListOptions) (MdeOnboardingsClientListResponse, error)
List - The configuration or data needed to onboard the machine to MDE If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2021-10-01-preview
- options - MdeOnboardingsClientListOptions contains the optional parameters for the MdeOnboardingsClient.List method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2021-10-01-preview/examples/MdeOnboardings/ListMdeOnboardings_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewMdeOnboardingsClient().List(ctx, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.MdeOnboardingDataList = armsecurity.MdeOnboardingDataList{
// Value: []*armsecurity.MdeOnboardingData{
// {
// Name: to.Ptr("default"),
// Type: to.Ptr("Microsoft.Security/mdeOnboarding"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/mdeOnboarding/default"),
// Properties: &armsecurity.MdeOnboardingDataProperties{
// OnboardingPackageLinux: []byte("QGVjaG8gb2ZmCgplY2hvLiA+TlVMIDI+JjEKZWNobyBTdGFydGluZyBXaW5kb3dzIERlZmVuZGVyIEFkdmFuY2VkIFRocmVhdCBQcm90ZWN0aW9uIG9uYm9hcmRpbmcgcHJvY2Vzcy4uLiA+TlVMIDI+JjEKZWNoby4gPk5VTCAyPiYxCgpzZXQgZXJyb3JDb2RlPTAKc2V0IGxhc3RFcnJvcj0wCnNldCAidHJvdWJsZXNob290SW5mbz1Gb3IgbW9yZSBpbmZvcm1hdGlvbiwgdmlzaXQ6IGh0dHBzOi8vZ28ubWljcm9zb2Z0LmNvbS9md2xpbmsvcC8/bGlua2lkPTgyMjgwNyIKc2V0ICJlcnJvckRlc2NyaXB0aW9uPSIKCmVjaG8gVGVzdGluZyBhZG1pbmlzdHJhdG9yIHByaXZpbGVnZXMgPk5VTCAyPiYxCgpuZXQgc2Vzc2lvbiA+TlVMIDI+JjEKaWYgJUVSUk9STEVWRUwlIE5FUSAwICgKCUBlY2hvIFNjcmlwdCBpcyBydW5uaW5nIHdpdGggaW5zdWZmaWNpZW50IHByaXZpbGVnZXMuIFBsZWFzZSBydW4gd2l0aCBhZG1pbmlzdHJhdG9yIHByaXZpbGVnZXM+ICVUTVAlXHNlbnNlVG1wLnR4dAoJc2V0IGVycm9yQ29kZT02NQogc2V0IGxhc3RFcnJvcj0lRVJST1JMRVZFTCUKCUdPVE8gRVJST1IKKQoKZWNobyBTY3JpcHQgaXMgcnVubmluZyB3aXRoIHN1ZmZpY2llbnQgcHJpdmlsZWdlcyA+TlVMIDI+JjEKZWNoby4gPk5VTCAyPiYxCmVjaG8gUGVyZm9ybWluZyBvbmJvYXJkaW5nIG9wZXJhdGlvbnMgPk5VTCAyPiYxCmVjaG8uID5OVUwgMj4mMQoKSUYgWyVQUk9DRVNTT1JfQVJDSElURVc2NDMyJV0gRVFVIFtdICgKICBzZXQgcG93ZXJzaGVsbFBhdGg9JXdpbmRpciVcU3lzdGVtMzJcV2luZG93c1Bvd2VyU2hlbGxcdjEuMFxwb3dlcnNoZWxsLmV4ZQopIEVMU0UgKAogIHNldCBwb3dlcnNoZWxsUGF0aD0ld2luZGlyJVxTeXNOYXRpdmVcV2luZG93c1Bvd2VyU2hlbGxcdjEuMFxwb3dlcnNoZWxsLmV4ZQopCgpzZXQgc2RiaW49MDEwMDA0ODA0NDAwMDAwMDU0MDAwMDAwMDAwMDAwMDAxNDAwMDAwMDAyMDAzMDAwMDIwMDAwMDAwMDAwMTQwMEZGMEYxMjAwMDEwMTAwMDAwMDAwMDAwNTEyMDAwMDAwMDAwMDE0MDBFMTA0MTIwMDAxMDEwMDAwMDAwMDAwMDUwQjAwMDAwMDAxMDIwMDAwMDAwMDAwMDUyMDAwMDAwMDIwMDIwMDAwMDEwMjAwMDAwMDAwMDAwNTIwMDAwMDAwMjAwMjAwMDAgPk5VTCAyPiYxCnJlZyBhZGQgSEtMTVxTWVNURU1cQ3VycmVudENvbnRyb2xTZXRcQ29udHJvbFxXTUlcU2VjdXJpdHkgL3YgMTRmODEzOGUtM2I2MS01ODBiLTU0NGItMjYwOTM3OGFlNDYwIC90IFJFR19CSU5BUlkgL2QgJXNkYmluJSAvZiA+TlVMIDI+JjEKcmVnIGFkZCBIS0xNXFNZU1RFTVxDdXJyZW50Q29udHJvbFNldFxDb250cm9sXFdNSVxTZWN1cml0eSAvdiBjYjJmZjcyZC1kNGU0LTU4NWQtMzNmOS1mM2EzOTVjNDBiZTcgL3QgUkVHX0JJTkFSWSAvZCAlc2RiaW4lIC9mID5OVUwgMj4mMQoKUkVHIGFkZCAiSEtMTVxTT0ZUV0FSRVxQb2xpY2llc1xNaWNyb3NvZnRcV2luZG93c1xEYXRhQ29sbGVjdGlvbiIgL3YgRGlzYWJsZUVudGVycHJpc2VBdXRoUHJveHkgL3QgUkVHX0RXT1JEIC9mIC9kIDEgPk5VTCAyPiYxCgolcG93ZXJzaGVsbFBhdGglIC1FeGVjdXRpb25Qb2xpY3kgQnlwYXNzIC1Ob1Byb2ZpbGUgLUNvbW1hbmQgIkFkZC1UeXBlICcgdXNpbmcgU3lzdGVtOyB1c2luZyBTeXN0ZW0uSU87IHVzaW5nIFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlczsgdXNpbmcgTWljcm9zb2Z0LldpbjMyLlNhZmVIYW5kbGVzOyB1c2luZyBTeXN0ZW0uQ29tcG9uZW50TW9kZWw7IHB1YmxpYyBzdGF0aWMgY2xhc3MgRWxhbXsgW0RsbEltcG9ydChcIktlcm5lbDMyXCIsIENoYXJTZXQ9Q2hhclNldC5BdXRvLCBTZXRMYXN0RXJyb3I9dHJ1ZSldIHB1YmxpYyBzdGF0aWMgZXh0ZXJuIGJvb2wgSW5zdGFsbEVMQU1DZXJ0aWZpY2F0ZUluZm8oU2FmZUZpbGVIYW5kbGUgaGFuZGxlKTsgcHVibGljIHN0YXRpYyB2b2lkIEluc3RhbGxXZEJvb3Qoc3RyaW5nIHBhdGgpIHsgQ29uc29sZS5PdXQuV3JpdGVMaW5lKFwiQWJvdXQgdG8gY2FsbCBjcmVhdGUgZmlsZSBvbiB7MH1cIiwgcGF0aCk7IHZhciBzdHJlYW0gPSBGaWxlLk9wZW4ocGF0aCwgRmlsZU1vZGUuT3BlbiwgRmlsZUFjY2Vzcy5SZWFkLCBGaWxlU2hhcmUuUmVhZCk7IHZhciBoYW5kbGUgPSBzdHJlYW0uU2FmZUZpbGVIYW5kbGU7IENvbnNvbGUuT3V0LldyaXRlTGluZShcIkFib3V0IHRvIGNhbGwgSW5zdGFsbEVMQU1DZXJ0aWZpY2F0ZUluZm8gb24gaGFuZGxlIHswfVwiLCBoYW5kbGUuRGFuZ2Vyb3VzR2V0SGFuZGxlKCkpOyBpZiAoIUluc3RhbGxFTEFNQ2VydGlmaWNhdGVJbmZvKGhhbmRsZSkpIHsgQ29uc29sZS5PdXQuV3JpdGVMaW5lKFwiQ2FsbCBmYWlsZWQuXCIpOyB0aHJvdyBuZXcgV2luMzJFeGNlcHRpb24oTWFyc2hhbC5HZXRMYXN0V2luMzJFcnJvcigpKTsgfSBDb25zb2xlLk91dC5Xcml0ZUxpbmUoXCJDYWxsIHN1Y2Nlc3NmdWwuXCIpOyB9IH0gJzsgJGRyaXZlclBhdGggPSAkZW52OlN5c3RlbVJvb3QgKyAnXFN5c3RlbTMyXERyaXZlcnNcV2RCb290LnN5cyc7IFtFbGFtXTo6SW5zdGFsbFdkQm9vdCgkZHJpdmVyUGF0aCkgIiA+TlVMIDI+JjEKClJFRyBxdWVyeSAiSEtMTVxTT0ZUV0FSRVxQb2xpY2llc1xNaWNyb3NvZnRcV2luZG93cyBBZHZhbmNlZCBUaHJlYXQgUHJvdGVjdGlvbiIgL3YgNjk2QzFGQTEtNDAzMC00RkE0LTg3MTMtRkFGOUIyRUE3QzBBIC9yZWc6NjQgPiAlVE1QJVxzZW5zZVRtcC50eHQgMj4mMQppZiAlRVJST1JMRVZFTCUgRVFVIDAgKCAgCiAgICBSRUcgZGVsZXRlICJIS0xNXFNPRlRXQVJFXFBvbGljaWVzXE1pY3Jvc29mdFxXaW5kb3dzIEFkdmFuY2VkIFRocmVhdCBQcm90ZWN0aW9uIiAvdiA2OTZDMUZBMS00MDMwLTRGQTQtODcxMy1GQUY5QjJFQTdDMEEgL2YgPiAlVE1QJVxzZW5zZVRtcC50eHQgMj4mMQogICAgaWYgJUVSUk9STEVWRUwlIE5FUSAwICgKICAgICAgICBzZXQgImVycm9yRGVzY3JpcHRpb249VW5hYmxlIHRvIGRlbGV0ZSBwcmV2aW91cyBvZmZib2FyZGluZyBpbmZvcm1hdGlvbiBmcm9tIHJlZ2lzdHJ5LiIKICAgICAgICBzZXQgZXJyb3JDb2RlPTUKICAgICAgICBzZXQgbGFzdEVycm9yPSVFUlJPUkxFVkVMJQogICAgICAgIEdPVE8gRVJST1IKICAgICkKKQoKUkVHIGFkZCAiSEtMTVxTT0ZUV0FSRVxQb2xpY2llc1xNaWNyb3NvZnRcV2luZG93cyBBZHZhbmNlZCBUaHJlYXQgUHJvdGVjdGlvbiIgL3YgT25ib2FyZGluZ0luZm8gL3QgUkVHX1NaIC9mIC9kICJ7XCJib2R5XCI6XCJ7XFxcInByZXZpb3VzT3JnSWRzXFxcIjpbXSxcXFwib3JnSWRcXFwiOlxcXCIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMGRlYWRcXFwiLFxcXCJnZW9Mb2NhdGlvblVybFxcXCI6XFxcImh0dHBzOi8vc2V2aWxsZWNsb3VkZ2F0ZXdheS1zdGcubWljcm9zb2Z0LmNvbS9cXFwiLFxcXCJkYXRhY2VudGVyXFxcIjpcXFwiRWFzdFVzMlxcXCIsXFxcInZvcnRleEdlb0xvY2F0aW9uXFxcIjpcXFwiU2FuZGJveFxcXCIsXFxcInZlcnNpb25cXFwiOlxcXCIxLjNcXFwifVwiLFwic2lnXCI6XCJKc0dGR2o3UCtIL1cvUEExcW9LTml3RXROZkU4YkhGblhxeks1SDhsQ09wc0RnRGNWTWpoT3BmQTZJTTJ3RFZadk5kWGhvZ0dEQ1FDWjNYdFJCbHRkcGFWc3pZNGtINVpHVkdnRUQxVE80ZCtCTjk2VDFSa3pOZ2NjZ2ZCWDNNQUw1bllUWXdiMGlUQUtFMGIxb3BmQmZrMzJQN3Q3b3A5dkhPeXZNMW5qdlZybVdWWWVSNk4rZFFrLzM4UDNUY2V3b2FkRmFUb3pidjBZK3dZOHgrbFcxeWN6bk1KMitQWTlxRHpabXoybE1rd0FlaDJwRTI4VW5MT0lhNjg0Y3U5RitHUlAveGhhR3dQWmpoc1JCSW51cHV5U1E2Y09YdE9kSERCQlRaZzVKSEhHMDBkNk9tUk5ONmxBelJWeFJURUVmaFFUVnN0U1poKzNMSjJTMGhmZGc9PVwiLFwic2hhMjU2c2lnXCI6XCJsVGI4ZittdkFveDRCckxPS0lqejFnTTNrRHREbG9wL21uNmZodmVEWjMvblVqb1lhNk81V2p4R0x2Z3lqZ0RtdThETkdPNUtqWWlxTVZ6Z0QzcHdqOVYwOXVOeUdYNGJUaXN0d1BnQTFLbGMrMUFLcmtWQTRGWGlQTHlST2tXdlhLM2dydFFJWU9nYjdSRlh6dzhnQlB5YlV0Z0FWbmNaMVFpdTAzblFLdGh5MFU3aXBlZUxaVE9oYVlhN001cTJxUTcya1BaSTZWUWlqSE42NVg3UTEvcm5rdUlSUkFmUEErZElIeE4wN0tpSlY2MGZsbDFZUUtOUlpSYUhKeGQ1UDd0RmdaaytEZE5mNVNXcHVaSTZTZE9MdExDN3VnbmdnK0krU2pUeUtvcVFKZElkWGRRaE5JK3I3WEM1L1M0ZlhnRVNtWmZKTUYxL0JtVlVFZUJDZlE9PVwiLFwiY2VydFwiOlwiTUlJRjVqQ0NBODZnQXdJQkFnSVRNd0FBQVkwdmh1VTl6R2x5b1FBQUFBQUJqVEFOQmdrcWhraUc5dzBCQVFzRkFEQitNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1YyRnphR2x1WjNSdmJqRVFNQTRHQTFVRUJ4TUhVbVZrYlc5dVpERWVNQndHQTFVRUNoTVZUV2xqY205emIyWjBJRU52Y25CdmNtRjBhVzl1TVNnd0pnWURWUVFERXg5TmFXTnliM052Wm5RZ1UyVmpkWEpsSUZObGNuWmxjaUJEUVNBeU1ERXhNQjRYRFRJd01EZ3dOakl3TlRBMU9Gb1hEVEl4TURnd05qSXdOVEExT0Zvd2dZb3hDekFKQmdOVkJBWVRBbFZUTVFzd0NRWURWUVFJRXdKWFFURVFNQTRHQTFVRUJ4TUhVbVZrYlc5dVpERWVNQndHQTFVRUNoTVZUV2xqY205emIyWjBJRU52Y25CdmNtRjBhVzl1TVI0d0hBWURWUVFMRXhWTmFXTnliM052Wm5RZ1EyOXljRzl5WVhScGIyNHhIREFhQmdOVkJBTVRFMU5sZG1sc2JHVXVWMmx1Wkc5M2N5NWpiMjB3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRRENmcWtCcmV1Um1qdm90bDFFdURQWVplaVc1dUVERmV6MXhsYmh6cjVaa1BjSUJYT3RIMVZWRjRaUmVrdTFpK3ZMbTNON2xkVGl4c2RSZW0yU09iVkFGb1dDbjZ2cEYwL1ZYcWpmUTJHbyt2dk9UU1Q0Si9pQWxocXhialVVbkRyWFpXYUMvS2xtU0lYMjlHUng5bG1pT0IrWVBhRzlOTEE1U3F3emNad2hjTThzS3F0VDhHaWQ3Q3JFNGs1WldES0gyL1dPVTVsQ01iZTY2MWtrbWxKZDB2TlBDTXpyMUgzVmNmRG1qVVo4Q25WQzBFODlhVVA3VHhhME1uS0FzVFArQkpCNXJMenhkVlJRbGRNbmhHVXNXRU0ydUNOWXFOdWc4QWYrTGp3RytySXZrSVR3NVlDMUZDZy9qVHBvdHJnSFhmSGRqaURqa0F3ZWY1TlVkTmx0QWdNQkFBR2pnZ0ZPTUlJQlNqQU9CZ05WSFE4QkFmOEVCQU1DQjRBd0V3WURWUjBsQkF3d0NnWUlLd1lCQlFVSEF3RXdIUVlEVlIwT0JCWUVGT0U1NVFoeno5bEhuWTl2aDVTWmtyMTdjbEtzTUI0R0ExVWRFUVFYTUJXQ0UxTmxkbWxzYkdVdVYybHVaRzkzY3k1amIyMHdId1lEVlIwakJCZ3dGb0FVTmxhSlpVbkxXNXN2UEt4Q0ZsQk5rYmt6MTVFd1V3WURWUjBmQkV3d1NqQklvRWFnUklaQ2FIUjBjRG92TDNkM2R5NXRhV055YjNOdlpuUXVZMjl0TDNCcmFXOXdjeTlqY213dlRXbGpVMlZqVTJWeVEwRXlNREV4WHpJd01URXRNVEF0TVRndVkzSnNNR0FHQ0NzR0FRVUZCd0VCQkZRd1VqQlFCZ2dyQmdFRkJRY3dBb1pFYUhSMGNEb3ZMM2QzZHk1dGFXTnliM052Wm5RdVkyOXRMM0JyYVc5d2N5OWpaWEowY3k5TmFXTlRaV05UWlhKRFFUSXdNVEZmTWpBeE1TMHhNQzB4T0M1amNuUXdEQVlEVlIwVEFRSC9CQUl3QURBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQWdFQVp3ZGxhWjg4U3BURFdUUjc5NWRHV2N0dUxUWmc2UDBqYmh4Q0dhOXBnb3AzSXZ1Qi9QYzJXT2Ruc1ZCYUpUZG5WN3NvcFZHa3V4Vjc1eWk2Q0NQM2sxNG0xQ1FhNk01cmNodmJuVEY0TFdjWld4U1g4Z0hjRWhObFdYV3hxU3FKMzNnSHVGNEc5SCs3VDM3UlNMb2Jqb1MyeVRhc21SRWtCNTI4b1gwWVU0cVpjeVdyK0xEMVovQk10dEhMUlZUZUtHdnpMaVpCNmhqWURybW9qUUxKZXZwSEdoTVdOTU9oR2RLd2pOS0crZGhVRHV6dTdsVXgwZzdhaUR3c1l4NzFTaU9ucDJWOSt5UEhET2R5OXlBRUNPb0N3bUprbW5qLzlDMmVNMDFDQjFZMUxTWHNiQUJtQVd3Si9iczhRNnhTWlJtSnkyRXJSQ3VTakl0MUQydzRTUFVMRFNNVTdIaDk3TWJpQVJDV25TMVRRMGg5azZFWVVmbW1ZaFNHQ0p3MXFlekFqZ2FmTngyYWcrRDhzRFFkQzRjVHhUSTk5aGthUm1DakFmeW1qcVdscUx5V0pCUmdvaXdTd21MVDFUbzRJNUVjZHFoQ1FNdEpoRVVRR2dpenk2ZUE2RlhtNHhmeExua08xSkNKSGJUejlqL2c4OW5zZ0hVN2V4SDVnZHhZQ0FDMGJkUlZLN1YrVlBDcExnLy9SemtlNm9mc1Y3WkxyQUpvN0EyQTZka0dVL09XeGhpVjJiY0VlUEpmSWsrVjM3UHp3c25yZ1JFV2RpM1pic3dBOU5aTTVzZGVSMFlFRm11bit0b2JCRGMzMlRidlVyTUpTb2tjcG9XNnRZczlkR0tUcE1GV01EZ09UeEZjSHljbHZrMjRVQVV2dXk2WVcvSVN2VlY4a3BRPVwiLFwiY2hhaW5cIjpbXCJNSUlHMkRDQ0JNQ2dBd0lCQWdJS1lUKzNHQUFBQUFBQUJEQU5CZ2txaGtpRzl3MEJBUXNGQURDQmlERUxNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2xkaGMyaHBibWQwYjI0eEVEQU9CZ05WQkFjVEIxSmxaRzF2Ym1ReEhqQWNCZ05WQkFvVEZVMXBZM0p2YzI5bWRDQkRiM0p3YjNKaGRHbHZiakV5TURBR0ExVUVBeE1wVFdsamNtOXpiMlowSUZKdmIzUWdRMlZ5ZEdsbWFXTmhkR1VnUVhWMGFHOXlhWFI1SURJd01URXdIaGNOTVRFeE1ERTRNakkxTlRFNVdoY05Nall4TURFNE1qTXdOVEU1V2pCK01Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LVjJGemFHbHVaM1J2YmpFUU1BNEdBMVVFQnhNSFVtVmtiVzl1WkRFZU1Cd0dBMVVFQ2hNVlRXbGpjbTl6YjJaMElFTnZjbkJ2Y21GMGFXOXVNU2d3SmdZRFZRUURFeDlOYVdOeWIzTnZablFnVTJWamRYSmxJRk5sY25abGNpQkRRU0F5TURFeE1JSUNJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBZzhBTUlJQ0NnS0NBZ0VBMEF2QXBLZ1pnZUkyNWVLcTVmT3lGVmgxdnJUbFNmSGdoUG03RFdUdmhjR0JWYmp6NS9GdFFGVTl6b3RxMFlTVDlYVjhXNlRVZEJES012TWowNjd1ejU0RVdNTFpSOHZSZkFCQlNIRWJBV2NYR0svRy9uTURmdVR2UTV6dkFYRXFINEVtUTNlWVZGZHpuVlVyOEo2T2ZRWU9yQnRVOHliMytDTUlJb3VlQmgwM09QMXkwc3JsWThHYVduMnliYk5TcVc3cHJyWDhpemI1bnZyMkhGZ2JsMWFsRWVXM1V0dTc2ZkJVdjdUL0xHeTRYU2JPb0FyWDM1UHRmOTJzOFN4ekd0a1pOMVc2M1NKNGpxSFVtd240QnlJeGNiQ1VydUN3NXlaRVY1Q0JseFhPWWV4bDRrdnhoVklXTXZpMWVLcCt6VTNzZ3lHa3FKdSttbW9FNEtNY3pWWVliUDFyTDBJKzRqZnljcXZRZUhOeWU5N3NBRmpsSVRDakNEcVo3NS9EOTNvV2xtVzF3NEd2OURsd1NhLzJxZlpxQURqNXRBZ1o0Qm8xcFZaMklsOXE4bW11UHExWVJrMjRWUGFKUVVRZWNyRzhFaWRUMHNIL3NzMVFtQjYxOUx1MndvSTUyYXdiOGpzbmhHcXd4aVlMMXpvUTU3UGJmTk5XckZOTUMvbzdNVGQwMkZrcitRQjVHUVo3L1J3ZFF0UkJEUzhGRHRWclNTUC96ODM0ZW9MUDJqd3QzK2pZRWdRWXVoNklkN2lZSHhBSHU4Z0ZmZ3NKdjJ2ZDQwNWJzUG5IaEtZN3lreWZXMklwOThlaXFKV0ljQ3psd1Q4OFVpTlBRSnJETVlXREw3OHA4UjFRanlHV0I4N3Y4b0RDUkgyYll1OHZ3M2VKcTBWTlV6NENlZE1DQXdFQUFhT0NBVXN3Z2dGSE1CQUdDU3NHQVFRQmdqY1ZBUVFEQWdFQU1CMEdBMVVkRGdRV0JCUTJWb2xsU2N0Ym15ODhyRUlXVUUyUnVUUFhrVEFaQmdrckJnRUVBWUkzRkFJRURCNEtBRk1BZFFCaUFFTUFRVEFMQmdOVkhROEVCQU1DQVlZd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZkJnTlZIU01FR0RBV2dCUnlMVG9DTVpCRHVSUUZUdUhxcDhjeDBTT0pOREJhQmdOVkhSOEVVekJSTUUrZ1RhQkxoa2xvZEhSd09pOHZZM0pzTG0xcFkzSnZjMjltZEM1amIyMHZjR3RwTDJOeWJDOXdjbTlrZFdOMGN5OU5hV05TYjI5RFpYSkJkWFF5TURFeFh6SXdNVEZmTUROZk1qSXVZM0pzTUY0R0NDc0dBUVVGQndFQkJGSXdVREJPQmdnckJnRUZCUWN3QW9aQ2FIUjBjRG92TDNkM2R5NXRhV055YjNOdlpuUXVZMjl0TDNCcmFTOWpaWEowY3k5TmFXTlNiMjlEWlhKQmRYUXlNREV4WHpJd01URmZNRE5mTWpJdVkzSjBNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUNBUUJCeUdIQjlWdWVQcEV4OGJER3Z3a0J0SjIya0hUWENkdW1MZzJmeU9kMk5FYXZCMkNKVElHelBOWDBFalYxd25PbDlVMkVqTXVrWGErL2t2WVhDRmRDbFhKbEJYWjVyZTdSdXJndVZLTlJCNnhvNnlFTTR5V0J3czBxOHNQL3o4SzlTUmlheC9DRXhma1V2R3VWNVpidnMwTFNVOVZLb0JMRXJoSjJVd2xXRHAzMzA2WkppRkR5aWl5WElLSytUbmp2QldXM1M2RVdpTjR4eHdoQ0pIeWtlNTZkdkdBQVhtS1g0NVA4cC81YmV5WGY1Rk4vUzc3bVB2RGJBWGxDSEc2RmJIMjJSREQ3cFRlU2s3S2w3aUN0UDFQVnlmUW9hMWZCK0IxcXQxWXF0aWVCSEtZdG4rZjAwREdEbDZncXRxeStHMEgxNUlsZlZ2dmFXdE5lZlZXVUVINVRWL1JLUFVBcXlMMW5uNFRoRU83OTJtc1Zna244UmgzL1JRWjBuRUlVN2NVNTA3UE5DNE1ua0VOUmt2SkVncTV1bWhVWHNobjZ4MFZzbUFGN3Z6ZXBzSWlra3J3NE9PQWQ1SHlYbUJvdVgrODRaYmMxTDcxL1R5SDZ4SXpTYndiNVNUWHEzeUFQSmFycVlLc3NIMHVKL0xmNlhGU1FTejZpS0U5czVGSmx3ZjJRSElXQ2lHN3BwbFhkSVNoNVJiQVU1UXJNNWwvRXU5dGhOR21mckNZNDk4RXBRUWdWTGt5Zzkva01QdDVmcXdnSkxZT3NyRFNEWXZUSlNVS0pKYlZ1c2tmRnN6bWdzU0FiTExHT0JHK2xNRWtjMEVicFFGdjByVzY2MjRKS2h4SktnQWxOMjk5MnVRVmJHK0M3SUhCZkFDWEgwdzc2RnExN0lwNXhDQT09XCIsXCJNSUlGN1RDQ0E5V2dBd0lCQWdJUVA0dkl0Znlmc3BaRHRXbldiRUxoUkRBTkJna3Foa2lHOXcwQkFRc0ZBRENCaURFTE1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDbGRoYzJocGJtZDBiMjR4RURBT0JnTlZCQWNUQjFKbFpHMXZibVF4SGpBY0JnTlZCQW9URlUxcFkzSnZjMjltZENCRGIzSndiM0poZEdsdmJqRXlNREFHQTFVRUF4TXBUV2xqY205emIyWjBJRkp2YjNRZ1EyVnlkR2xtYVdOaGRHVWdRWFYwYUc5eWFYUjVJREl3TVRFd0hoY05NVEV3TXpJeU1qSXdOVEk0V2hjTk16WXdNekl5TWpJeE16QTBXakNCaURFTE1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDbGRoYzJocGJtZDBiMjR4RURBT0JnTlZCQWNUQjFKbFpHMXZibVF4SGpBY0JnTlZCQW9URlUxcFkzSnZjMjltZENCRGIzSndiM0poZEdsdmJqRXlNREFHQTFVRUF4TXBUV2xqY205emIyWjBJRkp2YjNRZ1EyVnlkR2xtYVdOaGRHVWdRWFYwYUc5eWFYUjVJREl3TVRFd2dnSWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUNEd0F3Z2dJS0FvSUNBUUN5Z0VHcU5UaE5FM0l5YUNKTnVMTHgvOVZTdkd6SDlkSktqRGJ1MGNKY2ZveUtycThUS0cvQWMrTTZ6dEFscUZvNmJlK291Rm1yRXlOb3pRd3BoOUZ2Z0Z5UFJIOWRrQUZTV0t4UnhWOHFoOXpjMkFvZHdRTzVlN0JXNktQZVpHSENudmp6Zkxuc0RiVlUva3kyWlUrSThKeEltUXhDQ3dsOE1Wa1hlUVo0S0kySk9rd0RKYjV4YWx3TDU0UmdwSmtpNDlLdmhLU24rOUdZN1F5cDNwU0o0UTZnM01ET21UM3FDRks3Vm5ua0g0UzZIcmkweEVsY1R6RkxoOTNkQldjbW1ZRGdjUkdqdUtWQjRxUlR1ZmN5S1lNTUU3ODJYZ1N6UzBOSEwydmlrUjdUbUUvZFFnZkk2QjBTL0ptcGF6NlNmc2pXYVRyOFpMMjJDWjNLL1F3TG9wdDNZRXNEbEtRd2FSTFdRaTNCUVV6SzNLcjlqMXVEUnByWi9MSFI0N1BKZjBoNnpTVHdRWTljZE5Dc3NCQWdCa20zeHkwaHlGZmowSWJ6QTJqNzBNNXh3WW1aU21RQmJQM3NNSkhQUVR5U3grVzZoaDFoaE1kZmd6bGlyclNTTDBmekMvaFY2NkFmV2RDN2RKc2UwSGJtOHVrRzF4RG8rbVRlYWNZMWxvZ0M4RWE0UHllWmI4dHhpU2sxOTBnV0FqV1AxWGw4VFFMUFgrdUtnMDlGY1lqNXFRMU9jdW5DbkFmUFNSdE9CQTVqVVl4ZTJBREJWU3kyeHVEQ1pVN0pORG4xbkxQRWZ1aGhiaE5mRmNSZjJYN3RIYzd1Uk96TExvYXg3RGoyY08yclhCUEIyUThOeDRDeVZlMDA5NnliNU1QYTUwYzhwcldQTWQvRlM2L3I4UUlEQVFBQm8xRXdUekFMQmdOVkhROEVCQU1DQVlZd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFRmdRVWNpMDZBakdRUTdrVUJVN2g2cWZITWRFamlUUXdFQVlKS3dZQkJBR0NOeFVCQkFNQ0FRQXdEUVlKS29aSWh2Y05BUUVMQlFBRGdnSUJBSDl5encrM3hSWGJtOEJKeWlaYi9wNFQ1dFB3MHR1WFgvSkxQMDJ6cmhtdTdkZVhvS3p2cVRxandrR3c1YmlSbmhPQkpBUG1DZjAvVjBBNUlTUlcwUkF2UzBDcE5vWkx0Rk5YbXZ2eGZvbVBFZjRZYkZHcTZPMEpsYlhsY2NtaDZZZDFwaFYveVg0M1ZGNTBrOFhEWjh3TlQydW9Gd3h0Q0pKK2k5MkJxaTF3SWNNOUJoUzd2eVJlcDRUWFB3OGhJcjFMQUFiYmx4ellYdFRGQzF5SGJsQ2s2TU00cFB2TExNV1NacHVGWHN0NmJKTjhnQ2xZVzFlMVFHbTZDSG1tWkdJVm5ZZVdSYlZtSXlBRGl4eHpvTk9pZVRQZ1VGbUcyeS9sQWlYcWN5cWZBQlRJTnNlU08rbE9BT3pZVmdtNU0wa1MwbFFMQWF1c1I3YVJLWDFNdEhXQVVnSG95b0wybjh5c25JOFg2aThtc0t0eXJBditubEVleDBOVlowOVJzMWZXdHV6dVVyYzY2VTdoMTRHSXZFK09kYnRMcVBBMXFpYlVaMmRKc25CTU81UGNIZDk0a0laeXNqaWswZHlTVGNsWTZ5c1NYTlE3cm94cnNJUGxBVC80Q1RMMmt6VTBJcS9kTncxM0NZQXJ6VWdBOFl5WkdVY0ZBZW5SdjlGTzBPWW9RemVacEFwS0NObWFjWFBTcXMweEUyTjJvVGR2a2pnZWZSSThaakxueTIzaC9GS0ozY3JXWmdXYWxtRytvaWpISEtPbk5sQThPcVRmU203bWh6dk82L0RnZ1RlZEV6eFNqcjI1SFRUR0hkVUthajJZS1hDTWlTclJxNElRU0IvYzlPK2x4YnRWR2poamhFNjNiSzJWVk94bEloQkpGN2pBSHNjUHJGUkhcIl19IiA+ICVUTVAlXHNlbnNlVG1wLnR4dCAyPiYxCmlmICVFUlJPUkxFVkVMJSBORVEgMCAoCiAgIHNldCAiZXJyb3JEZXNjcmlwdGlvbj1VbmFibGUgdG8gd3JpdGUgb25ib2FyZGluZyBpbmZvcm1hdGlvbiB0byByZWdpc3RyeS4iCiAgIHNldCBlcnJvckNvZGU9MTAKICAgc2V0IGxhc3RFcnJvcj0lRVJST1JMRVZFTCUKICAgR09UTyBFUlJPUgopCgplY2hvIFN0YXJ0aW5nIHRoZSBzZXJ2aWNlLCBpZiBub3QgYWxyZWFkeSBydW5uaW5nID5OVUwgMj4mMQplY2hvLiA+TlVMIDI+JjEKc2MgcXVlcnkgIlNFTlNFIiB8IGZpbmQgL2kgIlJVTk5JTkciID5OVUwgMj4mMQppZiAlRVJST1JMRVZFTCUgRVFVIDAgR09UTyBSVU5OSU5HCgpuZXQgc3RhcnQgc2Vuc2UgPiAlVE1QJVxzZW5zZVRtcC50eHQgMj4mMQppZiAlRVJST1JMRVZFTCUgTkVRIDAgKAogICBlY2hvIFdpbmRvd3MgRGVmZW5kZXIgQWR2YW5jZWQgVGhyZWF0IFByb3RlY3Rpb24gU2VydmljZSBoYXMgbm90IHN0YXJ0ZWQgeWV0ID5OVUwgMj4mMQogICBHT1RPIFdBSVRfRk9SX1RIRV9TRVJWSUNFX1RPX1NUQVJUCikKZ290byBTVUNDRUVERUQKCjpSVU5OSU5HCnNldCAicnVubmluZ091dHB1dD1UaGUgV2luZG93cyBEZWZlbmRlciBBZHZhbmNlZCBUaHJlYXQgUHJvdGVjdGlvbiBTZXJ2aWNlIGlzIGFscmVhZHkgcnVubmluZyEiCmVjaG8gJXJ1bm5pbmdPdXRwdXQlID5OVUwgMj4mMQplY2hvLiA+TlVMIDI+JjEKZXZlbnRjcmVhdGUgL2wgQXBwbGljYXRpb24gL3NvIFdEQVRQT25ib2FyZGluZyAvdCBJbmZvcm1hdGlvbiAvaWQgMTAgL2QgIiVydW5uaW5nT3V0cHV0JSIgPk5VTCAyPiYxCkdPVE8gV0FJVF9GT1JfVEhFX1NFUlZJQ0VfVE9fU1RBUlQKCjpFUlJPUgpTZXQgL1AgZXJyb3JNc2c9PCVUTVAlXHNlbnNlVG1wLnR4dApzZXQgImVycm9yT3V0cHV0PVtFcnJvciBJZDogJWVycm9yQ29kZSUsIEVycm9yIExldmVsOiAlbGFzdEVycm9yJV0gJWVycm9yRGVzY3JpcHRpb24lIEVycm9yIG1lc3NhZ2U6ICVlcnJvck1zZyUiCiVwb3dlcnNoZWxsUGF0aCUgLUV4ZWN1dGlvblBvbGljeSBCeXBhc3MgLU5vUHJvZmlsZSAtQ29tbWFuZCAiQWRkLVR5cGUgJ3VzaW5nIFN5c3RlbTsgdXNpbmcgU3lzdGVtLkRpYWdub3N0aWNzOyB1c2luZyBTeXN0ZW0uRGlhZ25vc3RpY3MuVHJhY2luZzsgbmFtZXNwYWNlIFNlbnNlIHsgW0V2ZW50RGF0YShOYW1lID0gXCJPbmJvYXJkaW5nXCIpXXB1YmxpYyBzdHJ1Y3QgT25ib2FyZGluZ3twdWJsaWMgc3RyaW5nIE1lc3NhZ2UgeyBnZXQ7IHNldDsgfX0gcHVibGljIGNsYXNzIFRyYWNlIHtwdWJsaWMgc3RhdGljIEV2ZW50U291cmNlT3B0aW9ucyBUZWxlbWV0cnlDcml0aWNhbE9wdGlvbiA9IG5ldyBFdmVudFNvdXJjZU9wdGlvbnMoKXtMZXZlbCA9IEV2ZW50TGV2ZWwuRXJyb3IsIEtleXdvcmRzID0gKEV2ZW50S2V5d29yZHMpMHgwMDAwMjAwMDAwMDAwMDAwLCBUYWdzID0gKEV2ZW50VGFncykweDAyMDAwMDB9OyBwdWJsaWMgdm9pZCBXcml0ZU9uYm9hcmRpbmdNZXNzYWdlKHN0cmluZyBtZXNzYWdlKXtlcy5Xcml0ZShcIk9uYm9hcmRpbmdTY3JpcHRcIiwgVGVsZW1ldHJ5Q3JpdGljYWxPcHRpb24sIG5ldyBPbmJvYXJkaW5nIHtNZXNzYWdlID0gbWVzc2FnZX0pO30gcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgc3RyaW5nW10gdGVsZW1ldHJ5VHJhaXRzID0geyBcIkVUV19HUk9VUFwiLCBcIns1RUNCMEJBQy1COTMwLTQ3RjUtQThBNC1FODI1MzUyOUVEQjd9XCIgfTsgcHJpdmF0ZSBFdmVudFNvdXJjZSBlcyA9IG5ldyBFdmVudFNvdXJjZShcIk1pY3Jvc29mdC5XaW5kb3dzLlNlbnNlLkNsaWVudC5NYW5hZ2VtZW50XCIsRXZlbnRTb3VyY2VTZXR0aW5ncy5FdHdTZWxmRGVzY3JpYmluZ0V2ZW50Rm9ybWF0LHRlbGVtZXRyeVRyYWl0cyk7fX0nOyAkbG9nZ2VyID0gTmV3LU9iamVjdCAtVHlwZU5hbWUgU2Vuc2UuVHJhY2U7ICRsb2dnZXIuV3JpdGVPbmJvYXJkaW5nTWVzc2FnZSgnJWVycm9yT3V0cHV0JScpIiA+TlVMIDI+JjEKZWNobyAlZXJyb3JPdXRwdXQlID5OVUwgMj4mMQplY2hvLiA+TlVMIDI+JjEKZXZlbnRjcmVhdGUgL2wgQXBwbGljYXRpb24gL3NvIFdEQVRQT25ib2FyZGluZyAvdCBFcnJvciAvaWQgJWVycm9yQ29kZSUgL2QgIiVlcnJvck91dHB1dCUiID5OVUwgMj4mMQpHT1RPIENMRUFOVVAKCjpTVUNDRUVERUQKZWNobyBGaW5pc2hlZCBwZXJmb3JtaW5nIG9uYm9hcmRpbmcgb3BlcmF0aW9ucyA+TlVMIDI+JjEKZWNoby4gPk5VTCAyPiYxCkdPVE8gV0FJVF9GT1JfVEhFX1NFUlZJQ0VfVE9fU1RBUlQKCjpXQUlUX0ZPUl9USEVfU0VSVklDRV9UT19TVEFSVAplY2hvIFdhaXRpbmcgZm9yIHRoZSBzZXJ2aWNlIHRvIHN0YXJ0ID5OVUwgMj4mMQplY2hvLiA+TlVMIDI+JjEKCnNldCAvYSBjb3VudGVyPTAKCjpTRU5TRV9SVU5OSU5HX1dBSVQKc2MgcXVlcnkgIlNFTlNFIiB8IGZpbmQgL2kgIlJVTk5JTkciID5OVUwgMj4mMQppZiAlRVJST1JMRVZFTCUgTkVRIDAgKAoJSUYgJWNvdW50ZXIlIEVRVSA0ICgKCQlzZXQgImVycm9yRGVzY3JpcHRpb249VW5hYmxlIHRvIHN0YXJ0IFdpbmRvd3MgRGVmZW5kZXIgQWR2YW5jZWQgVGhyZWF0IFByb3RlY3Rpb24gU2VydmljZS4iCgkJc2V0IGVycm9yQ29kZT0xNQoJCXNldCBsYXN0RXJyb3I9JUVSUk9STEVWRUwlCgkJR09UTyBFUlJPUgoJKQoKCXNldCAvYSBjb3VudGVyPSVjb3VudGVyJSsxCgoJdGltZW91dCA1ID5OVUwgMj4mMQoJR09UTyA6U0VOU0VfUlVOTklOR19XQUlUCikKCnNldCAvYSBjb3VudGVyPTAKCjpTRU5TRV9PTkJPQVJERURfU1RBVFVTX1dBSVQKUkVHIHF1ZXJ5ICJIS0xNXFNPRlRXQVJFXE1pY3Jvc29mdFxXaW5kb3dzIEFkdmFuY2VkIFRocmVhdCBQcm90ZWN0aW9uXFN0YXR1cyIgL3YgT25ib2FyZGluZ1N0YXRlIC9yZWc6NjQgPk5VTCAyPiYxCmlmICVFUlJPUkxFVkVMJSBORVEgMCAoCglJRiAlY291bnRlciUgRVFVIDQgKAoJCUBlY2hvIFdpbmRvd3MgRGVmZW5kZXIgQWR2YW5jZWQgVGhyZWF0IFByb3RlY3Rpb24gU2VydmljZSBpcyBub3QgcnVubmluZyBhcyBleHBlY3RlZD4gJVRNUCVcc2Vuc2VUbXAudHh0CgkJc2V0IGVycm9yQ29kZT0zNQogICAgIHNldCBsYXN0RXJyb3I9JUVSUk9STEVWRUwlCgkJR09UTyBFUlJPUgoJKQoKCXNldCAvYSBjb3VudGVyPSVjb3VudGVyJSsxCgoJdGltZW91dCA1ID5OVUwgMj4mMQoJR09UTyA6U0VOU0VfT05CT0FSREVEX1NUQVRVU19XQUlUCikKCnNldCAvYSBjb3VudGVyPTAKCjpTRU5TRV9PTkJPQVJERURfV0FJVApSRUcgcXVlcnkgIkhLTE1cU09GVFdBUkVcTWljcm9zb2Z0XFdpbmRvd3MgQWR2YW5jZWQgVGhyZWF0IFByb3RlY3Rpb25cU3RhdHVzIiAvdiBPbmJvYXJkaW5nU3RhdGUgL3JlZzo2NCB8IGZpbmQgL2kgIjB4MSIgPk5VTCAyPiYxCmlmICVFUlJPUkxFVkVMJSBORVEgMCAoCglJRiAlY291bnRlciUgRVFVIDQgKAoJCUBlY2hvIFdpbmRvd3MgRGVmZW5kZXIgQWR2YW5jZWQgVGhyZWF0IFByb3RlY3Rpb24gU2VydmljZSBpcyBub3QgcnVubmluZyBhcyBleHBlY3RlZD4gJVRNUCVcc2Vuc2VUbXAudHh0CgkJc2V0IGVycm9yQ29kZT00MAogICAgIHNldCBsYXN0RXJyb3I9JUVSUk9STEVWRUwlCgkJR09UTyBFUlJPUgoJKQoKCXNldCAvYSBjb3VudGVyPSVjb3VudGVyJSsxCgoJdGltZW91dCA1ID5OVUwgMj4mMQoJR09UTyA6U0VOU0VfT05CT0FSREVEX1dBSVQKKQoKc2V0ICJzdWNjZXNzT3V0cHV0PVN1Y2Nlc3NmdWxseSBvbmJvYXJkZWQgbWFjaGluZSB0byBXaW5kb3dzIERlZmVuZGVyIEFkdmFuY2VkIFRocmVhdCBQcm90ZWN0aW9uIgplY2hvICVzdWNjZXNzT3V0cHV0JSA+TlVMIDI+JjEKZWNoby4KZXZlbnRjcmVhdGUgL2wgQXBwbGljYXRpb24gL3NvIFdEQVRQT25ib2FyZGluZyAvdCBJbmZvcm1hdGlvbiAvaWQgMjAgL2QgIiVzdWNjZXNzT3V0cHV0JSIgPk5VTCAyPiYxCiVwb3dlcnNoZWxsUGF0aCUgLUV4ZWN1dGlvblBvbGljeSBCeXBhc3MgLU5vUHJvZmlsZSAtQ29tbWFuZCAiQWRkLVR5cGUgJ3VzaW5nIFN5c3RlbTsgdXNpbmcgU3lzdGVtLkRpYWdub3N0aWNzOyB1c2luZyBTeXN0ZW0uRGlhZ25vc3RpY3MuVHJhY2luZzsgbmFtZXNwYWNlIFNlbnNlIHsgW0V2ZW50RGF0YShOYW1lID0gXCJPbmJvYXJkaW5nXCIpXXB1YmxpYyBzdHJ1Y3QgT25ib2FyZGluZ3twdWJsaWMgc3RyaW5nIE1lc3NhZ2UgeyBnZXQ7IHNldDsgfX0gcHVibGljIGNsYXNzIFRyYWNlIHtwdWJsaWMgc3RhdGljIEV2ZW50U291cmNlT3B0aW9ucyBUZWxlbWV0cnlDcml0aWNhbE9wdGlvbiA9IG5ldyBFdmVudFNvdXJjZU9wdGlvbnMoKXtMZXZlbCA9IEV2ZW50TGV2ZWwuSW5mb3JtYXRpb25hbCwgS2V5d29yZHMgPSAoRXZlbnRLZXl3b3JkcykweDAwMDAyMDAwMDAwMDAwMDAsIFRhZ3MgPSAoRXZlbnRUYWdzKTB4MDIwMDAwMH07IHB1YmxpYyB2b2lkIFdyaXRlT25ib2FyZGluZ01lc3NhZ2Uoc3RyaW5nIG1lc3NhZ2Upe2VzLldyaXRlKFwiT25ib2FyZGluZ1NjcmlwdFwiLCBUZWxlbWV0cnlDcml0aWNhbE9wdGlvbiwgbmV3IE9uYm9hcmRpbmcge01lc3NhZ2UgPSBtZXNzYWdlfSk7fSBwcml2YXRlIHN0YXRpYyByZWFkb25seSBzdHJpbmdbXSB0ZWxlbWV0cnlUcmFpdHMgPSB7IFwiRVRXX0dST1VQXCIsIFwiezVFQ0IwQkFDLUI5MzAtNDdGNS1BOEE0LUU4MjUzNTI5RURCN31cIiB9OyBwcml2YXRlIEV2ZW50U291cmNlIGVzID0gbmV3IEV2ZW50U291cmNlKFwiTWljcm9zb2Z0LldpbmRvd3MuU2Vuc2UuQ2xpZW50Lk1hbmFnZW1lbnRcIixFdmVudFNvdXJjZVNldHRpbmdzLkV0d1NlbGZEZXNjcmliaW5nRXZlbnRGb3JtYXQsdGVsZW1ldHJ5VHJhaXRzKTt9fSc7ICRsb2dnZXIgPSBOZXctT2JqZWN0IC1UeXBlTmFtZSBTZW5zZS5UcmFjZTsgJGxvZ2dlci5Xcml0ZU9uYm9hcmRpbmdNZXNzYWdlKCclc3VjY2Vzc091dHB1dCUnKSIgPk5VTCAyPiYxCiIlUFJPR1JBTUZJTEVTJVxXaW5kb3dzIERlZmVuZGVyXE1wQ21kUnVuLmV4ZSIgLVJlbG9hZEVuZ2luZSA+TlVMIDI+JjEKCkdPVE8gQ0xFQU5VUAoKOkNMRUFOVVAKaWYgZXhpc3QgJVRNUCVcc2Vuc2VUbXAudHh0IGRlbCAlVE1QJVxzZW5zZVRtcC50eHQKRVhJVCAvQiAlZXJyb3JDb2RlJQo=="),
// OnboardingPackageWindows: []byte("QGVjaG8gb2ZmCgplY2hvLiA+TlVMIDI+JjEKZWNobyBTdGFydGluZyBXaW5kb3dzIERlZmVuZGVyIEFkdmFuY2VkIFRocmVhdCBQcm90ZWN0aW9uIG9uYm9hcmRpbmcgcHJvY2Vzcy4uLiA+TlVMIDI+JjEKZWNoby4gPk5VTCAyPiYxCgpzZXQgZXJyb3JDb2RlPTAKc2V0IGxhc3RFcnJvcj0wCnNldCAidHJvdWJsZXNob290SW5mbz1Gb3IgbW9yZSBpbmZvcm1hdGlvbiwgdmlzaXQ6IGh0dHBzOi8vZ28ubWljcm9zb2Z0LmNvbS9md2xpbmsvcC8/bGlua2lkPTgyMjgwNyIKc2V0ICJlcnJvckRlc2NyaXB0aW9uPSIKCmVjaG8gVGVzdGluZyBhZG1pbmlzdHJhdG9yIHByaXZpbGVnZXMgPk5VTCAyPiYxCgpuZXQgc2Vzc2lvbiA+TlVMIDI+JjEKaWYgJUVSUk9STEVWRUwlIE5FUSAwICgKCUBlY2hvIFNjcmlwdCBpcyBydW5uaW5nIHdpdGggaW5zdWZmaWNpZW50IHByaXZpbGVnZXMuIFBsZWFzZSBydW4gd2l0aCBhZG1pbmlzdHJhdG9yIHByaXZpbGVnZXM+ICVUTVAlXHNlbnNlVG1wLnR4dAoJc2V0IGVycm9yQ29kZT02NQogc2V0IGxhc3RFcnJvcj0lRVJST1JMRVZFTCUKCUdPVE8gRVJST1IKKQoKZWNobyBTY3JpcHQgaXMgcnVubmluZyB3aXRoIHN1ZmZpY2llbnQgcHJpdmlsZWdlcyA+TlVMIDI+JjEKZWNoby4gPk5VTCAyPiYxCmVjaG8gUGVyZm9ybWluZyBvbmJvYXJkaW5nIG9wZXJhdGlvbnMgPk5VTCAyPiYxCmVjaG8uID5OVUwgMj4mMQoKSUYgWyVQUk9DRVNTT1JfQVJDSElURVc2NDMyJV0gRVFVIFtdICgKICBzZXQgcG93ZXJzaGVsbFBhdGg9JXdpbmRpciVcU3lzdGVtMzJcV2luZG93c1Bvd2VyU2hlbGxcdjEuMFxwb3dlcnNoZWxsLmV4ZQopIEVMU0UgKAogIHNldCBwb3dlcnNoZWxsUGF0aD0ld2luZGlyJVxTeXNOYXRpdmVcV2luZG93c1Bvd2VyU2hlbGxcdjEuMFxwb3dlcnNoZWxsLmV4ZQopCgpzZXQgc2RiaW49MDEwMDA0ODA0NDAwMDAwMDU0MDAwMDAwMDAwMDAwMDAxNDAwMDAwMDAyMDAzMDAwMDIwMDAwMDAwMDAwMTQwMEZGMEYxMjAwMDEwMTAwMDAwMDAwMDAwNTEyMDAwMDAwMDAwMDE0MDBFMTA0MTIwMDAxMDEwMDAwMDAwMDAwMDUwQjAwMDAwMDAxMDIwMDAwMDAwMDAwMDUyMDAwMDAwMDIwMDIwMDAwMDEwMjAwMDAwMDAwMDAwNTIwMDAwMDAwMjAwMjAwMDAgPk5VTCAyPiYxCnJlZyBhZGQgSEtMTVxTWVNURU1cQ3VycmVudENvbnRyb2xTZXRcQ29udHJvbFxXTUlcU2VjdXJpdHkgL3YgMTRmODEzOGUtM2I2MS01ODBiLTU0NGItMjYwOTM3OGFlNDYwIC90IFJFR19CSU5BUlkgL2QgJXNkYmluJSAvZiA+TlVMIDI+JjEKcmVnIGFkZCBIS0xNXFNZU1RFTVxDdXJyZW50Q29udHJvbFNldFxDb250cm9sXFdNSVxTZWN1cml0eSAvdiBjYjJmZjcyZC1kNGU0LTU4NWQtMzNmOS1mM2EzOTVjNDBiZTcgL3QgUkVHX0JJTkFSWSAvZCAlc2RiaW4lIC9mID5OVUwgMj4mMQoKUkVHIGFkZCAiSEtMTVxTT0ZUV0FSRVxQb2xpY2llc1xNaWNyb3NvZnRcV2luZG93c1xEYXRhQ29sbGVjdGlvbiIgL3YgRGlzYWJsZUVudGVycHJpc2VBdXRoUHJveHkgL3QgUkVHX0RXT1JEIC9mIC9kIDEgPk5VTCAyPiYxCgolcG93ZXJzaGVsbFBhdGglIC1FeGVjdXRpb25Qb2xpY3kgQnlwYXNzIC1Ob1Byb2ZpbGUgLUNvbW1hbmQgIkFkZC1UeXBlICcgdXNpbmcgU3lzdGVtOyB1c2luZyBTeXN0ZW0uSU87IHVzaW5nIFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlczsgdXNpbmcgTWljcm9zb2Z0LldpbjMyLlNhZmVIYW5kbGVzOyB1c2luZyBTeXN0ZW0uQ29tcG9uZW50TW9kZWw7IHB1YmxpYyBzdGF0aWMgY2xhc3MgRWxhbXsgW0RsbEltcG9ydChcIktlcm5lbDMyXCIsIENoYXJTZXQ9Q2hhclNldC5BdXRvLCBTZXRMYXN0RXJyb3I9dHJ1ZSldIHB1YmxpYyBzdGF0aWMgZXh0ZXJuIGJvb2wgSW5zdGFsbEVMQU1DZXJ0aWZpY2F0ZUluZm8oU2FmZUZpbGVIYW5kbGUgaGFuZGxlKTsgcHVibGljIHN0YXRpYyB2b2lkIEluc3RhbGxXZEJvb3Qoc3RyaW5nIHBhdGgpIHsgQ29uc29sZS5PdXQuV3JpdGVMaW5lKFwiQWJvdXQgdG8gY2FsbCBjcmVhdGUgZmlsZSBvbiB7MH1cIiwgcGF0aCk7IHZhciBzdHJlYW0gPSBGaWxlLk9wZW4ocGF0aCwgRmlsZU1vZGUuT3BlbiwgRmlsZUFjY2Vzcy5SZWFkLCBGaWxlU2hhcmUuUmVhZCk7IHZhciBoYW5kbGUgPSBzdHJlYW0uU2FmZUZpbGVIYW5kbGU7IENvbnNvbGUuT3V0LldyaXRlTGluZShcIkFib3V0IHRvIGNhbGwgSW5zdGFsbEVMQU1DZXJ0aWZpY2F0ZUluZm8gb24gaGFuZGxlIHswfVwiLCBoYW5kbGUuRGFuZ2Vyb3VzR2V0SGFuZGxlKCkpOyBpZiAoIUluc3RhbGxFTEFNQ2VydGlmaWNhdGVJbmZvKGhhbmRsZSkpIHsgQ29uc29sZS5PdXQuV3JpdGVMaW5lKFwiQ2FsbCBmYWlsZWQuXCIpOyB0aHJvdyBuZXcgV2luMzJFeGNlcHRpb24oTWFyc2hhbC5HZXRMYXN0V2luMzJFcnJvcigpKTsgfSBDb25zb2xlLk91dC5Xcml0ZUxpbmUoXCJDYWxsIHN1Y2Nlc3NmdWwuXCIpOyB9IH0gJzsgJGRyaXZlclBhdGggPSAkZW52OlN5c3RlbVJvb3QgKyAnXFN5c3RlbTMyXERyaXZlcnNcV2RCb290LnN5cyc7IFtFbGFtXTo6SW5zdGFsbFdkQm9vdCgkZHJpdmVyUGF0aCkgIiA+TlVMIDI+JjEKClJFRyBxdWVyeSAiSEtMTVxTT0ZUV0FSRVxQb2xpY2llc1xNaWNyb3NvZnRcV2luZG93cyBBZHZhbmNlZCBUaHJlYXQgUHJvdGVjdGlvbiIgL3YgNjk2QzFGQTEtNDAzMC00RkE0LTg3MTMtRkFGOUIyRUE3QzBBIC9yZWc6NjQgPiAlVE1QJVxzZW5zZVRtcC50eHQgMj4mMQppZiAlRVJST1JMRVZFTCUgRVFVIDAgKCAgCiAgICBSRUcgZGVsZXRlICJIS0xNXFNPRlRXQVJFXFBvbGljaWVzXE1pY3Jvc29mdFxXaW5kb3dzIEFkdmFuY2VkIFRocmVhdCBQcm90ZWN0aW9uIiAvdiA2OTZDMUZBMS00MDMwLTRGQTQtODcxMy1GQUY5QjJFQTdDMEEgL2YgPiAlVE1QJVxzZW5zZVRtcC50eHQgMj4mMQogICAgaWYgJUVSUk9STEVWRUwlIE5FUSAwICgKICAgICAgICBzZXQgImVycm9yRGVzY3JpcHRpb249VW5hYmxlIHRvIGRlbGV0ZSBwcmV2aW91cyBvZmZib2FyZGluZyBpbmZvcm1hdGlvbiBmcm9tIHJlZ2lzdHJ5LiIKICAgICAgICBzZXQgZXJyb3JDb2RlPTUKICAgICAgICBzZXQgbGFzdEVycm9yPSVFUlJPUkxFVkVMJQogICAgICAgIEdPVE8gRVJST1IKICAgICkKKQoKUkVHIGFkZCAiSEtMTVxTT0ZUV0FSRVxQb2xpY2llc1xNaWNyb3NvZnRcV2luZG93cyBBZHZhbmNlZCBUaHJlYXQgUHJvdGVjdGlvbiIgL3YgT25ib2FyZGluZ0luZm8gL3QgUkVHX1NaIC9mIC9kICJ7XCJib2R5XCI6XCJ7XFxcInByZXZpb3VzT3JnSWRzXFxcIjpbXSxcXFwib3JnSWRcXFwiOlxcXCIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMGRlYWRcXFwiLFxcXCJnZW9Mb2NhdGlvblVybFxcXCI6XFxcImh0dHBzOi8vc2V2aWxsZWNsb3VkZ2F0ZXdheS1zdGcubWljcm9zb2Z0LmNvbS9cXFwiLFxcXCJkYXRhY2VudGVyXFxcIjpcXFwiRWFzdFVzMlxcXCIsXFxcInZvcnRleEdlb0xvY2F0aW9uXFxcIjpcXFwiU2FuZGJveFxcXCIsXFxcInZlcnNpb25cXFwiOlxcXCIxLjNcXFwifVwiLFwic2lnXCI6XCJKc0dGR2o3UCtIL1cvUEExcW9LTml3RXROZkU4YkhGblhxeks1SDhsQ09wc0RnRGNWTWpoT3BmQTZJTTJ3RFZadk5kWGhvZ0dEQ1FDWjNYdFJCbHRkcGFWc3pZNGtINVpHVkdnRUQxVE80ZCtCTjk2VDFSa3pOZ2NjZ2ZCWDNNQUw1bllUWXdiMGlUQUtFMGIxb3BmQmZrMzJQN3Q3b3A5dkhPeXZNMW5qdlZybVdWWWVSNk4rZFFrLzM4UDNUY2V3b2FkRmFUb3pidjBZK3dZOHgrbFcxeWN6bk1KMitQWTlxRHpabXoybE1rd0FlaDJwRTI4VW5MT0lhNjg0Y3U5RitHUlAveGhhR3dQWmpoc1JCSW51cHV5U1E2Y09YdE9kSERCQlRaZzVKSEhHMDBkNk9tUk5ONmxBelJWeFJURUVmaFFUVnN0U1poKzNMSjJTMGhmZGc9PVwiLFwic2hhMjU2c2lnXCI6XCJsVGI4ZittdkFveDRCckxPS0lqejFnTTNrRHREbG9wL21uNmZodmVEWjMvblVqb1lhNk81V2p4R0x2Z3lqZ0RtdThETkdPNUtqWWlxTVZ6Z0QzcHdqOVYwOXVOeUdYNGJUaXN0d1BnQTFLbGMrMUFLcmtWQTRGWGlQTHlST2tXdlhLM2dydFFJWU9nYjdSRlh6dzhnQlB5YlV0Z0FWbmNaMVFpdTAzblFLdGh5MFU3aXBlZUxaVE9oYVlhN001cTJxUTcya1BaSTZWUWlqSE42NVg3UTEvcm5rdUlSUkFmUEErZElIeE4wN0tpSlY2MGZsbDFZUUtOUlpSYUhKeGQ1UDd0RmdaaytEZE5mNVNXcHVaSTZTZE9MdExDN3VnbmdnK0krU2pUeUtvcVFKZElkWGRRaE5JK3I3WEM1L1M0ZlhnRVNtWmZKTUYxL0JtVlVFZUJDZlE9PVwiLFwiY2VydFwiOlwiTUlJRjVqQ0NBODZnQXdJQkFnSVRNd0FBQVkwdmh1VTl6R2x5b1FBQUFBQUJqVEFOQmdrcWhraUc5dzBCQVFzRkFEQitNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1YyRnphR2x1WjNSdmJqRVFNQTRHQTFVRUJ4TUhVbVZrYlc5dVpERWVNQndHQTFVRUNoTVZUV2xqY205emIyWjBJRU52Y25CdmNtRjBhVzl1TVNnd0pnWURWUVFERXg5TmFXTnliM052Wm5RZ1UyVmpkWEpsSUZObGNuWmxjaUJEUVNBeU1ERXhNQjRYRFRJd01EZ3dOakl3TlRBMU9Gb1hEVEl4TURnd05qSXdOVEExT0Zvd2dZb3hDekFKQmdOVkJBWVRBbFZUTVFzd0NRWURWUVFJRXdKWFFURVFNQTRHQTFVRUJ4TUhVbVZrYlc5dVpERWVNQndHQTFVRUNoTVZUV2xqY205emIyWjBJRU52Y25CdmNtRjBhVzl1TVI0d0hBWURWUVFMRXhWTmFXTnliM052Wm5RZ1EyOXljRzl5WVhScGIyNHhIREFhQmdOVkJBTVRFMU5sZG1sc2JHVXVWMmx1Wkc5M2N5NWpiMjB3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRRENmcWtCcmV1Um1qdm90bDFFdURQWVplaVc1dUVERmV6MXhsYmh6cjVaa1BjSUJYT3RIMVZWRjRaUmVrdTFpK3ZMbTNON2xkVGl4c2RSZW0yU09iVkFGb1dDbjZ2cEYwL1ZYcWpmUTJHbyt2dk9UU1Q0Si9pQWxocXhialVVbkRyWFpXYUMvS2xtU0lYMjlHUng5bG1pT0IrWVBhRzlOTEE1U3F3emNad2hjTThzS3F0VDhHaWQ3Q3JFNGs1WldES0gyL1dPVTVsQ01iZTY2MWtrbWxKZDB2TlBDTXpyMUgzVmNmRG1qVVo4Q25WQzBFODlhVVA3VHhhME1uS0FzVFArQkpCNXJMenhkVlJRbGRNbmhHVXNXRU0ydUNOWXFOdWc4QWYrTGp3RytySXZrSVR3NVlDMUZDZy9qVHBvdHJnSFhmSGRqaURqa0F3ZWY1TlVkTmx0QWdNQkFBR2pnZ0ZPTUlJQlNqQU9CZ05WSFE4QkFmOEVCQU1DQjRBd0V3WURWUjBsQkF3d0NnWUlLd1lCQlFVSEF3RXdIUVlEVlIwT0JCWUVGT0U1NVFoeno5bEhuWTl2aDVTWmtyMTdjbEtzTUI0R0ExVWRFUVFYTUJXQ0UxTmxkbWxzYkdVdVYybHVaRzkzY3k1amIyMHdId1lEVlIwakJCZ3dGb0FVTmxhSlpVbkxXNXN2UEt4Q0ZsQk5rYmt6MTVFd1V3WURWUjBmQkV3d1NqQklvRWFnUklaQ2FIUjBjRG92TDNkM2R5NXRhV055YjNOdlpuUXVZMjl0TDNCcmFXOXdjeTlqY213dlRXbGpVMlZqVTJWeVEwRXlNREV4WHpJd01URXRNVEF0TVRndVkzSnNNR0FHQ0NzR0FRVUZCd0VCQkZRd1VqQlFCZ2dyQmdFRkJRY3dBb1pFYUhSMGNEb3ZMM2QzZHk1dGFXTnliM052Wm5RdVkyOXRMM0JyYVc5d2N5OWpaWEowY3k5TmFXTlRaV05UWlhKRFFUSXdNVEZmTWpBeE1TMHhNQzB4T0M1amNuUXdEQVlEVlIwVEFRSC9CQUl3QURBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQWdFQVp3ZGxhWjg4U3BURFdUUjc5NWRHV2N0dUxUWmc2UDBqYmh4Q0dhOXBnb3AzSXZ1Qi9QYzJXT2Ruc1ZCYUpUZG5WN3NvcFZHa3V4Vjc1eWk2Q0NQM2sxNG0xQ1FhNk01cmNodmJuVEY0TFdjWld4U1g4Z0hjRWhObFdYV3hxU3FKMzNnSHVGNEc5SCs3VDM3UlNMb2Jqb1MyeVRhc21SRWtCNTI4b1gwWVU0cVpjeVdyK0xEMVovQk10dEhMUlZUZUtHdnpMaVpCNmhqWURybW9qUUxKZXZwSEdoTVdOTU9oR2RLd2pOS0crZGhVRHV6dTdsVXgwZzdhaUR3c1l4NzFTaU9ucDJWOSt5UEhET2R5OXlBRUNPb0N3bUprbW5qLzlDMmVNMDFDQjFZMUxTWHNiQUJtQVd3Si9iczhRNnhTWlJtSnkyRXJSQ3VTakl0MUQydzRTUFVMRFNNVTdIaDk3TWJpQVJDV25TMVRRMGg5azZFWVVmbW1ZaFNHQ0p3MXFlekFqZ2FmTngyYWcrRDhzRFFkQzRjVHhUSTk5aGthUm1DakFmeW1qcVdscUx5V0pCUmdvaXdTd21MVDFUbzRJNUVjZHFoQ1FNdEpoRVVRR2dpenk2ZUE2RlhtNHhmeExua08xSkNKSGJUejlqL2c4OW5zZ0hVN2V4SDVnZHhZQ0FDMGJkUlZLN1YrVlBDcExnLy9SemtlNm9mc1Y3WkxyQUpvN0EyQTZka0dVL09XeGhpVjJiY0VlUEpmSWsrVjM3UHp3c25yZ1JFV2RpM1pic3dBOU5aTTVzZGVSMFlFRm11bit0b2JCRGMzMlRidlVyTUpTb2tjcG9XNnRZczlkR0tUcE1GV01EZ09UeEZjSHljbHZrMjRVQVV2dXk2WVcvSVN2VlY4a3BRPVwiLFwiY2hhaW5cIjpbXCJNSUlHMkRDQ0JNQ2dBd0lCQWdJS1lUKzNHQUFBQUFBQUJEQU5CZ2txaGtpRzl3MEJBUXNGQURDQmlERUxNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2xkaGMyaHBibWQwYjI0eEVEQU9CZ05WQkFjVEIxSmxaRzF2Ym1ReEhqQWNCZ05WQkFvVEZVMXBZM0p2YzI5bWRDQkRiM0p3YjNKaGRHbHZiakV5TURBR0ExVUVBeE1wVFdsamNtOXpiMlowSUZKdmIzUWdRMlZ5ZEdsbWFXTmhkR1VnUVhWMGFHOXlhWFI1SURJd01URXdIaGNOTVRFeE1ERTRNakkxTlRFNVdoY05Nall4TURFNE1qTXdOVEU1V2pCK01Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LVjJGemFHbHVaM1J2YmpFUU1BNEdBMVVFQnhNSFVtVmtiVzl1WkRFZU1Cd0dBMVVFQ2hNVlRXbGpjbTl6YjJaMElFTnZjbkJ2Y21GMGFXOXVNU2d3SmdZRFZRUURFeDlOYVdOeWIzTnZablFnVTJWamRYSmxJRk5sY25abGNpQkRRU0F5TURFeE1JSUNJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBZzhBTUlJQ0NnS0NBZ0VBMEF2QXBLZ1pnZUkyNWVLcTVmT3lGVmgxdnJUbFNmSGdoUG03RFdUdmhjR0JWYmp6NS9GdFFGVTl6b3RxMFlTVDlYVjhXNlRVZEJES012TWowNjd1ejU0RVdNTFpSOHZSZkFCQlNIRWJBV2NYR0svRy9uTURmdVR2UTV6dkFYRXFINEVtUTNlWVZGZHpuVlVyOEo2T2ZRWU9yQnRVOHliMytDTUlJb3VlQmgwM09QMXkwc3JsWThHYVduMnliYk5TcVc3cHJyWDhpemI1bnZyMkhGZ2JsMWFsRWVXM1V0dTc2ZkJVdjdUL0xHeTRYU2JPb0FyWDM1UHRmOTJzOFN4ekd0a1pOMVc2M1NKNGpxSFVtd240QnlJeGNiQ1VydUN3NXlaRVY1Q0JseFhPWWV4bDRrdnhoVklXTXZpMWVLcCt6VTNzZ3lHa3FKdSttbW9FNEtNY3pWWVliUDFyTDBJKzRqZnljcXZRZUhOeWU5N3NBRmpsSVRDakNEcVo3NS9EOTNvV2xtVzF3NEd2OURsd1NhLzJxZlpxQURqNXRBZ1o0Qm8xcFZaMklsOXE4bW11UHExWVJrMjRWUGFKUVVRZWNyRzhFaWRUMHNIL3NzMVFtQjYxOUx1MndvSTUyYXdiOGpzbmhHcXd4aVlMMXpvUTU3UGJmTk5XckZOTUMvbzdNVGQwMkZrcitRQjVHUVo3L1J3ZFF0UkJEUzhGRHRWclNTUC96ODM0ZW9MUDJqd3QzK2pZRWdRWXVoNklkN2lZSHhBSHU4Z0ZmZ3NKdjJ2ZDQwNWJzUG5IaEtZN3lreWZXMklwOThlaXFKV0ljQ3psd1Q4OFVpTlBRSnJETVlXREw3OHA4UjFRanlHV0I4N3Y4b0RDUkgyYll1OHZ3M2VKcTBWTlV6NENlZE1DQXdFQUFhT0NBVXN3Z2dGSE1CQUdDU3NHQVFRQmdqY1ZBUVFEQWdFQU1CMEdBMVVkRGdRV0JCUTJWb2xsU2N0Ym15ODhyRUlXVUUyUnVUUFhrVEFaQmdrckJnRUVBWUkzRkFJRURCNEtBRk1BZFFCaUFFTUFRVEFMQmdOVkhROEVCQU1DQVlZd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZkJnTlZIU01FR0RBV2dCUnlMVG9DTVpCRHVSUUZUdUhxcDhjeDBTT0pOREJhQmdOVkhSOEVVekJSTUUrZ1RhQkxoa2xvZEhSd09pOHZZM0pzTG0xcFkzSnZjMjltZEM1amIyMHZjR3RwTDJOeWJDOXdjbTlrZFdOMGN5OU5hV05TYjI5RFpYSkJkWFF5TURFeFh6SXdNVEZmTUROZk1qSXVZM0pzTUY0R0NDc0dBUVVGQndFQkJGSXdVREJPQmdnckJnRUZCUWN3QW9aQ2FIUjBjRG92TDNkM2R5NXRhV055YjNOdlpuUXVZMjl0TDNCcmFTOWpaWEowY3k5TmFXTlNiMjlEWlhKQmRYUXlNREV4WHpJd01URmZNRE5mTWpJdVkzSjBNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUNBUUJCeUdIQjlWdWVQcEV4OGJER3Z3a0J0SjIya0hUWENkdW1MZzJmeU9kMk5FYXZCMkNKVElHelBOWDBFalYxd25PbDlVMkVqTXVrWGErL2t2WVhDRmRDbFhKbEJYWjVyZTdSdXJndVZLTlJCNnhvNnlFTTR5V0J3czBxOHNQL3o4SzlTUmlheC9DRXhma1V2R3VWNVpidnMwTFNVOVZLb0JMRXJoSjJVd2xXRHAzMzA2WkppRkR5aWl5WElLSytUbmp2QldXM1M2RVdpTjR4eHdoQ0pIeWtlNTZkdkdBQVhtS1g0NVA4cC81YmV5WGY1Rk4vUzc3bVB2RGJBWGxDSEc2RmJIMjJSREQ3cFRlU2s3S2w3aUN0UDFQVnlmUW9hMWZCK0IxcXQxWXF0aWVCSEtZdG4rZjAwREdEbDZncXRxeStHMEgxNUlsZlZ2dmFXdE5lZlZXVUVINVRWL1JLUFVBcXlMMW5uNFRoRU83OTJtc1Zna244UmgzL1JRWjBuRUlVN2NVNTA3UE5DNE1ua0VOUmt2SkVncTV1bWhVWHNobjZ4MFZzbUFGN3Z6ZXBzSWlra3J3NE9PQWQ1SHlYbUJvdVgrODRaYmMxTDcxL1R5SDZ4SXpTYndiNVNUWHEzeUFQSmFycVlLc3NIMHVKL0xmNlhGU1FTejZpS0U5czVGSmx3ZjJRSElXQ2lHN3BwbFhkSVNoNVJiQVU1UXJNNWwvRXU5dGhOR21mckNZNDk4RXBRUWdWTGt5Zzkva01QdDVmcXdnSkxZT3NyRFNEWXZUSlNVS0pKYlZ1c2tmRnN6bWdzU0FiTExHT0JHK2xNRWtjMEVicFFGdjByVzY2MjRKS2h4SktnQWxOMjk5MnVRVmJHK0M3SUhCZkFDWEgwdzc2RnExN0lwNXhDQT09XCIsXCJNSUlGN1RDQ0E5V2dBd0lCQWdJUVA0dkl0Znlmc3BaRHRXbldiRUxoUkRBTkJna3Foa2lHOXcwQkFRc0ZBRENCaURFTE1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDbGRoYzJocGJtZDBiMjR4RURBT0JnTlZCQWNUQjFKbFpHMXZibVF4SGpBY0JnTlZCQW9URlUxcFkzSnZjMjltZENCRGIzSndiM0poZEdsdmJqRXlNREFHQTFVRUF4TXBUV2xqY205emIyWjBJRkp2YjNRZ1EyVnlkR2xtYVdOaGRHVWdRWFYwYUc5eWFYUjVJREl3TVRFd0hoY05NVEV3TXpJeU1qSXdOVEk0V2hjTk16WXdNekl5TWpJeE16QTBXakNCaURFTE1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDbGRoYzJocGJtZDBiMjR4RURBT0JnTlZCQWNUQjFKbFpHMXZibVF4SGpBY0JnTlZCQW9URlUxcFkzSnZjMjltZENCRGIzSndiM0poZEdsdmJqRXlNREFHQTFVRUF4TXBUV2xqY205emIyWjBJRkp2YjNRZ1EyVnlkR2xtYVdOaGRHVWdRWFYwYUc5eWFYUjVJREl3TVRFd2dnSWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUNEd0F3Z2dJS0FvSUNBUUN5Z0VHcU5UaE5FM0l5YUNKTnVMTHgvOVZTdkd6SDlkSktqRGJ1MGNKY2ZveUtycThUS0cvQWMrTTZ6dEFscUZvNmJlK291Rm1yRXlOb3pRd3BoOUZ2Z0Z5UFJIOWRrQUZTV0t4UnhWOHFoOXpjMkFvZHdRTzVlN0JXNktQZVpHSENudmp6Zkxuc0RiVlUva3kyWlUrSThKeEltUXhDQ3dsOE1Wa1hlUVo0S0kySk9rd0RKYjV4YWx3TDU0UmdwSmtpNDlLdmhLU24rOUdZN1F5cDNwU0o0UTZnM01ET21UM3FDRks3Vm5ua0g0UzZIcmkweEVsY1R6RkxoOTNkQldjbW1ZRGdjUkdqdUtWQjRxUlR1ZmN5S1lNTUU3ODJYZ1N6UzBOSEwydmlrUjdUbUUvZFFnZkk2QjBTL0ptcGF6NlNmc2pXYVRyOFpMMjJDWjNLL1F3TG9wdDNZRXNEbEtRd2FSTFdRaTNCUVV6SzNLcjlqMXVEUnByWi9MSFI0N1BKZjBoNnpTVHdRWTljZE5Dc3NCQWdCa20zeHkwaHlGZmowSWJ6QTJqNzBNNXh3WW1aU21RQmJQM3NNSkhQUVR5U3grVzZoaDFoaE1kZmd6bGlyclNTTDBmekMvaFY2NkFmV2RDN2RKc2UwSGJtOHVrRzF4RG8rbVRlYWNZMWxvZ0M4RWE0UHllWmI4dHhpU2sxOTBnV0FqV1AxWGw4VFFMUFgrdUtnMDlGY1lqNXFRMU9jdW5DbkFmUFNSdE9CQTVqVVl4ZTJBREJWU3kyeHVEQ1pVN0pORG4xbkxQRWZ1aGhiaE5mRmNSZjJYN3RIYzd1Uk96TExvYXg3RGoyY08yclhCUEIyUThOeDRDeVZlMDA5NnliNU1QYTUwYzhwcldQTWQvRlM2L3I4UUlEQVFBQm8xRXdUekFMQmdOVkhROEVCQU1DQVlZd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFRmdRVWNpMDZBakdRUTdrVUJVN2g2cWZITWRFamlUUXdFQVlKS3dZQkJBR0NOeFVCQkFNQ0FRQXdEUVlKS29aSWh2Y05BUUVMQlFBRGdnSUJBSDl5encrM3hSWGJtOEJKeWlaYi9wNFQ1dFB3MHR1WFgvSkxQMDJ6cmhtdTdkZVhvS3p2cVRxandrR3c1YmlSbmhPQkpBUG1DZjAvVjBBNUlTUlcwUkF2UzBDcE5vWkx0Rk5YbXZ2eGZvbVBFZjRZYkZHcTZPMEpsYlhsY2NtaDZZZDFwaFYveVg0M1ZGNTBrOFhEWjh3TlQydW9Gd3h0Q0pKK2k5MkJxaTF3SWNNOUJoUzd2eVJlcDRUWFB3OGhJcjFMQUFiYmx4ellYdFRGQzF5SGJsQ2s2TU00cFB2TExNV1NacHVGWHN0NmJKTjhnQ2xZVzFlMVFHbTZDSG1tWkdJVm5ZZVdSYlZtSXlBRGl4eHpvTk9pZVRQZ1VGbUcyeS9sQWlYcWN5cWZBQlRJTnNlU08rbE9BT3pZVmdtNU0wa1MwbFFMQWF1c1I3YVJLWDFNdEhXQVVnSG95b0wybjh5c25JOFg2aThtc0t0eXJBditubEVleDBOVlowOVJzMWZXdHV6dVVyYzY2VTdoMTRHSXZFK09kYnRMcVBBMXFpYlVaMmRKc25CTU81UGNIZDk0a0laeXNqaWswZHlTVGNsWTZ5c1NYTlE3cm94cnNJUGxBVC80Q1RMMmt6VTBJcS9kTncxM0NZQXJ6VWdBOFl5WkdVY0ZBZW5SdjlGTzBPWW9RemVacEFwS0NObWFjWFBTcXMweEUyTjJvVGR2a2pnZWZSSThaakxueTIzaC9GS0ozY3JXWmdXYWxtRytvaWpISEtPbk5sQThPcVRmU203bWh6dk82L0RnZ1RlZEV6eFNqcjI1SFRUR0hkVUthajJZS1hDTWlTclJxNElRU0IvYzlPK2x4YnRWR2poamhFNjNiSzJWVk94bEloQkpGN2pBSHNjUHJGUkhcIl19IiA+ICVUTVAlXHNlbnNlVG1wLnR4dCAyPiYxCmlmICVFUlJPUkxFVkVMJSBORVEgMCAoCiAgIHNldCAiZXJyb3JEZXNjcmlwdGlvbj1VbmFibGUgdG8gd3JpdGUgb25ib2FyZGluZyBpbmZvcm1hdGlvbiB0byByZWdpc3RyeS4iCiAgIHNldCBlcnJvckNvZGU9MTAKICAgc2V0IGxhc3RFcnJvcj0lRVJST1JMRVZFTCUKICAgR09UTyBFUlJPUgopCgplY2hvIFN0YXJ0aW5nIHRoZSBzZXJ2aWNlLCBpZiBub3QgYWxyZWFkeSBydW5uaW5nID5OVUwgMj4mMQplY2hvLiA+TlVMIDI+JjEKc2MgcXVlcnkgIlNFTlNFIiB8IGZpbmQgL2kgIlJVTk5JTkciID5OVUwgMj4mMQppZiAlRVJST1JMRVZFTCUgRVFVIDAgR09UTyBSVU5OSU5HCgpuZXQgc3RhcnQgc2Vuc2UgPiAlVE1QJVxzZW5zZVRtcC50eHQgMj4mMQppZiAlRVJST1JMRVZFTCUgTkVRIDAgKAogICBlY2hvIFdpbmRvd3MgRGVmZW5kZXIgQWR2YW5jZWQgVGhyZWF0IFByb3RlY3Rpb24gU2VydmljZSBoYXMgbm90IHN0YXJ0ZWQgeWV0ID5OVUwgMj4mMQogICBHT1RPIFdBSVRfRk9SX1RIRV9TRVJWSUNFX1RPX1NUQVJUCikKZ290byBTVUNDRUVERUQKCjpSVU5OSU5HCnNldCAicnVubmluZ091dHB1dD1UaGUgV2luZG93cyBEZWZlbmRlciBBZHZhbmNlZCBUaHJlYXQgUHJvdGVjdGlvbiBTZXJ2aWNlIGlzIGFscmVhZHkgcnVubmluZyEiCmVjaG8gJXJ1bm5pbmdPdXRwdXQlID5OVUwgMj4mMQplY2hvLiA+TlVMIDI+JjEKZXZlbnRjcmVhdGUgL2wgQXBwbGljYXRpb24gL3NvIFdEQVRQT25ib2FyZGluZyAvdCBJbmZvcm1hdGlvbiAvaWQgMTAgL2QgIiVydW5uaW5nT3V0cHV0JSIgPk5VTCAyPiYxCkdPVE8gV0FJVF9GT1JfVEhFX1NFUlZJQ0VfVE9fU1RBUlQKCjpFUlJPUgpTZXQgL1AgZXJyb3JNc2c9PCVUTVAlXHNlbnNlVG1wLnR4dApzZXQgImVycm9yT3V0cHV0PVtFcnJvciBJZDogJWVycm9yQ29kZSUsIEVycm9yIExldmVsOiAlbGFzdEVycm9yJV0gJWVycm9yRGVzY3JpcHRpb24lIEVycm9yIG1lc3NhZ2U6ICVlcnJvck1zZyUiCiVwb3dlcnNoZWxsUGF0aCUgLUV4ZWN1dGlvblBvbGljeSBCeXBhc3MgLU5vUHJvZmlsZSAtQ29tbWFuZCAiQWRkLVR5cGUgJ3VzaW5nIFN5c3RlbTsgdXNpbmcgU3lzdGVtLkRpYWdub3N0aWNzOyB1c2luZyBTeXN0ZW0uRGlhZ25vc3RpY3MuVHJhY2luZzsgbmFtZXNwYWNlIFNlbnNlIHsgW0V2ZW50RGF0YShOYW1lID0gXCJPbmJvYXJkaW5nXCIpXXB1YmxpYyBzdHJ1Y3QgT25ib2FyZGluZ3twdWJsaWMgc3RyaW5nIE1lc3NhZ2UgeyBnZXQ7IHNldDsgfX0gcHVibGljIGNsYXNzIFRyYWNlIHtwdWJsaWMgc3RhdGljIEV2ZW50U291cmNlT3B0aW9ucyBUZWxlbWV0cnlDcml0aWNhbE9wdGlvbiA9IG5ldyBFdmVudFNvdXJjZU9wdGlvbnMoKXtMZXZlbCA9IEV2ZW50TGV2ZWwuRXJyb3IsIEtleXdvcmRzID0gKEV2ZW50S2V5d29yZHMpMHgwMDAwMjAwMDAwMDAwMDAwLCBUYWdzID0gKEV2ZW50VGFncykweDAyMDAwMDB9OyBwdWJsaWMgdm9pZCBXcml0ZU9uYm9hcmRpbmdNZXNzYWdlKHN0cmluZyBtZXNzYWdlKXtlcy5Xcml0ZShcIk9uYm9hcmRpbmdTY3JpcHRcIiwgVGVsZW1ldHJ5Q3JpdGljYWxPcHRpb24sIG5ldyBPbmJvYXJkaW5nIHtNZXNzYWdlID0gbWVzc2FnZX0pO30gcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgc3RyaW5nW10gdGVsZW1ldHJ5VHJhaXRzID0geyBcIkVUV19HUk9VUFwiLCBcIns1RUNCMEJBQy1COTMwLTQ3RjUtQThBNC1FODI1MzUyOUVEQjd9XCIgfTsgcHJpdmF0ZSBFdmVudFNvdXJjZSBlcyA9IG5ldyBFdmVudFNvdXJjZShcIk1pY3Jvc29mdC5XaW5kb3dzLlNlbnNlLkNsaWVudC5NYW5hZ2VtZW50XCIsRXZlbnRTb3VyY2VTZXR0aW5ncy5FdHdTZWxmRGVzY3JpYmluZ0V2ZW50Rm9ybWF0LHRlbGVtZXRyeVRyYWl0cyk7fX0nOyAkbG9nZ2VyID0gTmV3LU9iamVjdCAtVHlwZU5hbWUgU2Vuc2UuVHJhY2U7ICRsb2dnZXIuV3JpdGVPbmJvYXJkaW5nTWVzc2FnZSgnJWVycm9yT3V0cHV0JScpIiA+TlVMIDI+JjEKZWNobyAlZXJyb3JPdXRwdXQlID5OVUwgMj4mMQplY2hvLiA+TlVMIDI+JjEKZXZlbnRjcmVhdGUgL2wgQXBwbGljYXRpb24gL3NvIFdEQVRQT25ib2FyZGluZyAvdCBFcnJvciAvaWQgJWVycm9yQ29kZSUgL2QgIiVlcnJvck91dHB1dCUiID5OVUwgMj4mMQpHT1RPIENMRUFOVVAKCjpTVUNDRUVERUQKZWNobyBGaW5pc2hlZCBwZXJmb3JtaW5nIG9uYm9hcmRpbmcgb3BlcmF0aW9ucyA+TlVMIDI+JjEKZWNoby4gPk5VTCAyPiYxCkdPVE8gV0FJVF9GT1JfVEhFX1NFUlZJQ0VfVE9fU1RBUlQKCjpXQUlUX0ZPUl9USEVfU0VSVklDRV9UT19TVEFSVAplY2hvIFdhaXRpbmcgZm9yIHRoZSBzZXJ2aWNlIHRvIHN0YXJ0ID5OVUwgMj4mMQplY2hvLiA+TlVMIDI+JjEKCnNldCAvYSBjb3VudGVyPTAKCjpTRU5TRV9SVU5OSU5HX1dBSVQKc2MgcXVlcnkgIlNFTlNFIiB8IGZpbmQgL2kgIlJVTk5JTkciID5OVUwgMj4mMQppZiAlRVJST1JMRVZFTCUgTkVRIDAgKAoJSUYgJWNvdW50ZXIlIEVRVSA0ICgKCQlzZXQgImVycm9yRGVzY3JpcHRpb249VW5hYmxlIHRvIHN0YXJ0IFdpbmRvd3MgRGVmZW5kZXIgQWR2YW5jZWQgVGhyZWF0IFByb3RlY3Rpb24gU2VydmljZS4iCgkJc2V0IGVycm9yQ29kZT0xNQoJCXNldCBsYXN0RXJyb3I9JUVSUk9STEVWRUwlCgkJR09UTyBFUlJPUgoJKQoKCXNldCAvYSBjb3VudGVyPSVjb3VudGVyJSsxCgoJdGltZW91dCA1ID5OVUwgMj4mMQoJR09UTyA6U0VOU0VfUlVOTklOR19XQUlUCikKCnNldCAvYSBjb3VudGVyPTAKCjpTRU5TRV9PTkJPQVJERURfU1RBVFVTX1dBSVQKUkVHIHF1ZXJ5ICJIS0xNXFNPRlRXQVJFXE1pY3Jvc29mdFxXaW5kb3dzIEFkdmFuY2VkIFRocmVhdCBQcm90ZWN0aW9uXFN0YXR1cyIgL3YgT25ib2FyZGluZ1N0YXRlIC9yZWc6NjQgPk5VTCAyPiYxCmlmICVFUlJPUkxFVkVMJSBORVEgMCAoCglJRiAlY291bnRlciUgRVFVIDQgKAoJCUBlY2hvIFdpbmRvd3MgRGVmZW5kZXIgQWR2YW5jZWQgVGhyZWF0IFByb3RlY3Rpb24gU2VydmljZSBpcyBub3QgcnVubmluZyBhcyBleHBlY3RlZD4gJVRNUCVcc2Vuc2VUbXAudHh0CgkJc2V0IGVycm9yQ29kZT0zNQogICAgIHNldCBsYXN0RXJyb3I9JUVSUk9STEVWRUwlCgkJR09UTyBFUlJPUgoJKQoKCXNldCAvYSBjb3VudGVyPSVjb3VudGVyJSsxCgoJdGltZW91dCA1ID5OVUwgMj4mMQoJR09UTyA6U0VOU0VfT05CT0FSREVEX1NUQVRVU19XQUlUCikKCnNldCAvYSBjb3VudGVyPTAKCjpTRU5TRV9PTkJPQVJERURfV0FJVApSRUcgcXVlcnkgIkhLTE1cU09GVFdBUkVcTWljcm9zb2Z0XFdpbmRvd3MgQWR2YW5jZWQgVGhyZWF0IFByb3RlY3Rpb25cU3RhdHVzIiAvdiBPbmJvYXJkaW5nU3RhdGUgL3JlZzo2NCB8IGZpbmQgL2kgIjB4MSIgPk5VTCAyPiYxCmlmICVFUlJPUkxFVkVMJSBORVEgMCAoCglJRiAlY291bnRlciUgRVFVIDQgKAoJCUBlY2hvIFdpbmRvd3MgRGVmZW5kZXIgQWR2YW5jZWQgVGhyZWF0IFByb3RlY3Rpb24gU2VydmljZSBpcyBub3QgcnVubmluZyBhcyBleHBlY3RlZD4gJVRNUCVcc2Vuc2VUbXAudHh0CgkJc2V0IGVycm9yQ29kZT00MAogICAgIHNldCBsYXN0RXJyb3I9JUVSUk9STEVWRUwlCgkJR09UTyBFUlJPUgoJKQoKCXNldCAvYSBjb3VudGVyPSVjb3VudGVyJSsxCgoJdGltZW91dCA1ID5OVUwgMj4mMQoJR09UTyA6U0VOU0VfT05CT0FSREVEX1dBSVQKKQoKc2V0ICJzdWNjZXNzT3V0cHV0PVN1Y2Nlc3NmdWxseSBvbmJvYXJkZWQgbWFjaGluZSB0byBXaW5kb3dzIERlZmVuZGVyIEFkdmFuY2VkIFRocmVhdCBQcm90ZWN0aW9uIgplY2hvICVzdWNjZXNzT3V0cHV0JSA+TlVMIDI+JjEKZWNoby4KZXZlbnRjcmVhdGUgL2wgQXBwbGljYXRpb24gL3NvIFdEQVRQT25ib2FyZGluZyAvdCBJbmZvcm1hdGlvbiAvaWQgMjAgL2QgIiVzdWNjZXNzT3V0cHV0JSIgPk5VTCAyPiYxCiVwb3dlcnNoZWxsUGF0aCUgLUV4ZWN1dGlvblBvbGljeSBCeXBhc3MgLU5vUHJvZmlsZSAtQ29tbWFuZCAiQWRkLVR5cGUgJ3VzaW5nIFN5c3RlbTsgdXNpbmcgU3lzdGVtLkRpYWdub3N0aWNzOyB1c2luZyBTeXN0ZW0uRGlhZ25vc3RpY3MuVHJhY2luZzsgbmFtZXNwYWNlIFNlbnNlIHsgW0V2ZW50RGF0YShOYW1lID0gXCJPbmJvYXJkaW5nXCIpXXB1YmxpYyBzdHJ1Y3QgT25ib2FyZGluZ3twdWJsaWMgc3RyaW5nIE1lc3NhZ2UgeyBnZXQ7IHNldDsgfX0gcHVibGljIGNsYXNzIFRyYWNlIHtwdWJsaWMgc3RhdGljIEV2ZW50U291cmNlT3B0aW9ucyBUZWxlbWV0cnlDcml0aWNhbE9wdGlvbiA9IG5ldyBFdmVudFNvdXJjZU9wdGlvbnMoKXtMZXZlbCA9IEV2ZW50TGV2ZWwuSW5mb3JtYXRpb25hbCwgS2V5d29yZHMgPSAoRXZlbnRLZXl3b3JkcykweDAwMDAyMDAwMDAwMDAwMDAsIFRhZ3MgPSAoRXZlbnRUYWdzKTB4MDIwMDAwMH07IHB1YmxpYyB2b2lkIFdyaXRlT25ib2FyZGluZ01lc3NhZ2Uoc3RyaW5nIG1lc3NhZ2Upe2VzLldyaXRlKFwiT25ib2FyZGluZ1NjcmlwdFwiLCBUZWxlbWV0cnlDcml0aWNhbE9wdGlvbiwgbmV3IE9uYm9hcmRpbmcge01lc3NhZ2UgPSBtZXNzYWdlfSk7fSBwcml2YXRlIHN0YXRpYyByZWFkb25seSBzdHJpbmdbXSB0ZWxlbWV0cnlUcmFpdHMgPSB7IFwiRVRXX0dST1VQXCIsIFwiezVFQ0IwQkFDLUI5MzAtNDdGNS1BOEE0LUU4MjUzNTI5RURCN31cIiB9OyBwcml2YXRlIEV2ZW50U291cmNlIGVzID0gbmV3IEV2ZW50U291cmNlKFwiTWljcm9zb2Z0LldpbmRvd3MuU2Vuc2UuQ2xpZW50Lk1hbmFnZW1lbnRcIixFdmVudFNvdXJjZVNldHRpbmdzLkV0d1NlbGZEZXNjcmliaW5nRXZlbnRGb3JtYXQsdGVsZW1ldHJ5VHJhaXRzKTt9fSc7ICRsb2dnZXIgPSBOZXctT2JqZWN0IC1UeXBlTmFtZSBTZW5zZS5UcmFjZTsgJGxvZ2dlci5Xcml0ZU9uYm9hcmRpbmdNZXNzYWdlKCclc3VjY2Vzc091dHB1dCUnKSIgPk5VTCAyPiYxCiIlUFJPR1JBTUZJTEVTJVxXaW5kb3dzIERlZmVuZGVyXE1wQ21kUnVuLmV4ZSIgLVJlbG9hZEVuZ2luZSA+TlVMIDI+JjEKCkdPVE8gQ0xFQU5VUAoKOkNMRUFOVVAKaWYgZXhpc3QgJVRNUCVcc2Vuc2VUbXAudHh0IGRlbCAlVE1QJVxzZW5zZVRtcC50eHQKRVhJVCAvQiAlZXJyb3JDb2RlJQo=="),
// },
// }},
// }
}
type MdeOnboardingsClientGetOptions ¶
type MdeOnboardingsClientGetOptions struct {
}
MdeOnboardingsClientGetOptions contains the optional parameters for the MdeOnboardingsClient.Get method.
type MdeOnboardingsClientGetResponse ¶
type MdeOnboardingsClientGetResponse struct {
// The resource of the configuration or data needed to onboard the machine to MDE
MdeOnboardingData
}
MdeOnboardingsClientGetResponse contains the response from method MdeOnboardingsClient.Get.
type MdeOnboardingsClientListOptions ¶
type MdeOnboardingsClientListOptions struct {
}
MdeOnboardingsClientListOptions contains the optional parameters for the MdeOnboardingsClient.List method.
type MdeOnboardingsClientListResponse ¶
type MdeOnboardingsClientListResponse struct {
// List of all MDE onboarding data resources
MdeOnboardingDataList
}
MdeOnboardingsClientListResponse contains the response from method MdeOnboardingsClient.List.
type MinimalRiskLevel ¶
type MinimalRiskLevel string
MinimalRiskLevel - Defines the minimal attack path risk level which will be sent as email notifications
const ( // MinimalRiskLevelCritical - Get notifications on new attack paths with Critical risk level MinimalRiskLevelCritical MinimalRiskLevel = "Critical" // MinimalRiskLevelHigh - Get notifications on new attack paths with High or Critical risk level MinimalRiskLevelHigh MinimalRiskLevel = "High" // MinimalRiskLevelLow - Get notifications on new attach paths with Low, Medium, High or Critical risk level MinimalRiskLevelLow MinimalRiskLevel = "Low" // MinimalRiskLevelMedium - Get notifications on new attach paths with Medium, High or Critical risk level MinimalRiskLevelMedium MinimalRiskLevel = "Medium" )
func PossibleMinimalRiskLevelValues ¶
func PossibleMinimalRiskLevelValues() []MinimalRiskLevel
PossibleMinimalRiskLevelValues returns the possible values for the MinimalRiskLevel const type.
type MinimalSeverity ¶
type MinimalSeverity string
MinimalSeverity - Defines the minimal alert severity which will be sent as email notifications
const ( // MinimalSeverityHigh - Get notifications on new alerts with High severity MinimalSeverityHigh MinimalSeverity = "High" // MinimalSeverityLow - Get notifications on new alerts with Low, Medium or High severity MinimalSeverityLow MinimalSeverity = "Low" // MinimalSeverityMedium - Get notifications on new alerts with Medium or High severity MinimalSeverityMedium MinimalSeverity = "Medium" )
func PossibleMinimalSeverityValues ¶
func PossibleMinimalSeverityValues() []MinimalSeverity
PossibleMinimalSeverityValues returns the possible values for the MinimalSeverity const type.
type MipIntegrationStatus ¶
type MipIntegrationStatus string
MipIntegrationStatus - Microsoft information protection integration status
const ( MipIntegrationStatusNoAutoLabelingRules MipIntegrationStatus = "noAutoLabelingRules" MipIntegrationStatusNoConsent MipIntegrationStatus = "noConsent" MipIntegrationStatusNoMipLabels MipIntegrationStatus = "noMipLabels" MipIntegrationStatusOk MipIntegrationStatus = "Ok" )
func PossibleMipIntegrationStatusValues ¶
func PossibleMipIntegrationStatusValues() []MipIntegrationStatus
PossibleMipIntegrationStatusValues returns the possible values for the MipIntegrationStatus const type.
type MqttC2DMessagesNotInAllowedRange ¶
type MqttC2DMessagesNotInAllowedRange struct {
// REQUIRED; Status of the custom alert.
IsEnabled *bool
// REQUIRED; The maximum threshold.
MaxThreshold *int32
// REQUIRED; The minimum threshold.
MinThreshold *int32
// REQUIRED; The type of the custom alert rule.
RuleType *string
// REQUIRED; The time window size in iso8601 format.
TimeWindowSize *string
// READ-ONLY; The description of the custom alert.
Description *string
// READ-ONLY; The display name of the custom alert.
DisplayName *string
}
MqttC2DMessagesNotInAllowedRange - Number of cloud to device messages (MQTT protocol) is not in allowed range.
func (*MqttC2DMessagesNotInAllowedRange) GetCustomAlertRule ¶
func (m *MqttC2DMessagesNotInAllowedRange) GetCustomAlertRule() *CustomAlertRule
GetCustomAlertRule implements the CustomAlertRuleClassification interface for type MqttC2DMessagesNotInAllowedRange.
func (*MqttC2DMessagesNotInAllowedRange) GetThresholdCustomAlertRule ¶
func (m *MqttC2DMessagesNotInAllowedRange) GetThresholdCustomAlertRule() *ThresholdCustomAlertRule
GetThresholdCustomAlertRule implements the ThresholdCustomAlertRuleClassification interface for type MqttC2DMessagesNotInAllowedRange.
func (*MqttC2DMessagesNotInAllowedRange) GetTimeWindowCustomAlertRule ¶
func (m *MqttC2DMessagesNotInAllowedRange) GetTimeWindowCustomAlertRule() *TimeWindowCustomAlertRule
GetTimeWindowCustomAlertRule implements the TimeWindowCustomAlertRuleClassification interface for type MqttC2DMessagesNotInAllowedRange.
func (MqttC2DMessagesNotInAllowedRange) MarshalJSON ¶
func (m MqttC2DMessagesNotInAllowedRange) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type MqttC2DMessagesNotInAllowedRange.
func (*MqttC2DMessagesNotInAllowedRange) UnmarshalJSON ¶
func (m *MqttC2DMessagesNotInAllowedRange) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type MqttC2DMessagesNotInAllowedRange.
type MqttC2DRejectedMessagesNotInAllowedRange ¶
type MqttC2DRejectedMessagesNotInAllowedRange struct {
// REQUIRED; Status of the custom alert.
IsEnabled *bool
// REQUIRED; The maximum threshold.
MaxThreshold *int32
// REQUIRED; The minimum threshold.
MinThreshold *int32
// REQUIRED; The type of the custom alert rule.
RuleType *string
// REQUIRED; The time window size in iso8601 format.
TimeWindowSize *string
// READ-ONLY; The description of the custom alert.
Description *string
// READ-ONLY; The display name of the custom alert.
DisplayName *string
}
MqttC2DRejectedMessagesNotInAllowedRange - Number of rejected cloud to device messages (MQTT protocol) is not in allowed range.
func (*MqttC2DRejectedMessagesNotInAllowedRange) GetCustomAlertRule ¶
func (m *MqttC2DRejectedMessagesNotInAllowedRange) GetCustomAlertRule() *CustomAlertRule
GetCustomAlertRule implements the CustomAlertRuleClassification interface for type MqttC2DRejectedMessagesNotInAllowedRange.
func (*MqttC2DRejectedMessagesNotInAllowedRange) GetThresholdCustomAlertRule ¶
func (m *MqttC2DRejectedMessagesNotInAllowedRange) GetThresholdCustomAlertRule() *ThresholdCustomAlertRule
GetThresholdCustomAlertRule implements the ThresholdCustomAlertRuleClassification interface for type MqttC2DRejectedMessagesNotInAllowedRange.
func (*MqttC2DRejectedMessagesNotInAllowedRange) GetTimeWindowCustomAlertRule ¶
func (m *MqttC2DRejectedMessagesNotInAllowedRange) GetTimeWindowCustomAlertRule() *TimeWindowCustomAlertRule
GetTimeWindowCustomAlertRule implements the TimeWindowCustomAlertRuleClassification interface for type MqttC2DRejectedMessagesNotInAllowedRange.
func (MqttC2DRejectedMessagesNotInAllowedRange) MarshalJSON ¶
func (m MqttC2DRejectedMessagesNotInAllowedRange) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type MqttC2DRejectedMessagesNotInAllowedRange.
func (*MqttC2DRejectedMessagesNotInAllowedRange) UnmarshalJSON ¶
func (m *MqttC2DRejectedMessagesNotInAllowedRange) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type MqttC2DRejectedMessagesNotInAllowedRange.
type MqttD2CMessagesNotInAllowedRange ¶
type MqttD2CMessagesNotInAllowedRange struct {
// REQUIRED; Status of the custom alert.
IsEnabled *bool
// REQUIRED; The maximum threshold.
MaxThreshold *int32
// REQUIRED; The minimum threshold.
MinThreshold *int32
// REQUIRED; The type of the custom alert rule.
RuleType *string
// REQUIRED; The time window size in iso8601 format.
TimeWindowSize *string
// READ-ONLY; The description of the custom alert.
Description *string
// READ-ONLY; The display name of the custom alert.
DisplayName *string
}
MqttD2CMessagesNotInAllowedRange - Number of device to cloud messages (MQTT protocol) is not in allowed range.
func (*MqttD2CMessagesNotInAllowedRange) GetCustomAlertRule ¶
func (m *MqttD2CMessagesNotInAllowedRange) GetCustomAlertRule() *CustomAlertRule
GetCustomAlertRule implements the CustomAlertRuleClassification interface for type MqttD2CMessagesNotInAllowedRange.
func (*MqttD2CMessagesNotInAllowedRange) GetThresholdCustomAlertRule ¶
func (m *MqttD2CMessagesNotInAllowedRange) GetThresholdCustomAlertRule() *ThresholdCustomAlertRule
GetThresholdCustomAlertRule implements the ThresholdCustomAlertRuleClassification interface for type MqttD2CMessagesNotInAllowedRange.
func (*MqttD2CMessagesNotInAllowedRange) GetTimeWindowCustomAlertRule ¶
func (m *MqttD2CMessagesNotInAllowedRange) GetTimeWindowCustomAlertRule() *TimeWindowCustomAlertRule
GetTimeWindowCustomAlertRule implements the TimeWindowCustomAlertRuleClassification interface for type MqttD2CMessagesNotInAllowedRange.
func (MqttD2CMessagesNotInAllowedRange) MarshalJSON ¶
func (m MqttD2CMessagesNotInAllowedRange) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type MqttD2CMessagesNotInAllowedRange.
func (*MqttD2CMessagesNotInAllowedRange) UnmarshalJSON ¶
func (m *MqttD2CMessagesNotInAllowedRange) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type MqttD2CMessagesNotInAllowedRange.
type NotificationsSource ¶
type NotificationsSource struct {
// REQUIRED; The source type that will trigger the notification
SourceType *SourceType
}
NotificationsSource - A valid notification source type
func (*NotificationsSource) GetNotificationsSource ¶
func (n *NotificationsSource) GetNotificationsSource() *NotificationsSource
GetNotificationsSource implements the NotificationsSourceClassification interface for type NotificationsSource.
func (NotificationsSource) MarshalJSON ¶
func (n NotificationsSource) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type NotificationsSource.
func (*NotificationsSource) UnmarshalJSON ¶
func (n *NotificationsSource) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type NotificationsSource.
type NotificationsSourceAlert ¶
type NotificationsSourceAlert struct {
// REQUIRED; The source type that will trigger the notification
SourceType *SourceType
// Defines the minimal alert severity which will be sent as email notifications
MinimalSeverity *MinimalSeverity
}
NotificationsSourceAlert - Alert notification source
func (*NotificationsSourceAlert) GetNotificationsSource ¶
func (n *NotificationsSourceAlert) GetNotificationsSource() *NotificationsSource
GetNotificationsSource implements the NotificationsSourceClassification interface for type NotificationsSourceAlert.
func (NotificationsSourceAlert) MarshalJSON ¶
func (n NotificationsSourceAlert) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type NotificationsSourceAlert.
func (*NotificationsSourceAlert) UnmarshalJSON ¶
func (n *NotificationsSourceAlert) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type NotificationsSourceAlert.
type NotificationsSourceAttackPath ¶
type NotificationsSourceAttackPath struct {
// REQUIRED; The source type that will trigger the notification
SourceType *SourceType
// Defines the minimal attach path risk level which will be sent as email notifications
MinimalRiskLevel *MinimalRiskLevel
}
NotificationsSourceAttackPath - Attack path notification source
func (*NotificationsSourceAttackPath) GetNotificationsSource ¶
func (n *NotificationsSourceAttackPath) GetNotificationsSource() *NotificationsSource
GetNotificationsSource implements the NotificationsSourceClassification interface for type NotificationsSourceAttackPath.
func (NotificationsSourceAttackPath) MarshalJSON ¶
func (n NotificationsSourceAttackPath) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type NotificationsSourceAttackPath.
func (*NotificationsSourceAttackPath) UnmarshalJSON ¶
func (n *NotificationsSourceAttackPath) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type NotificationsSourceAttackPath.
type NotificationsSourceClassification ¶
type NotificationsSourceClassification interface {
// GetNotificationsSource returns the NotificationsSource content of the underlying type.
GetNotificationsSource() *NotificationsSource
}
NotificationsSourceClassification provides polymorphic access to related types. Call the interface's GetNotificationsSource() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *NotificationsSource, *NotificationsSourceAlert, *NotificationsSourceAttackPath
type OfferingType ¶
type OfferingType string
OfferingType - The type of the security offering.
const ( OfferingTypeCspmMonitorAws OfferingType = "CspmMonitorAws" OfferingTypeCspmMonitorAzureDevOps OfferingType = "CspmMonitorAzureDevOps" OfferingTypeCspmMonitorGcp OfferingType = "CspmMonitorGcp" OfferingTypeCspmMonitorGitLab OfferingType = "CspmMonitorGitLab" OfferingTypeCspmMonitorGithub OfferingType = "CspmMonitorGithub" OfferingTypeDefenderCspmAws OfferingType = "DefenderCspmAws" OfferingTypeDefenderCspmGcp OfferingType = "DefenderCspmGcp" OfferingTypeDefenderForContainersAws OfferingType = "DefenderForContainersAws" OfferingTypeDefenderForContainersGcp OfferingType = "DefenderForContainersGcp" OfferingTypeDefenderForDatabasesAws OfferingType = "DefenderForDatabasesAws" OfferingTypeDefenderForDatabasesGcp OfferingType = "DefenderForDatabasesGcp" OfferingTypeDefenderForServersAws OfferingType = "DefenderForServersAws" OfferingTypeDefenderForServersGcp OfferingType = "DefenderForServersGcp" )
func PossibleOfferingTypeValues ¶
func PossibleOfferingTypeValues() []OfferingType
PossibleOfferingTypeValues returns the possible values for the OfferingType const type.
type OnPremiseResourceDetails ¶
type OnPremiseResourceDetails struct {
// REQUIRED; The name of the machine
MachineName *string
// REQUIRED; The platform where the assessed resource resides
Source *Source
// REQUIRED; The oms agent Id installed on the machine
SourceComputerID *string
// REQUIRED; The unique Id of the machine
Vmuuid *string
// REQUIRED; Azure resource Id of the workspace the machine is attached to
WorkspaceID *string
}
OnPremiseResourceDetails - Details of the On Premise resource that was assessed
func (*OnPremiseResourceDetails) GetOnPremiseResourceDetails ¶
func (o *OnPremiseResourceDetails) GetOnPremiseResourceDetails() *OnPremiseResourceDetails
GetOnPremiseResourceDetails implements the OnPremiseResourceDetailsClassification interface for type OnPremiseResourceDetails.
func (*OnPremiseResourceDetails) GetResourceDetails ¶
func (o *OnPremiseResourceDetails) GetResourceDetails() *ResourceDetails
GetResourceDetails implements the ResourceDetailsClassification interface for type OnPremiseResourceDetails.
func (OnPremiseResourceDetails) MarshalJSON ¶
func (o OnPremiseResourceDetails) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type OnPremiseResourceDetails.
func (*OnPremiseResourceDetails) UnmarshalJSON ¶
func (o *OnPremiseResourceDetails) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type OnPremiseResourceDetails.
type OnPremiseResourceDetailsClassification ¶
type OnPremiseResourceDetailsClassification interface {
ResourceDetailsClassification
// GetOnPremiseResourceDetails returns the OnPremiseResourceDetails content of the underlying type.
GetOnPremiseResourceDetails() *OnPremiseResourceDetails
}
OnPremiseResourceDetailsClassification provides polymorphic access to related types. Call the interface's GetOnPremiseResourceDetails() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *OnPremiseResourceDetails, *OnPremiseSQLResourceDetails
type OnPremiseSQLResourceDetails ¶
type OnPremiseSQLResourceDetails struct {
// REQUIRED; The Sql database name installed on the machine
DatabaseName *string
// REQUIRED; The name of the machine
MachineName *string
// REQUIRED; The Sql server name installed on the machine
ServerName *string
// REQUIRED; The platform where the assessed resource resides
Source *Source
// REQUIRED; The oms agent Id installed on the machine
SourceComputerID *string
// REQUIRED; The unique Id of the machine
Vmuuid *string
// REQUIRED; Azure resource Id of the workspace the machine is attached to
WorkspaceID *string
}
OnPremiseSQLResourceDetails - Details of the On Premise Sql resource that was assessed
func (*OnPremiseSQLResourceDetails) GetOnPremiseResourceDetails ¶
func (o *OnPremiseSQLResourceDetails) GetOnPremiseResourceDetails() *OnPremiseResourceDetails
GetOnPremiseResourceDetails implements the OnPremiseResourceDetailsClassification interface for type OnPremiseSQLResourceDetails.
func (*OnPremiseSQLResourceDetails) GetResourceDetails ¶
func (o *OnPremiseSQLResourceDetails) GetResourceDetails() *ResourceDetails
GetResourceDetails implements the ResourceDetailsClassification interface for type OnPremiseSQLResourceDetails.
func (OnPremiseSQLResourceDetails) MarshalJSON ¶
func (o OnPremiseSQLResourceDetails) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type OnPremiseSQLResourceDetails.
func (*OnPremiseSQLResourceDetails) UnmarshalJSON ¶
func (o *OnPremiseSQLResourceDetails) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type OnPremiseSQLResourceDetails.
type OnUploadProperties ¶
type OnUploadProperties struct {
// Defines the max GB to be scanned per Month. Set to -1 if no capping is needed.
CapGBPerMonth *int32
// Indicates whether On Upload malware scanning should be enabled.
IsEnabled *bool
}
OnUploadProperties - Properties of On Upload malware scanning.
func (OnUploadProperties) MarshalJSON ¶
func (o OnUploadProperties) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type OnUploadProperties.
func (*OnUploadProperties) UnmarshalJSON ¶
func (o *OnUploadProperties) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type OnUploadProperties.
type OnboardingState ¶
type OnboardingState string
OnboardingState - Details about resource onboarding status across all connectors. OnboardedByOtherConnector - this resource has already been onboarded to another connector. This is only applicable to top-level resources. Onboarded - this resource has already been onboarded by the specified connector. NotOnboarded - this resource has not been onboarded to any connector. NotApplicable - the onboarding state is not applicable to the current endpoint.
const ( OnboardingStateNotApplicable OnboardingState = "NotApplicable" OnboardingStateNotOnboarded OnboardingState = "NotOnboarded" OnboardingStateOnboarded OnboardingState = "Onboarded" OnboardingStateOnboardedByOtherConnector OnboardingState = "OnboardedByOtherConnector" )
func PossibleOnboardingStateValues ¶
func PossibleOnboardingStateValues() []OnboardingState
PossibleOnboardingStateValues returns the possible values for the OnboardingState const type.
type Operation ¶
type Operation struct {
// Security operation display
Display *OperationDisplay
// READ-ONLY; Name of the operation
Name *string
// READ-ONLY; Where the operation is originated
Origin *string
}
Operation - Possible operation in the REST API of Microsoft.Security
func (Operation) MarshalJSON ¶
MarshalJSON implements the json.Marshaller interface for type Operation.
func (*Operation) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaller interface for type Operation.
type OperationDisplay ¶
type OperationDisplay struct {
// READ-ONLY; The description of the operation.
Description *string
// READ-ONLY; The display name of the security operation.
Operation *string
// READ-ONLY; The resource provider for the operation.
Provider *string
// READ-ONLY; The display name of the resource the operation applies to.
Resource *string
}
OperationDisplay - Security operation display
func (OperationDisplay) MarshalJSON ¶
func (o OperationDisplay) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type OperationDisplay.
func (*OperationDisplay) UnmarshalJSON ¶
func (o *OperationDisplay) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type OperationDisplay.
type OperationList ¶
type OperationList struct {
// List of Security operations
Value []*Operation
// READ-ONLY; The URI to fetch the next page.
NextLink *string
}
OperationList - List of possible operations for Microsoft.Security resource provider
func (OperationList) MarshalJSON ¶
func (o OperationList) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type OperationList.
func (*OperationList) UnmarshalJSON ¶
func (o *OperationList) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type OperationList.
type OperationResult ¶
type OperationResult string
OperationResult - The status of the long run operation result of governance rule
const ( // OperationResultCanceled - The operation canceled OperationResultCanceled OperationResult = "Canceled" // OperationResultFailed - The operation failed OperationResultFailed OperationResult = "Failed" // OperationResultSucceeded - The operation succeeded OperationResultSucceeded OperationResult = "Succeeded" )
func PossibleOperationResultValues ¶
func PossibleOperationResultValues() []OperationResult
PossibleOperationResultValues returns the possible values for the OperationResult const type.
type OperationResultAutoGenerated ¶
type OperationResultAutoGenerated struct {
// READ-ONLY; The status of the long run operation result of governance rule
Status *OperationResult
}
OperationResultAutoGenerated - Long run operation status of governance rule over a given scope
func (OperationResultAutoGenerated) MarshalJSON ¶
func (o OperationResultAutoGenerated) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type OperationResultAutoGenerated.
func (*OperationResultAutoGenerated) UnmarshalJSON ¶
func (o *OperationResultAutoGenerated) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type OperationResultAutoGenerated.
type OperationStatus ¶
type OperationStatus struct {
// The operation status code.
Code *string
// Additional information regarding the success/failure of the operation.
Message *string
}
OperationStatus - A status describing the success/failure of the enablement/disablement operation.
func (OperationStatus) MarshalJSON ¶
func (o OperationStatus) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type OperationStatus.
func (*OperationStatus) UnmarshalJSON ¶
func (o *OperationStatus) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type OperationStatus.
type OperationStatusAutoGenerated ¶
type OperationStatusAutoGenerated struct {
// The operation status code.
Code *Code
// Additional information regarding the success/failure of the operation.
Message *string
}
OperationStatusAutoGenerated - A status describing the success/failure of the extension's enablement/disablement operation.
func (OperationStatusAutoGenerated) MarshalJSON ¶
func (o OperationStatusAutoGenerated) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type OperationStatusAutoGenerated.
func (*OperationStatusAutoGenerated) UnmarshalJSON ¶
func (o *OperationStatusAutoGenerated) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type OperationStatusAutoGenerated.
type OperationStatusResult ¶
type OperationStatusResult struct {
// REQUIRED; Operation status.
Status *string
// The end time of the operation.
EndTime *time.Time
// If present, details of the operation error.
Error *ErrorDetailAutoGenerated
// Fully qualified ID for the async operation.
ID *string
// Name of the async operation.
Name *string
// The operations list.
Operations []*OperationStatusResult
// Percent of the operation that is complete.
PercentComplete *float32
// The start time of the operation.
StartTime *time.Time
}
OperationStatusResult - The current status of an async operation.
func (OperationStatusResult) MarshalJSON ¶
func (o OperationStatusResult) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type OperationStatusResult.
func (*OperationStatusResult) UnmarshalJSON ¶
func (o *OperationStatusResult) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type OperationStatusResult.
type OperationsClient ¶
type OperationsClient struct {
// contains filtered or unexported fields
}
OperationsClient contains the methods for the Operations group. Don't use this type directly, use NewOperationsClient() instead.
func NewOperationsClient ¶
func NewOperationsClient(credential azcore.TokenCredential, options *arm.ClientOptions) (*OperationsClient, error)
NewOperationsClient creates a new instance of OperationsClient with the specified values.
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*OperationsClient) NewListPager ¶
func (client *OperationsClient) NewListPager(options *OperationsClientListOptions) *runtime.Pager[OperationsClientListResponse]
NewListPager - Exposes all available operations for discovery purposes.
Generated from API version 2015-06-01-preview
- options - OperationsClientListOptions contains the optional parameters for the OperationsClient.NewListPager method.
type OperationsClientListOptions ¶
type OperationsClientListOptions struct {
}
OperationsClientListOptions contains the optional parameters for the OperationsClient.NewListPager method.
type OperationsClientListResponse ¶
type OperationsClientListResponse struct {
// List of possible operations for Microsoft.Security resource provider
OperationList
}
OperationsClientListResponse contains the response from method OperationsClient.NewListPager.
type Operator ¶
type Operator string
Operator - A valid comparer operator to use. A case-insensitive comparison will be applied for String PropertyType.
const ( // OperatorContains - Applies only for non-decimal operands OperatorContains Operator = "Contains" // OperatorEndsWith - Applies only for non-decimal operands OperatorEndsWith Operator = "EndsWith" // OperatorEquals - Applies for decimal and non-decimal operands OperatorEquals Operator = "Equals" // OperatorGreaterThan - Applies only for decimal operands OperatorGreaterThan Operator = "GreaterThan" // OperatorGreaterThanOrEqualTo - Applies only for decimal operands OperatorGreaterThanOrEqualTo Operator = "GreaterThanOrEqualTo" // OperatorLesserThan - Applies only for decimal operands OperatorLesserThan Operator = "LesserThan" // OperatorLesserThanOrEqualTo - Applies only for decimal operands OperatorLesserThanOrEqualTo Operator = "LesserThanOrEqualTo" // OperatorNotEquals - Applies for decimal and non-decimal operands OperatorNotEquals Operator = "NotEquals" // OperatorStartsWith - Applies only for non-decimal operands OperatorStartsWith Operator = "StartsWith" )
func PossibleOperatorValues ¶
func PossibleOperatorValues() []Operator
PossibleOperatorValues returns the possible values for the Operator const type.
type OperatorList ¶
type OperatorList struct {
// REQUIRED; List of SecurityOperator configurations
Value []*OperatorResource
}
OperatorList - List of SecurityOperator response.
func (OperatorList) MarshalJSON ¶
func (o OperatorList) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type OperatorList.
func (*OperatorList) UnmarshalJSON ¶
func (o *OperatorList) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type OperatorList.
type OperatorResource ¶
type OperatorResource struct {
// Identity for the resource.
Identity *Identity
// READ-ONLY; Resource Id
ID *string
// READ-ONLY; Resource name
Name *string
// READ-ONLY; Resource type
Type *string
}
OperatorResource - Security operator under a given subscription and pricing
func (OperatorResource) MarshalJSON ¶
func (o OperatorResource) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type OperatorResource.
func (*OperatorResource) UnmarshalJSON ¶
func (o *OperatorResource) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type OperatorResource.
type OperatorsClient ¶
type OperatorsClient struct {
// contains filtered or unexported fields
}
OperatorsClient contains the methods for the SecurityOperators group. Don't use this type directly, use NewOperatorsClient() instead.
func NewOperatorsClient ¶
func NewOperatorsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*OperatorsClient, error)
NewOperatorsClient creates a new instance of OperatorsClient with the specified values.
- subscriptionID - Azure subscription ID
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*OperatorsClient) CreateOrUpdate ¶
func (client *OperatorsClient) CreateOrUpdate(ctx context.Context, pricingName string, securityOperatorName string, options *OperatorsClientCreateOrUpdateOptions) (OperatorsClientCreateOrUpdateResponse, error)
CreateOrUpdate - Creates Microsoft Defender for Cloud security operator on the given scope. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2023-01-01-preview
- pricingName - name of the pricing configuration
- securityOperatorName - name of the securityOperator
- options - OperatorsClientCreateOrUpdateOptions contains the optional parameters for the OperatorsClient.CreateOrUpdate method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-01-01-preview/examples/SecurityOperators/PutSecurityOperatorByName_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewOperatorsClient().CreateOrUpdate(ctx, "CloudPosture", "DefenderCSPMSecurityOperator", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.OperatorResource = armsecurity.OperatorResource{
// Name: to.Ptr("DefenderCSPMSecurityOperator"),
// Type: to.Ptr("Microsoft.Security/pricings/securityOperator"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/pricings/CloudPosture/securityOperators/DefenderCSPMSecurityOperator"),
// Identity: &armsecurity.Identity{
// Type: to.Ptr("SystemAssigned"),
// PrincipalID: to.Ptr("44ee8e7e-7f52-4750-b937-27490fbf7663"),
// TenantID: to.Ptr("72f988bf-86f1-41af-91ab-2d7cd011db47"),
// },
// }
}
func (*OperatorsClient) Delete ¶
func (client *OperatorsClient) Delete(ctx context.Context, pricingName string, securityOperatorName string, options *OperatorsClientDeleteOptions) (OperatorsClientDeleteResponse, error)
Delete - Delete Microsoft Defender for Cloud securityOperator in the subscription. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2023-01-01-preview
- pricingName - name of the pricing configuration
- securityOperatorName - name of the securityOperator
- options - OperatorsClientDeleteOptions contains the optional parameters for the OperatorsClient.Delete method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-01-01-preview/examples/SecurityOperators/DeleteSecurityOperatorByName_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewOperatorsClient().Delete(ctx, "CloudPosture", "DefenderCSPMSecurityOperator", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
}
func (*OperatorsClient) Get ¶
func (client *OperatorsClient) Get(ctx context.Context, pricingName string, securityOperatorName string, options *OperatorsClientGetOptions) (OperatorsClientGetResponse, error)
Get - Get a specific security operator for the requested scope. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2023-01-01-preview
- pricingName - name of the pricing configuration
- securityOperatorName - name of the securityOperator
- options - OperatorsClientGetOptions contains the optional parameters for the OperatorsClient.Get method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-01-01-preview/examples/SecurityOperators/GetSecurityOperatorByName_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewOperatorsClient().Get(ctx, "CloudPosture", "DefenderCSPMSecurityOperator", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.OperatorResource = armsecurity.OperatorResource{
// Name: to.Ptr("DefenderCSPMSecurityOperator"),
// Type: to.Ptr("Microsoft.Security/pricings/securityOperator"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/pricings/CloudPosture/securityOperators/DefenderCSPMSecurityOperator"),
// Identity: &armsecurity.Identity{
// Type: to.Ptr("SystemAssigned"),
// PrincipalID: to.Ptr("44ee8e7e-7f52-4750-b937-27490fbf7663"),
// TenantID: to.Ptr("72f988bf-86f1-41af-91ab-2d7cd011db47"),
// },
// }
}
func (*OperatorsClient) List ¶
func (client *OperatorsClient) List(ctx context.Context, pricingName string, options *OperatorsClientListOptions) (OperatorsClientListResponse, error)
List - Lists Microsoft Defender for Cloud securityOperators in the subscription. If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2023-01-01-preview
- pricingName - name of the pricing configuration
- options - OperatorsClientListOptions contains the optional parameters for the OperatorsClient.List method.
Example ¶
Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/preview/2023-01-01-preview/examples/SecurityOperators/ListSecurityOperators_example.json
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewOperatorsClient().List(ctx, "CloudPosture", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.OperatorList = armsecurity.OperatorList{
// Value: []*armsecurity.OperatorResource{
// {
// Name: to.Ptr("DefenderCSPMSecurityOperator"),
// Type: to.Ptr("Microsoft.Security/pricings/securityOperator"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/pricings/CloudPosture/securityOperators/DefenderCSPMSecurityOperator"),
// Identity: &armsecurity.Identity{
// Type: to.Ptr("SystemAssigned"),
// PrincipalID: to.Ptr("44ee8e7e-7f52-4750-b937-27490fbf7663"),
// TenantID: to.Ptr("72f988bf-86f1-41af-91ab-2d7cd011db47"),
// },
// }},
// }
}
type OperatorsClientCreateOrUpdateOptions ¶
type OperatorsClientCreateOrUpdateOptions struct {
}
OperatorsClientCreateOrUpdateOptions contains the optional parameters for the OperatorsClient.CreateOrUpdate method.
type OperatorsClientCreateOrUpdateResponse ¶
type OperatorsClientCreateOrUpdateResponse struct {
// Security operator under a given subscription and pricing
OperatorResource
}
OperatorsClientCreateOrUpdateResponse contains the response from method OperatorsClient.CreateOrUpdate.
type OperatorsClientDeleteOptions ¶
type OperatorsClientDeleteOptions struct {
}
OperatorsClientDeleteOptions contains the optional parameters for the OperatorsClient.Delete method.
type OperatorsClientDeleteResponse ¶
type OperatorsClientDeleteResponse struct {
}
OperatorsClientDeleteResponse contains the response from method OperatorsClient.Delete.
type OperatorsClientGetOptions ¶
type OperatorsClientGetOptions struct {
}
OperatorsClientGetOptions contains the optional parameters for the OperatorsClient.Get method.
type OperatorsClientGetResponse ¶
type OperatorsClientGetResponse struct {
// Security operator under a given subscription and pricing
OperatorResource
}
OperatorsClientGetResponse contains the response from method OperatorsClient.Get.
type OperatorsClientListOptions ¶
type OperatorsClientListOptions struct {
}
OperatorsClientListOptions contains the optional parameters for the OperatorsClient.List method.
type OperatorsClientListResponse ¶
type OperatorsClientListResponse struct {
// List of SecurityOperator response.
OperatorList
}
OperatorsClientListResponse contains the response from method OperatorsClient.List.
type OrganizationMembershipType ¶
type OrganizationMembershipType string
OrganizationMembershipType - The multi cloud account's membership type in the organization
const ( OrganizationMembershipTypeMember OrganizationMembershipType = "Member" OrganizationMembershipTypeOrganization OrganizationMembershipType = "Organization" )
func PossibleOrganizationMembershipTypeValues ¶
func PossibleOrganizationMembershipTypeValues() []OrganizationMembershipType
PossibleOrganizationMembershipTypeValues returns the possible values for the OrganizationMembershipType const type.
type PathRecommendation ¶
type PathRecommendation struct {
// The recommendation action of the machine or rule
Action *RecommendationAction
// Whether the application is commonly run on the machine
Common *bool
// The configuration status of the machines group or machine or rule
ConfigurationStatus *ConfigurationStatus
// The type of the file (for Linux files - Executable is used)
FileType *FileType
// The full path of the file, or an identifier of the application
Path *string
// Represents the publisher information of a process/rule
PublisherInfo *PublisherInfo
// The type of IoT Security recommendation.
Type *RecommendationType
UserSids []*string
Usernames []*UserRecommendation
}
PathRecommendation - Represents a path that is recommended to be allowed and its properties
func (PathRecommendation) MarshalJSON ¶
func (p PathRecommendation) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type PathRecommendation.
func (*PathRecommendation) UnmarshalJSON ¶
func (p *PathRecommendation) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type PathRecommendation.
type PermissionProperty ¶
type PermissionProperty string
PermissionProperty - A permission detected in the cloud account.
const (
// PermissionPropertyAWSAWSSecurityHubReadOnlyAccess - This permission provides read only access to AWS Security Hub resources.
PermissionProperty