securitycenter

package
v4.38.0 Latest Latest
Warning

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

Go to latest
Published: Feb 16, 2022 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/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/securitycenter"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := core.NewResourceGroup(ctx, "rg", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleAccount, err := storage.NewAccount(ctx, "exampleAccount", &storage.AccountArgs{
			ResourceGroupName:      pulumi.Any(azurerm_resource_group.Example.Name),
			Location:               pulumi.Any(azurerm_resource_group.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, "exampleAdvancedThreatProtection", &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) 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 (

"io/ioutil"

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

)

func readFileOrPanic(path string) pulumi.StringPtrInput {
	data, err := ioutil.ReadFile(path)
	if err != nil {
		panic(err.Error())
	}
	return pulumi.String(string(data))
}
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "exampleVirtualNetwork", &network.VirtualNetworkArgs{
			ResourceGroupName: exampleResourceGroup.Name,
			Location:          exampleResourceGroup.Location,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("10.0.0.0/16"),
			},
		})
		if err != nil {
			return err
		}
		internal, err := network.NewSubnet(ctx, "internal", &network.SubnetArgs{
			ResourceGroupName:  exampleResourceGroup.Name,
			VirtualNetworkName: exampleVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("10.0.2.0/24"),
			},
		})
		if err != nil {
			return err
		}
		exampleLinuxVirtualMachineScaleSet, err := compute.NewLinuxVirtualMachineScaleSet(ctx, "exampleLinuxVirtualMachineScaleSet", &compute.LinuxVirtualMachineScaleSetArgs{
			ResourceGroupName: exampleResourceGroup.Name,
			Location:          exampleResourceGroup.Location,
			Sku:               pulumi.String("Standard_F2"),
			Instances:         pulumi.Int(1),
			AdminUsername:     pulumi.String("adminuser"),
			AdminSshKeys: compute.LinuxVirtualMachineScaleSetAdminSshKeyArray{
				&compute.LinuxVirtualMachineScaleSetAdminSshKeyArgs{
					Username:  pulumi.String("adminuser"),
					PublicKey: readFileOrPanic("~/.ssh/id_rsa.pub"),
				},
			},
			SourceImageReference: &compute.LinuxVirtualMachineScaleSetSourceImageReferenceArgs{
				Publisher: pulumi.String("Canonical"),
				Offer:     pulumi.String("UbuntuServer"),
				Sku:       pulumi.String("16.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, "exampleAssessmentPolicy", &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, "exampleAssessment", &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 AssessmentMetadata

type AssessmentMetadata 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 Metadata.
	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.

> **NOTE:** This resource has been deprecated in favour of the `securitycenter.AssessmentPolicy` resource and will be removed in the next major version of the AzureRM Provider. The new resource shares the same fields as this one, and information on migrating across can be found in this guide.

## Example Usage

```go package main

import (

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

)

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

```

## Import

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

```sh

$ pulumi import azure:securitycenter/assessmentMetadata:AssessmentMetadata example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Security/assessmentMetadata/metadata1

```

func GetAssessmentMetadata

func GetAssessmentMetadata(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AssessmentMetadataState, opts ...pulumi.ResourceOption) (*AssessmentMetadata, error)

GetAssessmentMetadata gets an existing AssessmentMetadata 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 NewAssessmentMetadata

func NewAssessmentMetadata(ctx *pulumi.Context,
	name string, args *AssessmentMetadataArgs, opts ...pulumi.ResourceOption) (*AssessmentMetadata, error)

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

func (*AssessmentMetadata) ElementType

func (*AssessmentMetadata) ElementType() reflect.Type

func (*AssessmentMetadata) ToAssessmentMetadataOutput

func (i *AssessmentMetadata) ToAssessmentMetadataOutput() AssessmentMetadataOutput

func (*AssessmentMetadata) ToAssessmentMetadataOutputWithContext

func (i *AssessmentMetadata) ToAssessmentMetadataOutputWithContext(ctx context.Context) AssessmentMetadataOutput

type AssessmentMetadataArgs

type AssessmentMetadataArgs 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 AssessmentMetadata resource.

func (AssessmentMetadataArgs) ElementType

func (AssessmentMetadataArgs) ElementType() reflect.Type

type AssessmentMetadataArray

type AssessmentMetadataArray []AssessmentMetadataInput

func (AssessmentMetadataArray) ElementType

func (AssessmentMetadataArray) ElementType() reflect.Type

func (AssessmentMetadataArray) ToAssessmentMetadataArrayOutput

func (i AssessmentMetadataArray) ToAssessmentMetadataArrayOutput() AssessmentMetadataArrayOutput

func (AssessmentMetadataArray) ToAssessmentMetadataArrayOutputWithContext

func (i AssessmentMetadataArray) ToAssessmentMetadataArrayOutputWithContext(ctx context.Context) AssessmentMetadataArrayOutput

type AssessmentMetadataArrayInput

type AssessmentMetadataArrayInput interface {
	pulumi.Input

	ToAssessmentMetadataArrayOutput() AssessmentMetadataArrayOutput
	ToAssessmentMetadataArrayOutputWithContext(context.Context) AssessmentMetadataArrayOutput
}

AssessmentMetadataArrayInput is an input type that accepts AssessmentMetadataArray and AssessmentMetadataArrayOutput values. You can construct a concrete instance of `AssessmentMetadataArrayInput` via:

AssessmentMetadataArray{ AssessmentMetadataArgs{...} }

type AssessmentMetadataArrayOutput

type AssessmentMetadataArrayOutput struct{ *pulumi.OutputState }

func (AssessmentMetadataArrayOutput) ElementType

func (AssessmentMetadataArrayOutput) Index

func (AssessmentMetadataArrayOutput) ToAssessmentMetadataArrayOutput

func (o AssessmentMetadataArrayOutput) ToAssessmentMetadataArrayOutput() AssessmentMetadataArrayOutput

func (AssessmentMetadataArrayOutput) ToAssessmentMetadataArrayOutputWithContext

func (o AssessmentMetadataArrayOutput) ToAssessmentMetadataArrayOutputWithContext(ctx context.Context) AssessmentMetadataArrayOutput

type AssessmentMetadataInput

type AssessmentMetadataInput interface {
	pulumi.Input

	ToAssessmentMetadataOutput() AssessmentMetadataOutput
	ToAssessmentMetadataOutputWithContext(ctx context.Context) AssessmentMetadataOutput
}

type AssessmentMetadataMap

type AssessmentMetadataMap map[string]AssessmentMetadataInput

func (AssessmentMetadataMap) ElementType

func (AssessmentMetadataMap) ElementType() reflect.Type

func (AssessmentMetadataMap) ToAssessmentMetadataMapOutput

func (i AssessmentMetadataMap) ToAssessmentMetadataMapOutput() AssessmentMetadataMapOutput

func (AssessmentMetadataMap) ToAssessmentMetadataMapOutputWithContext

func (i AssessmentMetadataMap) ToAssessmentMetadataMapOutputWithContext(ctx context.Context) AssessmentMetadataMapOutput

type AssessmentMetadataMapInput

type AssessmentMetadataMapInput interface {
	pulumi.Input

	ToAssessmentMetadataMapOutput() AssessmentMetadataMapOutput
	ToAssessmentMetadataMapOutputWithContext(context.Context) AssessmentMetadataMapOutput
}

AssessmentMetadataMapInput is an input type that accepts AssessmentMetadataMap and AssessmentMetadataMapOutput values. You can construct a concrete instance of `AssessmentMetadataMapInput` via:

AssessmentMetadataMap{ "key": AssessmentMetadataArgs{...} }

type AssessmentMetadataMapOutput

type AssessmentMetadataMapOutput struct{ *pulumi.OutputState }

func (AssessmentMetadataMapOutput) ElementType

func (AssessmentMetadataMapOutput) MapIndex

func (AssessmentMetadataMapOutput) ToAssessmentMetadataMapOutput

func (o AssessmentMetadataMapOutput) ToAssessmentMetadataMapOutput() AssessmentMetadataMapOutput

func (AssessmentMetadataMapOutput) ToAssessmentMetadataMapOutputWithContext

func (o AssessmentMetadataMapOutput) ToAssessmentMetadataMapOutputWithContext(ctx context.Context) AssessmentMetadataMapOutput

type AssessmentMetadataOutput

type AssessmentMetadataOutput struct{ *pulumi.OutputState }

func (AssessmentMetadataOutput) ElementType

func (AssessmentMetadataOutput) ElementType() reflect.Type

func (AssessmentMetadataOutput) ToAssessmentMetadataOutput

func (o AssessmentMetadataOutput) ToAssessmentMetadataOutput() AssessmentMetadataOutput

func (AssessmentMetadataOutput) ToAssessmentMetadataOutputWithContext

func (o AssessmentMetadataOutput) ToAssessmentMetadataOutputWithContext(ctx context.Context) AssessmentMetadataOutput

type AssessmentMetadataState

type AssessmentMetadataState 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 Metadata.
	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 (AssessmentMetadataState) ElementType

func (AssessmentMetadataState) ElementType() reflect.Type

type AssessmentOutput

type AssessmentOutput struct{ *pulumi.OutputState }

func (AssessmentOutput) ElementType

func (AssessmentOutput) ElementType() reflect.Type

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/v4/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{
			Description: pulumi.String("Test Description"),
			DisplayName: pulumi.String("Test Display Name"),
			Severity:    pulumi.String("Medium"),
		})
		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) ElementType

func (AssessmentPolicyOutput) ElementType() reflect.Type

func (AssessmentPolicyOutput) ToAssessmentPolicyOutput

func (o AssessmentPolicyOutput) ToAssessmentPolicyOutput() AssessmentPolicyOutput

func (AssessmentPolicyOutput) ToAssessmentPolicyOutputWithContext

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

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/v4/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) 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.
	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.
	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/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/eventhub"
"github.com/pulumi/pulumi-azure/sdk/v4/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
		}
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleEventHubNamespace, err := eventhub.NewEventHubNamespace(ctx, "exampleEventHubNamespace", &eventhub.EventHubNamespaceArgs{
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
			Sku:               pulumi.String("Standard"),
			Capacity:          pulumi.Int(2),
		})
		if err != nil {
			return err
		}
		exampleEventHub, err := eventhub.NewEventHub(ctx, "exampleEventHub", &eventhub.EventHubArgs{
			NamespaceName:     exampleEventHubNamespace.Name,
			ResourceGroupName: exampleResourceGroup.Name,
			PartitionCount:    pulumi.Int(2),
			MessageRetention:  pulumi.Int(2),
		})
		if err != nil {
			return err
		}
		exampleAuthorizationRule, err := eventhub.NewAuthorizationRule(ctx, "exampleAuthorizationRule", &eventhub.AuthorizationRuleArgs{
			NamespaceName:     exampleEventHubNamespace.Name,
			EventhubName:      exampleEventHub.Name,
			ResourceGroupName: exampleResourceGroup.Name,
			Listen:            pulumi.Bool(true),
			Send:              pulumi.Bool(false),
			Manage:            pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		_, err = securitycenter.NewAutomation(ctx, "exampleAutomation", &securitycenter.AutomationArgs{
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.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.String(fmt.Sprintf("%v%v", "/subscriptions/", 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 {
	// 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"`
	// 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 {
	// 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"`
	// 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

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

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.
	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.
	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) ElementType

func (AutomationOutput) ElementType() reflect.Type

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.
	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.
	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.

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.
	Rules []AutomationSourceRuleSetRule `pulumi:"rules"`
}

type AutomationSourceRuleSetArgs

type AutomationSourceRuleSetArgs struct {
	// One or more `rule` blocks as defined below.
	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.

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`.
	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`.
	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`.

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.
	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.
	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 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/v4/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{
			AlertNotifications: pulumi.Bool(true),
			AlertsToAdmins:     pulumi.Bool(true),
			Email:              pulumi.String("contact@example.com"),
			Phone:              pulumi.String("+1-555-555-5555"),
		})
		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 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) ElementType

func (ContactOutput) ElementType() reflect.Type

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 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.
	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.
	VirtualMachineId pulumi.StringPtrOutput `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/en-us/azure/security-center/security-center-get-started) to get started.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "exampleVirtualNetwork", &network.VirtualNetworkArgs{
			ResourceGroupName: exampleResourceGroup.Name,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("192.168.1.0/24"),
			},
			Location: exampleResourceGroup.Location,
		})
		if err != nil {
			return err
		}
		exampleSubnet, err := network.NewSubnet(ctx, "exampleSubnet", &network.SubnetArgs{
			ResourceGroupName:  exampleResourceGroup.Name,
			VirtualNetworkName: exampleVirtualNetwork.Name,
			AddressPrefix:      pulumi.String("192.168.1.0/24"),
		})
		if err != nil {
			return err
		}
		exampleNetworkInterface, err := network.NewNetworkInterface(ctx, "exampleNetworkInterface", &network.NetworkInterfaceArgs{
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.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, "exampleLinuxVirtualMachine", &compute.LinuxVirtualMachineArgs{
			Location:                      exampleResourceGroup.Location,
			ResourceGroupName:             exampleResourceGroup.Name,
			Size:                          pulumi.String("Standard_B1s"),
			AdminUsername:                 pulumi.String("testadmin"),
			AdminPassword:                 pulumi.String("Password1234!"),
			DisablePasswordAuthentication: pulumi.Bool(false),
			SourceImageReference: &compute.LinuxVirtualMachineSourceImageReferenceArgs{
				Publisher: pulumi.String("OpenLogic"),
				Offer:     pulumi.String("CentOS"),
				Sku:       pulumi.String("7.5"),
				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, "exampleServerVulnerabilityAssessment", &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.
	HybridMachineId pulumi.StringPtrInput
	// The ID of the virtual machine to be monitored by vulnerability assessment. Changing this forces a new resource to be created.
	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) ToServerVulnerabilityAssessmentOutput

func (o ServerVulnerabilityAssessmentOutput) ToServerVulnerabilityAssessmentOutput() ServerVulnerabilityAssessmentOutput

func (ServerVulnerabilityAssessmentOutput) ToServerVulnerabilityAssessmentOutputWithContext

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

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.
	HybridMachineId pulumi.StringPtrInput
	// 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 (ServerVulnerabilityAssessmentState) ElementType

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` and `WDATP`.
	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 does not change or reset the data access settings

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/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{
			Enabled:     pulumi.Bool(true),
			SettingName: pulumi.String("MCAS"),
		})
		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` and `WDATP`.
	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) 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` and `WDATP`.
	SettingName pulumi.StringPtrInput
}

func (SettingState) ElementType

func (SettingState) ElementType() reflect.Type

type SubscriptionPricing

type SubscriptionPricing struct {
	pulumi.CustomResourceState

	// The resource type this setting affects. Possible values are `AppServices`, `ContainerRegistry`, `KeyVaults`, `KubernetesService`, `SqlServers`, `SqlServerVirtualMachines`, `StorageAccounts`, `VirtualMachines`, `Arm`, `OpenSourceRelationalDatabases`, `Containers` and `Dns`. Defaults to `VirtualMachines`.
	ResourceType pulumi.StringPtrOutput `pulumi:"resourceType"`
	// 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 does not change or reset the pricing tier to `Free`

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/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{
			ResourceType: pulumi.String("VirtualMachines"),
			Tier:         pulumi.String("Standard"),
		})
		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 {
	// The resource type this setting affects. Possible values are `AppServices`, `ContainerRegistry`, `KeyVaults`, `KubernetesService`, `SqlServers`, `SqlServerVirtualMachines`, `StorageAccounts`, `VirtualMachines`, `Arm`, `OpenSourceRelationalDatabases`, `Containers` and `Dns`. Defaults to `VirtualMachines`.
	ResourceType 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 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) ToSubscriptionPricingOutput

func (o SubscriptionPricingOutput) ToSubscriptionPricingOutput() SubscriptionPricingOutput

func (SubscriptionPricingOutput) ToSubscriptionPricingOutputWithContext

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

type SubscriptionPricingState

type SubscriptionPricingState struct {
	// The resource type this setting affects. Possible values are `AppServices`, `ContainerRegistry`, `KeyVaults`, `KubernetesService`, `SqlServers`, `SqlServerVirtualMachines`, `StorageAccounts`, `VirtualMachines`, `Arm`, `OpenSourceRelationalDatabases`, `Containers` and `Dns`. Defaults to `VirtualMachines`.
	ResourceType 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/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/operationalinsights"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/securitycenter"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, "exampleAnalyticsWorkspace", &operationalinsights.AnalyticsWorkspaceArgs{
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
			Sku:               pulumi.String("PerGB2018"),
		})
		if err != nil {
			return err
		}
		_, err = securitycenter.NewWorkspace(ctx, "exampleWorkspace", &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) ToWorkspaceOutput

func (o WorkspaceOutput) ToWorkspaceOutput() WorkspaceOutput

func (WorkspaceOutput) ToWorkspaceOutputWithContext

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

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