Discount
Resource definition for Discounts. Uses Azure REST API version 2024-11-01-preview. In version 2.x of the Azure Native provider, it used API version 2024-11-01-preview.
Example Usage
DiscountsCreateAffiliate
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var discount = new AzureNative.BillingBenefits.Discount("discount", new()
{
DiscountName = "testaffiliatediscount",
DisplayName = "Virtual Machines D Series",
EntityType = AzureNative.BillingBenefits.DiscountEntityType.Affiliate,
Location = "global",
ProductCode = "0001d726-0000-0160-330f-a0b98cdbbdc4",
ResourceGroupName = "testrg",
StartAt = "2023-07-01T00:00:00Z",
SystemId = "13810867107109237",
Tags =
{
{ "key1", "value1" },
{ "key2", "value2" },
},
});
});
package main
import (
billingbenefits "github.com/pulumi/pulumi-azure-native-sdk/billingbenefits/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := billingbenefits.NewDiscount(ctx, "discount", &billingbenefits.DiscountArgs{
DiscountName: pulumi.String("testaffiliatediscount"),
DisplayName: pulumi.String("Virtual Machines D Series"),
EntityType: pulumi.String(billingbenefits.DiscountEntityTypeAffiliate),
Location: pulumi.String("global"),
ProductCode: pulumi.String("0001d726-0000-0160-330f-a0b98cdbbdc4"),
ResourceGroupName: pulumi.String("testrg"),
StartAt: pulumi.String("2023-07-01T00:00:00Z"),
SystemId: pulumi.String("13810867107109237"),
Tags: pulumi.StringMap{
"key1": pulumi.String("value1"),
"key2": pulumi.String("value2"),
},
})
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.azurenative.billingbenefits.Discount;
import com.pulumi.azurenative.billingbenefits.DiscountArgs;
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 discount = new Discount("discount", DiscountArgs.builder()
.discountName("testaffiliatediscount")
.displayName("Virtual Machines D Series")
.entityType("Affiliate")
.location("global")
.productCode("0001d726-0000-0160-330f-a0b98cdbbdc4")
.resourceGroupName("testrg")
.startAt("2023-07-01T00:00:00Z")
.systemId("13810867107109237")
.tags(Map.ofEntries(
Map.entry("key1", "value1"),
Map.entry("key2", "value2")
))
.build());
}
}
DiscountsCreatePrimary
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var discount = new AzureNative.BillingBenefits.Discount("discount", new()
{
AppliedScopeType = AzureNative.BillingBenefits.DiscountAppliedScopeType.BillingAccount,
DiscountName = "testprimarydiscount",
DisplayName = "Virtual Machines D Series",
EntityType = AzureNative.BillingBenefits.DiscountEntityType.Primary,
Location = "global",
ProductCode = "0001d726-0000-0160-330f-a0b98cdbbdc4",
ResourceGroupName = "testrg",
StartAt = "2023-07-01T00:00:00Z",
Tags =
{
{ "key1", "value1" },
{ "key2", "value2" },
},
});
});
package main
import (
billingbenefits "github.com/pulumi/pulumi-azure-native-sdk/billingbenefits/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := billingbenefits.NewDiscount(ctx, "discount", &billingbenefits.DiscountArgs{
AppliedScopeType: pulumi.String(billingbenefits.DiscountAppliedScopeTypeBillingAccount),
DiscountName: pulumi.String("testprimarydiscount"),
DisplayName: pulumi.String("Virtual Machines D Series"),
EntityType: pulumi.String(billingbenefits.DiscountEntityTypePrimary),
Location: pulumi.String("global"),
ProductCode: pulumi.String("0001d726-0000-0160-330f-a0b98cdbbdc4"),
ResourceGroupName: pulumi.String("testrg"),
StartAt: pulumi.String("2023-07-01T00:00:00Z"),
Tags: pulumi.StringMap{
"key1": pulumi.String("value1"),
"key2": pulumi.String("value2"),
},
})
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.azurenative.billingbenefits.Discount;
import com.pulumi.azurenative.billingbenefits.DiscountArgs;
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 discount = new Discount("discount", DiscountArgs.builder()
.appliedScopeType("BillingAccount")
.discountName("testprimarydiscount")
.displayName("Virtual Machines D Series")
.entityType("Primary")
.location("global")
.productCode("0001d726-0000-0160-330f-a0b98cdbbdc4")
.resourceGroupName("testrg")
.startAt("2023-07-01T00:00:00Z")
.tags(Map.ofEntries(
Map.entry("key1", "value1"),
Map.entry("key2", "value2")
))
.build());
}
}
DiscountsCreatePrimaryBackfill
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var discount = new AzureNative.BillingBenefits.Discount("discount", new()
{
AppliedScopeType = AzureNative.BillingBenefits.DiscountAppliedScopeType.BillingAccount,
DiscountName = "testprimarydiscount",
DisplayName = "Virtual Machines D Series",
EntityType = AzureNative.BillingBenefits.DiscountEntityType.Primary,
Location = "global",
ProductCode = "0001d726-0000-0160-330f-a0b98cdbbdc4",
ResourceGroupName = "testrg",
StartAt = "2023-07-01T00:00:00Z",
SystemId = "13810867107109237",
Tags =
{
{ "key1", "value1" },
{ "key2", "value2" },
},
});
});
package main
import (
billingbenefits "github.com/pulumi/pulumi-azure-native-sdk/billingbenefits/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := billingbenefits.NewDiscount(ctx, "discount", &billingbenefits.DiscountArgs{
AppliedScopeType: pulumi.String(billingbenefits.DiscountAppliedScopeTypeBillingAccount),
DiscountName: pulumi.String("testprimarydiscount"),
DisplayName: pulumi.String("Virtual Machines D Series"),
EntityType: pulumi.String(billingbenefits.DiscountEntityTypePrimary),
Location: pulumi.String("global"),
ProductCode: pulumi.String("0001d726-0000-0160-330f-a0b98cdbbdc4"),
ResourceGroupName: pulumi.String("testrg"),
StartAt: pulumi.String("2023-07-01T00:00:00Z"),
SystemId: pulumi.String("13810867107109237"),
Tags: pulumi.StringMap{
"key1": pulumi.String("value1"),
"key2": pulumi.String("value2"),
},
})
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.azurenative.billingbenefits.Discount;
import com.pulumi.azurenative.billingbenefits.DiscountArgs;
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 discount = new Discount("discount", DiscountArgs.builder()
.appliedScopeType("BillingAccount")
.discountName("testprimarydiscount")
.displayName("Virtual Machines D Series")
.entityType("Primary")
.location("global")
.productCode("0001d726-0000-0160-330f-a0b98cdbbdc4")
.resourceGroupName("testrg")
.startAt("2023-07-01T00:00:00Z")
.systemId("13810867107109237")
.tags(Map.ofEntries(
Map.entry("key1", "value1"),
Map.entry("key2", "value2")
))
.build());
}
}
DiscountsCreatePrimaryWithCustomPrice
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var discount = new AzureNative.BillingBenefits.Discount("discount", new()
{
AppliedScopeType = AzureNative.BillingBenefits.DiscountAppliedScopeType.BillingAccount,
DiscountName = "testprimarydiscount",
DisplayName = "Virtual Machines D Series",
EntityType = AzureNative.BillingBenefits.DiscountEntityType.Primary,
Location = "global",
ProductCode = "0001d726-0000-0160-330f-a0b98cdbbdc4",
ResourceGroupName = "testrg",
StartAt = "2023-07-01T00:00:00Z",
Tags =
{
{ "key1", "value1" },
{ "key2", "value2" },
},
});
});
package main
import (
billingbenefits "github.com/pulumi/pulumi-azure-native-sdk/billingbenefits/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := billingbenefits.NewDiscount(ctx, "discount", &billingbenefits.DiscountArgs{
AppliedScopeType: pulumi.String(billingbenefits.DiscountAppliedScopeTypeBillingAccount),
DiscountName: pulumi.String("testprimarydiscount"),
DisplayName: pulumi.String("Virtual Machines D Series"),
EntityType: pulumi.String(billingbenefits.DiscountEntityTypePrimary),
Location: pulumi.String("global"),
ProductCode: pulumi.String("0001d726-0000-0160-330f-a0b98cdbbdc4"),
ResourceGroupName: pulumi.String("testrg"),
StartAt: pulumi.String("2023-07-01T00:00:00Z"),
Tags: pulumi.StringMap{
"key1": pulumi.String("value1"),
"key2": pulumi.String("value2"),
},
})
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.azurenative.billingbenefits.Discount;
import com.pulumi.azurenative.billingbenefits.DiscountArgs;
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 discount = new Discount("discount", DiscountArgs.builder()
.appliedScopeType("BillingAccount")
.discountName("testprimarydiscount")
.displayName("Virtual Machines D Series")
.entityType("Primary")
.location("global")
.productCode("0001d726-0000-0160-330f-a0b98cdbbdc4")
.resourceGroupName("testrg")
.startAt("2023-07-01T00:00:00Z")
.tags(Map.ofEntries(
Map.entry("key1", "value1"),
Map.entry("key2", "value2")
))
.build());
}
}
DiscountsCreatePrimaryWithCustomPriceMultiCurrency
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var discount = new AzureNative.BillingBenefits.Discount("discount", new()
{
AppliedScopeType = AzureNative.BillingBenefits.DiscountAppliedScopeType.BillingAccount,
DiscountName = "testprimarydiscount",
DisplayName = "Virtual Machines D Series",
EntityType = AzureNative.BillingBenefits.DiscountEntityType.Primary,
Location = "global",
ProductCode = "0001d726-0000-0160-330f-a0b98cdbbdc4",
ResourceGroupName = "testrg",
StartAt = "2023-07-01T00:00:00Z",
Tags =
{
{ "key1", "value1" },
{ "key2", "value2" },
},
});
});
package main
import (
billingbenefits "github.com/pulumi/pulumi-azure-native-sdk/billingbenefits/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := billingbenefits.NewDiscount(ctx, "discount", &billingbenefits.DiscountArgs{
AppliedScopeType: pulumi.String(billingbenefits.DiscountAppliedScopeTypeBillingAccount),
DiscountName: pulumi.String("testprimarydiscount"),
DisplayName: pulumi.String("Virtual Machines D Series"),
EntityType: pulumi.String(billingbenefits.DiscountEntityTypePrimary),
Location: pulumi.String("global"),
ProductCode: pulumi.String("0001d726-0000-0160-330f-a0b98cdbbdc4"),
ResourceGroupName: pulumi.String("testrg"),
StartAt: pulumi.String("2023-07-01T00:00:00Z"),
Tags: pulumi.StringMap{
"key1": pulumi.String("value1"),
"key2": pulumi.String("value2"),
},
})
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.azurenative.billingbenefits.Discount;
import com.pulumi.azurenative.billingbenefits.DiscountArgs;
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 discount = new Discount("discount", DiscountArgs.builder()
.appliedScopeType("BillingAccount")
.discountName("testprimarydiscount")
.displayName("Virtual Machines D Series")
.entityType("Primary")
.location("global")
.productCode("0001d726-0000-0160-330f-a0b98cdbbdc4")
.resourceGroupName("testrg")
.startAt("2023-07-01T00:00:00Z")
.tags(Map.ofEntries(
Map.entry("key1", "value1"),
Map.entry("key2", "value2")
))
.build());
}
}
DiscountsCreatePrimaryWithPriceGuarantee
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var discount = new AzureNative.BillingBenefits.Discount("discount", new()
{
AppliedScopeType = AzureNative.BillingBenefits.DiscountAppliedScopeType.BillingAccount,
DiscountName = "testprimarydiscount",
DisplayName = "Virtual Machines D Series",
EntityType = AzureNative.BillingBenefits.DiscountEntityType.Primary,
Location = "global",
ProductCode = "0001d726-0000-0160-330f-a0b98cdbbdc4",
ResourceGroupName = "testrg",
StartAt = "2023-07-01T00:00:00Z",
Tags =
{
{ "key1", "value1" },
{ "key2", "value2" },
},
});
});
package main
import (
billingbenefits "github.com/pulumi/pulumi-azure-native-sdk/billingbenefits/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := billingbenefits.NewDiscount(ctx, "discount", &billingbenefits.DiscountArgs{
AppliedScopeType: pulumi.String(billingbenefits.DiscountAppliedScopeTypeBillingAccount),
DiscountName: pulumi.String("testprimarydiscount"),
DisplayName: pulumi.String("Virtual Machines D Series"),
EntityType: pulumi.String(billingbenefits.DiscountEntityTypePrimary),
Location: pulumi.String("global"),
ProductCode: pulumi.String("0001d726-0000-0160-330f-a0b98cdbbdc4"),
ResourceGroupName: pulumi.String("testrg"),
StartAt: pulumi.String("2023-07-01T00:00:00Z"),
Tags: pulumi.StringMap{
"key1": pulumi.String("value1"),
"key2": pulumi.String("value2"),
},
})
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.azurenative.billingbenefits.Discount;
import com.pulumi.azurenative.billingbenefits.DiscountArgs;
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 discount = new Discount("discount", DiscountArgs.builder()
.appliedScopeType("BillingAccount")
.discountName("testprimarydiscount")
.displayName("Virtual Machines D Series")
.entityType("Primary")
.location("global")
.productCode("0001d726-0000-0160-330f-a0b98cdbbdc4")
.resourceGroupName("testrg")
.startAt("2023-07-01T00:00:00Z")
.tags(Map.ofEntries(
Map.entry("key1", "value1"),
Map.entry("key2", "value2")
))
.build());
}
}
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:billingbenefits:Discount testprimarydiscount /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BillingBenefits/discounts/{discountName}
Properties
List of applied scopes supported for discounts.
The Azure API version of the resource.
Fully-qualified identifier of the benefit under applicable benefit list.
Billing account resource id where the discount metadata is present.
Billing profile resource id where the discount is scoped to.
Customer resource id where the discount is scoped to.
This defines a user friendly display name for the discount.
This defines whether the entity being created is primary or affiliate. Supported values: primary, affiliate. Validation: Required, must match one of the 2 values.
The etag field is not required. If it is provided in the response body, it must also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields.
Managed service identity (system assigned and/or user assigned identities)
The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource.
Plan for the resource.
This is the catalog UPN for the product.
The state of the resource. Supported values are Pending, Failed, Succeeded, Canceled.
The resource model definition representing SKU
Azure Resource Manager metadata containing createdBy and modifiedBy information.