SubscriptionPricing

class SubscriptionPricing : KotlinCustomResource

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

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

Example Usage

Basic usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const example = new azure.securitycenter.SubscriptionPricing("example", {
tier: "Standard",
resourceType: "VirtualMachines",
});
import pulumi
import pulumi_azure as azure
example = azure.securitycenter.SubscriptionPricing("example",
tier="Standard",
resource_type="VirtualMachines")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() =>
{
var example = new Azure.SecurityCenter.SubscriptionPricing("example", new()
{
Tier = "Standard",
ResourceType = "VirtualMachines",
});
});
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/securitycenter"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := securitycenter.NewSubscriptionPricing(ctx, "example", &securitycenter.SubscriptionPricingArgs{
Tier: pulumi.String("Standard"),
ResourceType: pulumi.String("VirtualMachines"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.securitycenter.SubscriptionPricing;
import com.pulumi.azure.securitycenter.SubscriptionPricingArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new SubscriptionPricing("example", SubscriptionPricingArgs.builder()
.tier("Standard")
.resourceType("VirtualMachines")
.build());
}
}
resources:
example:
type: azure:securitycenter:SubscriptionPricing
properties:
tier: Standard
resourceType: VirtualMachines

Using Extensions with Defender CSPM

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const example1 = new azure.securitycenter.SubscriptionPricing("example1", {
tier: "Standard",
resourceType: "CloudPosture",
extensions: [
{
name: "ContainerRegistriesVulnerabilityAssessments",
},
{
name: "AgentlessVmScanning",
additionalExtensionProperties: {
ExclusionTags: "[]",
},
},
{
name: "AgentlessDiscoveryForKubernetes",
},
{
name: "SensitiveDataDiscovery",
},
],
});
import pulumi
import pulumi_azure as azure
example1 = azure.securitycenter.SubscriptionPricing("example1",
tier="Standard",
resource_type="CloudPosture",
extensions=[
{
"name": "ContainerRegistriesVulnerabilityAssessments",
},
{
"name": "AgentlessVmScanning",
"additional_extension_properties": {
"ExclusionTags": "[]",
},
},
{
"name": "AgentlessDiscoveryForKubernetes",
},
{
"name": "SensitiveDataDiscovery",
},
])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() =>
{
var example1 = new Azure.SecurityCenter.SubscriptionPricing("example1", new()
{
Tier = "Standard",
ResourceType = "CloudPosture",
Extensions = new[]
{
new Azure.SecurityCenter.Inputs.SubscriptionPricingExtensionArgs
{
Name = "ContainerRegistriesVulnerabilityAssessments",
},
new Azure.SecurityCenter.Inputs.SubscriptionPricingExtensionArgs
{
Name = "AgentlessVmScanning",
AdditionalExtensionProperties =
{
{ "ExclusionTags", "[]" },
},
},
new Azure.SecurityCenter.Inputs.SubscriptionPricingExtensionArgs
{
Name = "AgentlessDiscoveryForKubernetes",
},
new Azure.SecurityCenter.Inputs.SubscriptionPricingExtensionArgs
{
Name = "SensitiveDataDiscovery",
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/securitycenter"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := securitycenter.NewSubscriptionPricing(ctx, "example1", &securitycenter.SubscriptionPricingArgs{
Tier: pulumi.String("Standard"),
ResourceType: pulumi.String("CloudPosture"),
Extensions: securitycenter.SubscriptionPricingExtensionArray{
&securitycenter.SubscriptionPricingExtensionArgs{
Name: pulumi.String("ContainerRegistriesVulnerabilityAssessments"),
},
&securitycenter.SubscriptionPricingExtensionArgs{
Name: pulumi.String("AgentlessVmScanning"),
AdditionalExtensionProperties: pulumi.StringMap{
"ExclusionTags": pulumi.String("[]"),
},
},
&securitycenter.SubscriptionPricingExtensionArgs{
Name: pulumi.String("AgentlessDiscoveryForKubernetes"),
},
&securitycenter.SubscriptionPricingExtensionArgs{
Name: pulumi.String("SensitiveDataDiscovery"),
},
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.securitycenter.SubscriptionPricing;
import com.pulumi.azure.securitycenter.SubscriptionPricingArgs;
import com.pulumi.azure.securitycenter.inputs.SubscriptionPricingExtensionArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example1 = new SubscriptionPricing("example1", SubscriptionPricingArgs.builder()
.tier("Standard")
.resourceType("CloudPosture")
.extensions(
SubscriptionPricingExtensionArgs.builder()
.name("ContainerRegistriesVulnerabilityAssessments")
.build(),
SubscriptionPricingExtensionArgs.builder()
.name("AgentlessVmScanning")
.additionalExtensionProperties(Map.of("ExclusionTags", "[]"))
.build(),
SubscriptionPricingExtensionArgs.builder()
.name("AgentlessDiscoveryForKubernetes")
.build(),
SubscriptionPricingExtensionArgs.builder()
.name("SensitiveDataDiscovery")
.build())
.build());
}
}
resources:
example1:
type: azure:securitycenter:SubscriptionPricing
properties:
tier: Standard
resourceType: CloudPosture
extensions:
- name: ContainerRegistriesVulnerabilityAssessments
- name: AgentlessVmScanning
additionalExtensionProperties:
ExclusionTags: '[]'
- name: AgentlessDiscoveryForKubernetes
- name: SensitiveDataDiscovery

Import

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

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

Properties

Link copied to clipboard

One or more extension blocks as defined below.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val resourceType: Output<String>?

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

Link copied to clipboard
val subplan: Output<String>?

Resource type pricing subplan. Contact your MSFT representative for possible values. Changing this forces a new resource to be created.

Link copied to clipboard
val tier: Output<String>

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

Link copied to clipboard
val urn: Output<String>