// Code generated by azure-service-operator-codegen. DO NOT EDIT.
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
package arm

import "github.com/Azure/azure-service-operator/v2/pkg/genruntime"

type PricingPlan_Spec struct {
	Name string `json:"name,omitempty"`

	// Properties: The properties of the suppression.
	Properties *PricingPlanProperties `json:"properties,omitempty"`
}

var _ genruntime.ARMResourceSpec = &PricingPlan_Spec{}

// GetAPIVersion returns the ARM API version of the resource. This is always "2017-10-01"
func (plan PricingPlan_Spec) GetAPIVersion() string {
	return "2017-10-01"
}

// GetName returns the Name of the resource
func (plan *PricingPlan_Spec) GetName() string {
	return plan.Name
}

// GetType returns the ARM Type of the resource. This is always "microsoft.insights/components/pricingPlans"
func (plan *PricingPlan_Spec) GetType() string {
	return "microsoft.insights/components/pricingPlans"
}

// An Application Insights component daily data volume cap
type PricingPlanProperties struct {
	// Cap: Daily data volume cap in GB.
	Cap *float64 `json:"cap,omitempty"`

	// PlanType: Pricing Plan Type Name.
	PlanType *string `json:"planType,omitempty"`

	// StopSendNotificationWhenHitCap: Do not send a notification email when the daily data volume cap is met.
	StopSendNotificationWhenHitCap *bool `json:"stopSendNotificationWhenHitCap,omitempty"`

	// StopSendNotificationWhenHitThreshold: Reserved, not used for now.
	StopSendNotificationWhenHitThreshold *bool `json:"stopSendNotificationWhenHitThreshold,omitempty"`

	// WarningThreshold: Reserved, not used for now.
	WarningThreshold *int `json:"warningThreshold,omitempty"`
}
