securitycenter

package
v5.89.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 20, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AdvancedThreatProtection

type AdvancedThreatProtection struct {
	pulumi.CustomResourceState

	// Should Advanced Threat Protection be enabled on this resource?
	Enabled pulumi.BoolOutput `pulumi:"enabled"`
	// The ID of the Azure Resource which to enable Advanced Threat Protection on. Changing this forces a new resource to be created.
	TargetResourceId pulumi.StringOutput `pulumi:"targetResourceId"`
}

Manages a resources Advanced Threat Protection setting.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/securitycenter"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("atp-example"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleAccount, err := storage.NewAccount(ctx, "example", &storage.AccountArgs{
			Name:                   pulumi.String("examplestorage"),
			ResourceGroupName:      example.Name,
			Location:               example.Location,
			AccountTier:            pulumi.String("Standard"),
			AccountReplicationType: pulumi.String("LRS"),
			Tags: pulumi.StringMap{
				"environment": pulumi.String("example"),
			},
		})
		if err != nil {
			return err
		}
		_, err = securitycenter.NewAdvancedThreatProtection(ctx, "example", &securitycenter.AdvancedThreatProtectionArgs{
			TargetResourceId: exampleAccount.ID(),
			Enabled:          pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Advanced Threat Protection can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:securitycenter/advancedThreatProtection:AdvancedThreatProtection example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/exampleResourceGroup/providers/Microsoft.Storage/storageAccounts/exampleaccount/providers/Microsoft.Security/advancedThreatProtectionSettings/default ```

func GetAdvancedThreatProtection

func GetAdvancedThreatProtection(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AdvancedThreatProtectionState, opts ...pulumi.ResourceOption) (*AdvancedThreatProtection, error)

GetAdvancedThreatProtection gets an existing AdvancedThreatProtection resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewAdvancedThreatProtection

func NewAdvancedThreatProtection(ctx *pulumi.Context,
	name string, args *AdvancedThreatProtectionArgs, opts ...pulumi.ResourceOption) (*AdvancedThreatProtection, error)

NewAdvancedThreatProtection registers a new resource with the given unique name, arguments, and options.

func (*AdvancedThreatProtection) ElementType

func (*AdvancedThreatProtection) ElementType() reflect.Type

func (*AdvancedThreatProtection) ToAdvancedThreatProtectionOutput

func (i *AdvancedThreatProtection) ToAdvancedThreatProtectionOutput() AdvancedThreatProtectionOutput

func (*AdvancedThreatProtection) ToAdvancedThreatProtectionOutputWithContext

func (i *AdvancedThreatProtection) ToAdvancedThreatProtectionOutputWithContext(ctx context.Context) AdvancedThreatProtectionOutput

type AdvancedThreatProtectionArgs

type AdvancedThreatProtectionArgs struct {
	// Should Advanced Threat Protection be enabled on this resource?
	Enabled pulumi.BoolInput
	// The ID of the Azure Resource which to enable Advanced Threat Protection on. Changing this forces a new resource to be created.
	TargetResourceId pulumi.StringInput
}

The set of arguments for constructing a AdvancedThreatProtection resource.

func (AdvancedThreatProtectionArgs) ElementType

type AdvancedThreatProtectionArray

type AdvancedThreatProtectionArray []AdvancedThreatProtectionInput

func (AdvancedThreatProtectionArray) ElementType

func (AdvancedThreatProtectionArray) ToAdvancedThreatProtectionArrayOutput

func (i AdvancedThreatProtectionArray) ToAdvancedThreatProtectionArrayOutput() AdvancedThreatProtectionArrayOutput

func (AdvancedThreatProtectionArray) ToAdvancedThreatProtectionArrayOutputWithContext

func (i AdvancedThreatProtectionArray) ToAdvancedThreatProtectionArrayOutputWithContext(ctx context.Context) AdvancedThreatProtectionArrayOutput

type AdvancedThreatProtectionArrayInput

type AdvancedThreatProtectionArrayInput interface {
	pulumi.Input

	ToAdvancedThreatProtectionArrayOutput() AdvancedThreatProtectionArrayOutput
	ToAdvancedThreatProtectionArrayOutputWithContext(context.Context) AdvancedThreatProtectionArrayOutput
}

AdvancedThreatProtectionArrayInput is an input type that accepts AdvancedThreatProtectionArray and AdvancedThreatProtectionArrayOutput values. You can construct a concrete instance of `AdvancedThreatProtectionArrayInput` via:

AdvancedThreatProtectionArray{ AdvancedThreatProtectionArgs{...} }

type AdvancedThreatProtectionArrayOutput

type AdvancedThreatProtectionArrayOutput struct{ *pulumi.OutputState }

func (AdvancedThreatProtectionArrayOutput) ElementType

func (AdvancedThreatProtectionArrayOutput) Index

func (AdvancedThreatProtectionArrayOutput) ToAdvancedThreatProtectionArrayOutput

func (o AdvancedThreatProtectionArrayOutput) ToAdvancedThreatProtectionArrayOutput() AdvancedThreatProtectionArrayOutput

func (AdvancedThreatProtectionArrayOutput) ToAdvancedThreatProtectionArrayOutputWithContext

func (o AdvancedThreatProtectionArrayOutput) ToAdvancedThreatProtectionArrayOutputWithContext(ctx context.Context) AdvancedThreatProtectionArrayOutput

type AdvancedThreatProtectionInput

type AdvancedThreatProtectionInput interface {
	pulumi.Input

	ToAdvancedThreatProtectionOutput() AdvancedThreatProtectionOutput
	ToAdvancedThreatProtectionOutputWithContext(ctx context.Context) AdvancedThreatProtectionOutput
}

type AdvancedThreatProtectionMap

type AdvancedThreatProtectionMap map[string]AdvancedThreatProtectionInput

func (AdvancedThreatProtectionMap) ElementType

func (AdvancedThreatProtectionMap) ToAdvancedThreatProtectionMapOutput

func (i AdvancedThreatProtectionMap) ToAdvancedThreatProtectionMapOutput() AdvancedThreatProtectionMapOutput

func (AdvancedThreatProtectionMap) ToAdvancedThreatProtectionMapOutputWithContext

func (i AdvancedThreatProtectionMap) ToAdvancedThreatProtectionMapOutputWithContext(ctx context.Context) AdvancedThreatProtectionMapOutput

type AdvancedThreatProtectionMapInput

type AdvancedThreatProtectionMapInput interface {
	pulumi.Input

	ToAdvancedThreatProtectionMapOutput() AdvancedThreatProtectionMapOutput
	ToAdvancedThreatProtectionMapOutputWithContext(context.Context) AdvancedThreatProtectionMapOutput
}

AdvancedThreatProtectionMapInput is an input type that accepts AdvancedThreatProtectionMap and AdvancedThreatProtectionMapOutput values. You can construct a concrete instance of `AdvancedThreatProtectionMapInput` via:

AdvancedThreatProtectionMap{ "key": AdvancedThreatProtectionArgs{...} }

type AdvancedThreatProtectionMapOutput

type AdvancedThreatProtectionMapOutput struct{ *pulumi.OutputState }

func (AdvancedThreatProtectionMapOutput) ElementType

func (AdvancedThreatProtectionMapOutput) MapIndex

func (AdvancedThreatProtectionMapOutput) ToAdvancedThreatProtectionMapOutput

func (o AdvancedThreatProtectionMapOutput) ToAdvancedThreatProtectionMapOutput() AdvancedThreatProtectionMapOutput

func (AdvancedThreatProtectionMapOutput) ToAdvancedThreatProtectionMapOutputWithContext

func (o AdvancedThreatProtectionMapOutput) ToAdvancedThreatProtectionMapOutputWithContext(ctx context.Context) AdvancedThreatProtectionMapOutput

type AdvancedThreatProtectionOutput

type AdvancedThreatProtectionOutput struct{ *pulumi.OutputState }

func (AdvancedThreatProtectionOutput) ElementType

func (AdvancedThreatProtectionOutput) Enabled added in v5.5.0

Should Advanced Threat Protection be enabled on this resource?

func (AdvancedThreatProtectionOutput) TargetResourceId added in v5.5.0

func (o AdvancedThreatProtectionOutput) TargetResourceId() pulumi.StringOutput

The ID of the Azure Resource which to enable Advanced Threat Protection on. Changing this forces a new resource to be created.

func (AdvancedThreatProtectionOutput) ToAdvancedThreatProtectionOutput

func (o AdvancedThreatProtectionOutput) ToAdvancedThreatProtectionOutput() AdvancedThreatProtectionOutput

func (AdvancedThreatProtectionOutput) ToAdvancedThreatProtectionOutputWithContext

func (o AdvancedThreatProtectionOutput) ToAdvancedThreatProtectionOutputWithContext(ctx context.Context) AdvancedThreatProtectionOutput

type AdvancedThreatProtectionState

type AdvancedThreatProtectionState struct {
	// Should Advanced Threat Protection be enabled on this resource?
	Enabled pulumi.BoolPtrInput
	// The ID of the Azure Resource which to enable Advanced Threat Protection on. Changing this forces a new resource to be created.
	TargetResourceId pulumi.StringPtrInput
}

func (AdvancedThreatProtectionState) ElementType

type Assessment

type Assessment struct {
	pulumi.CustomResourceState

	// A map of additional data to associate with the assessment.
	AdditionalData pulumi.StringMapOutput `pulumi:"additionalData"`
	// The ID of the security Assessment policy to apply to this resource. Changing this forces a new security Assessment to be created.
	AssessmentPolicyId pulumi.StringOutput `pulumi:"assessmentPolicyId"`
	// A `status` block as defined below.
	Status AssessmentStatusOutput `pulumi:"status"`
	// The ID of the target resource. Changing this forces a new security Assessment to be created.
	TargetResourceId pulumi.StringOutput `pulumi:"targetResourceId"`
}

Manages the Security Center Assessment for Azure Security Center.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/securitycenter"
"github.com/pulumi/pulumi-std/sdk/go/std"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "example", &network.VirtualNetworkArgs{
			Name:              pulumi.String("example-network"),
			ResourceGroupName: example.Name,
			Location:          example.Location,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("10.0.0.0/16"),
			},
		})
		if err != nil {
			return err
		}
		internal, err := network.NewSubnet(ctx, "internal", &network.SubnetArgs{
			Name:               pulumi.String("internal"),
			ResourceGroupName:  example.Name,
			VirtualNetworkName: exampleVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("10.0.2.0/24"),
			},
		})
		if err != nil {
			return err
		}
		invokeFile, err := std.File(ctx, &std.FileArgs{
			Input: "~/.ssh/id_rsa.pub",
		}, nil)
		if err != nil {
			return err
		}
		exampleLinuxVirtualMachineScaleSet, err := compute.NewLinuxVirtualMachineScaleSet(ctx, "example", &compute.LinuxVirtualMachineScaleSetArgs{
			Name:              pulumi.String("example-vmss"),
			ResourceGroupName: example.Name,
			Location:          example.Location,
			Sku:               pulumi.String("Standard_F2"),
			Instances:         pulumi.Int(1),
			AdminUsername:     pulumi.String("adminuser"),
			AdminSshKeys: compute.LinuxVirtualMachineScaleSetAdminSshKeyArray{
				&compute.LinuxVirtualMachineScaleSetAdminSshKeyArgs{
					Username:  pulumi.String("adminuser"),
					PublicKey: pulumi.String(invokeFile.Result),
				},
			},
			SourceImageReference: &compute.LinuxVirtualMachineScaleSetSourceImageReferenceArgs{
				Publisher: pulumi.String("Canonical"),
				Offer:     pulumi.String("0001-com-ubuntu-server-jammy"),
				Sku:       pulumi.String("22_04-lts"),
				Version:   pulumi.String("latest"),
			},
			OsDisk: &compute.LinuxVirtualMachineScaleSetOsDiskArgs{
				StorageAccountType: pulumi.String("Standard_LRS"),
				Caching:            pulumi.String("ReadWrite"),
			},
			NetworkInterfaces: compute.LinuxVirtualMachineScaleSetNetworkInterfaceArray{
				&compute.LinuxVirtualMachineScaleSetNetworkInterfaceArgs{
					Name:    pulumi.String("example"),
					Primary: pulumi.Bool(true),
					IpConfigurations: compute.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArray{
						&compute.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs{
							Name:     pulumi.String("internal"),
							Primary:  pulumi.Bool(true),
							SubnetId: internal.ID(),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		exampleAssessmentPolicy, err := securitycenter.NewAssessmentPolicy(ctx, "example", &securitycenter.AssessmentPolicyArgs{
			DisplayName: pulumi.String("Test Display Name"),
			Severity:    pulumi.String("Medium"),
			Description: pulumi.String("Test Description"),
		})
		if err != nil {
			return err
		}
		_, err = securitycenter.NewAssessment(ctx, "example", &securitycenter.AssessmentArgs{
			AssessmentPolicyId: exampleAssessmentPolicy.ID(),
			TargetResourceId:   exampleLinuxVirtualMachineScaleSet.ID(),
			Status: &securitycenter.AssessmentStatusArgs{
				Code: pulumi.String("Healthy"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Security Assessment can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:securitycenter/assessment:Assessment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/providers/Microsoft.Security/assessments/00000000-0000-0000-0000-000000000000 ```

func GetAssessment

func GetAssessment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AssessmentState, opts ...pulumi.ResourceOption) (*Assessment, error)

GetAssessment gets an existing Assessment resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewAssessment

func NewAssessment(ctx *pulumi.Context,
	name string, args *AssessmentArgs, opts ...pulumi.ResourceOption) (*Assessment, error)

NewAssessment registers a new resource with the given unique name, arguments, and options.

func (*Assessment) ElementType

func (*Assessment) ElementType() reflect.Type

func (*Assessment) ToAssessmentOutput

func (i *Assessment) ToAssessmentOutput() AssessmentOutput

func (*Assessment) ToAssessmentOutputWithContext

func (i *Assessment) ToAssessmentOutputWithContext(ctx context.Context) AssessmentOutput

type AssessmentArgs

type AssessmentArgs struct {
	// A map of additional data to associate with the assessment.
	AdditionalData pulumi.StringMapInput
	// The ID of the security Assessment policy to apply to this resource. Changing this forces a new security Assessment to be created.
	AssessmentPolicyId pulumi.StringInput
	// A `status` block as defined below.
	Status AssessmentStatusInput
	// The ID of the target resource. Changing this forces a new security Assessment to be created.
	TargetResourceId pulumi.StringInput
}

The set of arguments for constructing a Assessment resource.

func (AssessmentArgs) ElementType

func (AssessmentArgs) ElementType() reflect.Type

type AssessmentArray

type AssessmentArray []AssessmentInput

func (AssessmentArray) ElementType

func (AssessmentArray) ElementType() reflect.Type

func (AssessmentArray) ToAssessmentArrayOutput

func (i AssessmentArray) ToAssessmentArrayOutput() AssessmentArrayOutput

func (AssessmentArray) ToAssessmentArrayOutputWithContext

func (i AssessmentArray) ToAssessmentArrayOutputWithContext(ctx context.Context) AssessmentArrayOutput

type AssessmentArrayInput

type AssessmentArrayInput interface {
	pulumi.Input

	ToAssessmentArrayOutput() AssessmentArrayOutput
	ToAssessmentArrayOutputWithContext(context.Context) AssessmentArrayOutput
}

AssessmentArrayInput is an input type that accepts AssessmentArray and AssessmentArrayOutput values. You can construct a concrete instance of `AssessmentArrayInput` via:

AssessmentArray{ AssessmentArgs{...} }

type AssessmentArrayOutput

type AssessmentArrayOutput struct{ *pulumi.OutputState }

func (AssessmentArrayOutput) ElementType

func (AssessmentArrayOutput) ElementType() reflect.Type

func (AssessmentArrayOutput) Index

func (AssessmentArrayOutput) ToAssessmentArrayOutput

func (o AssessmentArrayOutput) ToAssessmentArrayOutput() AssessmentArrayOutput

func (AssessmentArrayOutput) ToAssessmentArrayOutputWithContext

func (o AssessmentArrayOutput) ToAssessmentArrayOutputWithContext(ctx context.Context) AssessmentArrayOutput

type AssessmentInput

type AssessmentInput interface {
	pulumi.Input

	ToAssessmentOutput() AssessmentOutput
	ToAssessmentOutputWithContext(ctx context.Context) AssessmentOutput
}

type AssessmentMap

type AssessmentMap map[string]AssessmentInput

func (AssessmentMap) ElementType

func (AssessmentMap) ElementType() reflect.Type

func (AssessmentMap) ToAssessmentMapOutput

func (i AssessmentMap) ToAssessmentMapOutput() AssessmentMapOutput

func (AssessmentMap) ToAssessmentMapOutputWithContext

func (i AssessmentMap) ToAssessmentMapOutputWithContext(ctx context.Context) AssessmentMapOutput

type AssessmentMapInput

type AssessmentMapInput interface {
	pulumi.Input

	ToAssessmentMapOutput() AssessmentMapOutput
	ToAssessmentMapOutputWithContext(context.Context) AssessmentMapOutput
}

AssessmentMapInput is an input type that accepts AssessmentMap and AssessmentMapOutput values. You can construct a concrete instance of `AssessmentMapInput` via:

AssessmentMap{ "key": AssessmentArgs{...} }

type AssessmentMapOutput

type AssessmentMapOutput struct{ *pulumi.OutputState }

func (AssessmentMapOutput) ElementType

func (AssessmentMapOutput) ElementType() reflect.Type

func (AssessmentMapOutput) MapIndex

func (AssessmentMapOutput) ToAssessmentMapOutput

func (o AssessmentMapOutput) ToAssessmentMapOutput() AssessmentMapOutput

func (AssessmentMapOutput) ToAssessmentMapOutputWithContext

func (o AssessmentMapOutput) ToAssessmentMapOutputWithContext(ctx context.Context) AssessmentMapOutput

type AssessmentOutput

type AssessmentOutput struct{ *pulumi.OutputState }

func (AssessmentOutput) AdditionalData added in v5.5.0

func (o AssessmentOutput) AdditionalData() pulumi.StringMapOutput

A map of additional data to associate with the assessment.

func (AssessmentOutput) AssessmentPolicyId added in v5.5.0

func (o AssessmentOutput) AssessmentPolicyId() pulumi.StringOutput

The ID of the security Assessment policy to apply to this resource. Changing this forces a new security Assessment to be created.

func (AssessmentOutput) ElementType

func (AssessmentOutput) ElementType() reflect.Type

func (AssessmentOutput) Status added in v5.5.0

A `status` block as defined below.

func (AssessmentOutput) TargetResourceId added in v5.5.0

func (o AssessmentOutput) TargetResourceId() pulumi.StringOutput

The ID of the target resource. Changing this forces a new security Assessment to be created.

func (AssessmentOutput) ToAssessmentOutput

func (o AssessmentOutput) ToAssessmentOutput() AssessmentOutput

func (AssessmentOutput) ToAssessmentOutputWithContext

func (o AssessmentOutput) ToAssessmentOutputWithContext(ctx context.Context) AssessmentOutput

type AssessmentPolicy

type AssessmentPolicy struct {
	pulumi.CustomResourceState

	// A list of the categories of resource that is at risk when the Security Center Assessment is unhealthy. Possible values are `Unknown`, `Compute`, `Data`, `IdentityAndAccess`, `IoT` and `Networking`.
	Categories pulumi.StringArrayOutput `pulumi:"categories"`
	// The description of the Security Center Assessment.
	Description pulumi.StringOutput `pulumi:"description"`
	// The user-friendly display name of the Security Center Assessment.
	DisplayName pulumi.StringOutput `pulumi:"displayName"`
	// The implementation effort which is used to remediate the Security Center Assessment. Possible values are `Low`, `Moderate` and `High`.
	ImplementationEffort pulumi.StringPtrOutput `pulumi:"implementationEffort"`
	// The GUID as the name of the Security Center Assessment Policy.
	Name pulumi.StringOutput `pulumi:"name"`
	// The description which is used to mitigate the security issue.
	RemediationDescription pulumi.StringPtrOutput `pulumi:"remediationDescription"`
	// The severity level of the Security Center Assessment. Possible values are `Low`, `Medium` and `High`. Defaults to `Medium`.
	Severity pulumi.StringPtrOutput `pulumi:"severity"`
	// A list of the threat impacts for the Security Center Assessment. Possible values are `AccountBreach`, `DataExfiltration`, `DataSpillage`, `DenialOfService`, `ElevationOfPrivilege`, `MaliciousInsider`, `MissingCoverage` and `ThreatResistance`.
	Threats pulumi.StringArrayOutput `pulumi:"threats"`
	// The user impact of the Security Center Assessment. Possible values are `Low`, `Moderate` and `High`.
	UserImpact pulumi.StringPtrOutput `pulumi:"userImpact"`
}

Manages the Security Center Assessment Metadata for Azure Security Center.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/securitycenter"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := securitycenter.NewAssessmentPolicy(ctx, "example", &securitycenter.AssessmentPolicyArgs{
			DisplayName: pulumi.String("Test Display Name"),
			Severity:    pulumi.String("Medium"),
			Description: pulumi.String("Test Description"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Security Assessments Policy can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:securitycenter/assessmentPolicy:AssessmentPolicy example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Security/assessmentMetadata/metadata1 ```

func GetAssessmentPolicy

func GetAssessmentPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AssessmentPolicyState, opts ...pulumi.ResourceOption) (*AssessmentPolicy, error)

GetAssessmentPolicy gets an existing AssessmentPolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewAssessmentPolicy

func NewAssessmentPolicy(ctx *pulumi.Context,
	name string, args *AssessmentPolicyArgs, opts ...pulumi.ResourceOption) (*AssessmentPolicy, error)

NewAssessmentPolicy registers a new resource with the given unique name, arguments, and options.

func (*AssessmentPolicy) ElementType

func (*AssessmentPolicy) ElementType() reflect.Type

func (*AssessmentPolicy) ToAssessmentPolicyOutput

func (i *AssessmentPolicy) ToAssessmentPolicyOutput() AssessmentPolicyOutput

func (*AssessmentPolicy) ToAssessmentPolicyOutputWithContext

func (i *AssessmentPolicy) ToAssessmentPolicyOutputWithContext(ctx context.Context) AssessmentPolicyOutput

type AssessmentPolicyArgs

type AssessmentPolicyArgs struct {
	// A list of the categories of resource that is at risk when the Security Center Assessment is unhealthy. Possible values are `Unknown`, `Compute`, `Data`, `IdentityAndAccess`, `IoT` and `Networking`.
	Categories pulumi.StringArrayInput
	// The description of the Security Center Assessment.
	Description pulumi.StringInput
	// The user-friendly display name of the Security Center Assessment.
	DisplayName pulumi.StringInput
	// The implementation effort which is used to remediate the Security Center Assessment. Possible values are `Low`, `Moderate` and `High`.
	ImplementationEffort pulumi.StringPtrInput
	// The description which is used to mitigate the security issue.
	RemediationDescription pulumi.StringPtrInput
	// The severity level of the Security Center Assessment. Possible values are `Low`, `Medium` and `High`. Defaults to `Medium`.
	Severity pulumi.StringPtrInput
	// A list of the threat impacts for the Security Center Assessment. Possible values are `AccountBreach`, `DataExfiltration`, `DataSpillage`, `DenialOfService`, `ElevationOfPrivilege`, `MaliciousInsider`, `MissingCoverage` and `ThreatResistance`.
	Threats pulumi.StringArrayInput
	// The user impact of the Security Center Assessment. Possible values are `Low`, `Moderate` and `High`.
	UserImpact pulumi.StringPtrInput
}

The set of arguments for constructing a AssessmentPolicy resource.

func (AssessmentPolicyArgs) ElementType

func (AssessmentPolicyArgs) ElementType() reflect.Type

type AssessmentPolicyArray

type AssessmentPolicyArray []AssessmentPolicyInput

func (AssessmentPolicyArray) ElementType

func (AssessmentPolicyArray) ElementType() reflect.Type

func (AssessmentPolicyArray) ToAssessmentPolicyArrayOutput

func (i AssessmentPolicyArray) ToAssessmentPolicyArrayOutput() AssessmentPolicyArrayOutput

func (AssessmentPolicyArray) ToAssessmentPolicyArrayOutputWithContext

func (i AssessmentPolicyArray) ToAssessmentPolicyArrayOutputWithContext(ctx context.Context) AssessmentPolicyArrayOutput

type AssessmentPolicyArrayInput

type AssessmentPolicyArrayInput interface {
	pulumi.Input

	ToAssessmentPolicyArrayOutput() AssessmentPolicyArrayOutput
	ToAssessmentPolicyArrayOutputWithContext(context.Context) AssessmentPolicyArrayOutput
}

AssessmentPolicyArrayInput is an input type that accepts AssessmentPolicyArray and AssessmentPolicyArrayOutput values. You can construct a concrete instance of `AssessmentPolicyArrayInput` via:

AssessmentPolicyArray{ AssessmentPolicyArgs{...} }

type AssessmentPolicyArrayOutput

type AssessmentPolicyArrayOutput struct{ *pulumi.OutputState }

func (AssessmentPolicyArrayOutput) ElementType

func (AssessmentPolicyArrayOutput) Index

func (AssessmentPolicyArrayOutput) ToAssessmentPolicyArrayOutput

func (o AssessmentPolicyArrayOutput) ToAssessmentPolicyArrayOutput() AssessmentPolicyArrayOutput

func (AssessmentPolicyArrayOutput) ToAssessmentPolicyArrayOutputWithContext

func (o AssessmentPolicyArrayOutput) ToAssessmentPolicyArrayOutputWithContext(ctx context.Context) AssessmentPolicyArrayOutput

type AssessmentPolicyInput

type AssessmentPolicyInput interface {
	pulumi.Input

	ToAssessmentPolicyOutput() AssessmentPolicyOutput
	ToAssessmentPolicyOutputWithContext(ctx context.Context) AssessmentPolicyOutput
}

type AssessmentPolicyMap

type AssessmentPolicyMap map[string]AssessmentPolicyInput

func (AssessmentPolicyMap) ElementType

func (AssessmentPolicyMap) ElementType() reflect.Type

func (AssessmentPolicyMap) ToAssessmentPolicyMapOutput

func (i AssessmentPolicyMap) ToAssessmentPolicyMapOutput() AssessmentPolicyMapOutput

func (AssessmentPolicyMap) ToAssessmentPolicyMapOutputWithContext

func (i AssessmentPolicyMap) ToAssessmentPolicyMapOutputWithContext(ctx context.Context) AssessmentPolicyMapOutput

type AssessmentPolicyMapInput

type AssessmentPolicyMapInput interface {
	pulumi.Input

	ToAssessmentPolicyMapOutput() AssessmentPolicyMapOutput
	ToAssessmentPolicyMapOutputWithContext(context.Context) AssessmentPolicyMapOutput
}

AssessmentPolicyMapInput is an input type that accepts AssessmentPolicyMap and AssessmentPolicyMapOutput values. You can construct a concrete instance of `AssessmentPolicyMapInput` via:

AssessmentPolicyMap{ "key": AssessmentPolicyArgs{...} }

type AssessmentPolicyMapOutput

type AssessmentPolicyMapOutput struct{ *pulumi.OutputState }

func (AssessmentPolicyMapOutput) ElementType

func (AssessmentPolicyMapOutput) ElementType() reflect.Type

func (AssessmentPolicyMapOutput) MapIndex

func (AssessmentPolicyMapOutput) ToAssessmentPolicyMapOutput

func (o AssessmentPolicyMapOutput) ToAssessmentPolicyMapOutput() AssessmentPolicyMapOutput

func (AssessmentPolicyMapOutput) ToAssessmentPolicyMapOutputWithContext

func (o AssessmentPolicyMapOutput) ToAssessmentPolicyMapOutputWithContext(ctx context.Context) AssessmentPolicyMapOutput

type AssessmentPolicyOutput

type AssessmentPolicyOutput struct{ *pulumi.OutputState }

func (AssessmentPolicyOutput) Categories added in v5.5.0

A list of the categories of resource that is at risk when the Security Center Assessment is unhealthy. Possible values are `Unknown`, `Compute`, `Data`, `IdentityAndAccess`, `IoT` and `Networking`.

func (AssessmentPolicyOutput) Description added in v5.5.0

func (o AssessmentPolicyOutput) Description() pulumi.StringOutput

The description of the Security Center Assessment.

func (AssessmentPolicyOutput) DisplayName added in v5.5.0

func (o AssessmentPolicyOutput) DisplayName() pulumi.StringOutput

The user-friendly display name of the Security Center Assessment.

func (AssessmentPolicyOutput) ElementType

func (AssessmentPolicyOutput) ElementType() reflect.Type

func (AssessmentPolicyOutput) ImplementationEffort added in v5.5.0

func (o AssessmentPolicyOutput) ImplementationEffort() pulumi.StringPtrOutput

The implementation effort which is used to remediate the Security Center Assessment. Possible values are `Low`, `Moderate` and `High`.

func (AssessmentPolicyOutput) Name added in v5.5.0

The GUID as the name of the Security Center Assessment Policy.

func (AssessmentPolicyOutput) RemediationDescription added in v5.5.0

func (o AssessmentPolicyOutput) RemediationDescription() pulumi.StringPtrOutput

The description which is used to mitigate the security issue.

func (AssessmentPolicyOutput) Severity added in v5.5.0

The severity level of the Security Center Assessment. Possible values are `Low`, `Medium` and `High`. Defaults to `Medium`.

func (AssessmentPolicyOutput) Threats added in v5.5.0

A list of the threat impacts for the Security Center Assessment. Possible values are `AccountBreach`, `DataExfiltration`, `DataSpillage`, `DenialOfService`, `ElevationOfPrivilege`, `MaliciousInsider`, `MissingCoverage` and `ThreatResistance`.

func (AssessmentPolicyOutput) ToAssessmentPolicyOutput

func (o AssessmentPolicyOutput) ToAssessmentPolicyOutput() AssessmentPolicyOutput

func (AssessmentPolicyOutput) ToAssessmentPolicyOutputWithContext

func (o AssessmentPolicyOutput) ToAssessmentPolicyOutputWithContext(ctx context.Context) AssessmentPolicyOutput

func (AssessmentPolicyOutput) UserImpact added in v5.5.0

The user impact of the Security Center Assessment. Possible values are `Low`, `Moderate` and `High`.

type AssessmentPolicyState

type AssessmentPolicyState struct {
	// A list of the categories of resource that is at risk when the Security Center Assessment is unhealthy. Possible values are `Unknown`, `Compute`, `Data`, `IdentityAndAccess`, `IoT` and `Networking`.
	Categories pulumi.StringArrayInput
	// The description of the Security Center Assessment.
	Description pulumi.StringPtrInput
	// The user-friendly display name of the Security Center Assessment.
	DisplayName pulumi.StringPtrInput
	// The implementation effort which is used to remediate the Security Center Assessment. Possible values are `Low`, `Moderate` and `High`.
	ImplementationEffort pulumi.StringPtrInput
	// The GUID as the name of the Security Center Assessment Policy.
	Name pulumi.StringPtrInput
	// The description which is used to mitigate the security issue.
	RemediationDescription pulumi.StringPtrInput
	// The severity level of the Security Center Assessment. Possible values are `Low`, `Medium` and `High`. Defaults to `Medium`.
	Severity pulumi.StringPtrInput
	// A list of the threat impacts for the Security Center Assessment. Possible values are `AccountBreach`, `DataExfiltration`, `DataSpillage`, `DenialOfService`, `ElevationOfPrivilege`, `MaliciousInsider`, `MissingCoverage` and `ThreatResistance`.
	Threats pulumi.StringArrayInput
	// The user impact of the Security Center Assessment. Possible values are `Low`, `Moderate` and `High`.
	UserImpact pulumi.StringPtrInput
}

func (AssessmentPolicyState) ElementType

func (AssessmentPolicyState) ElementType() reflect.Type

type AssessmentState

type AssessmentState struct {
	// A map of additional data to associate with the assessment.
	AdditionalData pulumi.StringMapInput
	// The ID of the security Assessment policy to apply to this resource. Changing this forces a new security Assessment to be created.
	AssessmentPolicyId pulumi.StringPtrInput
	// A `status` block as defined below.
	Status AssessmentStatusPtrInput
	// The ID of the target resource. Changing this forces a new security Assessment to be created.
	TargetResourceId pulumi.StringPtrInput
}

func (AssessmentState) ElementType

func (AssessmentState) ElementType() reflect.Type

type AssessmentStatus

type AssessmentStatus struct {
	// Specifies the cause of the assessment status.
	Cause *string `pulumi:"cause"`
	// Specifies the programmatic code of the assessment status. Possible values are `Healthy`, `Unhealthy` and `NotApplicable`.
	Code string `pulumi:"code"`
	// Specifies the human readable description of the assessment status.
	Description *string `pulumi:"description"`
}

type AssessmentStatusArgs

type AssessmentStatusArgs struct {
	// Specifies the cause of the assessment status.
	Cause pulumi.StringPtrInput `pulumi:"cause"`
	// Specifies the programmatic code of the assessment status. Possible values are `Healthy`, `Unhealthy` and `NotApplicable`.
	Code pulumi.StringInput `pulumi:"code"`
	// Specifies the human readable description of the assessment status.
	Description pulumi.StringPtrInput `pulumi:"description"`
}

func (AssessmentStatusArgs) ElementType

func (AssessmentStatusArgs) ElementType() reflect.Type

func (AssessmentStatusArgs) ToAssessmentStatusOutput

func (i AssessmentStatusArgs) ToAssessmentStatusOutput() AssessmentStatusOutput

func (AssessmentStatusArgs) ToAssessmentStatusOutputWithContext

func (i AssessmentStatusArgs) ToAssessmentStatusOutputWithContext(ctx context.Context) AssessmentStatusOutput

func (AssessmentStatusArgs) ToAssessmentStatusPtrOutput

func (i AssessmentStatusArgs) ToAssessmentStatusPtrOutput() AssessmentStatusPtrOutput

func (AssessmentStatusArgs) ToAssessmentStatusPtrOutputWithContext

func (i AssessmentStatusArgs) ToAssessmentStatusPtrOutputWithContext(ctx context.Context) AssessmentStatusPtrOutput

type AssessmentStatusInput

type AssessmentStatusInput interface {
	pulumi.Input

	ToAssessmentStatusOutput() AssessmentStatusOutput
	ToAssessmentStatusOutputWithContext(context.Context) AssessmentStatusOutput
}

AssessmentStatusInput is an input type that accepts AssessmentStatusArgs and AssessmentStatusOutput values. You can construct a concrete instance of `AssessmentStatusInput` via:

AssessmentStatusArgs{...}

type AssessmentStatusOutput

type AssessmentStatusOutput struct{ *pulumi.OutputState }

func (AssessmentStatusOutput) Cause

Specifies the cause of the assessment status.

func (AssessmentStatusOutput) Code

Specifies the programmatic code of the assessment status. Possible values are `Healthy`, `Unhealthy` and `NotApplicable`.

func (AssessmentStatusOutput) Description

Specifies the human readable description of the assessment status.

func (AssessmentStatusOutput) ElementType

func (AssessmentStatusOutput) ElementType() reflect.Type

func (AssessmentStatusOutput) ToAssessmentStatusOutput

func (o AssessmentStatusOutput) ToAssessmentStatusOutput() AssessmentStatusOutput

func (AssessmentStatusOutput) ToAssessmentStatusOutputWithContext

func (o AssessmentStatusOutput) ToAssessmentStatusOutputWithContext(ctx context.Context) AssessmentStatusOutput

func (AssessmentStatusOutput) ToAssessmentStatusPtrOutput

func (o AssessmentStatusOutput) ToAssessmentStatusPtrOutput() AssessmentStatusPtrOutput

func (AssessmentStatusOutput) ToAssessmentStatusPtrOutputWithContext

func (o AssessmentStatusOutput) ToAssessmentStatusPtrOutputWithContext(ctx context.Context) AssessmentStatusPtrOutput

type AssessmentStatusPtrInput

type AssessmentStatusPtrInput interface {
	pulumi.Input

	ToAssessmentStatusPtrOutput() AssessmentStatusPtrOutput
	ToAssessmentStatusPtrOutputWithContext(context.Context) AssessmentStatusPtrOutput
}

AssessmentStatusPtrInput is an input type that accepts AssessmentStatusArgs, AssessmentStatusPtr and AssessmentStatusPtrOutput values. You can construct a concrete instance of `AssessmentStatusPtrInput` via:

        AssessmentStatusArgs{...}

or:

        nil

type AssessmentStatusPtrOutput

type AssessmentStatusPtrOutput struct{ *pulumi.OutputState }

func (AssessmentStatusPtrOutput) Cause

Specifies the cause of the assessment status.

func (AssessmentStatusPtrOutput) Code

Specifies the programmatic code of the assessment status. Possible values are `Healthy`, `Unhealthy` and `NotApplicable`.

func (AssessmentStatusPtrOutput) Description

Specifies the human readable description of the assessment status.

func (AssessmentStatusPtrOutput) Elem

func (AssessmentStatusPtrOutput) ElementType

func (AssessmentStatusPtrOutput) ElementType() reflect.Type

func (AssessmentStatusPtrOutput) ToAssessmentStatusPtrOutput

func (o AssessmentStatusPtrOutput) ToAssessmentStatusPtrOutput() AssessmentStatusPtrOutput

func (AssessmentStatusPtrOutput) ToAssessmentStatusPtrOutputWithContext

func (o AssessmentStatusPtrOutput) ToAssessmentStatusPtrOutputWithContext(ctx context.Context) AssessmentStatusPtrOutput

type AutoProvisioning

type AutoProvisioning struct {
	pulumi.CustomResourceState

	// Should the security agent be automatically provisioned on Virtual Machines in this subscription? Possible values are `On` (to install the security agent automatically, if it's missing) or `Off` (to not install the security agent automatically).
	AutoProvision pulumi.StringOutput `pulumi:"autoProvision"`
}

Enables or disables the Security Center Auto Provisioning feature for the subscription

> **NOTE:** There is no resource name required, it will always be "default"

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/securitycenter"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := securitycenter.NewAutoProvisioning(ctx, "example", &securitycenter.AutoProvisioningArgs{
			AutoProvision: pulumi.String("On"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Security Center Auto Provisioning can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:securitycenter/autoProvisioning:AutoProvisioning example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Security/autoProvisioningSettings/default ```

func GetAutoProvisioning

func GetAutoProvisioning(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AutoProvisioningState, opts ...pulumi.ResourceOption) (*AutoProvisioning, error)

GetAutoProvisioning gets an existing AutoProvisioning resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewAutoProvisioning

func NewAutoProvisioning(ctx *pulumi.Context,
	name string, args *AutoProvisioningArgs, opts ...pulumi.ResourceOption) (*AutoProvisioning, error)

NewAutoProvisioning registers a new resource with the given unique name, arguments, and options.

func (*AutoProvisioning) ElementType

func (*AutoProvisioning) ElementType() reflect.Type

func (*AutoProvisioning) ToAutoProvisioningOutput

func (i *AutoProvisioning) ToAutoProvisioningOutput() AutoProvisioningOutput

func (*AutoProvisioning) ToAutoProvisioningOutputWithContext

func (i *AutoProvisioning) ToAutoProvisioningOutputWithContext(ctx context.Context) AutoProvisioningOutput

type AutoProvisioningArgs

type AutoProvisioningArgs struct {
	// Should the security agent be automatically provisioned on Virtual Machines in this subscription? Possible values are `On` (to install the security agent automatically, if it's missing) or `Off` (to not install the security agent automatically).
	AutoProvision pulumi.StringInput
}

The set of arguments for constructing a AutoProvisioning resource.

func (AutoProvisioningArgs) ElementType

func (AutoProvisioningArgs) ElementType() reflect.Type

type AutoProvisioningArray

type AutoProvisioningArray []AutoProvisioningInput

func (AutoProvisioningArray) ElementType

func (AutoProvisioningArray) ElementType() reflect.Type

func (AutoProvisioningArray) ToAutoProvisioningArrayOutput

func (i AutoProvisioningArray) ToAutoProvisioningArrayOutput() AutoProvisioningArrayOutput

func (AutoProvisioningArray) ToAutoProvisioningArrayOutputWithContext

func (i AutoProvisioningArray) ToAutoProvisioningArrayOutputWithContext(ctx context.Context) AutoProvisioningArrayOutput

type AutoProvisioningArrayInput

type AutoProvisioningArrayInput interface {
	pulumi.Input

	ToAutoProvisioningArrayOutput() AutoProvisioningArrayOutput
	ToAutoProvisioningArrayOutputWithContext(context.Context) AutoProvisioningArrayOutput
}

AutoProvisioningArrayInput is an input type that accepts AutoProvisioningArray and AutoProvisioningArrayOutput values. You can construct a concrete instance of `AutoProvisioningArrayInput` via:

AutoProvisioningArray{ AutoProvisioningArgs{...} }

type AutoProvisioningArrayOutput

type AutoProvisioningArrayOutput struct{ *pulumi.OutputState }

func (AutoProvisioningArrayOutput) ElementType

func (AutoProvisioningArrayOutput) Index

func (AutoProvisioningArrayOutput) ToAutoProvisioningArrayOutput

func (o AutoProvisioningArrayOutput) ToAutoProvisioningArrayOutput() AutoProvisioningArrayOutput

func (AutoProvisioningArrayOutput) ToAutoProvisioningArrayOutputWithContext

func (o AutoProvisioningArrayOutput) ToAutoProvisioningArrayOutputWithContext(ctx context.Context) AutoProvisioningArrayOutput

type AutoProvisioningInput

type AutoProvisioningInput interface {
	pulumi.Input

	ToAutoProvisioningOutput() AutoProvisioningOutput
	ToAutoProvisioningOutputWithContext(ctx context.Context) AutoProvisioningOutput
}

type AutoProvisioningMap

type AutoProvisioningMap map[string]AutoProvisioningInput

func (AutoProvisioningMap) ElementType

func (AutoProvisioningMap) ElementType() reflect.Type

func (AutoProvisioningMap) ToAutoProvisioningMapOutput

func (i AutoProvisioningMap) ToAutoProvisioningMapOutput() AutoProvisioningMapOutput

func (AutoProvisioningMap) ToAutoProvisioningMapOutputWithContext

func (i AutoProvisioningMap) ToAutoProvisioningMapOutputWithContext(ctx context.Context) AutoProvisioningMapOutput

type AutoProvisioningMapInput

type AutoProvisioningMapInput interface {
	pulumi.Input

	ToAutoProvisioningMapOutput() AutoProvisioningMapOutput
	ToAutoProvisioningMapOutputWithContext(context.Context) AutoProvisioningMapOutput
}

AutoProvisioningMapInput is an input type that accepts AutoProvisioningMap and AutoProvisioningMapOutput values. You can construct a concrete instance of `AutoProvisioningMapInput` via:

AutoProvisioningMap{ "key": AutoProvisioningArgs{...} }

type AutoProvisioningMapOutput

type AutoProvisioningMapOutput struct{ *pulumi.OutputState }

func (AutoProvisioningMapOutput) ElementType

func (AutoProvisioningMapOutput) ElementType() reflect.Type

func (AutoProvisioningMapOutput) MapIndex

func (AutoProvisioningMapOutput) ToAutoProvisioningMapOutput

func (o AutoProvisioningMapOutput) ToAutoProvisioningMapOutput() AutoProvisioningMapOutput

func (AutoProvisioningMapOutput) ToAutoProvisioningMapOutputWithContext

func (o AutoProvisioningMapOutput) ToAutoProvisioningMapOutputWithContext(ctx context.Context) AutoProvisioningMapOutput

type AutoProvisioningOutput

type AutoProvisioningOutput struct{ *pulumi.OutputState }

func (AutoProvisioningOutput) AutoProvision added in v5.5.0

func (o AutoProvisioningOutput) AutoProvision() pulumi.StringOutput

Should the security agent be automatically provisioned on Virtual Machines in this subscription? Possible values are `On` (to install the security agent automatically, if it's missing) or `Off` (to not install the security agent automatically).

func (AutoProvisioningOutput) ElementType

func (AutoProvisioningOutput) ElementType() reflect.Type

func (AutoProvisioningOutput) ToAutoProvisioningOutput

func (o AutoProvisioningOutput) ToAutoProvisioningOutput() AutoProvisioningOutput

func (AutoProvisioningOutput) ToAutoProvisioningOutputWithContext

func (o AutoProvisioningOutput) ToAutoProvisioningOutputWithContext(ctx context.Context) AutoProvisioningOutput

type AutoProvisioningState

type AutoProvisioningState struct {
	// Should the security agent be automatically provisioned on Virtual Machines in this subscription? Possible values are `On` (to install the security agent automatically, if it's missing) or `Off` (to not install the security agent automatically).
	AutoProvision pulumi.StringPtrInput
}

func (AutoProvisioningState) ElementType

func (AutoProvisioningState) ElementType() reflect.Type

type Automation

type Automation struct {
	pulumi.CustomResourceState

	// One or more `action` blocks as defined below. An `action` tells this automation where the data is to be sent to upon being evaluated by the rules in the `source`.
	Actions AutomationActionArrayOutput `pulumi:"actions"`
	// Specifies the description for the Security Center Automation.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Boolean to enable or disable this Security Center Automation. Defaults to `true`.
	Enabled pulumi.BoolPtrOutput `pulumi:"enabled"`
	// The Azure Region where the Security Center Automation should exist. Changing this forces a new Security Center Automation to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// The name which should be used for this Security Center Automation. Changing this forces a new Security Center Automation to be created.
	//
	// > **NOTE:** For the automation to appear in Azure Portal correctly under Microsoft Defender for Cloud > Environment Settings > Account > Continuous Export, either `ExportToWorkspace` or `ExportToEventHub` must be used.
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the Resource Group where the Security Center Automation should exist. Changing this forces a new Security Center Automation to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// A list of scopes on which the automation logic is applied, at least one is required. Supported scopes are a subscription (in this format `/subscriptions/00000000-0000-0000-0000-000000000000`) or a resource group under that subscription (in the format `/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example`). The automation will only apply on defined scopes.
	Scopes pulumi.StringArrayOutput `pulumi:"scopes"`
	// One or more `source` blocks as defined below. A `source` defines what data types will be processed and a set of rules to filter that data.
	Sources AutomationSourceArrayOutput `pulumi:"sources"`
	// A mapping of tags assigned to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
}

Manages Security Center Automation and Continuous Export. This resource supports three types of destination in the `action`, Logic Apps, Log Analytics and Event Hubs

## Example Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/eventhub"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/securitycenter"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		current, err := core.GetClientConfig(ctx, nil, nil)
		if err != nil {
			return err
		}
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleEventHubNamespace, err := eventhub.NewEventHubNamespace(ctx, "example", &eventhub.EventHubNamespaceArgs{
			Name:              pulumi.String("example-namespace"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Sku:               pulumi.String("Standard"),
			Capacity:          pulumi.Int(2),
		})
		if err != nil {
			return err
		}
		exampleEventHub, err := eventhub.NewEventHub(ctx, "example", &eventhub.EventHubArgs{
			Name:              pulumi.String("acceptanceTestEventHub"),
			NamespaceName:     exampleEventHubNamespace.Name,
			ResourceGroupName: example.Name,
			PartitionCount:    pulumi.Int(2),
			MessageRetention:  pulumi.Int(2),
		})
		if err != nil {
			return err
		}
		exampleAuthorizationRule, err := eventhub.NewAuthorizationRule(ctx, "example", &eventhub.AuthorizationRuleArgs{
			Name:              pulumi.String("example-rule"),
			NamespaceName:     exampleEventHubNamespace.Name,
			EventhubName:      exampleEventHub.Name,
			ResourceGroupName: example.Name,
			Listen:            pulumi.Bool(true),
			Send:              pulumi.Bool(false),
			Manage:            pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		_, err = securitycenter.NewAutomation(ctx, "example", &securitycenter.AutomationArgs{
			Name:              pulumi.String("example-automation"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Actions: securitycenter.AutomationActionArray{
				&securitycenter.AutomationActionArgs{
					Type:             pulumi.String("eventhub"),
					ResourceId:       exampleEventHub.ID(),
					ConnectionString: exampleAuthorizationRule.PrimaryConnectionString,
				},
			},
			Sources: securitycenter.AutomationSourceArray{
				&securitycenter.AutomationSourceArgs{
					EventSource: pulumi.String("Alerts"),
					RuleSets: securitycenter.AutomationSourceRuleSetArray{
						&securitycenter.AutomationSourceRuleSetArgs{
							Rules: securitycenter.AutomationSourceRuleSetRuleArray{
								&securitycenter.AutomationSourceRuleSetRuleArgs{
									PropertyPath:  pulumi.String("properties.metadata.severity"),
									Operator:      pulumi.String("Equals"),
									ExpectedValue: pulumi.String("High"),
									PropertyType:  pulumi.String("String"),
								},
							},
						},
					},
				},
			},
			Scopes: pulumi.StringArray{
				pulumi.Sprintf("/subscriptions/%v", current.SubscriptionId),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Security Center Automations can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:securitycenter/automation:Automation example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Security/automations/automation1 ```

func GetAutomation

func GetAutomation(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AutomationState, opts ...pulumi.ResourceOption) (*Automation, error)

GetAutomation gets an existing Automation resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewAutomation

func NewAutomation(ctx *pulumi.Context,
	name string, args *AutomationArgs, opts ...pulumi.ResourceOption) (*Automation, error)

NewAutomation registers a new resource with the given unique name, arguments, and options.

func (*Automation) ElementType

func (*Automation) ElementType() reflect.Type

func (*Automation) ToAutomationOutput

func (i *Automation) ToAutomationOutput() AutomationOutput

func (*Automation) ToAutomationOutputWithContext

func (i *Automation) ToAutomationOutputWithContext(ctx context.Context) AutomationOutput

type AutomationAction

type AutomationAction struct {
	// (Optional, but required when `type` is `eventhub`) A connection string to send data to the target Event Hub namespace, this should include a key with send permissions.
	ConnectionString *string `pulumi:"connectionString"`
	// The resource id of the target Logic App, Event Hub namespace or Log Analytics workspace.
	ResourceId string `pulumi:"resourceId"`
	// (Optional, but required when `type` is `logicapp`) The callback URL to trigger the Logic App that will receive and process data sent by this automation. This can be found in the Azure Portal under "See trigger history"
	TriggerUrl *string `pulumi:"triggerUrl"`
	// Type of Azure resource to send data to. Must be set to one of: `logicapp`, `eventhub` or `loganalytics`.
	Type string `pulumi:"type"`
}

type AutomationActionArgs

type AutomationActionArgs struct {
	// (Optional, but required when `type` is `eventhub`) A connection string to send data to the target Event Hub namespace, this should include a key with send permissions.
	ConnectionString pulumi.StringPtrInput `pulumi:"connectionString"`
	// The resource id of the target Logic App, Event Hub namespace or Log Analytics workspace.
	ResourceId pulumi.StringInput `pulumi:"resourceId"`
	// (Optional, but required when `type` is `logicapp`) The callback URL to trigger the Logic App that will receive and process data sent by this automation. This can be found in the Azure Portal under "See trigger history"
	TriggerUrl pulumi.StringPtrInput `pulumi:"triggerUrl"`
	// Type of Azure resource to send data to. Must be set to one of: `logicapp`, `eventhub` or `loganalytics`.
	Type pulumi.StringInput `pulumi:"type"`
}

func (AutomationActionArgs) ElementType

func (AutomationActionArgs) ElementType() reflect.Type

func (AutomationActionArgs) ToAutomationActionOutput

func (i AutomationActionArgs) ToAutomationActionOutput() AutomationActionOutput

func (AutomationActionArgs) ToAutomationActionOutputWithContext

func (i AutomationActionArgs) ToAutomationActionOutputWithContext(ctx context.Context) AutomationActionOutput

type AutomationActionArray

type AutomationActionArray []AutomationActionInput

func (AutomationActionArray) ElementType

func (AutomationActionArray) ElementType() reflect.Type

func (AutomationActionArray) ToAutomationActionArrayOutput

func (i AutomationActionArray) ToAutomationActionArrayOutput() AutomationActionArrayOutput

func (AutomationActionArray) ToAutomationActionArrayOutputWithContext

func (i AutomationActionArray) ToAutomationActionArrayOutputWithContext(ctx context.Context) AutomationActionArrayOutput

type AutomationActionArrayInput

type AutomationActionArrayInput interface {
	pulumi.Input

	ToAutomationActionArrayOutput() AutomationActionArrayOutput
	ToAutomationActionArrayOutputWithContext(context.Context) AutomationActionArrayOutput
}

AutomationActionArrayInput is an input type that accepts AutomationActionArray and AutomationActionArrayOutput values. You can construct a concrete instance of `AutomationActionArrayInput` via:

AutomationActionArray{ AutomationActionArgs{...} }

type AutomationActionArrayOutput

type AutomationActionArrayOutput struct{ *pulumi.OutputState }

func (AutomationActionArrayOutput) ElementType

func (AutomationActionArrayOutput) Index

func (AutomationActionArrayOutput) ToAutomationActionArrayOutput

func (o AutomationActionArrayOutput) ToAutomationActionArrayOutput() AutomationActionArrayOutput

func (AutomationActionArrayOutput) ToAutomationActionArrayOutputWithContext

func (o AutomationActionArrayOutput) ToAutomationActionArrayOutputWithContext(ctx context.Context) AutomationActionArrayOutput

type AutomationActionInput

type AutomationActionInput interface {
	pulumi.Input

	ToAutomationActionOutput() AutomationActionOutput
	ToAutomationActionOutputWithContext(context.Context) AutomationActionOutput
}

AutomationActionInput is an input type that accepts AutomationActionArgs and AutomationActionOutput values. You can construct a concrete instance of `AutomationActionInput` via:

AutomationActionArgs{...}

type AutomationActionOutput

type AutomationActionOutput struct{ *pulumi.OutputState }

func (AutomationActionOutput) ConnectionString

func (o AutomationActionOutput) ConnectionString() pulumi.StringPtrOutput

(Optional, but required when `type` is `eventhub`) A connection string to send data to the target Event Hub namespace, this should include a key with send permissions.

func (AutomationActionOutput) ElementType

func (AutomationActionOutput) ElementType() reflect.Type

func (AutomationActionOutput) ResourceId

The resource id of the target Logic App, Event Hub namespace or Log Analytics workspace.

func (AutomationActionOutput) ToAutomationActionOutput

func (o AutomationActionOutput) ToAutomationActionOutput() AutomationActionOutput

func (AutomationActionOutput) ToAutomationActionOutputWithContext

func (o AutomationActionOutput) ToAutomationActionOutputWithContext(ctx context.Context) AutomationActionOutput

func (AutomationActionOutput) TriggerUrl

(Optional, but required when `type` is `logicapp`) The callback URL to trigger the Logic App that will receive and process data sent by this automation. This can be found in the Azure Portal under "See trigger history"

func (AutomationActionOutput) Type

Type of Azure resource to send data to. Must be set to one of: `logicapp`, `eventhub` or `loganalytics`.

type AutomationArgs

type AutomationArgs struct {
	// One or more `action` blocks as defined below. An `action` tells this automation where the data is to be sent to upon being evaluated by the rules in the `source`.
	Actions AutomationActionArrayInput
	// Specifies the description for the Security Center Automation.
	Description pulumi.StringPtrInput
	// Boolean to enable or disable this Security Center Automation. Defaults to `true`.
	Enabled pulumi.BoolPtrInput
	// The Azure Region where the Security Center Automation should exist. Changing this forces a new Security Center Automation to be created.
	Location pulumi.StringPtrInput
	// The name which should be used for this Security Center Automation. Changing this forces a new Security Center Automation to be created.
	//
	// > **NOTE:** For the automation to appear in Azure Portal correctly under Microsoft Defender for Cloud > Environment Settings > Account > Continuous Export, either `ExportToWorkspace` or `ExportToEventHub` must be used.
	Name pulumi.StringPtrInput
	// The name of the Resource Group where the Security Center Automation should exist. Changing this forces a new Security Center Automation to be created.
	ResourceGroupName pulumi.StringInput
	// A list of scopes on which the automation logic is applied, at least one is required. Supported scopes are a subscription (in this format `/subscriptions/00000000-0000-0000-0000-000000000000`) or a resource group under that subscription (in the format `/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example`). The automation will only apply on defined scopes.
	Scopes pulumi.StringArrayInput
	// One or more `source` blocks as defined below. A `source` defines what data types will be processed and a set of rules to filter that data.
	Sources AutomationSourceArrayInput
	// A mapping of tags assigned to the resource.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a Automation resource.

func (AutomationArgs) ElementType

func (AutomationArgs) ElementType() reflect.Type

type AutomationArray

type AutomationArray []AutomationInput

func (AutomationArray) ElementType

func (AutomationArray) ElementType() reflect.Type

func (AutomationArray) ToAutomationArrayOutput

func (i AutomationArray) ToAutomationArrayOutput() AutomationArrayOutput

func (AutomationArray) ToAutomationArrayOutputWithContext

func (i AutomationArray) ToAutomationArrayOutputWithContext(ctx context.Context) AutomationArrayOutput

type AutomationArrayInput

type AutomationArrayInput interface {
	pulumi.Input

	ToAutomationArrayOutput() AutomationArrayOutput
	ToAutomationArrayOutputWithContext(context.Context) AutomationArrayOutput
}

AutomationArrayInput is an input type that accepts AutomationArray and AutomationArrayOutput values. You can construct a concrete instance of `AutomationArrayInput` via:

AutomationArray{ AutomationArgs{...} }

type AutomationArrayOutput

type AutomationArrayOutput struct{ *pulumi.OutputState }

func (AutomationArrayOutput) ElementType

func (AutomationArrayOutput) ElementType() reflect.Type

func (AutomationArrayOutput) Index

func (AutomationArrayOutput) ToAutomationArrayOutput

func (o AutomationArrayOutput) ToAutomationArrayOutput() AutomationArrayOutput

func (AutomationArrayOutput) ToAutomationArrayOutputWithContext

func (o AutomationArrayOutput) ToAutomationArrayOutputWithContext(ctx context.Context) AutomationArrayOutput

type AutomationInput

type AutomationInput interface {
	pulumi.Input

	ToAutomationOutput() AutomationOutput
	ToAutomationOutputWithContext(ctx context.Context) AutomationOutput
}

type AutomationMap

type AutomationMap map[string]AutomationInput

func (AutomationMap) ElementType

func (AutomationMap) ElementType() reflect.Type

func (AutomationMap) ToAutomationMapOutput

func (i AutomationMap) ToAutomationMapOutput() AutomationMapOutput

func (AutomationMap) ToAutomationMapOutputWithContext

func (i AutomationMap) ToAutomationMapOutputWithContext(ctx context.Context) AutomationMapOutput

type AutomationMapInput

type AutomationMapInput interface {
	pulumi.Input

	ToAutomationMapOutput() AutomationMapOutput
	ToAutomationMapOutputWithContext(context.Context) AutomationMapOutput
}

AutomationMapInput is an input type that accepts AutomationMap and AutomationMapOutput values. You can construct a concrete instance of `AutomationMapInput` via:

AutomationMap{ "key": AutomationArgs{...} }

type AutomationMapOutput

type AutomationMapOutput struct{ *pulumi.OutputState }

func (AutomationMapOutput) ElementType

func (AutomationMapOutput) ElementType() reflect.Type

func (AutomationMapOutput) MapIndex

func (AutomationMapOutput) ToAutomationMapOutput

func (o AutomationMapOutput) ToAutomationMapOutput() AutomationMapOutput

func (AutomationMapOutput) ToAutomationMapOutputWithContext

func (o AutomationMapOutput) ToAutomationMapOutputWithContext(ctx context.Context) AutomationMapOutput

type AutomationOutput

type AutomationOutput struct{ *pulumi.OutputState }

func (AutomationOutput) Actions added in v5.5.0

One or more `action` blocks as defined below. An `action` tells this automation where the data is to be sent to upon being evaluated by the rules in the `source`.

func (AutomationOutput) Description added in v5.5.0

func (o AutomationOutput) Description() pulumi.StringPtrOutput

Specifies the description for the Security Center Automation.

func (AutomationOutput) ElementType

func (AutomationOutput) ElementType() reflect.Type

func (AutomationOutput) Enabled added in v5.5.0

Boolean to enable or disable this Security Center Automation. Defaults to `true`.

func (AutomationOutput) Location added in v5.5.0

func (o AutomationOutput) Location() pulumi.StringOutput

The Azure Region where the Security Center Automation should exist. Changing this forces a new Security Center Automation to be created.

func (AutomationOutput) Name added in v5.5.0

The name which should be used for this Security Center Automation. Changing this forces a new Security Center Automation to be created.

> **NOTE:** For the automation to appear in Azure Portal correctly under Microsoft Defender for Cloud > Environment Settings > Account > Continuous Export, either `ExportToWorkspace` or `ExportToEventHub` must be used.

func (AutomationOutput) ResourceGroupName added in v5.5.0

func (o AutomationOutput) ResourceGroupName() pulumi.StringOutput

The name of the Resource Group where the Security Center Automation should exist. Changing this forces a new Security Center Automation to be created.

func (AutomationOutput) Scopes added in v5.5.0

A list of scopes on which the automation logic is applied, at least one is required. Supported scopes are a subscription (in this format `/subscriptions/00000000-0000-0000-0000-000000000000`) or a resource group under that subscription (in the format `/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example`). The automation will only apply on defined scopes.

func (AutomationOutput) Sources added in v5.5.0

One or more `source` blocks as defined below. A `source` defines what data types will be processed and a set of rules to filter that data.

func (AutomationOutput) Tags added in v5.5.0

A mapping of tags assigned to the resource.

func (AutomationOutput) ToAutomationOutput

func (o AutomationOutput) ToAutomationOutput() AutomationOutput

func (AutomationOutput) ToAutomationOutputWithContext

func (o AutomationOutput) ToAutomationOutputWithContext(ctx context.Context) AutomationOutput

type AutomationSource

type AutomationSource struct {
	// Type of data that will trigger this automation. Must be one of `Alerts`, `Assessments`, `AssessmentsSnapshot`, `RegulatoryComplianceAssessment`, `RegulatoryComplianceAssessmentSnapshot`, `SecureScoreControls`, `SecureScoreControlsSnapshot`, `SecureScores`, `SecureScoresSnapshot`, `SubAssessments` or `SubAssessmentsSnapshot`. Note. assessments are also referred to as recommendations
	EventSource string `pulumi:"eventSource"`
	// A set of rules which evaluate upon event and data interception. This is defined in one or more `ruleSet` blocks as defined below.
	//
	// > **NOTE:** When multiple `ruleSet` block are provided, a logical 'OR' is applied to the evaluation of them.
	RuleSets []AutomationSourceRuleSet `pulumi:"ruleSets"`
}

type AutomationSourceArgs

type AutomationSourceArgs struct {
	// Type of data that will trigger this automation. Must be one of `Alerts`, `Assessments`, `AssessmentsSnapshot`, `RegulatoryComplianceAssessment`, `RegulatoryComplianceAssessmentSnapshot`, `SecureScoreControls`, `SecureScoreControlsSnapshot`, `SecureScores`, `SecureScoresSnapshot`, `SubAssessments` or `SubAssessmentsSnapshot`. Note. assessments are also referred to as recommendations
	EventSource pulumi.StringInput `pulumi:"eventSource"`
	// A set of rules which evaluate upon event and data interception. This is defined in one or more `ruleSet` blocks as defined below.
	//
	// > **NOTE:** When multiple `ruleSet` block are provided, a logical 'OR' is applied to the evaluation of them.
	RuleSets AutomationSourceRuleSetArrayInput `pulumi:"ruleSets"`
}

func (AutomationSourceArgs) ElementType

func (AutomationSourceArgs) ElementType() reflect.Type

func (AutomationSourceArgs) ToAutomationSourceOutput

func (i AutomationSourceArgs) ToAutomationSourceOutput() AutomationSourceOutput

func (AutomationSourceArgs) ToAutomationSourceOutputWithContext

func (i AutomationSourceArgs) ToAutomationSourceOutputWithContext(ctx context.Context) AutomationSourceOutput

type AutomationSourceArray

type AutomationSourceArray []AutomationSourceInput

func (AutomationSourceArray) ElementType

func (AutomationSourceArray) ElementType() reflect.Type

func (AutomationSourceArray) ToAutomationSourceArrayOutput

func (i AutomationSourceArray) ToAutomationSourceArrayOutput() AutomationSourceArrayOutput

func (AutomationSourceArray) ToAutomationSourceArrayOutputWithContext

func (i AutomationSourceArray) ToAutomationSourceArrayOutputWithContext(ctx context.Context) AutomationSourceArrayOutput

type AutomationSourceArrayInput

type AutomationSourceArrayInput interface {
	pulumi.Input

	ToAutomationSourceArrayOutput() AutomationSourceArrayOutput
	ToAutomationSourceArrayOutputWithContext(context.Context) AutomationSourceArrayOutput
}

AutomationSourceArrayInput is an input type that accepts AutomationSourceArray and AutomationSourceArrayOutput values. You can construct a concrete instance of `AutomationSourceArrayInput` via:

AutomationSourceArray{ AutomationSourceArgs{...} }

type AutomationSourceArrayOutput

type AutomationSourceArrayOutput struct{ *pulumi.OutputState }

func (AutomationSourceArrayOutput) ElementType

func (AutomationSourceArrayOutput) Index

func (AutomationSourceArrayOutput) ToAutomationSourceArrayOutput

func (o AutomationSourceArrayOutput) ToAutomationSourceArrayOutput() AutomationSourceArrayOutput

func (AutomationSourceArrayOutput) ToAutomationSourceArrayOutputWithContext

func (o AutomationSourceArrayOutput) ToAutomationSourceArrayOutputWithContext(ctx context.Context) AutomationSourceArrayOutput

type AutomationSourceInput

type AutomationSourceInput interface {
	pulumi.Input

	ToAutomationSourceOutput() AutomationSourceOutput
	ToAutomationSourceOutputWithContext(context.Context) AutomationSourceOutput
}

AutomationSourceInput is an input type that accepts AutomationSourceArgs and AutomationSourceOutput values. You can construct a concrete instance of `AutomationSourceInput` via:

AutomationSourceArgs{...}

type AutomationSourceOutput

type AutomationSourceOutput struct{ *pulumi.OutputState }

func (AutomationSourceOutput) ElementType

func (AutomationSourceOutput) ElementType() reflect.Type

func (AutomationSourceOutput) EventSource

func (o AutomationSourceOutput) EventSource() pulumi.StringOutput

Type of data that will trigger this automation. Must be one of `Alerts`, `Assessments`, `AssessmentsSnapshot`, `RegulatoryComplianceAssessment`, `RegulatoryComplianceAssessmentSnapshot`, `SecureScoreControls`, `SecureScoreControlsSnapshot`, `SecureScores`, `SecureScoresSnapshot`, `SubAssessments` or `SubAssessmentsSnapshot`. Note. assessments are also referred to as recommendations

func (AutomationSourceOutput) RuleSets

A set of rules which evaluate upon event and data interception. This is defined in one or more `ruleSet` blocks as defined below.

> **NOTE:** When multiple `ruleSet` block are provided, a logical 'OR' is applied to the evaluation of them.

func (AutomationSourceOutput) ToAutomationSourceOutput

func (o AutomationSourceOutput) ToAutomationSourceOutput() AutomationSourceOutput

func (AutomationSourceOutput) ToAutomationSourceOutputWithContext

func (o AutomationSourceOutput) ToAutomationSourceOutputWithContext(ctx context.Context) AutomationSourceOutput

type AutomationSourceRuleSet

type AutomationSourceRuleSet struct {
	// One or more `rule` blocks as defined below.
	//
	// > **NOTE:** This automation will trigger when all of the `rule`s in this `ruleSet` are evaluated as 'true'. This is equivalent to a logical 'AND'.
	Rules []AutomationSourceRuleSetRule `pulumi:"rules"`
}

type AutomationSourceRuleSetArgs

type AutomationSourceRuleSetArgs struct {
	// One or more `rule` blocks as defined below.
	//
	// > **NOTE:** This automation will trigger when all of the `rule`s in this `ruleSet` are evaluated as 'true'. This is equivalent to a logical 'AND'.
	Rules AutomationSourceRuleSetRuleArrayInput `pulumi:"rules"`
}

func (AutomationSourceRuleSetArgs) ElementType

func (AutomationSourceRuleSetArgs) ToAutomationSourceRuleSetOutput

func (i AutomationSourceRuleSetArgs) ToAutomationSourceRuleSetOutput() AutomationSourceRuleSetOutput

func (AutomationSourceRuleSetArgs) ToAutomationSourceRuleSetOutputWithContext

func (i AutomationSourceRuleSetArgs) ToAutomationSourceRuleSetOutputWithContext(ctx context.Context) AutomationSourceRuleSetOutput

type AutomationSourceRuleSetArray

type AutomationSourceRuleSetArray []AutomationSourceRuleSetInput

func (AutomationSourceRuleSetArray) ElementType

func (AutomationSourceRuleSetArray) ToAutomationSourceRuleSetArrayOutput

func (i AutomationSourceRuleSetArray) ToAutomationSourceRuleSetArrayOutput() AutomationSourceRuleSetArrayOutput

func (AutomationSourceRuleSetArray) ToAutomationSourceRuleSetArrayOutputWithContext

func (i AutomationSourceRuleSetArray) ToAutomationSourceRuleSetArrayOutputWithContext(ctx context.Context) AutomationSourceRuleSetArrayOutput

type AutomationSourceRuleSetArrayInput

type AutomationSourceRuleSetArrayInput interface {
	pulumi.Input

	ToAutomationSourceRuleSetArrayOutput() AutomationSourceRuleSetArrayOutput
	ToAutomationSourceRuleSetArrayOutputWithContext(context.Context) AutomationSourceRuleSetArrayOutput
}

AutomationSourceRuleSetArrayInput is an input type that accepts AutomationSourceRuleSetArray and AutomationSourceRuleSetArrayOutput values. You can construct a concrete instance of `AutomationSourceRuleSetArrayInput` via:

AutomationSourceRuleSetArray{ AutomationSourceRuleSetArgs{...} }

type AutomationSourceRuleSetArrayOutput

type AutomationSourceRuleSetArrayOutput struct{ *pulumi.OutputState }

func (AutomationSourceRuleSetArrayOutput) ElementType

func (AutomationSourceRuleSetArrayOutput) Index

func (AutomationSourceRuleSetArrayOutput) ToAutomationSourceRuleSetArrayOutput

func (o AutomationSourceRuleSetArrayOutput) ToAutomationSourceRuleSetArrayOutput() AutomationSourceRuleSetArrayOutput

func (AutomationSourceRuleSetArrayOutput) ToAutomationSourceRuleSetArrayOutputWithContext

func (o AutomationSourceRuleSetArrayOutput) ToAutomationSourceRuleSetArrayOutputWithContext(ctx context.Context) AutomationSourceRuleSetArrayOutput

type AutomationSourceRuleSetInput

type AutomationSourceRuleSetInput interface {
	pulumi.Input

	ToAutomationSourceRuleSetOutput() AutomationSourceRuleSetOutput
	ToAutomationSourceRuleSetOutputWithContext(context.Context) AutomationSourceRuleSetOutput
}

AutomationSourceRuleSetInput is an input type that accepts AutomationSourceRuleSetArgs and AutomationSourceRuleSetOutput values. You can construct a concrete instance of `AutomationSourceRuleSetInput` via:

AutomationSourceRuleSetArgs{...}

type AutomationSourceRuleSetOutput

type AutomationSourceRuleSetOutput struct{ *pulumi.OutputState }

func (AutomationSourceRuleSetOutput) ElementType

func (AutomationSourceRuleSetOutput) Rules

One or more `rule` blocks as defined below.

> **NOTE:** This automation will trigger when all of the `rule`s in this `ruleSet` are evaluated as 'true'. This is equivalent to a logical 'AND'.

func (AutomationSourceRuleSetOutput) ToAutomationSourceRuleSetOutput

func (o AutomationSourceRuleSetOutput) ToAutomationSourceRuleSetOutput() AutomationSourceRuleSetOutput

func (AutomationSourceRuleSetOutput) ToAutomationSourceRuleSetOutputWithContext

func (o AutomationSourceRuleSetOutput) ToAutomationSourceRuleSetOutputWithContext(ctx context.Context) AutomationSourceRuleSetOutput

type AutomationSourceRuleSetRule

type AutomationSourceRuleSetRule struct {
	// A value that will be compared with the value in `propertyPath`.
	ExpectedValue string `pulumi:"expectedValue"`
	// The comparison operator to use, must be one of: `Contains`, `EndsWith`, `Equals`, `GreaterThan`, `GreaterThanOrEqualTo`, `LesserThan`, `LesserThanOrEqualTo`, `NotEquals`, `StartsWith`
	Operator string `pulumi:"operator"`
	// The JPath of the entity model property that should be checked.
	PropertyPath string `pulumi:"propertyPath"`
	// The data type of the compared operands, must be one of: `Integer`, `String`, `Boolean` or `Number`.
	//
	// > **NOTE:** The schema for Security Center alerts (when `eventSource` is "Alerts") [can be found here](https://docs.microsoft.com/azure/security-center/alerts-schemas?tabs=schema-continuousexport)
	PropertyType string `pulumi:"propertyType"`
}

type AutomationSourceRuleSetRuleArgs

type AutomationSourceRuleSetRuleArgs struct {
	// A value that will be compared with the value in `propertyPath`.
	ExpectedValue pulumi.StringInput `pulumi:"expectedValue"`
	// The comparison operator to use, must be one of: `Contains`, `EndsWith`, `Equals`, `GreaterThan`, `GreaterThanOrEqualTo`, `LesserThan`, `LesserThanOrEqualTo`, `NotEquals`, `StartsWith`
	Operator pulumi.StringInput `pulumi:"operator"`
	// The JPath of the entity model property that should be checked.
	PropertyPath pulumi.StringInput `pulumi:"propertyPath"`
	// The data type of the compared operands, must be one of: `Integer`, `String`, `Boolean` or `Number`.
	//
	// > **NOTE:** The schema for Security Center alerts (when `eventSource` is "Alerts") [can be found here](https://docs.microsoft.com/azure/security-center/alerts-schemas?tabs=schema-continuousexport)
	PropertyType pulumi.StringInput `pulumi:"propertyType"`
}

func (AutomationSourceRuleSetRuleArgs) ElementType

func (AutomationSourceRuleSetRuleArgs) ToAutomationSourceRuleSetRuleOutput

func (i AutomationSourceRuleSetRuleArgs) ToAutomationSourceRuleSetRuleOutput() AutomationSourceRuleSetRuleOutput

func (AutomationSourceRuleSetRuleArgs) ToAutomationSourceRuleSetRuleOutputWithContext

func (i AutomationSourceRuleSetRuleArgs) ToAutomationSourceRuleSetRuleOutputWithContext(ctx context.Context) AutomationSourceRuleSetRuleOutput

type AutomationSourceRuleSetRuleArray

type AutomationSourceRuleSetRuleArray []AutomationSourceRuleSetRuleInput

func (AutomationSourceRuleSetRuleArray) ElementType

func (AutomationSourceRuleSetRuleArray) ToAutomationSourceRuleSetRuleArrayOutput

func (i AutomationSourceRuleSetRuleArray) ToAutomationSourceRuleSetRuleArrayOutput() AutomationSourceRuleSetRuleArrayOutput

func (AutomationSourceRuleSetRuleArray) ToAutomationSourceRuleSetRuleArrayOutputWithContext

func (i AutomationSourceRuleSetRuleArray) ToAutomationSourceRuleSetRuleArrayOutputWithContext(ctx context.Context) AutomationSourceRuleSetRuleArrayOutput

type AutomationSourceRuleSetRuleArrayInput

type AutomationSourceRuleSetRuleArrayInput interface {
	pulumi.Input

	ToAutomationSourceRuleSetRuleArrayOutput() AutomationSourceRuleSetRuleArrayOutput
	ToAutomationSourceRuleSetRuleArrayOutputWithContext(context.Context) AutomationSourceRuleSetRuleArrayOutput
}

AutomationSourceRuleSetRuleArrayInput is an input type that accepts AutomationSourceRuleSetRuleArray and AutomationSourceRuleSetRuleArrayOutput values. You can construct a concrete instance of `AutomationSourceRuleSetRuleArrayInput` via:

AutomationSourceRuleSetRuleArray{ AutomationSourceRuleSetRuleArgs{...} }

type AutomationSourceRuleSetRuleArrayOutput

type AutomationSourceRuleSetRuleArrayOutput struct{ *pulumi.OutputState }

func (AutomationSourceRuleSetRuleArrayOutput) ElementType

func (AutomationSourceRuleSetRuleArrayOutput) Index

func (AutomationSourceRuleSetRuleArrayOutput) ToAutomationSourceRuleSetRuleArrayOutput

func (o AutomationSourceRuleSetRuleArrayOutput) ToAutomationSourceRuleSetRuleArrayOutput() AutomationSourceRuleSetRuleArrayOutput

func (AutomationSourceRuleSetRuleArrayOutput) ToAutomationSourceRuleSetRuleArrayOutputWithContext

func (o AutomationSourceRuleSetRuleArrayOutput) ToAutomationSourceRuleSetRuleArrayOutputWithContext(ctx context.Context) AutomationSourceRuleSetRuleArrayOutput

type AutomationSourceRuleSetRuleInput

type AutomationSourceRuleSetRuleInput interface {
	pulumi.Input

	ToAutomationSourceRuleSetRuleOutput() AutomationSourceRuleSetRuleOutput
	ToAutomationSourceRuleSetRuleOutputWithContext(context.Context) AutomationSourceRuleSetRuleOutput
}

AutomationSourceRuleSetRuleInput is an input type that accepts AutomationSourceRuleSetRuleArgs and AutomationSourceRuleSetRuleOutput values. You can construct a concrete instance of `AutomationSourceRuleSetRuleInput` via:

AutomationSourceRuleSetRuleArgs{...}

type AutomationSourceRuleSetRuleOutput

type AutomationSourceRuleSetRuleOutput struct{ *pulumi.OutputState }

func (AutomationSourceRuleSetRuleOutput) ElementType

func (AutomationSourceRuleSetRuleOutput) ExpectedValue

A value that will be compared with the value in `propertyPath`.

func (AutomationSourceRuleSetRuleOutput) Operator

The comparison operator to use, must be one of: `Contains`, `EndsWith`, `Equals`, `GreaterThan`, `GreaterThanOrEqualTo`, `LesserThan`, `LesserThanOrEqualTo`, `NotEquals`, `StartsWith`

func (AutomationSourceRuleSetRuleOutput) PropertyPath

The JPath of the entity model property that should be checked.

func (AutomationSourceRuleSetRuleOutput) PropertyType

The data type of the compared operands, must be one of: `Integer`, `String`, `Boolean` or `Number`.

> **NOTE:** The schema for Security Center alerts (when `eventSource` is "Alerts") [can be found here](https://docs.microsoft.com/azure/security-center/alerts-schemas?tabs=schema-continuousexport)

func (AutomationSourceRuleSetRuleOutput) ToAutomationSourceRuleSetRuleOutput

func (o AutomationSourceRuleSetRuleOutput) ToAutomationSourceRuleSetRuleOutput() AutomationSourceRuleSetRuleOutput

func (AutomationSourceRuleSetRuleOutput) ToAutomationSourceRuleSetRuleOutputWithContext

func (o AutomationSourceRuleSetRuleOutput) ToAutomationSourceRuleSetRuleOutputWithContext(ctx context.Context) AutomationSourceRuleSetRuleOutput

type AutomationState

type AutomationState struct {
	// One or more `action` blocks as defined below. An `action` tells this automation where the data is to be sent to upon being evaluated by the rules in the `source`.
	Actions AutomationActionArrayInput
	// Specifies the description for the Security Center Automation.
	Description pulumi.StringPtrInput
	// Boolean to enable or disable this Security Center Automation. Defaults to `true`.
	Enabled pulumi.BoolPtrInput
	// The Azure Region where the Security Center Automation should exist. Changing this forces a new Security Center Automation to be created.
	Location pulumi.StringPtrInput
	// The name which should be used for this Security Center Automation. Changing this forces a new Security Center Automation to be created.
	//
	// > **NOTE:** For the automation to appear in Azure Portal correctly under Microsoft Defender for Cloud > Environment Settings > Account > Continuous Export, either `ExportToWorkspace` or `ExportToEventHub` must be used.
	Name pulumi.StringPtrInput
	// The name of the Resource Group where the Security Center Automation should exist. Changing this forces a new Security Center Automation to be created.
	ResourceGroupName pulumi.StringPtrInput
	// A list of scopes on which the automation logic is applied, at least one is required. Supported scopes are a subscription (in this format `/subscriptions/00000000-0000-0000-0000-000000000000`) or a resource group under that subscription (in the format `/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example`). The automation will only apply on defined scopes.
	Scopes pulumi.StringArrayInput
	// One or more `source` blocks as defined below. A `source` defines what data types will be processed and a set of rules to filter that data.
	Sources AutomationSourceArrayInput
	// A mapping of tags assigned to the resource.
	Tags pulumi.StringMapInput
}

func (AutomationState) ElementType

func (AutomationState) ElementType() reflect.Type

type Contact

type Contact struct {
	pulumi.CustomResourceState

	// Whether to send security alerts notifications to the security contact.
	AlertNotifications pulumi.BoolOutput `pulumi:"alertNotifications"`
	// Whether to send security alerts notifications to subscription admins.
	AlertsToAdmins pulumi.BoolOutput `pulumi:"alertsToAdmins"`
	// The email of the Security Center Contact.
	Email pulumi.StringOutput `pulumi:"email"`
	// The name of the Security Center Contact. Defaults to `default1`.
	Name pulumi.StringOutput `pulumi:"name"`
	// The phone number of the Security Center Contact.
	Phone pulumi.StringPtrOutput `pulumi:"phone"`
}

Manages the subscription's Security Center Contact.

> **NOTE:** Owner access permission is required.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/securitycenter"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := securitycenter.NewContact(ctx, "example", &securitycenter.ContactArgs{
			Name:               pulumi.String("contact"),
			Email:              pulumi.String("contact@example.com"),
			Phone:              pulumi.String("+1-555-555-5555"),
			AlertNotifications: pulumi.Bool(true),
			AlertsToAdmins:     pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

The contact can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:securitycenter/contact:Contact example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Security/securityContacts/default1 ```

func GetContact

func GetContact(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ContactState, opts ...pulumi.ResourceOption) (*Contact, error)

GetContact gets an existing Contact resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewContact

func NewContact(ctx *pulumi.Context,
	name string, args *ContactArgs, opts ...pulumi.ResourceOption) (*Contact, error)

NewContact registers a new resource with the given unique name, arguments, and options.

func (*Contact) ElementType

func (*Contact) ElementType() reflect.Type

func (*Contact) ToContactOutput

func (i *Contact) ToContactOutput() ContactOutput

func (*Contact) ToContactOutputWithContext

func (i *Contact) ToContactOutputWithContext(ctx context.Context) ContactOutput

type ContactArgs

type ContactArgs struct {
	// Whether to send security alerts notifications to the security contact.
	AlertNotifications pulumi.BoolInput
	// Whether to send security alerts notifications to subscription admins.
	AlertsToAdmins pulumi.BoolInput
	// The email of the Security Center Contact.
	Email pulumi.StringInput
	// The name of the Security Center Contact. Defaults to `default1`.
	Name pulumi.StringPtrInput
	// The phone number of the Security Center Contact.
	Phone pulumi.StringPtrInput
}

The set of arguments for constructing a Contact resource.

func (ContactArgs) ElementType

func (ContactArgs) ElementType() reflect.Type

type ContactArray

type ContactArray []ContactInput

func (ContactArray) ElementType

func (ContactArray) ElementType() reflect.Type

func (ContactArray) ToContactArrayOutput

func (i ContactArray) ToContactArrayOutput() ContactArrayOutput

func (ContactArray) ToContactArrayOutputWithContext

func (i ContactArray) ToContactArrayOutputWithContext(ctx context.Context) ContactArrayOutput

type ContactArrayInput

type ContactArrayInput interface {
	pulumi.Input

	ToContactArrayOutput() ContactArrayOutput
	ToContactArrayOutputWithContext(context.Context) ContactArrayOutput
}

ContactArrayInput is an input type that accepts ContactArray and ContactArrayOutput values. You can construct a concrete instance of `ContactArrayInput` via:

ContactArray{ ContactArgs{...} }

type ContactArrayOutput

type ContactArrayOutput struct{ *pulumi.OutputState }

func (ContactArrayOutput) ElementType

func (ContactArrayOutput) ElementType() reflect.Type

func (ContactArrayOutput) Index

func (ContactArrayOutput) ToContactArrayOutput

func (o ContactArrayOutput) ToContactArrayOutput() ContactArrayOutput

func (ContactArrayOutput) ToContactArrayOutputWithContext

func (o ContactArrayOutput) ToContactArrayOutputWithContext(ctx context.Context) ContactArrayOutput

type ContactInput

type ContactInput interface {
	pulumi.Input

	ToContactOutput() ContactOutput
	ToContactOutputWithContext(ctx context.Context) ContactOutput
}

type ContactMap

type ContactMap map[string]ContactInput

func (ContactMap) ElementType

func (ContactMap) ElementType() reflect.Type

func (ContactMap) ToContactMapOutput

func (i ContactMap) ToContactMapOutput() ContactMapOutput

func (ContactMap) ToContactMapOutputWithContext

func (i ContactMap) ToContactMapOutputWithContext(ctx context.Context) ContactMapOutput

type ContactMapInput

type ContactMapInput interface {
	pulumi.Input

	ToContactMapOutput() ContactMapOutput
	ToContactMapOutputWithContext(context.Context) ContactMapOutput
}

ContactMapInput is an input type that accepts ContactMap and ContactMapOutput values. You can construct a concrete instance of `ContactMapInput` via:

ContactMap{ "key": ContactArgs{...} }

type ContactMapOutput

type ContactMapOutput struct{ *pulumi.OutputState }

func (ContactMapOutput) ElementType

func (ContactMapOutput) ElementType() reflect.Type

func (ContactMapOutput) MapIndex

func (ContactMapOutput) ToContactMapOutput

func (o ContactMapOutput) ToContactMapOutput() ContactMapOutput

func (ContactMapOutput) ToContactMapOutputWithContext

func (o ContactMapOutput) ToContactMapOutputWithContext(ctx context.Context) ContactMapOutput

type ContactOutput

type ContactOutput struct{ *pulumi.OutputState }

func (ContactOutput) AlertNotifications added in v5.5.0

func (o ContactOutput) AlertNotifications() pulumi.BoolOutput

Whether to send security alerts notifications to the security contact.

func (ContactOutput) AlertsToAdmins added in v5.5.0

func (o ContactOutput) AlertsToAdmins() pulumi.BoolOutput

Whether to send security alerts notifications to subscription admins.

func (ContactOutput) ElementType

func (ContactOutput) ElementType() reflect.Type

func (ContactOutput) Email added in v5.5.0

func (o ContactOutput) Email() pulumi.StringOutput

The email of the Security Center Contact.

func (ContactOutput) Name added in v5.24.0

The name of the Security Center Contact. Defaults to `default1`.

func (ContactOutput) Phone added in v5.5.0

The phone number of the Security Center Contact.

func (ContactOutput) ToContactOutput

func (o ContactOutput) ToContactOutput() ContactOutput

func (ContactOutput) ToContactOutputWithContext

func (o ContactOutput) ToContactOutputWithContext(ctx context.Context) ContactOutput

type ContactState

type ContactState struct {
	// Whether to send security alerts notifications to the security contact.
	AlertNotifications pulumi.BoolPtrInput
	// Whether to send security alerts notifications to subscription admins.
	AlertsToAdmins pulumi.BoolPtrInput
	// The email of the Security Center Contact.
	Email pulumi.StringPtrInput
	// The name of the Security Center Contact. Defaults to `default1`.
	Name pulumi.StringPtrInput
	// The phone number of the Security Center Contact.
	Phone pulumi.StringPtrInput
}

func (ContactState) ElementType

func (ContactState) ElementType() reflect.Type

type ServerVulnerabilityAssessment

type ServerVulnerabilityAssessment struct {
	pulumi.CustomResourceState

	// The ID of the Azure ARC server to be monitored by vulnerability assessment. Changing this forces a new resource to be created.
	//
	// > **NOTE:** One of either `virtualMachineId` or `hybridMachineId` must be set.
	HybridMachineId pulumi.StringPtrOutput `pulumi:"hybridMachineId"`
	// The ID of the virtual machine to be monitored by vulnerability assessment. Changing this forces a new resource to be created.
	//
	// > **NOTE:** One of either `virtualMachineId` or `hybridMachineId` must be set.
	VirtualMachineId pulumi.StringPtrOutput `pulumi:"virtualMachineId"`
}

Manages an Azure Server Vulnerability Assessment (Qualys) to a VM.

> **NOTE** This resource has been deprecated in favour of the `securitycenter.ServerVulnerabilityAssessmentVirtualMachine` resource and will be removed in v4.0 of the AzureRM Provider.

> **NOTE** Azure Defender has to be enabled on the subscription in order for this resource to work. See this [documentation](https://docs.microsoft.com/azure/security-center/security-center-get-started) to get started.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/securitycenter"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "example", &network.VirtualNetworkArgs{
			Name:              pulumi.String("example-vnet"),
			ResourceGroupName: example.Name,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("192.168.1.0/24"),
			},
			Location: example.Location,
		})
		if err != nil {
			return err
		}
		exampleSubnet, err := network.NewSubnet(ctx, "example", &network.SubnetArgs{
			Name:               pulumi.String("example-subnet"),
			ResourceGroupName:  example.Name,
			VirtualNetworkName: exampleVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("192.168.1.0/24"),
			},
		})
		if err != nil {
			return err
		}
		exampleNetworkInterface, err := network.NewNetworkInterface(ctx, "example", &network.NetworkInterfaceArgs{
			Name:              pulumi.String("example-nic"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			IpConfigurations: network.NetworkInterfaceIpConfigurationArray{
				&network.NetworkInterfaceIpConfigurationArgs{
					Name:                       pulumi.String("vm-example"),
					SubnetId:                   exampleSubnet.ID(),
					PrivateIpAddressAllocation: pulumi.String("Dynamic"),
				},
			},
		})
		if err != nil {
			return err
		}
		exampleLinuxVirtualMachine, err := compute.NewLinuxVirtualMachine(ctx, "example", &compute.LinuxVirtualMachineArgs{
			Name:                          pulumi.String("example-vm"),
			Location:                      example.Location,
			ResourceGroupName:             example.Name,
			Size:                          pulumi.String("Standard_B1s"),
			AdminUsername:                 pulumi.String("testadmin"),
			AdminPassword:                 pulumi.String("Password1234!"),
			DisablePasswordAuthentication: pulumi.Bool(false),
			SourceImageReference: &compute.LinuxVirtualMachineSourceImageReferenceArgs{
				Publisher: pulumi.String("Canonical"),
				Offer:     pulumi.String("0001-com-ubuntu-server-jammy"),
				Sku:       pulumi.String("22_04-lts"),
				Version:   pulumi.String("latest"),
			},
			OsDisk: &compute.LinuxVirtualMachineOsDiskArgs{
				Caching:            pulumi.String("ReadWrite"),
				StorageAccountType: pulumi.String("Standard_LRS"),
			},
			NetworkInterfaceIds: pulumi.StringArray{
				exampleNetworkInterface.ID(),
			},
		})
		if err != nil {
			return err
		}
		_, err = securitycenter.NewServerVulnerabilityAssessment(ctx, "example", &securitycenter.ServerVulnerabilityAssessmentArgs{
			VirtualMachineId: exampleLinuxVirtualMachine.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Server Vulnerability Assessments can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:securitycenter/serverVulnerabilityAssessment:ServerVulnerabilityAssessment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.Compute/virtualMachines/vm-name/providers/Microsoft.Security/serverVulnerabilityAssessments/Default ```

or

```sh $ pulumi import azure:securitycenter/serverVulnerabilityAssessment:ServerVulnerabilityAssessment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.HybridCompute/machines/machine-name/providers/Microsoft.Security/serverVulnerabilityAssessments/Default ```

func GetServerVulnerabilityAssessment

func GetServerVulnerabilityAssessment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ServerVulnerabilityAssessmentState, opts ...pulumi.ResourceOption) (*ServerVulnerabilityAssessment, error)

GetServerVulnerabilityAssessment gets an existing ServerVulnerabilityAssessment resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewServerVulnerabilityAssessment

func NewServerVulnerabilityAssessment(ctx *pulumi.Context,
	name string, args *ServerVulnerabilityAssessmentArgs, opts ...pulumi.ResourceOption) (*ServerVulnerabilityAssessment, error)

NewServerVulnerabilityAssessment registers a new resource with the given unique name, arguments, and options.

func (*ServerVulnerabilityAssessment) ElementType

func (*ServerVulnerabilityAssessment) ToServerVulnerabilityAssessmentOutput

func (i *ServerVulnerabilityAssessment) ToServerVulnerabilityAssessmentOutput() ServerVulnerabilityAssessmentOutput

func (*ServerVulnerabilityAssessment) ToServerVulnerabilityAssessmentOutputWithContext

func (i *ServerVulnerabilityAssessment) ToServerVulnerabilityAssessmentOutputWithContext(ctx context.Context) ServerVulnerabilityAssessmentOutput

type ServerVulnerabilityAssessmentArgs

type ServerVulnerabilityAssessmentArgs struct {
	// The ID of the Azure ARC server to be monitored by vulnerability assessment. Changing this forces a new resource to be created.
	//
	// > **NOTE:** One of either `virtualMachineId` or `hybridMachineId` must be set.
	HybridMachineId pulumi.StringPtrInput
	// The ID of the virtual machine to be monitored by vulnerability assessment. Changing this forces a new resource to be created.
	//
	// > **NOTE:** One of either `virtualMachineId` or `hybridMachineId` must be set.
	VirtualMachineId pulumi.StringPtrInput
}

The set of arguments for constructing a ServerVulnerabilityAssessment resource.

func (ServerVulnerabilityAssessmentArgs) ElementType

type ServerVulnerabilityAssessmentArray

type ServerVulnerabilityAssessmentArray []ServerVulnerabilityAssessmentInput

func (ServerVulnerabilityAssessmentArray) ElementType

func (ServerVulnerabilityAssessmentArray) ToServerVulnerabilityAssessmentArrayOutput

func (i ServerVulnerabilityAssessmentArray) ToServerVulnerabilityAssessmentArrayOutput() ServerVulnerabilityAssessmentArrayOutput

func (ServerVulnerabilityAssessmentArray) ToServerVulnerabilityAssessmentArrayOutputWithContext

func (i ServerVulnerabilityAssessmentArray) ToServerVulnerabilityAssessmentArrayOutputWithContext(ctx context.Context) ServerVulnerabilityAssessmentArrayOutput

type ServerVulnerabilityAssessmentArrayInput

type ServerVulnerabilityAssessmentArrayInput interface {
	pulumi.Input

	ToServerVulnerabilityAssessmentArrayOutput() ServerVulnerabilityAssessmentArrayOutput
	ToServerVulnerabilityAssessmentArrayOutputWithContext(context.Context) ServerVulnerabilityAssessmentArrayOutput
}

ServerVulnerabilityAssessmentArrayInput is an input type that accepts ServerVulnerabilityAssessmentArray and ServerVulnerabilityAssessmentArrayOutput values. You can construct a concrete instance of `ServerVulnerabilityAssessmentArrayInput` via:

ServerVulnerabilityAssessmentArray{ ServerVulnerabilityAssessmentArgs{...} }

type ServerVulnerabilityAssessmentArrayOutput

type ServerVulnerabilityAssessmentArrayOutput struct{ *pulumi.OutputState }

func (ServerVulnerabilityAssessmentArrayOutput) ElementType

func (ServerVulnerabilityAssessmentArrayOutput) Index

func (ServerVulnerabilityAssessmentArrayOutput) ToServerVulnerabilityAssessmentArrayOutput

func (o ServerVulnerabilityAssessmentArrayOutput) ToServerVulnerabilityAssessmentArrayOutput() ServerVulnerabilityAssessmentArrayOutput

func (ServerVulnerabilityAssessmentArrayOutput) ToServerVulnerabilityAssessmentArrayOutputWithContext

func (o ServerVulnerabilityAssessmentArrayOutput) ToServerVulnerabilityAssessmentArrayOutputWithContext(ctx context.Context) ServerVulnerabilityAssessmentArrayOutput

type ServerVulnerabilityAssessmentInput

type ServerVulnerabilityAssessmentInput interface {
	pulumi.Input

	ToServerVulnerabilityAssessmentOutput() ServerVulnerabilityAssessmentOutput
	ToServerVulnerabilityAssessmentOutputWithContext(ctx context.Context) ServerVulnerabilityAssessmentOutput
}

type ServerVulnerabilityAssessmentMap

type ServerVulnerabilityAssessmentMap map[string]ServerVulnerabilityAssessmentInput

func (ServerVulnerabilityAssessmentMap) ElementType

func (ServerVulnerabilityAssessmentMap) ToServerVulnerabilityAssessmentMapOutput

func (i ServerVulnerabilityAssessmentMap) ToServerVulnerabilityAssessmentMapOutput() ServerVulnerabilityAssessmentMapOutput

func (ServerVulnerabilityAssessmentMap) ToServerVulnerabilityAssessmentMapOutputWithContext

func (i ServerVulnerabilityAssessmentMap) ToServerVulnerabilityAssessmentMapOutputWithContext(ctx context.Context) ServerVulnerabilityAssessmentMapOutput

type ServerVulnerabilityAssessmentMapInput

type ServerVulnerabilityAssessmentMapInput interface {
	pulumi.Input

	ToServerVulnerabilityAssessmentMapOutput() ServerVulnerabilityAssessmentMapOutput
	ToServerVulnerabilityAssessmentMapOutputWithContext(context.Context) ServerVulnerabilityAssessmentMapOutput
}

ServerVulnerabilityAssessmentMapInput is an input type that accepts ServerVulnerabilityAssessmentMap and ServerVulnerabilityAssessmentMapOutput values. You can construct a concrete instance of `ServerVulnerabilityAssessmentMapInput` via:

ServerVulnerabilityAssessmentMap{ "key": ServerVulnerabilityAssessmentArgs{...} }

type ServerVulnerabilityAssessmentMapOutput

type ServerVulnerabilityAssessmentMapOutput struct{ *pulumi.OutputState }

func (ServerVulnerabilityAssessmentMapOutput) ElementType

func (ServerVulnerabilityAssessmentMapOutput) MapIndex

func (ServerVulnerabilityAssessmentMapOutput) ToServerVulnerabilityAssessmentMapOutput

func (o ServerVulnerabilityAssessmentMapOutput) ToServerVulnerabilityAssessmentMapOutput() ServerVulnerabilityAssessmentMapOutput

func (ServerVulnerabilityAssessmentMapOutput) ToServerVulnerabilityAssessmentMapOutputWithContext

func (o ServerVulnerabilityAssessmentMapOutput) ToServerVulnerabilityAssessmentMapOutputWithContext(ctx context.Context) ServerVulnerabilityAssessmentMapOutput

type ServerVulnerabilityAssessmentOutput

type ServerVulnerabilityAssessmentOutput struct{ *pulumi.OutputState }

func (ServerVulnerabilityAssessmentOutput) ElementType

func (ServerVulnerabilityAssessmentOutput) HybridMachineId added in v5.5.0

The ID of the Azure ARC server to be monitored by vulnerability assessment. Changing this forces a new resource to be created.

> **NOTE:** One of either `virtualMachineId` or `hybridMachineId` must be set.

func (ServerVulnerabilityAssessmentOutput) ToServerVulnerabilityAssessmentOutput

func (o ServerVulnerabilityAssessmentOutput) ToServerVulnerabilityAssessmentOutput() ServerVulnerabilityAssessmentOutput

func (ServerVulnerabilityAssessmentOutput) ToServerVulnerabilityAssessmentOutputWithContext

func (o ServerVulnerabilityAssessmentOutput) ToServerVulnerabilityAssessmentOutputWithContext(ctx context.Context) ServerVulnerabilityAssessmentOutput

func (ServerVulnerabilityAssessmentOutput) VirtualMachineId added in v5.5.0

The ID of the virtual machine to be monitored by vulnerability assessment. Changing this forces a new resource to be created.

> **NOTE:** One of either `virtualMachineId` or `hybridMachineId` must be set.

type ServerVulnerabilityAssessmentState

type ServerVulnerabilityAssessmentState struct {
	// The ID of the Azure ARC server to be monitored by vulnerability assessment. Changing this forces a new resource to be created.
	//
	// > **NOTE:** One of either `virtualMachineId` or `hybridMachineId` must be set.
	HybridMachineId pulumi.StringPtrInput
	// The ID of the virtual machine to be monitored by vulnerability assessment. Changing this forces a new resource to be created.
	//
	// > **NOTE:** One of either `virtualMachineId` or `hybridMachineId` must be set.
	VirtualMachineId pulumi.StringPtrInput
}

func (ServerVulnerabilityAssessmentState) ElementType

type ServerVulnerabilityAssessmentVirtualMachine

type ServerVulnerabilityAssessmentVirtualMachine struct {
	pulumi.CustomResourceState

	// The ID of the virtual machine to be monitored by vulnerability assessment. Changing this forces a new resource to be created.
	VirtualMachineId pulumi.StringOutput `pulumi:"virtualMachineId"`
}

Manages an Azure Server Vulnerability Assessment (Qualys) to a VM.

> **NOTE** Azure Defender has to be enabled on the subscription in order for this resource to work. See this [documentation](https://docs.microsoft.com/azure/security-center/security-center-get-started) to get started.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/securitycenter"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "example", &network.VirtualNetworkArgs{
			Name:              pulumi.String("example-vnet"),
			ResourceGroupName: example.Name,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("192.168.1.0/24"),
			},
			Location: example.Location,
		})
		if err != nil {
			return err
		}
		exampleSubnet, err := network.NewSubnet(ctx, "example", &network.SubnetArgs{
			Name:               pulumi.String("example-subnet"),
			ResourceGroupName:  example.Name,
			VirtualNetworkName: exampleVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("192.168.1.0/24"),
			},
		})
		if err != nil {
			return err
		}
		exampleNetworkInterface, err := network.NewNetworkInterface(ctx, "example", &network.NetworkInterfaceArgs{
			Name:              pulumi.String("example-nic"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			IpConfigurations: network.NetworkInterfaceIpConfigurationArray{
				&network.NetworkInterfaceIpConfigurationArgs{
					Name:                       pulumi.String("vm-example"),
					SubnetId:                   exampleSubnet.ID(),
					PrivateIpAddressAllocation: pulumi.String("Dynamic"),
				},
			},
		})
		if err != nil {
			return err
		}
		exampleLinuxVirtualMachine, err := compute.NewLinuxVirtualMachine(ctx, "example", &compute.LinuxVirtualMachineArgs{
			Name:                          pulumi.String("example-vm"),
			Location:                      example.Location,
			ResourceGroupName:             example.Name,
			Size:                          pulumi.String("Standard_B1s"),
			AdminUsername:                 pulumi.String("testadmin"),
			AdminPassword:                 pulumi.String("Password1234!"),
			DisablePasswordAuthentication: pulumi.Bool(false),
			SourceImageReference: &compute.LinuxVirtualMachineSourceImageReferenceArgs{
				Publisher: pulumi.String("Canonical"),
				Offer:     pulumi.String("0001-com-ubuntu-server-jammy"),
				Sku:       pulumi.String("22_04-lts"),
				Version:   pulumi.String("latest"),
			},
			OsDisk: &compute.LinuxVirtualMachineOsDiskArgs{
				Caching:            pulumi.String("ReadWrite"),
				StorageAccountType: pulumi.String("Standard_LRS"),
			},
			NetworkInterfaceIds: pulumi.StringArray{
				exampleNetworkInterface.ID(),
			},
		})
		if err != nil {
			return err
		}
		_, err = securitycenter.NewServerVulnerabilityAssessmentVirtualMachine(ctx, "example", &securitycenter.ServerVulnerabilityAssessmentVirtualMachineArgs{
			VirtualMachineId: exampleLinuxVirtualMachine.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Server Vulnerability Assessments can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:securitycenter/serverVulnerabilityAssessmentVirtualMachine:ServerVulnerabilityAssessmentVirtualMachine example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.Compute/virtualMachines/vm-name/providers/Microsoft.Security/serverVulnerabilityAssessments/Default ```

func GetServerVulnerabilityAssessmentVirtualMachine

func GetServerVulnerabilityAssessmentVirtualMachine(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ServerVulnerabilityAssessmentVirtualMachineState, opts ...pulumi.ResourceOption) (*ServerVulnerabilityAssessmentVirtualMachine, error)

GetServerVulnerabilityAssessmentVirtualMachine gets an existing ServerVulnerabilityAssessmentVirtualMachine resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewServerVulnerabilityAssessmentVirtualMachine

func NewServerVulnerabilityAssessmentVirtualMachine(ctx *pulumi.Context,
	name string, args *ServerVulnerabilityAssessmentVirtualMachineArgs, opts ...pulumi.ResourceOption) (*ServerVulnerabilityAssessmentVirtualMachine, error)

NewServerVulnerabilityAssessmentVirtualMachine registers a new resource with the given unique name, arguments, and options.

func (*ServerVulnerabilityAssessmentVirtualMachine) ElementType

func (*ServerVulnerabilityAssessmentVirtualMachine) ToServerVulnerabilityAssessmentVirtualMachineOutput

func (i *ServerVulnerabilityAssessmentVirtualMachine) ToServerVulnerabilityAssessmentVirtualMachineOutput() ServerVulnerabilityAssessmentVirtualMachineOutput

func (*ServerVulnerabilityAssessmentVirtualMachine) ToServerVulnerabilityAssessmentVirtualMachineOutputWithContext

func (i *ServerVulnerabilityAssessmentVirtualMachine) ToServerVulnerabilityAssessmentVirtualMachineOutputWithContext(ctx context.Context) ServerVulnerabilityAssessmentVirtualMachineOutput

type ServerVulnerabilityAssessmentVirtualMachineArgs

type ServerVulnerabilityAssessmentVirtualMachineArgs struct {
	// The ID of the virtual machine to be monitored by vulnerability assessment. Changing this forces a new resource to be created.
	VirtualMachineId pulumi.StringInput
}

The set of arguments for constructing a ServerVulnerabilityAssessmentVirtualMachine resource.

func (ServerVulnerabilityAssessmentVirtualMachineArgs) ElementType

type ServerVulnerabilityAssessmentVirtualMachineArray

type ServerVulnerabilityAssessmentVirtualMachineArray []ServerVulnerabilityAssessmentVirtualMachineInput

func (ServerVulnerabilityAssessmentVirtualMachineArray) ElementType

func (ServerVulnerabilityAssessmentVirtualMachineArray) ToServerVulnerabilityAssessmentVirtualMachineArrayOutput

func (i ServerVulnerabilityAssessmentVirtualMachineArray) ToServerVulnerabilityAssessmentVirtualMachineArrayOutput() ServerVulnerabilityAssessmentVirtualMachineArrayOutput

func (ServerVulnerabilityAssessmentVirtualMachineArray) ToServerVulnerabilityAssessmentVirtualMachineArrayOutputWithContext

func (i ServerVulnerabilityAssessmentVirtualMachineArray) ToServerVulnerabilityAssessmentVirtualMachineArrayOutputWithContext(ctx context.Context) ServerVulnerabilityAssessmentVirtualMachineArrayOutput

type ServerVulnerabilityAssessmentVirtualMachineArrayInput

type ServerVulnerabilityAssessmentVirtualMachineArrayInput interface {
	pulumi.Input

	ToServerVulnerabilityAssessmentVirtualMachineArrayOutput() ServerVulnerabilityAssessmentVirtualMachineArrayOutput
	ToServerVulnerabilityAssessmentVirtualMachineArrayOutputWithContext(context.Context) ServerVulnerabilityAssessmentVirtualMachineArrayOutput
}

ServerVulnerabilityAssessmentVirtualMachineArrayInput is an input type that accepts ServerVulnerabilityAssessmentVirtualMachineArray and ServerVulnerabilityAssessmentVirtualMachineArrayOutput values. You can construct a concrete instance of `ServerVulnerabilityAssessmentVirtualMachineArrayInput` via:

ServerVulnerabilityAssessmentVirtualMachineArray{ ServerVulnerabilityAssessmentVirtualMachineArgs{...} }

type ServerVulnerabilityAssessmentVirtualMachineArrayOutput

type ServerVulnerabilityAssessmentVirtualMachineArrayOutput struct{ *pulumi.OutputState }

func (ServerVulnerabilityAssessmentVirtualMachineArrayOutput) ElementType

func (ServerVulnerabilityAssessmentVirtualMachineArrayOutput) Index

func (ServerVulnerabilityAssessmentVirtualMachineArrayOutput) ToServerVulnerabilityAssessmentVirtualMachineArrayOutput

func (ServerVulnerabilityAssessmentVirtualMachineArrayOutput) ToServerVulnerabilityAssessmentVirtualMachineArrayOutputWithContext

func (o ServerVulnerabilityAssessmentVirtualMachineArrayOutput) ToServerVulnerabilityAssessmentVirtualMachineArrayOutputWithContext(ctx context.Context) ServerVulnerabilityAssessmentVirtualMachineArrayOutput

type ServerVulnerabilityAssessmentVirtualMachineInput

type ServerVulnerabilityAssessmentVirtualMachineInput interface {
	pulumi.Input

	ToServerVulnerabilityAssessmentVirtualMachineOutput() ServerVulnerabilityAssessmentVirtualMachineOutput
	ToServerVulnerabilityAssessmentVirtualMachineOutputWithContext(ctx context.Context) ServerVulnerabilityAssessmentVirtualMachineOutput
}

type ServerVulnerabilityAssessmentVirtualMachineMap

type ServerVulnerabilityAssessmentVirtualMachineMap map[string]ServerVulnerabilityAssessmentVirtualMachineInput

func (ServerVulnerabilityAssessmentVirtualMachineMap) ElementType

func (ServerVulnerabilityAssessmentVirtualMachineMap) ToServerVulnerabilityAssessmentVirtualMachineMapOutput

func (i ServerVulnerabilityAssessmentVirtualMachineMap) ToServerVulnerabilityAssessmentVirtualMachineMapOutput() ServerVulnerabilityAssessmentVirtualMachineMapOutput

func (ServerVulnerabilityAssessmentVirtualMachineMap) ToServerVulnerabilityAssessmentVirtualMachineMapOutputWithContext

func (i ServerVulnerabilityAssessmentVirtualMachineMap) ToServerVulnerabilityAssessmentVirtualMachineMapOutputWithContext(ctx context.Context) ServerVulnerabilityAssessmentVirtualMachineMapOutput

type ServerVulnerabilityAssessmentVirtualMachineMapInput

type ServerVulnerabilityAssessmentVirtualMachineMapInput interface {
	pulumi.Input

	ToServerVulnerabilityAssessmentVirtualMachineMapOutput() ServerVulnerabilityAssessmentVirtualMachineMapOutput
	ToServerVulnerabilityAssessmentVirtualMachineMapOutputWithContext(context.Context) ServerVulnerabilityAssessmentVirtualMachineMapOutput
}

ServerVulnerabilityAssessmentVirtualMachineMapInput is an input type that accepts ServerVulnerabilityAssessmentVirtualMachineMap and ServerVulnerabilityAssessmentVirtualMachineMapOutput values. You can construct a concrete instance of `ServerVulnerabilityAssessmentVirtualMachineMapInput` via:

ServerVulnerabilityAssessmentVirtualMachineMap{ "key": ServerVulnerabilityAssessmentVirtualMachineArgs{...} }

type ServerVulnerabilityAssessmentVirtualMachineMapOutput

type ServerVulnerabilityAssessmentVirtualMachineMapOutput struct{ *pulumi.OutputState }

func (ServerVulnerabilityAssessmentVirtualMachineMapOutput) ElementType

func (ServerVulnerabilityAssessmentVirtualMachineMapOutput) MapIndex

func (ServerVulnerabilityAssessmentVirtualMachineMapOutput) ToServerVulnerabilityAssessmentVirtualMachineMapOutput

func (ServerVulnerabilityAssessmentVirtualMachineMapOutput) ToServerVulnerabilityAssessmentVirtualMachineMapOutputWithContext

func (o ServerVulnerabilityAssessmentVirtualMachineMapOutput) ToServerVulnerabilityAssessmentVirtualMachineMapOutputWithContext(ctx context.Context) ServerVulnerabilityAssessmentVirtualMachineMapOutput

type ServerVulnerabilityAssessmentVirtualMachineOutput

type ServerVulnerabilityAssessmentVirtualMachineOutput struct{ *pulumi.OutputState }

func (ServerVulnerabilityAssessmentVirtualMachineOutput) ElementType

func (ServerVulnerabilityAssessmentVirtualMachineOutput) ToServerVulnerabilityAssessmentVirtualMachineOutput

func (o ServerVulnerabilityAssessmentVirtualMachineOutput) ToServerVulnerabilityAssessmentVirtualMachineOutput() ServerVulnerabilityAssessmentVirtualMachineOutput

func (ServerVulnerabilityAssessmentVirtualMachineOutput) ToServerVulnerabilityAssessmentVirtualMachineOutputWithContext

func (o ServerVulnerabilityAssessmentVirtualMachineOutput) ToServerVulnerabilityAssessmentVirtualMachineOutputWithContext(ctx context.Context) ServerVulnerabilityAssessmentVirtualMachineOutput

func (ServerVulnerabilityAssessmentVirtualMachineOutput) VirtualMachineId added in v5.5.0

The ID of the virtual machine to be monitored by vulnerability assessment. Changing this forces a new resource to be created.

type ServerVulnerabilityAssessmentVirtualMachineState

type ServerVulnerabilityAssessmentVirtualMachineState struct {
	// The ID of the virtual machine to be monitored by vulnerability assessment. Changing this forces a new resource to be created.
	VirtualMachineId pulumi.StringPtrInput
}

func (ServerVulnerabilityAssessmentVirtualMachineState) ElementType

type ServerVulnerabilityAssessmentsSetting added in v5.62.0

type ServerVulnerabilityAssessmentsSetting struct {
	pulumi.CustomResourceState

	// The vulnerability assesment provider to use. The only possible values is `MdeTvm`.
	VulnerabilityAssessmentProvider pulumi.StringOutput `pulumi:"vulnerabilityAssessmentProvider"`
}

Manages the Server Vulnerability Assesments Setting for Azure Security Center.

> **NOTE:** This resource requires the `Owner` permission on the Subscription.

> **NOTE:** Deletion of this resource disables the setting.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/securitycenter"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := securitycenter.NewServerVulnerabilityAssessmentsSetting(ctx, "example", &securitycenter.ServerVulnerabilityAssessmentsSettingArgs{
			VulnerabilityAssessmentProvider: pulumi.String("MdeTvm"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

The setting can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:securitycenter/serverVulnerabilityAssessmentsSetting:ServerVulnerabilityAssessmentsSetting example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Security/serverVulnerabilityAssessmentsSettings/AzureServersSetting ```

func GetServerVulnerabilityAssessmentsSetting added in v5.62.0

func GetServerVulnerabilityAssessmentsSetting(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ServerVulnerabilityAssessmentsSettingState, opts ...pulumi.ResourceOption) (*ServerVulnerabilityAssessmentsSetting, error)

GetServerVulnerabilityAssessmentsSetting gets an existing ServerVulnerabilityAssessmentsSetting resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewServerVulnerabilityAssessmentsSetting added in v5.62.0

func NewServerVulnerabilityAssessmentsSetting(ctx *pulumi.Context,
	name string, args *ServerVulnerabilityAssessmentsSettingArgs, opts ...pulumi.ResourceOption) (*ServerVulnerabilityAssessmentsSetting, error)

NewServerVulnerabilityAssessmentsSetting registers a new resource with the given unique name, arguments, and options.

func (*ServerVulnerabilityAssessmentsSetting) ElementType added in v5.62.0

func (*ServerVulnerabilityAssessmentsSetting) ToServerVulnerabilityAssessmentsSettingOutput added in v5.62.0

func (i *ServerVulnerabilityAssessmentsSetting) ToServerVulnerabilityAssessmentsSettingOutput() ServerVulnerabilityAssessmentsSettingOutput

func (*ServerVulnerabilityAssessmentsSetting) ToServerVulnerabilityAssessmentsSettingOutputWithContext added in v5.62.0

func (i *ServerVulnerabilityAssessmentsSetting) ToServerVulnerabilityAssessmentsSettingOutputWithContext(ctx context.Context) ServerVulnerabilityAssessmentsSettingOutput

type ServerVulnerabilityAssessmentsSettingArgs added in v5.62.0

type ServerVulnerabilityAssessmentsSettingArgs struct {
	// The vulnerability assesment provider to use. The only possible values is `MdeTvm`.
	VulnerabilityAssessmentProvider pulumi.StringInput
}

The set of arguments for constructing a ServerVulnerabilityAssessmentsSetting resource.

func (ServerVulnerabilityAssessmentsSettingArgs) ElementType added in v5.62.0

type ServerVulnerabilityAssessmentsSettingArray added in v5.62.0

type ServerVulnerabilityAssessmentsSettingArray []ServerVulnerabilityAssessmentsSettingInput

func (ServerVulnerabilityAssessmentsSettingArray) ElementType added in v5.62.0

func (ServerVulnerabilityAssessmentsSettingArray) ToServerVulnerabilityAssessmentsSettingArrayOutput added in v5.62.0

func (i ServerVulnerabilityAssessmentsSettingArray) ToServerVulnerabilityAssessmentsSettingArrayOutput() ServerVulnerabilityAssessmentsSettingArrayOutput

func (ServerVulnerabilityAssessmentsSettingArray) ToServerVulnerabilityAssessmentsSettingArrayOutputWithContext added in v5.62.0

func (i ServerVulnerabilityAssessmentsSettingArray) ToServerVulnerabilityAssessmentsSettingArrayOutputWithContext(ctx context.Context) ServerVulnerabilityAssessmentsSettingArrayOutput

type ServerVulnerabilityAssessmentsSettingArrayInput added in v5.62.0

type ServerVulnerabilityAssessmentsSettingArrayInput interface {
	pulumi.Input

	ToServerVulnerabilityAssessmentsSettingArrayOutput() ServerVulnerabilityAssessmentsSettingArrayOutput
	ToServerVulnerabilityAssessmentsSettingArrayOutputWithContext(context.Context) ServerVulnerabilityAssessmentsSettingArrayOutput
}

ServerVulnerabilityAssessmentsSettingArrayInput is an input type that accepts ServerVulnerabilityAssessmentsSettingArray and ServerVulnerabilityAssessmentsSettingArrayOutput values. You can construct a concrete instance of `ServerVulnerabilityAssessmentsSettingArrayInput` via:

ServerVulnerabilityAssessmentsSettingArray{ ServerVulnerabilityAssessmentsSettingArgs{...} }

type ServerVulnerabilityAssessmentsSettingArrayOutput added in v5.62.0

type ServerVulnerabilityAssessmentsSettingArrayOutput struct{ *pulumi.OutputState }

func (ServerVulnerabilityAssessmentsSettingArrayOutput) ElementType added in v5.62.0

func (ServerVulnerabilityAssessmentsSettingArrayOutput) Index added in v5.62.0

func (ServerVulnerabilityAssessmentsSettingArrayOutput) ToServerVulnerabilityAssessmentsSettingArrayOutput added in v5.62.0

func (o ServerVulnerabilityAssessmentsSettingArrayOutput) ToServerVulnerabilityAssessmentsSettingArrayOutput() ServerVulnerabilityAssessmentsSettingArrayOutput

func (ServerVulnerabilityAssessmentsSettingArrayOutput) ToServerVulnerabilityAssessmentsSettingArrayOutputWithContext added in v5.62.0

func (o ServerVulnerabilityAssessmentsSettingArrayOutput) ToServerVulnerabilityAssessmentsSettingArrayOutputWithContext(ctx context.Context) ServerVulnerabilityAssessmentsSettingArrayOutput

type ServerVulnerabilityAssessmentsSettingInput added in v5.62.0

type ServerVulnerabilityAssessmentsSettingInput interface {
	pulumi.Input

	ToServerVulnerabilityAssessmentsSettingOutput() ServerVulnerabilityAssessmentsSettingOutput
	ToServerVulnerabilityAssessmentsSettingOutputWithContext(ctx context.Context) ServerVulnerabilityAssessmentsSettingOutput
}

type ServerVulnerabilityAssessmentsSettingMap added in v5.62.0

type ServerVulnerabilityAssessmentsSettingMap map[string]ServerVulnerabilityAssessmentsSettingInput

func (ServerVulnerabilityAssessmentsSettingMap) ElementType added in v5.62.0

func (ServerVulnerabilityAssessmentsSettingMap) ToServerVulnerabilityAssessmentsSettingMapOutput added in v5.62.0

func (i ServerVulnerabilityAssessmentsSettingMap) ToServerVulnerabilityAssessmentsSettingMapOutput() ServerVulnerabilityAssessmentsSettingMapOutput

func (ServerVulnerabilityAssessmentsSettingMap) ToServerVulnerabilityAssessmentsSettingMapOutputWithContext added in v5.62.0

func (i ServerVulnerabilityAssessmentsSettingMap) ToServerVulnerabilityAssessmentsSettingMapOutputWithContext(ctx context.Context) ServerVulnerabilityAssessmentsSettingMapOutput

type ServerVulnerabilityAssessmentsSettingMapInput added in v5.62.0

type ServerVulnerabilityAssessmentsSettingMapInput interface {
	pulumi.Input

	ToServerVulnerabilityAssessmentsSettingMapOutput() ServerVulnerabilityAssessmentsSettingMapOutput
	ToServerVulnerabilityAssessmentsSettingMapOutputWithContext(context.Context) ServerVulnerabilityAssessmentsSettingMapOutput
}

ServerVulnerabilityAssessmentsSettingMapInput is an input type that accepts ServerVulnerabilityAssessmentsSettingMap and ServerVulnerabilityAssessmentsSettingMapOutput values. You can construct a concrete instance of `ServerVulnerabilityAssessmentsSettingMapInput` via:

ServerVulnerabilityAssessmentsSettingMap{ "key": ServerVulnerabilityAssessmentsSettingArgs{...} }

type ServerVulnerabilityAssessmentsSettingMapOutput added in v5.62.0

type ServerVulnerabilityAssessmentsSettingMapOutput struct{ *pulumi.OutputState }

func (ServerVulnerabilityAssessmentsSettingMapOutput) ElementType added in v5.62.0

func (ServerVulnerabilityAssessmentsSettingMapOutput) MapIndex added in v5.62.0

func (ServerVulnerabilityAssessmentsSettingMapOutput) ToServerVulnerabilityAssessmentsSettingMapOutput added in v5.62.0

func (o ServerVulnerabilityAssessmentsSettingMapOutput) ToServerVulnerabilityAssessmentsSettingMapOutput() ServerVulnerabilityAssessmentsSettingMapOutput

func (ServerVulnerabilityAssessmentsSettingMapOutput) ToServerVulnerabilityAssessmentsSettingMapOutputWithContext added in v5.62.0

func (o ServerVulnerabilityAssessmentsSettingMapOutput) ToServerVulnerabilityAssessmentsSettingMapOutputWithContext(ctx context.Context) ServerVulnerabilityAssessmentsSettingMapOutput

type ServerVulnerabilityAssessmentsSettingOutput added in v5.62.0

type ServerVulnerabilityAssessmentsSettingOutput struct{ *pulumi.OutputState }

func (ServerVulnerabilityAssessmentsSettingOutput) ElementType added in v5.62.0

func (ServerVulnerabilityAssessmentsSettingOutput) ToServerVulnerabilityAssessmentsSettingOutput added in v5.62.0

func (o ServerVulnerabilityAssessmentsSettingOutput) ToServerVulnerabilityAssessmentsSettingOutput() ServerVulnerabilityAssessmentsSettingOutput

func (ServerVulnerabilityAssessmentsSettingOutput) ToServerVulnerabilityAssessmentsSettingOutputWithContext added in v5.62.0

func (o ServerVulnerabilityAssessmentsSettingOutput) ToServerVulnerabilityAssessmentsSettingOutputWithContext(ctx context.Context) ServerVulnerabilityAssessmentsSettingOutput

func (ServerVulnerabilityAssessmentsSettingOutput) VulnerabilityAssessmentProvider added in v5.62.0

func (o ServerVulnerabilityAssessmentsSettingOutput) VulnerabilityAssessmentProvider() pulumi.StringOutput

The vulnerability assesment provider to use. The only possible values is `MdeTvm`.

type ServerVulnerabilityAssessmentsSettingState added in v5.62.0

type ServerVulnerabilityAssessmentsSettingState struct {
	// The vulnerability assesment provider to use. The only possible values is `MdeTvm`.
	VulnerabilityAssessmentProvider pulumi.StringPtrInput
}

func (ServerVulnerabilityAssessmentsSettingState) ElementType added in v5.62.0

type Setting

type Setting struct {
	pulumi.CustomResourceState

	// Boolean flag to enable/disable data access.
	Enabled pulumi.BoolOutput `pulumi:"enabled"`
	// The setting to manage. Possible values are `MCAS` , `WDATP`, `WDATP_EXCLUDE_LINUX_PUBLIC_PREVIEW`, `WDATP_UNIFIED_SOLUTION` and `Sentinel`. Changing this forces a new resource to be created.
	SettingName pulumi.StringOutput `pulumi:"settingName"`
}

Manages the Data Access Settings for Azure Security Center.

> **NOTE:** This resource requires the `Owner` permission on the Subscription.

> **NOTE:** Deletion of this resource disables the setting.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/securitycenter"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := securitycenter.NewSetting(ctx, "example", &securitycenter.SettingArgs{
			SettingName: pulumi.String("MCAS"),
			Enabled:     pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

The setting can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:securitycenter/setting:Setting example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Security/settings/<setting_name> ```

func GetSetting

func GetSetting(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SettingState, opts ...pulumi.ResourceOption) (*Setting, error)

GetSetting gets an existing Setting resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSetting

func NewSetting(ctx *pulumi.Context,
	name string, args *SettingArgs, opts ...pulumi.ResourceOption) (*Setting, error)

NewSetting registers a new resource with the given unique name, arguments, and options.

func (*Setting) ElementType

func (*Setting) ElementType() reflect.Type

func (*Setting) ToSettingOutput

func (i *Setting) ToSettingOutput() SettingOutput

func (*Setting) ToSettingOutputWithContext

func (i *Setting) ToSettingOutputWithContext(ctx context.Context) SettingOutput

type SettingArgs

type SettingArgs struct {
	// Boolean flag to enable/disable data access.
	Enabled pulumi.BoolInput
	// The setting to manage. Possible values are `MCAS` , `WDATP`, `WDATP_EXCLUDE_LINUX_PUBLIC_PREVIEW`, `WDATP_UNIFIED_SOLUTION` and `Sentinel`. Changing this forces a new resource to be created.
	SettingName pulumi.StringInput
}

The set of arguments for constructing a Setting resource.

func (SettingArgs) ElementType

func (SettingArgs) ElementType() reflect.Type

type SettingArray

type SettingArray []SettingInput

func (SettingArray) ElementType

func (SettingArray) ElementType() reflect.Type

func (SettingArray) ToSettingArrayOutput

func (i SettingArray) ToSettingArrayOutput() SettingArrayOutput

func (SettingArray) ToSettingArrayOutputWithContext

func (i SettingArray) ToSettingArrayOutputWithContext(ctx context.Context) SettingArrayOutput

type SettingArrayInput

type SettingArrayInput interface {
	pulumi.Input

	ToSettingArrayOutput() SettingArrayOutput
	ToSettingArrayOutputWithContext(context.Context) SettingArrayOutput
}

SettingArrayInput is an input type that accepts SettingArray and SettingArrayOutput values. You can construct a concrete instance of `SettingArrayInput` via:

SettingArray{ SettingArgs{...} }

type SettingArrayOutput

type SettingArrayOutput struct{ *pulumi.OutputState }

func (SettingArrayOutput) ElementType

func (SettingArrayOutput) ElementType() reflect.Type

func (SettingArrayOutput) Index

func (SettingArrayOutput) ToSettingArrayOutput

func (o SettingArrayOutput) ToSettingArrayOutput() SettingArrayOutput

func (SettingArrayOutput) ToSettingArrayOutputWithContext

func (o SettingArrayOutput) ToSettingArrayOutputWithContext(ctx context.Context) SettingArrayOutput

type SettingInput

type SettingInput interface {
	pulumi.Input

	ToSettingOutput() SettingOutput
	ToSettingOutputWithContext(ctx context.Context) SettingOutput
}

type SettingMap

type SettingMap map[string]SettingInput

func (SettingMap) ElementType

func (SettingMap) ElementType() reflect.Type

func (SettingMap) ToSettingMapOutput

func (i SettingMap) ToSettingMapOutput() SettingMapOutput

func (SettingMap) ToSettingMapOutputWithContext

func (i SettingMap) ToSettingMapOutputWithContext(ctx context.Context) SettingMapOutput

type SettingMapInput

type SettingMapInput interface {
	pulumi.Input

	ToSettingMapOutput() SettingMapOutput
	ToSettingMapOutputWithContext(context.Context) SettingMapOutput
}

SettingMapInput is an input type that accepts SettingMap and SettingMapOutput values. You can construct a concrete instance of `SettingMapInput` via:

SettingMap{ "key": SettingArgs{...} }

type SettingMapOutput

type SettingMapOutput struct{ *pulumi.OutputState }

func (SettingMapOutput) ElementType

func (SettingMapOutput) ElementType() reflect.Type

func (SettingMapOutput) MapIndex

func (SettingMapOutput) ToSettingMapOutput

func (o SettingMapOutput) ToSettingMapOutput() SettingMapOutput

func (SettingMapOutput) ToSettingMapOutputWithContext

func (o SettingMapOutput) ToSettingMapOutputWithContext(ctx context.Context) SettingMapOutput

type SettingOutput

type SettingOutput struct{ *pulumi.OutputState }

func (SettingOutput) ElementType

func (SettingOutput) ElementType() reflect.Type

func (SettingOutput) Enabled added in v5.5.0

func (o SettingOutput) Enabled() pulumi.BoolOutput

Boolean flag to enable/disable data access.

func (SettingOutput) SettingName added in v5.5.0

func (o SettingOutput) SettingName() pulumi.StringOutput

The setting to manage. Possible values are `MCAS` , `WDATP`, `WDATP_EXCLUDE_LINUX_PUBLIC_PREVIEW`, `WDATP_UNIFIED_SOLUTION` and `Sentinel`. Changing this forces a new resource to be created.

func (SettingOutput) ToSettingOutput

func (o SettingOutput) ToSettingOutput() SettingOutput

func (SettingOutput) ToSettingOutputWithContext

func (o SettingOutput) ToSettingOutputWithContext(ctx context.Context) SettingOutput

type SettingState

type SettingState struct {
	// Boolean flag to enable/disable data access.
	Enabled pulumi.BoolPtrInput
	// The setting to manage. Possible values are `MCAS` , `WDATP`, `WDATP_EXCLUDE_LINUX_PUBLIC_PREVIEW`, `WDATP_UNIFIED_SOLUTION` and `Sentinel`. Changing this forces a new resource to be created.
	SettingName pulumi.StringPtrInput
}

func (SettingState) ElementType

func (SettingState) ElementType() reflect.Type

type StorageDefender added in v5.53.0

type StorageDefender struct {
	pulumi.CustomResourceState

	// The max GB to be scanned per Month. Must be `-1` or above `0`. Omit this property or set to `-1` if no capping is needed. Defaults to `-1`.
	MalwareScanningOnUploadCapGbPerMonth pulumi.IntPtrOutput `pulumi:"malwareScanningOnUploadCapGbPerMonth"`
	// Whether On Upload malware scanning should be enabled. Defaults to `false`.
	MalwareScanningOnUploadEnabled pulumi.BoolPtrOutput `pulumi:"malwareScanningOnUploadEnabled"`
	// Whether the settings defined for this storage account should override the settings defined for the subscription. Defaults to `false`.
	OverrideSubscriptionSettingsEnabled pulumi.BoolPtrOutput `pulumi:"overrideSubscriptionSettingsEnabled"`
	// The Event Grid Topic where every scan result will be sent to. When you set an Event Grid custom topic, you must set `overrideSubscriptionSettingsEnabled` to `true` to override the subscription-level settings.
	ScanResultsEventGridTopicId pulumi.StringPtrOutput `pulumi:"scanResultsEventGridTopicId"`
	// Whether Sensitive Data Discovery should be enabled. Defaults to `false`.
	SensitiveDataDiscoveryEnabled pulumi.BoolPtrOutput `pulumi:"sensitiveDataDiscoveryEnabled"`
	// The ID of the storage account the defender applied to. Changing this forces a new resource to be created.
	StorageAccountId pulumi.StringOutput `pulumi:"storageAccountId"`
}

Manages the Defender for Storage.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/securitycenter"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-rg"),
			Location: pulumi.String("westus2"),
		})
		if err != nil {
			return err
		}
		exampleAccount, err := storage.NewAccount(ctx, "example", &storage.AccountArgs{
			Name:                   pulumi.String("exampleacc"),
			ResourceGroupName:      example.Name,
			Location:               example.Location,
			AccountTier:            pulumi.String("Standard"),
			AccountReplicationType: pulumi.String("LRS"),
		})
		if err != nil {
			return err
		}
		_, err = securitycenter.NewStorageDefender(ctx, "example", &securitycenter.StorageDefenderArgs{
			StorageAccountId: exampleAccount.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

The setting can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:securitycenter/storageDefender:StorageDefender example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Storage/storageAccounts/storageacc ```

func GetStorageDefender added in v5.53.0

func GetStorageDefender(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *StorageDefenderState, opts ...pulumi.ResourceOption) (*StorageDefender, error)

GetStorageDefender gets an existing StorageDefender resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewStorageDefender added in v5.53.0

func NewStorageDefender(ctx *pulumi.Context,
	name string, args *StorageDefenderArgs, opts ...pulumi.ResourceOption) (*StorageDefender, error)

NewStorageDefender registers a new resource with the given unique name, arguments, and options.

func (*StorageDefender) ElementType added in v5.53.0

func (*StorageDefender) ElementType() reflect.Type

func (*StorageDefender) ToStorageDefenderOutput added in v5.53.0

func (i *StorageDefender) ToStorageDefenderOutput() StorageDefenderOutput

func (*StorageDefender) ToStorageDefenderOutputWithContext added in v5.53.0

func (i *StorageDefender) ToStorageDefenderOutputWithContext(ctx context.Context) StorageDefenderOutput

type StorageDefenderArgs added in v5.53.0

type StorageDefenderArgs struct {
	// The max GB to be scanned per Month. Must be `-1` or above `0`. Omit this property or set to `-1` if no capping is needed. Defaults to `-1`.
	MalwareScanningOnUploadCapGbPerMonth pulumi.IntPtrInput
	// Whether On Upload malware scanning should be enabled. Defaults to `false`.
	MalwareScanningOnUploadEnabled pulumi.BoolPtrInput
	// Whether the settings defined for this storage account should override the settings defined for the subscription. Defaults to `false`.
	OverrideSubscriptionSettingsEnabled pulumi.BoolPtrInput
	// The Event Grid Topic where every scan result will be sent to. When you set an Event Grid custom topic, you must set `overrideSubscriptionSettingsEnabled` to `true` to override the subscription-level settings.
	ScanResultsEventGridTopicId pulumi.StringPtrInput
	// Whether Sensitive Data Discovery should be enabled. Defaults to `false`.
	SensitiveDataDiscoveryEnabled pulumi.BoolPtrInput
	// The ID of the storage account the defender applied to. Changing this forces a new resource to be created.
	StorageAccountId pulumi.StringInput
}

The set of arguments for constructing a StorageDefender resource.

func (StorageDefenderArgs) ElementType added in v5.53.0

func (StorageDefenderArgs) ElementType() reflect.Type

type StorageDefenderArray added in v5.53.0

type StorageDefenderArray []StorageDefenderInput

func (StorageDefenderArray) ElementType added in v5.53.0

func (StorageDefenderArray) ElementType() reflect.Type

func (StorageDefenderArray) ToStorageDefenderArrayOutput added in v5.53.0

func (i StorageDefenderArray) ToStorageDefenderArrayOutput() StorageDefenderArrayOutput

func (StorageDefenderArray) ToStorageDefenderArrayOutputWithContext added in v5.53.0

func (i StorageDefenderArray) ToStorageDefenderArrayOutputWithContext(ctx context.Context) StorageDefenderArrayOutput

type StorageDefenderArrayInput added in v5.53.0

type StorageDefenderArrayInput interface {
	pulumi.Input

	ToStorageDefenderArrayOutput() StorageDefenderArrayOutput
	ToStorageDefenderArrayOutputWithContext(context.Context) StorageDefenderArrayOutput
}

StorageDefenderArrayInput is an input type that accepts StorageDefenderArray and StorageDefenderArrayOutput values. You can construct a concrete instance of `StorageDefenderArrayInput` via:

StorageDefenderArray{ StorageDefenderArgs{...} }

type StorageDefenderArrayOutput added in v5.53.0

type StorageDefenderArrayOutput struct{ *pulumi.OutputState }

func (StorageDefenderArrayOutput) ElementType added in v5.53.0

func (StorageDefenderArrayOutput) ElementType() reflect.Type

func (StorageDefenderArrayOutput) Index added in v5.53.0

func (StorageDefenderArrayOutput) ToStorageDefenderArrayOutput added in v5.53.0

func (o StorageDefenderArrayOutput) ToStorageDefenderArrayOutput() StorageDefenderArrayOutput

func (StorageDefenderArrayOutput) ToStorageDefenderArrayOutputWithContext added in v5.53.0

func (o StorageDefenderArrayOutput) ToStorageDefenderArrayOutputWithContext(ctx context.Context) StorageDefenderArrayOutput

type StorageDefenderInput added in v5.53.0

type StorageDefenderInput interface {
	pulumi.Input

	ToStorageDefenderOutput() StorageDefenderOutput
	ToStorageDefenderOutputWithContext(ctx context.Context) StorageDefenderOutput
}

type StorageDefenderMap added in v5.53.0

type StorageDefenderMap map[string]StorageDefenderInput

func (StorageDefenderMap) ElementType added in v5.53.0

func (StorageDefenderMap) ElementType() reflect.Type

func (StorageDefenderMap) ToStorageDefenderMapOutput added in v5.53.0

func (i StorageDefenderMap) ToStorageDefenderMapOutput() StorageDefenderMapOutput

func (StorageDefenderMap) ToStorageDefenderMapOutputWithContext added in v5.53.0

func (i StorageDefenderMap) ToStorageDefenderMapOutputWithContext(ctx context.Context) StorageDefenderMapOutput

type StorageDefenderMapInput added in v5.53.0

type StorageDefenderMapInput interface {
	pulumi.Input

	ToStorageDefenderMapOutput() StorageDefenderMapOutput
	ToStorageDefenderMapOutputWithContext(context.Context) StorageDefenderMapOutput
}

StorageDefenderMapInput is an input type that accepts StorageDefenderMap and StorageDefenderMapOutput values. You can construct a concrete instance of `StorageDefenderMapInput` via:

StorageDefenderMap{ "key": StorageDefenderArgs{...} }

type StorageDefenderMapOutput added in v5.53.0

type StorageDefenderMapOutput struct{ *pulumi.OutputState }

func (StorageDefenderMapOutput) ElementType added in v5.53.0

func (StorageDefenderMapOutput) ElementType() reflect.Type

func (StorageDefenderMapOutput) MapIndex added in v5.53.0

func (StorageDefenderMapOutput) ToStorageDefenderMapOutput added in v5.53.0

func (o StorageDefenderMapOutput) ToStorageDefenderMapOutput() StorageDefenderMapOutput

func (StorageDefenderMapOutput) ToStorageDefenderMapOutputWithContext added in v5.53.0

func (o StorageDefenderMapOutput) ToStorageDefenderMapOutputWithContext(ctx context.Context) StorageDefenderMapOutput

type StorageDefenderOutput added in v5.53.0

type StorageDefenderOutput struct{ *pulumi.OutputState }

func (StorageDefenderOutput) ElementType added in v5.53.0

func (StorageDefenderOutput) ElementType() reflect.Type

func (StorageDefenderOutput) MalwareScanningOnUploadCapGbPerMonth added in v5.53.0

func (o StorageDefenderOutput) MalwareScanningOnUploadCapGbPerMonth() pulumi.IntPtrOutput

The max GB to be scanned per Month. Must be `-1` or above `0`. Omit this property or set to `-1` if no capping is needed. Defaults to `-1`.

func (StorageDefenderOutput) MalwareScanningOnUploadEnabled added in v5.53.0

func (o StorageDefenderOutput) MalwareScanningOnUploadEnabled() pulumi.BoolPtrOutput

Whether On Upload malware scanning should be enabled. Defaults to `false`.

func (StorageDefenderOutput) OverrideSubscriptionSettingsEnabled added in v5.53.0

func (o StorageDefenderOutput) OverrideSubscriptionSettingsEnabled() pulumi.BoolPtrOutput

Whether the settings defined for this storage account should override the settings defined for the subscription. Defaults to `false`.

func (StorageDefenderOutput) ScanResultsEventGridTopicId added in v5.87.0

func (o StorageDefenderOutput) ScanResultsEventGridTopicId() pulumi.StringPtrOutput

The Event Grid Topic where every scan result will be sent to. When you set an Event Grid custom topic, you must set `overrideSubscriptionSettingsEnabled` to `true` to override the subscription-level settings.

func (StorageDefenderOutput) SensitiveDataDiscoveryEnabled added in v5.53.0

func (o StorageDefenderOutput) SensitiveDataDiscoveryEnabled() pulumi.BoolPtrOutput

Whether Sensitive Data Discovery should be enabled. Defaults to `false`.

func (StorageDefenderOutput) StorageAccountId added in v5.53.0

func (o StorageDefenderOutput) StorageAccountId() pulumi.StringOutput

The ID of the storage account the defender applied to. Changing this forces a new resource to be created.

func (StorageDefenderOutput) ToStorageDefenderOutput added in v5.53.0

func (o StorageDefenderOutput) ToStorageDefenderOutput() StorageDefenderOutput

func (StorageDefenderOutput) ToStorageDefenderOutputWithContext added in v5.53.0

func (o StorageDefenderOutput) ToStorageDefenderOutputWithContext(ctx context.Context) StorageDefenderOutput

type StorageDefenderState added in v5.53.0

type StorageDefenderState struct {
	// The max GB to be scanned per Month. Must be `-1` or above `0`. Omit this property or set to `-1` if no capping is needed. Defaults to `-1`.
	MalwareScanningOnUploadCapGbPerMonth pulumi.IntPtrInput
	// Whether On Upload malware scanning should be enabled. Defaults to `false`.
	MalwareScanningOnUploadEnabled pulumi.BoolPtrInput
	// Whether the settings defined for this storage account should override the settings defined for the subscription. Defaults to `false`.
	OverrideSubscriptionSettingsEnabled pulumi.BoolPtrInput
	// The Event Grid Topic where every scan result will be sent to. When you set an Event Grid custom topic, you must set `overrideSubscriptionSettingsEnabled` to `true` to override the subscription-level settings.
	ScanResultsEventGridTopicId pulumi.StringPtrInput
	// Whether Sensitive Data Discovery should be enabled. Defaults to `false`.
	SensitiveDataDiscoveryEnabled pulumi.BoolPtrInput
	// The ID of the storage account the defender applied to. Changing this forces a new resource to be created.
	StorageAccountId pulumi.StringPtrInput
}

func (StorageDefenderState) ElementType added in v5.53.0

func (StorageDefenderState) ElementType() reflect.Type

type SubscriptionPricing

type SubscriptionPricing struct {
	pulumi.CustomResourceState

	// One or more `extension` blocks as defined below.
	Extensions SubscriptionPricingExtensionArrayOutput `pulumi:"extensions"`
	// The resource type this setting affects. Possible values are `Api`, `AppServices`, `ContainerRegistry`, `KeyVaults`, `KubernetesService`, `SqlServers`, `SqlServerVirtualMachines`, `StorageAccounts`, `VirtualMachines`, `Arm`, `Dns`, `OpenSourceRelationalDatabases`, `Containers`, `CosmosDbs` and `CloudPosture`. Defaults to `VirtualMachines`
	ResourceType pulumi.StringPtrOutput `pulumi:"resourceType"`
	// Resource type pricing subplan. Contact your MSFT representative for possible values.
	Subplan pulumi.StringPtrOutput `pulumi:"subplan"`
	// The pricing tier to use. Possible values are `Free` and `Standard`.
	Tier pulumi.StringOutput `pulumi:"tier"`
}

Manages the Pricing Tier for Azure Security Center in the current subscription.

> **NOTE:** Deletion of this resource will reset the pricing tier to `Free`

## Example Usage

### Basic usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/securitycenter"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := securitycenter.NewSubscriptionPricing(ctx, "example", &securitycenter.SubscriptionPricingArgs{
			Tier:         pulumi.String("Standard"),
			ResourceType: pulumi.String("VirtualMachines"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Using Extensions with Defender CSPM

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/securitycenter"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := securitycenter.NewSubscriptionPricing(ctx, "example1", &securitycenter.SubscriptionPricingArgs{
			Tier:         pulumi.String("Standard"),
			ResourceType: pulumi.String("CloudPosture"),
			Extensions: securitycenter.SubscriptionPricingExtensionArray{
				&securitycenter.SubscriptionPricingExtensionArgs{
					Name: pulumi.String("ContainerRegistriesVulnerabilityAssessments"),
				},
				&securitycenter.SubscriptionPricingExtensionArgs{
					Name: pulumi.String("AgentlessVmScanning"),
					AdditionalExtensionProperties: pulumi.StringMap{
						"ExclusionTags": pulumi.String("[]"),
					},
				},
				&securitycenter.SubscriptionPricingExtensionArgs{
					Name: pulumi.String("AgentlessDiscoveryForKubernetes"),
				},
				&securitycenter.SubscriptionPricingExtensionArgs{
					Name: pulumi.String("SensitiveDataDiscovery"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

The pricing tier can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:securitycenter/subscriptionPricing:SubscriptionPricing example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Security/pricings/<resource_type> ```

func GetSubscriptionPricing

func GetSubscriptionPricing(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SubscriptionPricingState, opts ...pulumi.ResourceOption) (*SubscriptionPricing, error)

GetSubscriptionPricing gets an existing SubscriptionPricing resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSubscriptionPricing

func NewSubscriptionPricing(ctx *pulumi.Context,
	name string, args *SubscriptionPricingArgs, opts ...pulumi.ResourceOption) (*SubscriptionPricing, error)

NewSubscriptionPricing registers a new resource with the given unique name, arguments, and options.

func (*SubscriptionPricing) ElementType

func (*SubscriptionPricing) ElementType() reflect.Type

func (*SubscriptionPricing) ToSubscriptionPricingOutput

func (i *SubscriptionPricing) ToSubscriptionPricingOutput() SubscriptionPricingOutput

func (*SubscriptionPricing) ToSubscriptionPricingOutputWithContext

func (i *SubscriptionPricing) ToSubscriptionPricingOutputWithContext(ctx context.Context) SubscriptionPricingOutput

type SubscriptionPricingArgs

type SubscriptionPricingArgs struct {
	// One or more `extension` blocks as defined below.
	Extensions SubscriptionPricingExtensionArrayInput
	// The resource type this setting affects. Possible values are `Api`, `AppServices`, `ContainerRegistry`, `KeyVaults`, `KubernetesService`, `SqlServers`, `SqlServerVirtualMachines`, `StorageAccounts`, `VirtualMachines`, `Arm`, `Dns`, `OpenSourceRelationalDatabases`, `Containers`, `CosmosDbs` and `CloudPosture`. Defaults to `VirtualMachines`
	ResourceType pulumi.StringPtrInput
	// Resource type pricing subplan. Contact your MSFT representative for possible values.
	Subplan pulumi.StringPtrInput
	// The pricing tier to use. Possible values are `Free` and `Standard`.
	Tier pulumi.StringInput
}

The set of arguments for constructing a SubscriptionPricing resource.

func (SubscriptionPricingArgs) ElementType

func (SubscriptionPricingArgs) ElementType() reflect.Type

type SubscriptionPricingArray

type SubscriptionPricingArray []SubscriptionPricingInput

func (SubscriptionPricingArray) ElementType

func (SubscriptionPricingArray) ElementType() reflect.Type

func (SubscriptionPricingArray) ToSubscriptionPricingArrayOutput

func (i SubscriptionPricingArray) ToSubscriptionPricingArrayOutput() SubscriptionPricingArrayOutput

func (SubscriptionPricingArray) ToSubscriptionPricingArrayOutputWithContext

func (i SubscriptionPricingArray) ToSubscriptionPricingArrayOutputWithContext(ctx context.Context) SubscriptionPricingArrayOutput

type SubscriptionPricingArrayInput

type SubscriptionPricingArrayInput interface {
	pulumi.Input

	ToSubscriptionPricingArrayOutput() SubscriptionPricingArrayOutput
	ToSubscriptionPricingArrayOutputWithContext(context.Context) SubscriptionPricingArrayOutput
}

SubscriptionPricingArrayInput is an input type that accepts SubscriptionPricingArray and SubscriptionPricingArrayOutput values. You can construct a concrete instance of `SubscriptionPricingArrayInput` via:

SubscriptionPricingArray{ SubscriptionPricingArgs{...} }

type SubscriptionPricingArrayOutput

type SubscriptionPricingArrayOutput struct{ *pulumi.OutputState }

func (SubscriptionPricingArrayOutput) ElementType

func (SubscriptionPricingArrayOutput) Index

func (SubscriptionPricingArrayOutput) ToSubscriptionPricingArrayOutput

func (o SubscriptionPricingArrayOutput) ToSubscriptionPricingArrayOutput() SubscriptionPricingArrayOutput

func (SubscriptionPricingArrayOutput) ToSubscriptionPricingArrayOutputWithContext

func (o SubscriptionPricingArrayOutput) ToSubscriptionPricingArrayOutputWithContext(ctx context.Context) SubscriptionPricingArrayOutput

type SubscriptionPricingExtension added in v5.49.0

type SubscriptionPricingExtension struct {
	// Key/Value pairs that are required for some extensions.
	//
	// > **NOTE:** If an extension is not defined, it will not be enabled.
	//
	// > **NOTE:** Changing the pricing tier to `Standard` affects all resources of the given type in the subscription and could be quite costly.
	AdditionalExtensionProperties map[string]string `pulumi:"additionalExtensionProperties"`
	// The name of extension.
	Name string `pulumi:"name"`
}

type SubscriptionPricingExtensionArgs added in v5.49.0

type SubscriptionPricingExtensionArgs struct {
	// Key/Value pairs that are required for some extensions.
	//
	// > **NOTE:** If an extension is not defined, it will not be enabled.
	//
	// > **NOTE:** Changing the pricing tier to `Standard` affects all resources of the given type in the subscription and could be quite costly.
	AdditionalExtensionProperties pulumi.StringMapInput `pulumi:"additionalExtensionProperties"`
	// The name of extension.
	Name pulumi.StringInput `pulumi:"name"`
}

func (SubscriptionPricingExtensionArgs) ElementType added in v5.49.0

func (SubscriptionPricingExtensionArgs) ToSubscriptionPricingExtensionOutput added in v5.49.0

func (i SubscriptionPricingExtensionArgs) ToSubscriptionPricingExtensionOutput() SubscriptionPricingExtensionOutput

func (SubscriptionPricingExtensionArgs) ToSubscriptionPricingExtensionOutputWithContext added in v5.49.0

func (i SubscriptionPricingExtensionArgs) ToSubscriptionPricingExtensionOutputWithContext(ctx context.Context) SubscriptionPricingExtensionOutput

type SubscriptionPricingExtensionArray added in v5.49.0

type SubscriptionPricingExtensionArray []SubscriptionPricingExtensionInput

func (SubscriptionPricingExtensionArray) ElementType added in v5.49.0

func (SubscriptionPricingExtensionArray) ToSubscriptionPricingExtensionArrayOutput added in v5.49.0

func (i SubscriptionPricingExtensionArray) ToSubscriptionPricingExtensionArrayOutput() SubscriptionPricingExtensionArrayOutput

func (SubscriptionPricingExtensionArray) ToSubscriptionPricingExtensionArrayOutputWithContext added in v5.49.0

func (i SubscriptionPricingExtensionArray) ToSubscriptionPricingExtensionArrayOutputWithContext(ctx context.Context) SubscriptionPricingExtensionArrayOutput

type SubscriptionPricingExtensionArrayInput added in v5.49.0

type SubscriptionPricingExtensionArrayInput interface {
	pulumi.Input

	ToSubscriptionPricingExtensionArrayOutput() SubscriptionPricingExtensionArrayOutput
	ToSubscriptionPricingExtensionArrayOutputWithContext(context.Context) SubscriptionPricingExtensionArrayOutput
}

SubscriptionPricingExtensionArrayInput is an input type that accepts SubscriptionPricingExtensionArray and SubscriptionPricingExtensionArrayOutput values. You can construct a concrete instance of `SubscriptionPricingExtensionArrayInput` via:

SubscriptionPricingExtensionArray{ SubscriptionPricingExtensionArgs{...} }

type SubscriptionPricingExtensionArrayOutput added in v5.49.0

type SubscriptionPricingExtensionArrayOutput struct{ *pulumi.OutputState }

func (SubscriptionPricingExtensionArrayOutput) ElementType added in v5.49.0

func (SubscriptionPricingExtensionArrayOutput) Index added in v5.49.0

func (SubscriptionPricingExtensionArrayOutput) ToSubscriptionPricingExtensionArrayOutput added in v5.49.0

func (o SubscriptionPricingExtensionArrayOutput) ToSubscriptionPricingExtensionArrayOutput() SubscriptionPricingExtensionArrayOutput

func (SubscriptionPricingExtensionArrayOutput) ToSubscriptionPricingExtensionArrayOutputWithContext added in v5.49.0

func (o SubscriptionPricingExtensionArrayOutput) ToSubscriptionPricingExtensionArrayOutputWithContext(ctx context.Context) SubscriptionPricingExtensionArrayOutput

type SubscriptionPricingExtensionInput added in v5.49.0

type SubscriptionPricingExtensionInput interface {
	pulumi.Input

	ToSubscriptionPricingExtensionOutput() SubscriptionPricingExtensionOutput
	ToSubscriptionPricingExtensionOutputWithContext(context.Context) SubscriptionPricingExtensionOutput
}

SubscriptionPricingExtensionInput is an input type that accepts SubscriptionPricingExtensionArgs and SubscriptionPricingExtensionOutput values. You can construct a concrete instance of `SubscriptionPricingExtensionInput` via:

SubscriptionPricingExtensionArgs{...}

type SubscriptionPricingExtensionOutput added in v5.49.0

type SubscriptionPricingExtensionOutput struct{ *pulumi.OutputState }

func (SubscriptionPricingExtensionOutput) AdditionalExtensionProperties added in v5.49.0

func (o SubscriptionPricingExtensionOutput) AdditionalExtensionProperties() pulumi.StringMapOutput

Key/Value pairs that are required for some extensions.

> **NOTE:** If an extension is not defined, it will not be enabled.

> **NOTE:** Changing the pricing tier to `Standard` affects all resources of the given type in the subscription and could be quite costly.

func (SubscriptionPricingExtensionOutput) ElementType added in v5.49.0

func (SubscriptionPricingExtensionOutput) Name added in v5.49.0

The name of extension.

func (SubscriptionPricingExtensionOutput) ToSubscriptionPricingExtensionOutput added in v5.49.0

func (o SubscriptionPricingExtensionOutput) ToSubscriptionPricingExtensionOutput() SubscriptionPricingExtensionOutput

func (SubscriptionPricingExtensionOutput) ToSubscriptionPricingExtensionOutputWithContext added in v5.49.0

func (o SubscriptionPricingExtensionOutput) ToSubscriptionPricingExtensionOutputWithContext(ctx context.Context) SubscriptionPricingExtensionOutput

type SubscriptionPricingInput

type SubscriptionPricingInput interface {
	pulumi.Input

	ToSubscriptionPricingOutput() SubscriptionPricingOutput
	ToSubscriptionPricingOutputWithContext(ctx context.Context) SubscriptionPricingOutput
}

type SubscriptionPricingMap

type SubscriptionPricingMap map[string]SubscriptionPricingInput

func (SubscriptionPricingMap) ElementType

func (SubscriptionPricingMap) ElementType() reflect.Type

func (SubscriptionPricingMap) ToSubscriptionPricingMapOutput

func (i SubscriptionPricingMap) ToSubscriptionPricingMapOutput() SubscriptionPricingMapOutput

func (SubscriptionPricingMap) ToSubscriptionPricingMapOutputWithContext

func (i SubscriptionPricingMap) ToSubscriptionPricingMapOutputWithContext(ctx context.Context) SubscriptionPricingMapOutput

type SubscriptionPricingMapInput

type SubscriptionPricingMapInput interface {
	pulumi.Input

	ToSubscriptionPricingMapOutput() SubscriptionPricingMapOutput
	ToSubscriptionPricingMapOutputWithContext(context.Context) SubscriptionPricingMapOutput
}

SubscriptionPricingMapInput is an input type that accepts SubscriptionPricingMap and SubscriptionPricingMapOutput values. You can construct a concrete instance of `SubscriptionPricingMapInput` via:

SubscriptionPricingMap{ "key": SubscriptionPricingArgs{...} }

type SubscriptionPricingMapOutput

type SubscriptionPricingMapOutput struct{ *pulumi.OutputState }

func (SubscriptionPricingMapOutput) ElementType

func (SubscriptionPricingMapOutput) MapIndex

func (SubscriptionPricingMapOutput) ToSubscriptionPricingMapOutput

func (o SubscriptionPricingMapOutput) ToSubscriptionPricingMapOutput() SubscriptionPricingMapOutput

func (SubscriptionPricingMapOutput) ToSubscriptionPricingMapOutputWithContext

func (o SubscriptionPricingMapOutput) ToSubscriptionPricingMapOutputWithContext(ctx context.Context) SubscriptionPricingMapOutput

type SubscriptionPricingOutput

type SubscriptionPricingOutput struct{ *pulumi.OutputState }

func (SubscriptionPricingOutput) ElementType

func (SubscriptionPricingOutput) ElementType() reflect.Type

func (SubscriptionPricingOutput) Extensions added in v5.49.0

One or more `extension` blocks as defined below.

func (SubscriptionPricingOutput) ResourceType added in v5.5.0

The resource type this setting affects. Possible values are `Api`, `AppServices`, `ContainerRegistry`, `KeyVaults`, `KubernetesService`, `SqlServers`, `SqlServerVirtualMachines`, `StorageAccounts`, `VirtualMachines`, `Arm`, `Dns`, `OpenSourceRelationalDatabases`, `Containers`, `CosmosDbs` and `CloudPosture`. Defaults to `VirtualMachines`

func (SubscriptionPricingOutput) Subplan added in v5.25.0

Resource type pricing subplan. Contact your MSFT representative for possible values.

func (SubscriptionPricingOutput) Tier added in v5.5.0

The pricing tier to use. Possible values are `Free` and `Standard`.

func (SubscriptionPricingOutput) ToSubscriptionPricingOutput

func (o SubscriptionPricingOutput) ToSubscriptionPricingOutput() SubscriptionPricingOutput

func (SubscriptionPricingOutput) ToSubscriptionPricingOutputWithContext

func (o SubscriptionPricingOutput) ToSubscriptionPricingOutputWithContext(ctx context.Context) SubscriptionPricingOutput

type SubscriptionPricingState

type SubscriptionPricingState struct {
	// One or more `extension` blocks as defined below.
	Extensions SubscriptionPricingExtensionArrayInput
	// The resource type this setting affects. Possible values are `Api`, `AppServices`, `ContainerRegistry`, `KeyVaults`, `KubernetesService`, `SqlServers`, `SqlServerVirtualMachines`, `StorageAccounts`, `VirtualMachines`, `Arm`, `Dns`, `OpenSourceRelationalDatabases`, `Containers`, `CosmosDbs` and `CloudPosture`. Defaults to `VirtualMachines`
	ResourceType pulumi.StringPtrInput
	// Resource type pricing subplan. Contact your MSFT representative for possible values.
	Subplan pulumi.StringPtrInput
	// The pricing tier to use. Possible values are `Free` and `Standard`.
	Tier pulumi.StringPtrInput
}

func (SubscriptionPricingState) ElementType

func (SubscriptionPricingState) ElementType() reflect.Type

type Workspace

type Workspace struct {
	pulumi.CustomResourceState

	// The scope of VMs to send their security data to the desired workspace, unless overridden by a setting with more specific scope.
	Scope pulumi.StringOutput `pulumi:"scope"`
	// The ID of the Log Analytics Workspace to save the data in.
	WorkspaceId pulumi.StringOutput `pulumi:"workspaceId"`
}

Manages the subscription's Security Center Workspace.

> **NOTE:** Owner access permission is required.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/operationalinsights"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/securitycenter"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("tfex-security-workspace"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, "example", &operationalinsights.AnalyticsWorkspaceArgs{
			Name:              pulumi.String("tfex-security-workspace"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Sku:               pulumi.String("PerGB2018"),
		})
		if err != nil {
			return err
		}
		_, err = securitycenter.NewWorkspace(ctx, "example", &securitycenter.WorkspaceArgs{
			Scope:       pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000"),
			WorkspaceId: exampleAnalyticsWorkspace.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

The contact can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:securitycenter/workspace:Workspace example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Security/workspaceSettings/default ```

func GetWorkspace

func GetWorkspace(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *WorkspaceState, opts ...pulumi.ResourceOption) (*Workspace, error)

GetWorkspace gets an existing Workspace resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewWorkspace

func NewWorkspace(ctx *pulumi.Context,
	name string, args *WorkspaceArgs, opts ...pulumi.ResourceOption) (*Workspace, error)

NewWorkspace registers a new resource with the given unique name, arguments, and options.

func (*Workspace) ElementType

func (*Workspace) ElementType() reflect.Type

func (*Workspace) ToWorkspaceOutput

func (i *Workspace) ToWorkspaceOutput() WorkspaceOutput

func (*Workspace) ToWorkspaceOutputWithContext

func (i *Workspace) ToWorkspaceOutputWithContext(ctx context.Context) WorkspaceOutput

type WorkspaceArgs

type WorkspaceArgs struct {
	// The scope of VMs to send their security data to the desired workspace, unless overridden by a setting with more specific scope.
	Scope pulumi.StringInput
	// The ID of the Log Analytics Workspace to save the data in.
	WorkspaceId pulumi.StringInput
}

The set of arguments for constructing a Workspace resource.

func (WorkspaceArgs) ElementType

func (WorkspaceArgs) ElementType() reflect.Type

type WorkspaceArray

type WorkspaceArray []WorkspaceInput

func (WorkspaceArray) ElementType

func (WorkspaceArray) ElementType() reflect.Type

func (WorkspaceArray) ToWorkspaceArrayOutput

func (i WorkspaceArray) ToWorkspaceArrayOutput() WorkspaceArrayOutput

func (WorkspaceArray) ToWorkspaceArrayOutputWithContext

func (i WorkspaceArray) ToWorkspaceArrayOutputWithContext(ctx context.Context) WorkspaceArrayOutput

type WorkspaceArrayInput

type WorkspaceArrayInput interface {
	pulumi.Input

	ToWorkspaceArrayOutput() WorkspaceArrayOutput
	ToWorkspaceArrayOutputWithContext(context.Context) WorkspaceArrayOutput
}

WorkspaceArrayInput is an input type that accepts WorkspaceArray and WorkspaceArrayOutput values. You can construct a concrete instance of `WorkspaceArrayInput` via:

WorkspaceArray{ WorkspaceArgs{...} }

type WorkspaceArrayOutput

type WorkspaceArrayOutput struct{ *pulumi.OutputState }

func (WorkspaceArrayOutput) ElementType

func (WorkspaceArrayOutput) ElementType() reflect.Type

func (WorkspaceArrayOutput) Index

func (WorkspaceArrayOutput) ToWorkspaceArrayOutput

func (o WorkspaceArrayOutput) ToWorkspaceArrayOutput() WorkspaceArrayOutput

func (WorkspaceArrayOutput) ToWorkspaceArrayOutputWithContext

func (o WorkspaceArrayOutput) ToWorkspaceArrayOutputWithContext(ctx context.Context) WorkspaceArrayOutput

type WorkspaceInput

type WorkspaceInput interface {
	pulumi.Input

	ToWorkspaceOutput() WorkspaceOutput
	ToWorkspaceOutputWithContext(ctx context.Context) WorkspaceOutput
}

type WorkspaceMap

type WorkspaceMap map[string]WorkspaceInput

func (WorkspaceMap) ElementType

func (WorkspaceMap) ElementType() reflect.Type

func (WorkspaceMap) ToWorkspaceMapOutput

func (i WorkspaceMap) ToWorkspaceMapOutput() WorkspaceMapOutput

func (WorkspaceMap) ToWorkspaceMapOutputWithContext

func (i WorkspaceMap) ToWorkspaceMapOutputWithContext(ctx context.Context) WorkspaceMapOutput

type WorkspaceMapInput

type WorkspaceMapInput interface {
	pulumi.Input

	ToWorkspaceMapOutput() WorkspaceMapOutput
	ToWorkspaceMapOutputWithContext(context.Context) WorkspaceMapOutput
}

WorkspaceMapInput is an input type that accepts WorkspaceMap and WorkspaceMapOutput values. You can construct a concrete instance of `WorkspaceMapInput` via:

WorkspaceMap{ "key": WorkspaceArgs{...} }

type WorkspaceMapOutput

type WorkspaceMapOutput struct{ *pulumi.OutputState }

func (WorkspaceMapOutput) ElementType

func (WorkspaceMapOutput) ElementType() reflect.Type

func (WorkspaceMapOutput) MapIndex

func (WorkspaceMapOutput) ToWorkspaceMapOutput

func (o WorkspaceMapOutput) ToWorkspaceMapOutput() WorkspaceMapOutput

func (WorkspaceMapOutput) ToWorkspaceMapOutputWithContext

func (o WorkspaceMapOutput) ToWorkspaceMapOutputWithContext(ctx context.Context) WorkspaceMapOutput

type WorkspaceOutput

type WorkspaceOutput struct{ *pulumi.OutputState }

func (WorkspaceOutput) ElementType

func (WorkspaceOutput) ElementType() reflect.Type

func (WorkspaceOutput) Scope added in v5.5.0

The scope of VMs to send their security data to the desired workspace, unless overridden by a setting with more specific scope.

func (WorkspaceOutput) ToWorkspaceOutput

func (o WorkspaceOutput) ToWorkspaceOutput() WorkspaceOutput

func (WorkspaceOutput) ToWorkspaceOutputWithContext

func (o WorkspaceOutput) ToWorkspaceOutputWithContext(ctx context.Context) WorkspaceOutput

func (WorkspaceOutput) WorkspaceId added in v5.5.0

func (o WorkspaceOutput) WorkspaceId() pulumi.StringOutput

The ID of the Log Analytics Workspace to save the data in.

type WorkspaceState

type WorkspaceState struct {
	// The scope of VMs to send their security data to the desired workspace, unless overridden by a setting with more specific scope.
	Scope pulumi.StringPtrInput
	// The ID of the Log Analytics Workspace to save the data in.
	WorkspaceId pulumi.StringPtrInput
}

func (WorkspaceState) ElementType

func (WorkspaceState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL