azure-native.eventhub.ApplicationGroup

The Application Group object API Version: 2022-01-01-preview.

Example Usage

ApplicationGroupCreate

using System.Collections.Generic;
using Pulumi;
using AzureNative = Pulumi.AzureNative;

return await Deployment.RunAsync(() => 
{
    var applicationGroup = new AzureNative.EventHub.ApplicationGroup("applicationGroup", new()
    {
        ApplicationGroupName = "appGroup1",
        ClientAppGroupIdentifier = "SASKeyName=KeyName",
        IsEnabled = true,
        NamespaceName = "contoso-ua-test-eh-system-1",
        Policies = new[]
        {
            
            {
                { "metricId", "IncomingMessages" },
                { "name", "ThrottlingPolicy1" },
                { "rateLimitThreshold", 7912 },
                { "type", "ThrottlingPolicy" },
            },
            
            {
                { "metricId", "IncomingBytes" },
                { "name", "ThrottlingPolicy2" },
                { "rateLimitThreshold", 3951729 },
                { "type", "ThrottlingPolicy" },
            },
            
            {
                { "metricId", "OutgoingBytes" },
                { "name", "ThrottlingPolicy3" },
                { "rateLimitThreshold", 245175 },
                { "type", "ThrottlingPolicy" },
            },
        },
        ResourceGroupName = "contosotest",
    });

});
package main

import (
	eventhub "github.com/pulumi/pulumi-azure-native/sdk/go/azure/eventhub"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := eventhub.NewApplicationGroup(ctx, "applicationGroup", &eventhub.ApplicationGroupArgs{
			ApplicationGroupName:     pulumi.String("appGroup1"),
			ClientAppGroupIdentifier: pulumi.String("SASKeyName=KeyName"),
			IsEnabled:                pulumi.Bool(true),
			NamespaceName:            pulumi.String("contoso-ua-test-eh-system-1"),
			Policies: []eventhub.ThrottlingPolicyArgs{
				{
					MetricId:           pulumi.String("IncomingMessages"),
					Name:               pulumi.String("ThrottlingPolicy1"),
					RateLimitThreshold: pulumi.Float64(7912),
					Type:               pulumi.String("ThrottlingPolicy"),
				},
				{
					MetricId:           pulumi.String("IncomingBytes"),
					Name:               pulumi.String("ThrottlingPolicy2"),
					RateLimitThreshold: pulumi.Float64(3951729),
					Type:               pulumi.String("ThrottlingPolicy"),
				},
				{
					MetricId:           pulumi.String("OutgoingBytes"),
					Name:               pulumi.String("ThrottlingPolicy3"),
					RateLimitThreshold: pulumi.Float64(245175),
					Type:               pulumi.String("ThrottlingPolicy"),
				},
			},
			ResourceGroupName: pulumi.String("contosotest"),
		})
		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.eventhub.ApplicationGroup;
import com.pulumi.azurenative.eventhub.ApplicationGroupArgs;
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 applicationGroup = new ApplicationGroup("applicationGroup", ApplicationGroupArgs.builder()        
            .applicationGroupName("appGroup1")
            .clientAppGroupIdentifier("SASKeyName=KeyName")
            .isEnabled(true)
            .namespaceName("contoso-ua-test-eh-system-1")
            .policies(            
                Map.ofEntries(
                    Map.entry("metricId", "IncomingMessages"),
                    Map.entry("name", "ThrottlingPolicy1"),
                    Map.entry("rateLimitThreshold", 7912),
                    Map.entry("type", "ThrottlingPolicy")
                ),
                Map.ofEntries(
                    Map.entry("metricId", "IncomingBytes"),
                    Map.entry("name", "ThrottlingPolicy2"),
                    Map.entry("rateLimitThreshold", 3951729),
                    Map.entry("type", "ThrottlingPolicy")
                ),
                Map.ofEntries(
                    Map.entry("metricId", "OutgoingBytes"),
                    Map.entry("name", "ThrottlingPolicy3"),
                    Map.entry("rateLimitThreshold", 245175),
                    Map.entry("type", "ThrottlingPolicy")
                ))
            .resourceGroupName("contosotest")
            .build());

    }
}
import pulumi
import pulumi_azure_native as azure_native

application_group = azure_native.eventhub.ApplicationGroup("applicationGroup",
    application_group_name="appGroup1",
    client_app_group_identifier="SASKeyName=KeyName",
    is_enabled=True,
    namespace_name="contoso-ua-test-eh-system-1",
    policies=[
        azure_native.eventhub.ThrottlingPolicyResponseArgs(
            metric_id="IncomingMessages",
            name="ThrottlingPolicy1",
            rate_limit_threshold=7912,
            type="ThrottlingPolicy",
        ),
        azure_native.eventhub.ThrottlingPolicyResponseArgs(
            metric_id="IncomingBytes",
            name="ThrottlingPolicy2",
            rate_limit_threshold=3951729,
            type="ThrottlingPolicy",
        ),
        azure_native.eventhub.ThrottlingPolicyResponseArgs(
            metric_id="OutgoingBytes",
            name="ThrottlingPolicy3",
            rate_limit_threshold=245175,
            type="ThrottlingPolicy",
        ),
    ],
    resource_group_name="contosotest")
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";

const applicationGroup = new azure_native.eventhub.ApplicationGroup("applicationGroup", {
    applicationGroupName: "appGroup1",
    clientAppGroupIdentifier: "SASKeyName=KeyName",
    isEnabled: true,
    namespaceName: "contoso-ua-test-eh-system-1",
    policies: [
        {
            metricId: "IncomingMessages",
            name: "ThrottlingPolicy1",
            rateLimitThreshold: 7912,
            type: "ThrottlingPolicy",
        },
        {
            metricId: "IncomingBytes",
            name: "ThrottlingPolicy2",
            rateLimitThreshold: 3951729,
            type: "ThrottlingPolicy",
        },
        {
            metricId: "OutgoingBytes",
            name: "ThrottlingPolicy3",
            rateLimitThreshold: 245175,
            type: "ThrottlingPolicy",
        },
    ],
    resourceGroupName: "contosotest",
});
resources:
  applicationGroup:
    type: azure-native:eventhub:ApplicationGroup
    properties:
      applicationGroupName: appGroup1
      clientAppGroupIdentifier: SASKeyName=KeyName
      isEnabled: true
      namespaceName: contoso-ua-test-eh-system-1
      policies:
        - metricId: IncomingMessages
          name: ThrottlingPolicy1
          rateLimitThreshold: 7912
          type: ThrottlingPolicy
        - metricId: IncomingBytes
          name: ThrottlingPolicy2
          rateLimitThreshold: 3.951729e+06
          type: ThrottlingPolicy
        - metricId: OutgoingBytes
          name: ThrottlingPolicy3
          rateLimitThreshold: 245175
          type: ThrottlingPolicy
      resourceGroupName: contosotest

Create ApplicationGroup Resource

new ApplicationGroup(name: string, args: ApplicationGroupArgs, opts?: CustomResourceOptions);
@overload
def ApplicationGroup(resource_name: str,
                     opts: Optional[ResourceOptions] = None,
                     application_group_name: Optional[str] = None,
                     client_app_group_identifier: Optional[str] = None,
                     is_enabled: Optional[bool] = None,
                     namespace_name: Optional[str] = None,
                     policies: Optional[Sequence[ThrottlingPolicyArgs]] = None,
                     resource_group_name: Optional[str] = None)
@overload
def ApplicationGroup(resource_name: str,
                     args: ApplicationGroupArgs,
                     opts: Optional[ResourceOptions] = None)
func NewApplicationGroup(ctx *Context, name string, args ApplicationGroupArgs, opts ...ResourceOption) (*ApplicationGroup, error)
public ApplicationGroup(string name, ApplicationGroupArgs args, CustomResourceOptions? opts = null)
public ApplicationGroup(String name, ApplicationGroupArgs args)
public ApplicationGroup(String name, ApplicationGroupArgs args, CustomResourceOptions options)
type: azure-native:eventhub:ApplicationGroup
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

name string
The unique name of the resource.
args ApplicationGroupArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args ApplicationGroupArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args ApplicationGroupArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args ApplicationGroupArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name String
The unique name of the resource.
args ApplicationGroupArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

ApplicationGroup Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

The ApplicationGroup resource accepts the following input properties:

ClientAppGroupIdentifier string

The Unique identifier for application group.Supports SAS(SASKeyName=KeyName) or AAD(AADAppID=Guid)

NamespaceName string

The Namespace name

ResourceGroupName string

Name of the resource group within the azure subscription.

ApplicationGroupName string

The Application Group name

IsEnabled bool

Determines if Application Group is allowed to create connection with namespace or not. Once the isEnabled is set to false, all the existing connections of application group gets dropped and no new connections will be allowed

Policies List<Pulumi.AzureNative.EventHub.Inputs.ThrottlingPolicyArgs>

List of group policies that define the behavior of application group. The policies can support resource governance scenarios such as limiting ingress or egress traffic.

ClientAppGroupIdentifier string

The Unique identifier for application group.Supports SAS(SASKeyName=KeyName) or AAD(AADAppID=Guid)

NamespaceName string

The Namespace name

ResourceGroupName string

Name of the resource group within the azure subscription.

ApplicationGroupName string

The Application Group name

IsEnabled bool

Determines if Application Group is allowed to create connection with namespace or not. Once the isEnabled is set to false, all the existing connections of application group gets dropped and no new connections will be allowed

Policies []ThrottlingPolicyArgs

List of group policies that define the behavior of application group. The policies can support resource governance scenarios such as limiting ingress or egress traffic.

clientAppGroupIdentifier String

The Unique identifier for application group.Supports SAS(SASKeyName=KeyName) or AAD(AADAppID=Guid)

namespaceName String

The Namespace name

resourceGroupName String

Name of the resource group within the azure subscription.

applicationGroupName String

The Application Group name

isEnabled Boolean

Determines if Application Group is allowed to create connection with namespace or not. Once the isEnabled is set to false, all the existing connections of application group gets dropped and no new connections will be allowed

policies List<ThrottlingPolicyArgs>

List of group policies that define the behavior of application group. The policies can support resource governance scenarios such as limiting ingress or egress traffic.

clientAppGroupIdentifier string

The Unique identifier for application group.Supports SAS(SASKeyName=KeyName) or AAD(AADAppID=Guid)

namespaceName string

The Namespace name

resourceGroupName string

Name of the resource group within the azure subscription.

applicationGroupName string

The Application Group name

isEnabled boolean

Determines if Application Group is allowed to create connection with namespace or not. Once the isEnabled is set to false, all the existing connections of application group gets dropped and no new connections will be allowed

policies ThrottlingPolicyArgs[]

List of group policies that define the behavior of application group. The policies can support resource governance scenarios such as limiting ingress or egress traffic.

client_app_group_identifier str

The Unique identifier for application group.Supports SAS(SASKeyName=KeyName) or AAD(AADAppID=Guid)

namespace_name str

The Namespace name

resource_group_name str

Name of the resource group within the azure subscription.

application_group_name str

The Application Group name

is_enabled bool

Determines if Application Group is allowed to create connection with namespace or not. Once the isEnabled is set to false, all the existing connections of application group gets dropped and no new connections will be allowed

policies Sequence[ThrottlingPolicyArgs]

List of group policies that define the behavior of application group. The policies can support resource governance scenarios such as limiting ingress or egress traffic.

clientAppGroupIdentifier String

The Unique identifier for application group.Supports SAS(SASKeyName=KeyName) or AAD(AADAppID=Guid)

namespaceName String

The Namespace name

resourceGroupName String

Name of the resource group within the azure subscription.

applicationGroupName String

The Application Group name

isEnabled Boolean

Determines if Application Group is allowed to create connection with namespace or not. Once the isEnabled is set to false, all the existing connections of application group gets dropped and no new connections will be allowed

policies List<Property Map>

List of group policies that define the behavior of application group. The policies can support resource governance scenarios such as limiting ingress or egress traffic.

Outputs

All input properties are implicitly available as output properties. Additionally, the ApplicationGroup resource produces the following output properties:

Id string

The provider-assigned unique ID for this managed resource.

Location string

The geo-location where the resource lives

Name string

The name of the resource

SystemData Pulumi.AzureNative.EventHub.Outputs.SystemDataResponse

The system meta data relating to this resource.

Type string

The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"

Id string

The provider-assigned unique ID for this managed resource.

Location string

The geo-location where the resource lives

Name string

The name of the resource

SystemData SystemDataResponse

The system meta data relating to this resource.

Type string

The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"

id String

The provider-assigned unique ID for this managed resource.

location String

The geo-location where the resource lives

name String

The name of the resource

systemData SystemDataResponse

The system meta data relating to this resource.

type String

The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"

id string

The provider-assigned unique ID for this managed resource.

location string

The geo-location where the resource lives

name string

The name of the resource

systemData SystemDataResponse

The system meta data relating to this resource.

type string

The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"

id str

The provider-assigned unique ID for this managed resource.

location str

The geo-location where the resource lives

name str

The name of the resource

system_data SystemDataResponse

The system meta data relating to this resource.

type str

The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"

id String

The provider-assigned unique ID for this managed resource.

location String

The geo-location where the resource lives

name String

The name of the resource

systemData Property Map

The system meta data relating to this resource.

type String

The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"

Supporting Types

MetricId

IncomingBytes
IncomingBytes
OutgoingBytes
OutgoingBytes
IncomingMessages
IncomingMessages
OutgoingMessages
OutgoingMessages
MetricIdIncomingBytes
IncomingBytes
MetricIdOutgoingBytes
OutgoingBytes
MetricIdIncomingMessages
IncomingMessages
MetricIdOutgoingMessages
OutgoingMessages
IncomingBytes
IncomingBytes
OutgoingBytes
OutgoingBytes
IncomingMessages
IncomingMessages
OutgoingMessages
OutgoingMessages
IncomingBytes
IncomingBytes
OutgoingBytes
OutgoingBytes
IncomingMessages
IncomingMessages
OutgoingMessages
OutgoingMessages
INCOMING_BYTES
IncomingBytes
OUTGOING_BYTES
OutgoingBytes
INCOMING_MESSAGES
IncomingMessages
OUTGOING_MESSAGES
OutgoingMessages
"IncomingBytes"
IncomingBytes
"OutgoingBytes"
OutgoingBytes
"IncomingMessages"
IncomingMessages
"OutgoingMessages"
OutgoingMessages

SystemDataResponse

CreatedAt string

The timestamp of resource creation (UTC).

CreatedBy string

The identity that created the resource.

CreatedByType string

The type of identity that created the resource.

LastModifiedAt string

The type of identity that last modified the resource.

LastModifiedBy string

The identity that last modified the resource.

LastModifiedByType string

The type of identity that last modified the resource.

CreatedAt string

The timestamp of resource creation (UTC).

CreatedBy string

The identity that created the resource.

CreatedByType string

The type of identity that created the resource.

LastModifiedAt string

The type of identity that last modified the resource.

LastModifiedBy string

The identity that last modified the resource.

LastModifiedByType string

The type of identity that last modified the resource.

createdAt String

The timestamp of resource creation (UTC).

createdBy String

The identity that created the resource.

createdByType String

The type of identity that created the resource.

lastModifiedAt String

The type of identity that last modified the resource.

lastModifiedBy String

The identity that last modified the resource.

lastModifiedByType String

The type of identity that last modified the resource.

createdAt string

The timestamp of resource creation (UTC).

createdBy string

The identity that created the resource.

createdByType string

The type of identity that created the resource.

lastModifiedAt string

The type of identity that last modified the resource.

lastModifiedBy string

The identity that last modified the resource.

lastModifiedByType string

The type of identity that last modified the resource.

created_at str

The timestamp of resource creation (UTC).

created_by str

The identity that created the resource.

created_by_type str

The type of identity that created the resource.

last_modified_at str

The type of identity that last modified the resource.

last_modified_by str

The identity that last modified the resource.

last_modified_by_type str

The type of identity that last modified the resource.

createdAt String

The timestamp of resource creation (UTC).

createdBy String

The identity that created the resource.

createdByType String

The type of identity that created the resource.

lastModifiedAt String

The type of identity that last modified the resource.

lastModifiedBy String

The identity that last modified the resource.

lastModifiedByType String

The type of identity that last modified the resource.

ThrottlingPolicy

MetricId string | Pulumi.AzureNative.EventHub.MetricId

Metric Id on which the throttle limit should be set, MetricId can be discovered by hovering over Metric in the Metrics section of Event Hub Namespace inside Azure Portal

Name string

The Name of this policy

RateLimitThreshold double

The Threshold limit above which the application group will be throttled.Rate limit is always per second.

MetricId string | MetricId

Metric Id on which the throttle limit should be set, MetricId can be discovered by hovering over Metric in the Metrics section of Event Hub Namespace inside Azure Portal

Name string

The Name of this policy

RateLimitThreshold float64

The Threshold limit above which the application group will be throttled.Rate limit is always per second.

metricId String | MetricId

Metric Id on which the throttle limit should be set, MetricId can be discovered by hovering over Metric in the Metrics section of Event Hub Namespace inside Azure Portal

name String

The Name of this policy

rateLimitThreshold Double

The Threshold limit above which the application group will be throttled.Rate limit is always per second.

metricId string | MetricId

Metric Id on which the throttle limit should be set, MetricId can be discovered by hovering over Metric in the Metrics section of Event Hub Namespace inside Azure Portal

name string

The Name of this policy

rateLimitThreshold number

The Threshold limit above which the application group will be throttled.Rate limit is always per second.

metric_id str | MetricId

Metric Id on which the throttle limit should be set, MetricId can be discovered by hovering over Metric in the Metrics section of Event Hub Namespace inside Azure Portal

name str

The Name of this policy

rate_limit_threshold float

The Threshold limit above which the application group will be throttled.Rate limit is always per second.

metricId String | "IncomingBytes" | "OutgoingBytes" | "IncomingMessages" | "OutgoingMessages"

Metric Id on which the throttle limit should be set, MetricId can be discovered by hovering over Metric in the Metrics section of Event Hub Namespace inside Azure Portal

name String

The Name of this policy

rateLimitThreshold Number

The Threshold limit above which the application group will be throttled.Rate limit is always per second.

ThrottlingPolicyResponse

MetricId string

Metric Id on which the throttle limit should be set, MetricId can be discovered by hovering over Metric in the Metrics section of Event Hub Namespace inside Azure Portal

Name string

The Name of this policy

RateLimitThreshold double

The Threshold limit above which the application group will be throttled.Rate limit is always per second.

MetricId string

Metric Id on which the throttle limit should be set, MetricId can be discovered by hovering over Metric in the Metrics section of Event Hub Namespace inside Azure Portal

Name string

The Name of this policy

RateLimitThreshold float64

The Threshold limit above which the application group will be throttled.Rate limit is always per second.

metricId String

Metric Id on which the throttle limit should be set, MetricId can be discovered by hovering over Metric in the Metrics section of Event Hub Namespace inside Azure Portal

name String

The Name of this policy

rateLimitThreshold Double

The Threshold limit above which the application group will be throttled.Rate limit is always per second.

metricId string

Metric Id on which the throttle limit should be set, MetricId can be discovered by hovering over Metric in the Metrics section of Event Hub Namespace inside Azure Portal

name string

The Name of this policy

rateLimitThreshold number

The Threshold limit above which the application group will be throttled.Rate limit is always per second.

metric_id str

Metric Id on which the throttle limit should be set, MetricId can be discovered by hovering over Metric in the Metrics section of Event Hub Namespace inside Azure Portal

name str

The Name of this policy

rate_limit_threshold float

The Threshold limit above which the application group will be throttled.Rate limit is always per second.

metricId String

Metric Id on which the throttle limit should be set, MetricId can be discovered by hovering over Metric in the Metrics section of Event Hub Namespace inside Azure Portal

name String

The Name of this policy

rateLimitThreshold Number

The Threshold limit above which the application group will be throttled.Rate limit is always per second.

Import

An existing resource can be imported using its type token, name, and identifier, e.g.

$ pulumi import azure-native:eventhub:ApplicationGroup appGroup1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosotest/providers/Microsoft.EventHub/namespaces/contoso-ua-test-eh-system-1/applicationgroups/appGroup1 

Package Details

Repository
Azure Native pulumi/pulumi-azure-native
License
Apache-2.0