All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.azure.monitoring.kotlin.ActionGroupArgs.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azure.monitoring.kotlin

import com.pulumi.azure.monitoring.ActionGroupArgs.builder
import com.pulumi.azure.monitoring.kotlin.inputs.ActionGroupArmRoleReceiverArgs
import com.pulumi.azure.monitoring.kotlin.inputs.ActionGroupArmRoleReceiverArgsBuilder
import com.pulumi.azure.monitoring.kotlin.inputs.ActionGroupAutomationRunbookReceiverArgs
import com.pulumi.azure.monitoring.kotlin.inputs.ActionGroupAutomationRunbookReceiverArgsBuilder
import com.pulumi.azure.monitoring.kotlin.inputs.ActionGroupAzureAppPushReceiverArgs
import com.pulumi.azure.monitoring.kotlin.inputs.ActionGroupAzureAppPushReceiverArgsBuilder
import com.pulumi.azure.monitoring.kotlin.inputs.ActionGroupAzureFunctionReceiverArgs
import com.pulumi.azure.monitoring.kotlin.inputs.ActionGroupAzureFunctionReceiverArgsBuilder
import com.pulumi.azure.monitoring.kotlin.inputs.ActionGroupEmailReceiverArgs
import com.pulumi.azure.monitoring.kotlin.inputs.ActionGroupEmailReceiverArgsBuilder
import com.pulumi.azure.monitoring.kotlin.inputs.ActionGroupEventHubReceiverArgs
import com.pulumi.azure.monitoring.kotlin.inputs.ActionGroupEventHubReceiverArgsBuilder
import com.pulumi.azure.monitoring.kotlin.inputs.ActionGroupItsmReceiverArgs
import com.pulumi.azure.monitoring.kotlin.inputs.ActionGroupItsmReceiverArgsBuilder
import com.pulumi.azure.monitoring.kotlin.inputs.ActionGroupLogicAppReceiverArgs
import com.pulumi.azure.monitoring.kotlin.inputs.ActionGroupLogicAppReceiverArgsBuilder
import com.pulumi.azure.monitoring.kotlin.inputs.ActionGroupSmsReceiverArgs
import com.pulumi.azure.monitoring.kotlin.inputs.ActionGroupSmsReceiverArgsBuilder
import com.pulumi.azure.monitoring.kotlin.inputs.ActionGroupVoiceReceiverArgs
import com.pulumi.azure.monitoring.kotlin.inputs.ActionGroupVoiceReceiverArgsBuilder
import com.pulumi.azure.monitoring.kotlin.inputs.ActionGroupWebhookReceiverArgs
import com.pulumi.azure.monitoring.kotlin.inputs.ActionGroupWebhookReceiverArgsBuilder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName

/**
 * Manages an Action Group within Azure Monitor.
 * ## Example Usage
 * 
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as azure from "@pulumi/azure";
 * const example = new azure.core.ResourceGroup("example", {
 *     name: "monitoring-resources",
 *     location: "West Europe",
 * });
 * const current = azure.core.getClientConfig({});
 * const exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace("example", {
 *     name: "workspace-01",
 *     location: example.location,
 *     resourceGroupName: example.name,
 * });
 * const exampleActionGroup = new azure.monitoring.ActionGroup("example", {
 *     name: "CriticalAlertsAction",
 *     resourceGroupName: example.name,
 *     shortName: "p0action",
 *     armRoleReceivers: [{
 *         name: "armroleaction",
 *         roleId: "de139f84-1756-47ae-9be6-808fbbe84772",
 *         useCommonAlertSchema: true,
 *     }],
 *     automationRunbookReceivers: [{
 *         name: "action_name_1",
 *         automationAccountId: "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-runbooks/providers/Microsoft.Automation/automationAccounts/aaa001",
 *         runbookName: "my runbook",
 *         webhookResourceId: "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-runbooks/providers/Microsoft.Automation/automationAccounts/aaa001/webHooks/webhook_alert",
 *         isGlobalRunbook: true,
 *         serviceUri: "https://s13events.azure-automation.net/webhooks?token=randomtoken",
 *         useCommonAlertSchema: true,
 *     }],
 *     azureAppPushReceivers: [{
 *         name: "pushtoadmin",
 *         emailAddress: "[email protected]",
 *     }],
 *     azureFunctionReceivers: [{
 *         name: "funcaction",
 *         functionAppResourceId: "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-funcapp/providers/Microsoft.Web/sites/funcapp",
 *         functionName: "myfunc",
 *         httpTriggerUrl: "https://example.com/trigger",
 *         useCommonAlertSchema: true,
 *     }],
 *     emailReceivers: [
 *         {
 *             name: "sendtoadmin",
 *             emailAddress: "[email protected]",
 *         },
 *         {
 *             name: "sendtodevops",
 *             emailAddress: "[email protected]",
 *             useCommonAlertSchema: true,
 *         },
 *     ],
 *     eventHubReceivers: [{
 *         name: "sendtoeventhub",
 *         eventHubNamespace: "eventhubnamespace",
 *         eventHubName: "eventhub1",
 *         subscriptionId: "00000000-0000-0000-0000-000000000000",
 *         useCommonAlertSchema: false,
 *     }],
 *     itsmReceivers: [{
 *         name: "createorupdateticket",
 *         workspaceId: pulumi.all([current, exampleAnalyticsWorkspace.workspaceId]).apply(([current, workspaceId]) => `${current.subscriptionId}|${workspaceId}`),
 *         connectionId: "53de6956-42b4-41ba-be3c-b154cdf17b13",
 *         ticketConfiguration: "{\"PayloadRevision\":0,\"WorkItemType\":\"Incident\",\"UseTemplate\":false,\"WorkItemData\":\"{}\",\"CreateOneWIPerCI\":false}",
 *         region: "southcentralus",
 *     }],
 *     logicAppReceivers: [{
 *         name: "logicappaction",
 *         resourceId: "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-logicapp/providers/Microsoft.Logic/workflows/logicapp",
 *         callbackUrl: "https://logicapptriggerurl/...",
 *         useCommonAlertSchema: true,
 *     }],
 *     smsReceivers: [{
 *         name: "oncallmsg",
 *         countryCode: "1",
 *         phoneNumber: "1231231234",
 *     }],
 *     voiceReceivers: [{
 *         name: "remotesupport",
 *         countryCode: "86",
 *         phoneNumber: "13888888888",
 *     }],
 *     webhookReceivers: [{
 *         name: "callmyapiaswell",
 *         serviceUri: "http://example.com/alert",
 *         useCommonAlertSchema: true,
 *     }],
 * });
 * ```
 * ```python
 * import pulumi
 * import pulumi_azure as azure
 * example = azure.core.ResourceGroup("example",
 *     name="monitoring-resources",
 *     location="West Europe")
 * current = azure.core.get_client_config()
 * example_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace("example",
 *     name="workspace-01",
 *     location=example.location,
 *     resource_group_name=example.name)
 * example_action_group = azure.monitoring.ActionGroup("example",
 *     name="CriticalAlertsAction",
 *     resource_group_name=example.name,
 *     short_name="p0action",
 *     arm_role_receivers=[{
 *         "name": "armroleaction",
 *         "role_id": "de139f84-1756-47ae-9be6-808fbbe84772",
 *         "use_common_alert_schema": True,
 *     }],
 *     automation_runbook_receivers=[{
 *         "name": "action_name_1",
 *         "automation_account_id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-runbooks/providers/Microsoft.Automation/automationAccounts/aaa001",
 *         "runbook_name": "my runbook",
 *         "webhook_resource_id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-runbooks/providers/Microsoft.Automation/automationAccounts/aaa001/webHooks/webhook_alert",
 *         "is_global_runbook": True,
 *         "service_uri": "https://s13events.azure-automation.net/webhooks?token=randomtoken",
 *         "use_common_alert_schema": True,
 *     }],
 *     azure_app_push_receivers=[{
 *         "name": "pushtoadmin",
 *         "email_address": "[email protected]",
 *     }],
 *     azure_function_receivers=[{
 *         "name": "funcaction",
 *         "function_app_resource_id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-funcapp/providers/Microsoft.Web/sites/funcapp",
 *         "function_name": "myfunc",
 *         "http_trigger_url": "https://example.com/trigger",
 *         "use_common_alert_schema": True,
 *     }],
 *     email_receivers=[
 *         {
 *             "name": "sendtoadmin",
 *             "email_address": "[email protected]",
 *         },
 *         {
 *             "name": "sendtodevops",
 *             "email_address": "[email protected]",
 *             "use_common_alert_schema": True,
 *         },
 *     ],
 *     event_hub_receivers=[{
 *         "name": "sendtoeventhub",
 *         "event_hub_namespace": "eventhubnamespace",
 *         "event_hub_name": "eventhub1",
 *         "subscription_id": "00000000-0000-0000-0000-000000000000",
 *         "use_common_alert_schema": False,
 *     }],
 *     itsm_receivers=[{
 *         "name": "createorupdateticket",
 *         "workspace_id": example_analytics_workspace.workspace_id.apply(lambda workspace_id: f"{current.subscription_id}|{workspace_id}"),
 *         "connection_id": "53de6956-42b4-41ba-be3c-b154cdf17b13",
 *         "ticket_configuration": "{\"PayloadRevision\":0,\"WorkItemType\":\"Incident\",\"UseTemplate\":false,\"WorkItemData\":\"{}\",\"CreateOneWIPerCI\":false}",
 *         "region": "southcentralus",
 *     }],
 *     logic_app_receivers=[{
 *         "name": "logicappaction",
 *         "resource_id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-logicapp/providers/Microsoft.Logic/workflows/logicapp",
 *         "callback_url": "https://logicapptriggerurl/...",
 *         "use_common_alert_schema": True,
 *     }],
 *     sms_receivers=[{
 *         "name": "oncallmsg",
 *         "country_code": "1",
 *         "phone_number": "1231231234",
 *     }],
 *     voice_receivers=[{
 *         "name": "remotesupport",
 *         "country_code": "86",
 *         "phone_number": "13888888888",
 *     }],
 *     webhook_receivers=[{
 *         "name": "callmyapiaswell",
 *         "service_uri": "http://example.com/alert",
 *         "use_common_alert_schema": True,
 *     }])
 * ```
 * ```csharp
 * using System.Collections.Generic;
 * using System.Linq;
 * using Pulumi;
 * using Azure = Pulumi.Azure;
 * return await Deployment.RunAsync(() =>
 * {
 *     var example = new Azure.Core.ResourceGroup("example", new()
 *     {
 *         Name = "monitoring-resources",
 *         Location = "West Europe",
 *     });
 *     var current = Azure.Core.GetClientConfig.Invoke();
 *     var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace("example", new()
 *     {
 *         Name = "workspace-01",
 *         Location = example.Location,
 *         ResourceGroupName = example.Name,
 *     });
 *     var exampleActionGroup = new Azure.Monitoring.ActionGroup("example", new()
 *     {
 *         Name = "CriticalAlertsAction",
 *         ResourceGroupName = example.Name,
 *         ShortName = "p0action",
 *         ArmRoleReceivers = new[]
 *         {
 *             new Azure.Monitoring.Inputs.ActionGroupArmRoleReceiverArgs
 *             {
 *                 Name = "armroleaction",
 *                 RoleId = "de139f84-1756-47ae-9be6-808fbbe84772",
 *                 UseCommonAlertSchema = true,
 *             },
 *         },
 *         AutomationRunbookReceivers = new[]
 *         {
 *             new Azure.Monitoring.Inputs.ActionGroupAutomationRunbookReceiverArgs
 *             {
 *                 Name = "action_name_1",
 *                 AutomationAccountId = "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-runbooks/providers/Microsoft.Automation/automationAccounts/aaa001",
 *                 RunbookName = "my runbook",
 *                 WebhookResourceId = "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-runbooks/providers/Microsoft.Automation/automationAccounts/aaa001/webHooks/webhook_alert",
 *                 IsGlobalRunbook = true,
 *                 ServiceUri = "https://s13events.azure-automation.net/webhooks?token=randomtoken",
 *                 UseCommonAlertSchema = true,
 *             },
 *         },
 *         AzureAppPushReceivers = new[]
 *         {
 *             new Azure.Monitoring.Inputs.ActionGroupAzureAppPushReceiverArgs
 *             {
 *                 Name = "pushtoadmin",
 *                 EmailAddress = "[email protected]",
 *             },
 *         },
 *         AzureFunctionReceivers = new[]
 *         {
 *             new Azure.Monitoring.Inputs.ActionGroupAzureFunctionReceiverArgs
 *             {
 *                 Name = "funcaction",
 *                 FunctionAppResourceId = "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-funcapp/providers/Microsoft.Web/sites/funcapp",
 *                 FunctionName = "myfunc",
 *                 HttpTriggerUrl = "https://example.com/trigger",
 *                 UseCommonAlertSchema = true,
 *             },
 *         },
 *         EmailReceivers = new[]
 *         {
 *             new Azure.Monitoring.Inputs.ActionGroupEmailReceiverArgs
 *             {
 *                 Name = "sendtoadmin",
 *                 EmailAddress = "[email protected]",
 *             },
 *             new Azure.Monitoring.Inputs.ActionGroupEmailReceiverArgs
 *             {
 *                 Name = "sendtodevops",
 *                 EmailAddress = "[email protected]",
 *                 UseCommonAlertSchema = true,
 *             },
 *         },
 *         EventHubReceivers = new[]
 *         {
 *             new Azure.Monitoring.Inputs.ActionGroupEventHubReceiverArgs
 *             {
 *                 Name = "sendtoeventhub",
 *                 EventHubNamespace = "eventhubnamespace",
 *                 EventHubName = "eventhub1",
 *                 SubscriptionId = "00000000-0000-0000-0000-000000000000",
 *                 UseCommonAlertSchema = false,
 *             },
 *         },
 *         ItsmReceivers = new[]
 *         {
 *             new Azure.Monitoring.Inputs.ActionGroupItsmReceiverArgs
 *             {
 *                 Name = "createorupdateticket",
 *                 WorkspaceId = Output.Tuple(current, exampleAnalyticsWorkspace.WorkspaceId).Apply(values =>
 *                 {
 *                     var current = values.Item1;
 *                     var workspaceId = values.Item2;
 *                     return $"{current.Apply(getClientConfigResult => getClientConfigResult.SubscriptionId)}|{workspaceId}";
 *                 }),
 *                 ConnectionId = "53de6956-42b4-41ba-be3c-b154cdf17b13",
 *                 TicketConfiguration = "{\"PayloadRevision\":0,\"WorkItemType\":\"Incident\",\"UseTemplate\":false,\"WorkItemData\":\"{}\",\"CreateOneWIPerCI\":false}",
 *                 Region = "southcentralus",
 *             },
 *         },
 *         LogicAppReceivers = new[]
 *         {
 *             new Azure.Monitoring.Inputs.ActionGroupLogicAppReceiverArgs
 *             {
 *                 Name = "logicappaction",
 *                 ResourceId = "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-logicapp/providers/Microsoft.Logic/workflows/logicapp",
 *                 CallbackUrl = "https://logicapptriggerurl/...",
 *                 UseCommonAlertSchema = true,
 *             },
 *         },
 *         SmsReceivers = new[]
 *         {
 *             new Azure.Monitoring.Inputs.ActionGroupSmsReceiverArgs
 *             {
 *                 Name = "oncallmsg",
 *                 CountryCode = "1",
 *                 PhoneNumber = "1231231234",
 *             },
 *         },
 *         VoiceReceivers = new[]
 *         {
 *             new Azure.Monitoring.Inputs.ActionGroupVoiceReceiverArgs
 *             {
 *                 Name = "remotesupport",
 *                 CountryCode = "86",
 *                 PhoneNumber = "13888888888",
 *             },
 *         },
 *         WebhookReceivers = new[]
 *         {
 *             new Azure.Monitoring.Inputs.ActionGroupWebhookReceiverArgs
 *             {
 *                 Name = "callmyapiaswell",
 *                 ServiceUri = "http://example.com/alert",
 *                 UseCommonAlertSchema = true,
 *             },
 *         },
 *     });
 * });
 * ```
 * ```go
 * package main
 * import (
 * 	"fmt"
 * 	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
 * 	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/monitoring"
 * 	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/operationalinsights"
 * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
 * )
 * func main() {
 * 	pulumi.Run(func(ctx *pulumi.Context) error {
 * 		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
 * 			Name:     pulumi.String("monitoring-resources"),
 * 			Location: pulumi.String("West Europe"),
 * 		})
 * 		if err != nil {
 * 			return err
 * 		}
 * 		current, err := core.GetClientConfig(ctx, nil, nil)
 * 		if err != nil {
 * 			return err
 * 		}
 * 		exampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, "example", &operationalinsights.AnalyticsWorkspaceArgs{
 * 			Name:              pulumi.String("workspace-01"),
 * 			Location:          example.Location,
 * 			ResourceGroupName: example.Name,
 * 		})
 * 		if err != nil {
 * 			return err
 * 		}
 * 		_, err = monitoring.NewActionGroup(ctx, "example", &monitoring.ActionGroupArgs{
 * 			Name:              pulumi.String("CriticalAlertsAction"),
 * 			ResourceGroupName: example.Name,
 * 			ShortName:         pulumi.String("p0action"),
 * 			ArmRoleReceivers: monitoring.ActionGroupArmRoleReceiverArray{
 * 				&monitoring.ActionGroupArmRoleReceiverArgs{
 * 					Name:                 pulumi.String("armroleaction"),
 * 					RoleId:               pulumi.String("de139f84-1756-47ae-9be6-808fbbe84772"),
 * 					UseCommonAlertSchema: pulumi.Bool(true),
 * 				},
 * 			},
 * 			AutomationRunbookReceivers: monitoring.ActionGroupAutomationRunbookReceiverArray{
 * 				&monitoring.ActionGroupAutomationRunbookReceiverArgs{
 * 					Name:                 pulumi.String("action_name_1"),
 * 					AutomationAccountId:  pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-runbooks/providers/Microsoft.Automation/automationAccounts/aaa001"),
 * 					RunbookName:          pulumi.String("my runbook"),
 * 					WebhookResourceId:    pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-runbooks/providers/Microsoft.Automation/automationAccounts/aaa001/webHooks/webhook_alert"),
 * 					IsGlobalRunbook:      pulumi.Bool(true),
 * 					ServiceUri:           pulumi.String("https://s13events.azure-automation.net/webhooks?token=randomtoken"),
 * 					UseCommonAlertSchema: pulumi.Bool(true),
 * 				},
 * 			},
 * 			AzureAppPushReceivers: monitoring.ActionGroupAzureAppPushReceiverArray{
 * 				&monitoring.ActionGroupAzureAppPushReceiverArgs{
 * 					Name:         pulumi.String("pushtoadmin"),
 * 					EmailAddress: pulumi.String("[email protected]"),
 * 				},
 * 			},
 * 			AzureFunctionReceivers: monitoring.ActionGroupAzureFunctionReceiverArray{
 * 				&monitoring.ActionGroupAzureFunctionReceiverArgs{
 * 					Name:                  pulumi.String("funcaction"),
 * 					FunctionAppResourceId: pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-funcapp/providers/Microsoft.Web/sites/funcapp"),
 * 					FunctionName:          pulumi.String("myfunc"),
 * 					HttpTriggerUrl:        pulumi.String("https://example.com/trigger"),
 * 					UseCommonAlertSchema:  pulumi.Bool(true),
 * 				},
 * 			},
 * 			EmailReceivers: monitoring.ActionGroupEmailReceiverArray{
 * 				&monitoring.ActionGroupEmailReceiverArgs{
 * 					Name:         pulumi.String("sendtoadmin"),
 * 					EmailAddress: pulumi.String("[email protected]"),
 * 				},
 * 				&monitoring.ActionGroupEmailReceiverArgs{
 * 					Name:                 pulumi.String("sendtodevops"),
 * 					EmailAddress:         pulumi.String("[email protected]"),
 * 					UseCommonAlertSchema: pulumi.Bool(true),
 * 				},
 * 			},
 * 			EventHubReceivers: monitoring.ActionGroupEventHubReceiverArray{
 * 				&monitoring.ActionGroupEventHubReceiverArgs{
 * 					Name:                 pulumi.String("sendtoeventhub"),
 * 					EventHubNamespace:    pulumi.String("eventhubnamespace"),
 * 					EventHubName:         pulumi.String("eventhub1"),
 * 					SubscriptionId:       pulumi.String("00000000-0000-0000-0000-000000000000"),
 * 					UseCommonAlertSchema: pulumi.Bool(false),
 * 				},
 * 			},
 * 			ItsmReceivers: monitoring.ActionGroupItsmReceiverArray{
 * 				&monitoring.ActionGroupItsmReceiverArgs{
 * 					Name: pulumi.String("createorupdateticket"),
 * 					WorkspaceId: exampleAnalyticsWorkspace.WorkspaceId.ApplyT(func(workspaceId string) (string, error) {
 * 						return fmt.Sprintf("%v|%v", current.SubscriptionId, workspaceId), nil
 * 					}).(pulumi.StringOutput),
 * 					ConnectionId:        pulumi.String("53de6956-42b4-41ba-be3c-b154cdf17b13"),
 * 					TicketConfiguration: pulumi.String("{\"PayloadRevision\":0,\"WorkItemType\":\"Incident\",\"UseTemplate\":false,\"WorkItemData\":\"{}\",\"CreateOneWIPerCI\":false}"),
 * 					Region:              pulumi.String("southcentralus"),
 * 				},
 * 			},
 * 			LogicAppReceivers: monitoring.ActionGroupLogicAppReceiverArray{
 * 				&monitoring.ActionGroupLogicAppReceiverArgs{
 * 					Name:                 pulumi.String("logicappaction"),
 * 					ResourceId:           pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-logicapp/providers/Microsoft.Logic/workflows/logicapp"),
 * 					CallbackUrl:          pulumi.String("https://logicapptriggerurl/..."),
 * 					UseCommonAlertSchema: pulumi.Bool(true),
 * 				},
 * 			},
 * 			SmsReceivers: monitoring.ActionGroupSmsReceiverArray{
 * 				&monitoring.ActionGroupSmsReceiverArgs{
 * 					Name:        pulumi.String("oncallmsg"),
 * 					CountryCode: pulumi.String("1"),
 * 					PhoneNumber: pulumi.String("1231231234"),
 * 				},
 * 			},
 * 			VoiceReceivers: monitoring.ActionGroupVoiceReceiverArray{
 * 				&monitoring.ActionGroupVoiceReceiverArgs{
 * 					Name:        pulumi.String("remotesupport"),
 * 					CountryCode: pulumi.String("86"),
 * 					PhoneNumber: pulumi.String("13888888888"),
 * 				},
 * 			},
 * 			WebhookReceivers: monitoring.ActionGroupWebhookReceiverArray{
 * 				&monitoring.ActionGroupWebhookReceiverArgs{
 * 					Name:                 pulumi.String("callmyapiaswell"),
 * 					ServiceUri:           pulumi.String("http://example.com/alert"),
 * 					UseCommonAlertSchema: pulumi.Bool(true),
 * 				},
 * 			},
 * 		})
 * 		if err != nil {
 * 			return err
 * 		}
 * 		return nil
 * 	})
 * }
 * ```
 * ```java
 * package generated_program;
 * import com.pulumi.Context;
 * import com.pulumi.Pulumi;
 * import com.pulumi.core.Output;
 * import com.pulumi.azure.core.ResourceGroup;
 * import com.pulumi.azure.core.ResourceGroupArgs;
 * import com.pulumi.azure.core.CoreFunctions;
 * import com.pulumi.azure.operationalinsights.AnalyticsWorkspace;
 * import com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;
 * import com.pulumi.azure.monitoring.ActionGroup;
 * import com.pulumi.azure.monitoring.ActionGroupArgs;
 * import com.pulumi.azure.monitoring.inputs.ActionGroupArmRoleReceiverArgs;
 * import com.pulumi.azure.monitoring.inputs.ActionGroupAutomationRunbookReceiverArgs;
 * import com.pulumi.azure.monitoring.inputs.ActionGroupAzureAppPushReceiverArgs;
 * import com.pulumi.azure.monitoring.inputs.ActionGroupAzureFunctionReceiverArgs;
 * import com.pulumi.azure.monitoring.inputs.ActionGroupEmailReceiverArgs;
 * import com.pulumi.azure.monitoring.inputs.ActionGroupEventHubReceiverArgs;
 * import com.pulumi.azure.monitoring.inputs.ActionGroupItsmReceiverArgs;
 * import com.pulumi.azure.monitoring.inputs.ActionGroupLogicAppReceiverArgs;
 * import com.pulumi.azure.monitoring.inputs.ActionGroupSmsReceiverArgs;
 * import com.pulumi.azure.monitoring.inputs.ActionGroupVoiceReceiverArgs;
 * import com.pulumi.azure.monitoring.inputs.ActionGroupWebhookReceiverArgs;
 * 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 ResourceGroup("example", ResourceGroupArgs.builder()
 *             .name("monitoring-resources")
 *             .location("West Europe")
 *             .build());
 *         final var current = CoreFunctions.getClientConfig();
 *         var exampleAnalyticsWorkspace = new AnalyticsWorkspace("exampleAnalyticsWorkspace", AnalyticsWorkspaceArgs.builder()
 *             .name("workspace-01")
 *             .location(example.location())
 *             .resourceGroupName(example.name())
 *             .build());
 *         var exampleActionGroup = new ActionGroup("exampleActionGroup", ActionGroupArgs.builder()
 *             .name("CriticalAlertsAction")
 *             .resourceGroupName(example.name())
 *             .shortName("p0action")
 *             .armRoleReceivers(ActionGroupArmRoleReceiverArgs.builder()
 *                 .name("armroleaction")
 *                 .roleId("de139f84-1756-47ae-9be6-808fbbe84772")
 *                 .useCommonAlertSchema(true)
 *                 .build())
 *             .automationRunbookReceivers(ActionGroupAutomationRunbookReceiverArgs.builder()
 *                 .name("action_name_1")
 *                 .automationAccountId("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-runbooks/providers/Microsoft.Automation/automationAccounts/aaa001")
 *                 .runbookName("my runbook")
 *                 .webhookResourceId("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-runbooks/providers/Microsoft.Automation/automationAccounts/aaa001/webHooks/webhook_alert")
 *                 .isGlobalRunbook(true)
 *                 .serviceUri("https://s13events.azure-automation.net/webhooks?token=randomtoken")
 *                 .useCommonAlertSchema(true)
 *                 .build())
 *             .azureAppPushReceivers(ActionGroupAzureAppPushReceiverArgs.builder()
 *                 .name("pushtoadmin")
 *                 .emailAddress("[email protected]")
 *                 .build())
 *             .azureFunctionReceivers(ActionGroupAzureFunctionReceiverArgs.builder()
 *                 .name("funcaction")
 *                 .functionAppResourceId("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-funcapp/providers/Microsoft.Web/sites/funcapp")
 *                 .functionName("myfunc")
 *                 .httpTriggerUrl("https://example.com/trigger")
 *                 .useCommonAlertSchema(true)
 *                 .build())
 *             .emailReceivers(
 *                 ActionGroupEmailReceiverArgs.builder()
 *                     .name("sendtoadmin")
 *                     .emailAddress("[email protected]")
 *                     .build(),
 *                 ActionGroupEmailReceiverArgs.builder()
 *                     .name("sendtodevops")
 *                     .emailAddress("[email protected]")
 *                     .useCommonAlertSchema(true)
 *                     .build())
 *             .eventHubReceivers(ActionGroupEventHubReceiverArgs.builder()
 *                 .name("sendtoeventhub")
 *                 .eventHubNamespace("eventhubnamespace")
 *                 .eventHubName("eventhub1")
 *                 .subscriptionId("00000000-0000-0000-0000-000000000000")
 *                 .useCommonAlertSchema(false)
 *                 .build())
 *             .itsmReceivers(ActionGroupItsmReceiverArgs.builder()
 *                 .name("createorupdateticket")
 *                 .workspaceId(exampleAnalyticsWorkspace.workspaceId().applyValue(workspaceId -> String.format("%s|%s", current.applyValue(getClientConfigResult -> getClientConfigResult.subscriptionId()),workspaceId)))
 *                 .connectionId("53de6956-42b4-41ba-be3c-b154cdf17b13")
 *                 .ticketConfiguration("{\"PayloadRevision\":0,\"WorkItemType\":\"Incident\",\"UseTemplate\":false,\"WorkItemData\":\"{}\",\"CreateOneWIPerCI\":false}")
 *                 .region("southcentralus")
 *                 .build())
 *             .logicAppReceivers(ActionGroupLogicAppReceiverArgs.builder()
 *                 .name("logicappaction")
 *                 .resourceId("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-logicapp/providers/Microsoft.Logic/workflows/logicapp")
 *                 .callbackUrl("https://logicapptriggerurl/...")
 *                 .useCommonAlertSchema(true)
 *                 .build())
 *             .smsReceivers(ActionGroupSmsReceiverArgs.builder()
 *                 .name("oncallmsg")
 *                 .countryCode("1")
 *                 .phoneNumber("1231231234")
 *                 .build())
 *             .voiceReceivers(ActionGroupVoiceReceiverArgs.builder()
 *                 .name("remotesupport")
 *                 .countryCode("86")
 *                 .phoneNumber("13888888888")
 *                 .build())
 *             .webhookReceivers(ActionGroupWebhookReceiverArgs.builder()
 *                 .name("callmyapiaswell")
 *                 .serviceUri("http://example.com/alert")
 *                 .useCommonAlertSchema(true)
 *                 .build())
 *             .build());
 *     }
 * }
 * ```
 * ```yaml
 * resources:
 *   example:
 *     type: azure:core:ResourceGroup
 *     properties:
 *       name: monitoring-resources
 *       location: West Europe
 *   exampleAnalyticsWorkspace:
 *     type: azure:operationalinsights:AnalyticsWorkspace
 *     name: example
 *     properties:
 *       name: workspace-01
 *       location: ${example.location}
 *       resourceGroupName: ${example.name}
 *   exampleActionGroup:
 *     type: azure:monitoring:ActionGroup
 *     name: example
 *     properties:
 *       name: CriticalAlertsAction
 *       resourceGroupName: ${example.name}
 *       shortName: p0action
 *       armRoleReceivers:
 *         - name: armroleaction
 *           roleId: de139f84-1756-47ae-9be6-808fbbe84772
 *           useCommonAlertSchema: true
 *       automationRunbookReceivers:
 *         - name: action_name_1
 *           automationAccountId: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-runbooks/providers/Microsoft.Automation/automationAccounts/aaa001
 *           runbookName: my runbook
 *           webhookResourceId: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-runbooks/providers/Microsoft.Automation/automationAccounts/aaa001/webHooks/webhook_alert
 *           isGlobalRunbook: true
 *           serviceUri: https://s13events.azure-automation.net/webhooks?token=randomtoken
 *           useCommonAlertSchema: true
 *       azureAppPushReceivers:
 *         - name: pushtoadmin
 *           emailAddress: [email protected]
 *       azureFunctionReceivers:
 *         - name: funcaction
 *           functionAppResourceId: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-funcapp/providers/Microsoft.Web/sites/funcapp
 *           functionName: myfunc
 *           httpTriggerUrl: https://example.com/trigger
 *           useCommonAlertSchema: true
 *       emailReceivers:
 *         - name: sendtoadmin
 *           emailAddress: [email protected]
 *         - name: sendtodevops
 *           emailAddress: [email protected]
 *           useCommonAlertSchema: true
 *       eventHubReceivers:
 *         - name: sendtoeventhub
 *           eventHubNamespace: eventhubnamespace
 *           eventHubName: eventhub1
 *           subscriptionId: 00000000-0000-0000-0000-000000000000
 *           useCommonAlertSchema: false
 *       itsmReceivers:
 *         - name: createorupdateticket
 *           workspaceId: ${current.subscriptionId}|${exampleAnalyticsWorkspace.workspaceId}
 *           connectionId: 53de6956-42b4-41ba-be3c-b154cdf17b13
 *           ticketConfiguration: '{"PayloadRevision":0,"WorkItemType":"Incident","UseTemplate":false,"WorkItemData":"{}","CreateOneWIPerCI":false}'
 *           region: southcentralus
 *       logicAppReceivers:
 *         - name: logicappaction
 *           resourceId: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-logicapp/providers/Microsoft.Logic/workflows/logicapp
 *           callbackUrl: https://logicapptriggerurl/...
 *           useCommonAlertSchema: true
 *       smsReceivers:
 *         - name: oncallmsg
 *           countryCode: '1'
 *           phoneNumber: '1231231234'
 *       voiceReceivers:
 *         - name: remotesupport
 *           countryCode: '86'
 *           phoneNumber: '13888888888'
 *       webhookReceivers:
 *         - name: callmyapiaswell
 *           serviceUri: http://example.com/alert
 *           useCommonAlertSchema: true
 * variables:
 *   current:
 *     fn::invoke:
 *       Function: azure:core:getClientConfig
 *       Arguments: {}
 * ```
 * 
 * ## Import
 * Action Groups can be imported using the `resource id`, e.g.
 * ```sh
 * $ pulumi import azure:monitoring/actionGroup:ActionGroup example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Insights/actionGroups/myagname
 * ```
 * @property armRoleReceivers One or more `arm_role_receiver` blocks as defined below.
 * @property automationRunbookReceivers One or more `automation_runbook_receiver` blocks as defined below.
 * @property azureAppPushReceivers One or more `azure_app_push_receiver` blocks as defined below.
 * @property azureFunctionReceivers One or more `azure_function_receiver` blocks as defined below.
 * @property emailReceivers One or more `email_receiver` blocks as defined below.
 * @property enabled Whether this action group is enabled. If an action group is not enabled, then none of its receivers will receive communications. Defaults to `true`.
 * @property eventHubReceivers One or more `event_hub_receiver` blocks as defined below.
 * @property itsmReceivers One or more `itsm_receiver` blocks as defined below.
 * @property location The Azure Region where the Action Group should exist. Changing this forces a new Action Group to be created. Defaults to `global`.
 * @property logicAppReceivers One or more `logic_app_receiver` blocks as defined below.
 * @property name The name of the Action Group. Changing this forces a new resource to be created.
 * @property resourceGroupName The name of the resource group in which to create the Action Group instance. Changing this forces a new resource to be created.
 * @property shortName The short name of the action group. This will be used in SMS messages.
 * @property smsReceivers One or more `sms_receiver` blocks as defined below.
 * @property tags A mapping of tags to assign to the resource.
 * @property voiceReceivers One or more `voice_receiver` blocks as defined below.
 * @property webhookReceivers One or more `webhook_receiver` blocks as defined below.
 */
public data class ActionGroupArgs(
    public val armRoleReceivers: Output>? = null,
    public val automationRunbookReceivers: Output>? =
        null,
    public val azureAppPushReceivers: Output>? = null,
    public val azureFunctionReceivers: Output>? = null,
    public val emailReceivers: Output>? = null,
    public val enabled: Output? = null,
    public val eventHubReceivers: Output>? = null,
    public val itsmReceivers: Output>? = null,
    public val location: Output? = null,
    public val logicAppReceivers: Output>? = null,
    public val name: Output? = null,
    public val resourceGroupName: Output? = null,
    public val shortName: Output? = null,
    public val smsReceivers: Output>? = null,
    public val tags: Output>? = null,
    public val voiceReceivers: Output>? = null,
    public val webhookReceivers: Output>? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azure.monitoring.ActionGroupArgs =
        com.pulumi.azure.monitoring.ActionGroupArgs.builder()
            .armRoleReceivers(
                armRoleReceivers?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .automationRunbookReceivers(
                automationRunbookReceivers?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .azureAppPushReceivers(
                azureAppPushReceivers?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .azureFunctionReceivers(
                azureFunctionReceivers?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .emailReceivers(
                emailReceivers?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .enabled(enabled?.applyValue({ args0 -> args0 }))
            .eventHubReceivers(
                eventHubReceivers?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .itsmReceivers(
                itsmReceivers?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .location(location?.applyValue({ args0 -> args0 }))
            .logicAppReceivers(
                logicAppReceivers?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .name(name?.applyValue({ args0 -> args0 }))
            .resourceGroupName(resourceGroupName?.applyValue({ args0 -> args0 }))
            .shortName(shortName?.applyValue({ args0 -> args0 }))
            .smsReceivers(
                smsReceivers?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0.key.to(args0.value) }).toMap() }))
            .voiceReceivers(
                voiceReceivers?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .webhookReceivers(
                webhookReceivers?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            ).build()
}

/**
 * Builder for [ActionGroupArgs].
 */
@PulumiTagMarker
public class ActionGroupArgsBuilder internal constructor() {
    private var armRoleReceivers: Output>? = null

    private var automationRunbookReceivers: Output>? =
        null

    private var azureAppPushReceivers: Output>? = null

    private var azureFunctionReceivers: Output>? = null

    private var emailReceivers: Output>? = null

    private var enabled: Output? = null

    private var eventHubReceivers: Output>? = null

    private var itsmReceivers: Output>? = null

    private var location: Output? = null

    private var logicAppReceivers: Output>? = null

    private var name: Output? = null

    private var resourceGroupName: Output? = null

    private var shortName: Output? = null

    private var smsReceivers: Output>? = null

    private var tags: Output>? = null

    private var voiceReceivers: Output>? = null

    private var webhookReceivers: Output>? = null

    /**
     * @param value One or more `arm_role_receiver` blocks as defined below.
     */
    @JvmName("hwbqvxdfhrewnykx")
    public suspend fun armRoleReceivers(`value`: Output>) {
        this.armRoleReceivers = value
    }

    @JvmName("lfmlsawtonbyhuhi")
    public suspend fun armRoleReceivers(vararg values: Output) {
        this.armRoleReceivers = Output.all(values.asList())
    }

    /**
     * @param values One or more `arm_role_receiver` blocks as defined below.
     */
    @JvmName("jfyfpyyrrbhqhgmb")
    public suspend fun armRoleReceivers(values: List>) {
        this.armRoleReceivers = Output.all(values)
    }

    /**
     * @param value One or more `automation_runbook_receiver` blocks as defined below.
     */
    @JvmName("faytxeiacfechjfb")
    public suspend fun automationRunbookReceivers(`value`: Output>) {
        this.automationRunbookReceivers = value
    }

    @JvmName("elwsowdilepofunh")
    public suspend fun automationRunbookReceivers(vararg values: Output) {
        this.automationRunbookReceivers = Output.all(values.asList())
    }

    /**
     * @param values One or more `automation_runbook_receiver` blocks as defined below.
     */
    @JvmName("nmlpqfxcoilbkhii")
    public suspend fun automationRunbookReceivers(values: List>) {
        this.automationRunbookReceivers = Output.all(values)
    }

    /**
     * @param value One or more `azure_app_push_receiver` blocks as defined below.
     */
    @JvmName("xqythiydlggutlfw")
    public suspend fun azureAppPushReceivers(`value`: Output>) {
        this.azureAppPushReceivers = value
    }

    @JvmName("lauxjohvuwdevrpl")
    public suspend fun azureAppPushReceivers(vararg values: Output) {
        this.azureAppPushReceivers = Output.all(values.asList())
    }

    /**
     * @param values One or more `azure_app_push_receiver` blocks as defined below.
     */
    @JvmName("bdijntnjbjelqmuj")
    public suspend fun azureAppPushReceivers(values: List>) {
        this.azureAppPushReceivers = Output.all(values)
    }

    /**
     * @param value One or more `azure_function_receiver` blocks as defined below.
     */
    @JvmName("mcqqrvqwjcywrupr")
    public suspend fun azureFunctionReceivers(`value`: Output>) {
        this.azureFunctionReceivers = value
    }

    @JvmName("ivwmpnwajncxjqao")
    public suspend fun azureFunctionReceivers(vararg values: Output) {
        this.azureFunctionReceivers = Output.all(values.asList())
    }

    /**
     * @param values One or more `azure_function_receiver` blocks as defined below.
     */
    @JvmName("dlmxhnawvqfvclwm")
    public suspend fun azureFunctionReceivers(values: List>) {
        this.azureFunctionReceivers = Output.all(values)
    }

    /**
     * @param value One or more `email_receiver` blocks as defined below.
     */
    @JvmName("ravvojiqgtvixbpi")
    public suspend fun emailReceivers(`value`: Output>) {
        this.emailReceivers = value
    }

    @JvmName("jfacbvltkjdcvnsi")
    public suspend fun emailReceivers(vararg values: Output) {
        this.emailReceivers = Output.all(values.asList())
    }

    /**
     * @param values One or more `email_receiver` blocks as defined below.
     */
    @JvmName("ohoihnthisyexmwn")
    public suspend fun emailReceivers(values: List>) {
        this.emailReceivers = Output.all(values)
    }

    /**
     * @param value Whether this action group is enabled. If an action group is not enabled, then none of its receivers will receive communications. Defaults to `true`.
     */
    @JvmName("brologmpvxyscqdx")
    public suspend fun enabled(`value`: Output) {
        this.enabled = value
    }

    /**
     * @param value One or more `event_hub_receiver` blocks as defined below.
     */
    @JvmName("gciojqolpacpkamc")
    public suspend fun eventHubReceivers(`value`: Output>) {
        this.eventHubReceivers = value
    }

    @JvmName("qdktsbqxpxjfaqay")
    public suspend fun eventHubReceivers(vararg values: Output) {
        this.eventHubReceivers = Output.all(values.asList())
    }

    /**
     * @param values One or more `event_hub_receiver` blocks as defined below.
     */
    @JvmName("khqardaqutxujqhk")
    public suspend fun eventHubReceivers(values: List>) {
        this.eventHubReceivers = Output.all(values)
    }

    /**
     * @param value One or more `itsm_receiver` blocks as defined below.
     */
    @JvmName("byahrvlayvgowygs")
    public suspend fun itsmReceivers(`value`: Output>) {
        this.itsmReceivers = value
    }

    @JvmName("cayaagvkdgfbfjuk")
    public suspend fun itsmReceivers(vararg values: Output) {
        this.itsmReceivers = Output.all(values.asList())
    }

    /**
     * @param values One or more `itsm_receiver` blocks as defined below.
     */
    @JvmName("ifrqqjqlwnharcgy")
    public suspend fun itsmReceivers(values: List>) {
        this.itsmReceivers = Output.all(values)
    }

    /**
     * @param value The Azure Region where the Action Group should exist. Changing this forces a new Action Group to be created. Defaults to `global`.
     */
    @JvmName("dusamjkugvcrnogn")
    public suspend fun location(`value`: Output) {
        this.location = value
    }

    /**
     * @param value One or more `logic_app_receiver` blocks as defined below.
     */
    @JvmName("tolammkthfexyloh")
    public suspend fun logicAppReceivers(`value`: Output>) {
        this.logicAppReceivers = value
    }

    @JvmName("geqjglumtsbbdldr")
    public suspend fun logicAppReceivers(vararg values: Output) {
        this.logicAppReceivers = Output.all(values.asList())
    }

    /**
     * @param values One or more `logic_app_receiver` blocks as defined below.
     */
    @JvmName("hdhwccnangutiixy")
    public suspend fun logicAppReceivers(values: List>) {
        this.logicAppReceivers = Output.all(values)
    }

    /**
     * @param value The name of the Action Group. Changing this forces a new resource to be created.
     */
    @JvmName("aqdpvneivxccaoeq")
    public suspend fun name(`value`: Output) {
        this.name = value
    }

    /**
     * @param value The name of the resource group in which to create the Action Group instance. Changing this forces a new resource to be created.
     */
    @JvmName("yaydgderglersbrg")
    public suspend fun resourceGroupName(`value`: Output) {
        this.resourceGroupName = value
    }

    /**
     * @param value The short name of the action group. This will be used in SMS messages.
     */
    @JvmName("sljaopnkchymsqhi")
    public suspend fun shortName(`value`: Output) {
        this.shortName = value
    }

    /**
     * @param value One or more `sms_receiver` blocks as defined below.
     */
    @JvmName("ngjpyrbsvcocwsmd")
    public suspend fun smsReceivers(`value`: Output>) {
        this.smsReceivers = value
    }

    @JvmName("neikubxjfkjwjota")
    public suspend fun smsReceivers(vararg values: Output) {
        this.smsReceivers = Output.all(values.asList())
    }

    /**
     * @param values One or more `sms_receiver` blocks as defined below.
     */
    @JvmName("bsrynidfdoqknrkf")
    public suspend fun smsReceivers(values: List>) {
        this.smsReceivers = Output.all(values)
    }

    /**
     * @param value A mapping of tags to assign to the resource.
     */
    @JvmName("atnmslflvsysvvmu")
    public suspend fun tags(`value`: Output>) {
        this.tags = value
    }

    /**
     * @param value One or more `voice_receiver` blocks as defined below.
     */
    @JvmName("iffrndtmvytkrbtl")
    public suspend fun voiceReceivers(`value`: Output>) {
        this.voiceReceivers = value
    }

    @JvmName("gbbqpjnaxkfveghb")
    public suspend fun voiceReceivers(vararg values: Output) {
        this.voiceReceivers = Output.all(values.asList())
    }

    /**
     * @param values One or more `voice_receiver` blocks as defined below.
     */
    @JvmName("akupumdpwrlneyod")
    public suspend fun voiceReceivers(values: List>) {
        this.voiceReceivers = Output.all(values)
    }

    /**
     * @param value One or more `webhook_receiver` blocks as defined below.
     */
    @JvmName("qodciouebenanqkm")
    public suspend fun webhookReceivers(`value`: Output>) {
        this.webhookReceivers = value
    }

    @JvmName("dsyeflqyhhejdsjs")
    public suspend fun webhookReceivers(vararg values: Output) {
        this.webhookReceivers = Output.all(values.asList())
    }

    /**
     * @param values One or more `webhook_receiver` blocks as defined below.
     */
    @JvmName("aqybagrbqmqktbbh")
    public suspend fun webhookReceivers(values: List>) {
        this.webhookReceivers = Output.all(values)
    }

    /**
     * @param value One or more `arm_role_receiver` blocks as defined below.
     */
    @JvmName("wvtmsvpxrvcvqfwi")
    public suspend fun armRoleReceivers(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.armRoleReceivers = mapped
    }

    /**
     * @param argument One or more `arm_role_receiver` blocks as defined below.
     */
    @JvmName("crsxharrdnmfsddt")
    public suspend fun armRoleReceivers(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            ActionGroupArmRoleReceiverArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.armRoleReceivers = mapped
    }

    /**
     * @param argument One or more `arm_role_receiver` blocks as defined below.
     */
    @JvmName("snxqqfqimlgmqwnm")
    public suspend fun armRoleReceivers(vararg argument: suspend ActionGroupArmRoleReceiverArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            ActionGroupArmRoleReceiverArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.armRoleReceivers = mapped
    }

    /**
     * @param argument One or more `arm_role_receiver` blocks as defined below.
     */
    @JvmName("hdxtrccjpuxsvtni")
    public suspend fun armRoleReceivers(argument: suspend ActionGroupArmRoleReceiverArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            ActionGroupArmRoleReceiverArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.armRoleReceivers = mapped
    }

    /**
     * @param values One or more `arm_role_receiver` blocks as defined below.
     */
    @JvmName("lsupsowuxxkgihku")
    public suspend fun armRoleReceivers(vararg values: ActionGroupArmRoleReceiverArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.armRoleReceivers = mapped
    }

    /**
     * @param value One or more `automation_runbook_receiver` blocks as defined below.
     */
    @JvmName("ggbpmhcvfhsgybpu")
    public suspend fun automationRunbookReceivers(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.automationRunbookReceivers = mapped
    }

    /**
     * @param argument One or more `automation_runbook_receiver` blocks as defined below.
     */
    @JvmName("bqcglbtqyvprhqcp")
    public suspend fun automationRunbookReceivers(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            ActionGroupAutomationRunbookReceiverArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.automationRunbookReceivers = mapped
    }

    /**
     * @param argument One or more `automation_runbook_receiver` blocks as defined below.
     */
    @JvmName("plutjsfisbtngqvc")
    public suspend fun automationRunbookReceivers(vararg argument: suspend ActionGroupAutomationRunbookReceiverArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            ActionGroupAutomationRunbookReceiverArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.automationRunbookReceivers = mapped
    }

    /**
     * @param argument One or more `automation_runbook_receiver` blocks as defined below.
     */
    @JvmName("xakgqsqaxgjbacse")
    public suspend fun automationRunbookReceivers(argument: suspend ActionGroupAutomationRunbookReceiverArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            ActionGroupAutomationRunbookReceiverArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.automationRunbookReceivers = mapped
    }

    /**
     * @param values One or more `automation_runbook_receiver` blocks as defined below.
     */
    @JvmName("puuqibrpeubcdoqs")
    public suspend fun automationRunbookReceivers(vararg values: ActionGroupAutomationRunbookReceiverArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.automationRunbookReceivers = mapped
    }

    /**
     * @param value One or more `azure_app_push_receiver` blocks as defined below.
     */
    @JvmName("ewnlfobgcvapanos")
    public suspend fun azureAppPushReceivers(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.azureAppPushReceivers = mapped
    }

    /**
     * @param argument One or more `azure_app_push_receiver` blocks as defined below.
     */
    @JvmName("xsowddegjoqxjsdj")
    public suspend fun azureAppPushReceivers(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            ActionGroupAzureAppPushReceiverArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.azureAppPushReceivers = mapped
    }

    /**
     * @param argument One or more `azure_app_push_receiver` blocks as defined below.
     */
    @JvmName("xosibxjfmdphqcrt")
    public suspend fun azureAppPushReceivers(vararg argument: suspend ActionGroupAzureAppPushReceiverArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            ActionGroupAzureAppPushReceiverArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.azureAppPushReceivers = mapped
    }

    /**
     * @param argument One or more `azure_app_push_receiver` blocks as defined below.
     */
    @JvmName("buvagfoaqwyortqx")
    public suspend fun azureAppPushReceivers(argument: suspend ActionGroupAzureAppPushReceiverArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            ActionGroupAzureAppPushReceiverArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.azureAppPushReceivers = mapped
    }

    /**
     * @param values One or more `azure_app_push_receiver` blocks as defined below.
     */
    @JvmName("apxtfyakrwexttff")
    public suspend fun azureAppPushReceivers(vararg values: ActionGroupAzureAppPushReceiverArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.azureAppPushReceivers = mapped
    }

    /**
     * @param value One or more `azure_function_receiver` blocks as defined below.
     */
    @JvmName("cbiypengkhrdbxbw")
    public suspend fun azureFunctionReceivers(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.azureFunctionReceivers = mapped
    }

    /**
     * @param argument One or more `azure_function_receiver` blocks as defined below.
     */
    @JvmName("gcaqinidasdplcfl")
    public suspend fun azureFunctionReceivers(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            ActionGroupAzureFunctionReceiverArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.azureFunctionReceivers = mapped
    }

    /**
     * @param argument One or more `azure_function_receiver` blocks as defined below.
     */
    @JvmName("brfwiqxqscrbljoc")
    public suspend fun azureFunctionReceivers(vararg argument: suspend ActionGroupAzureFunctionReceiverArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            ActionGroupAzureFunctionReceiverArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.azureFunctionReceivers = mapped
    }

    /**
     * @param argument One or more `azure_function_receiver` blocks as defined below.
     */
    @JvmName("sprykfaisowqynrl")
    public suspend fun azureFunctionReceivers(argument: suspend ActionGroupAzureFunctionReceiverArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            ActionGroupAzureFunctionReceiverArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.azureFunctionReceivers = mapped
    }

    /**
     * @param values One or more `azure_function_receiver` blocks as defined below.
     */
    @JvmName("mcwlvobacoaskmib")
    public suspend fun azureFunctionReceivers(vararg values: ActionGroupAzureFunctionReceiverArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.azureFunctionReceivers = mapped
    }

    /**
     * @param value One or more `email_receiver` blocks as defined below.
     */
    @JvmName("dbfdfpwcffngkjgh")
    public suspend fun emailReceivers(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.emailReceivers = mapped
    }

    /**
     * @param argument One or more `email_receiver` blocks as defined below.
     */
    @JvmName("nfaaubsnsujhblih")
    public suspend fun emailReceivers(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            ActionGroupEmailReceiverArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.emailReceivers = mapped
    }

    /**
     * @param argument One or more `email_receiver` blocks as defined below.
     */
    @JvmName("yqslwwgbvwecrvcv")
    public suspend fun emailReceivers(vararg argument: suspend ActionGroupEmailReceiverArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            ActionGroupEmailReceiverArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.emailReceivers = mapped
    }

    /**
     * @param argument One or more `email_receiver` blocks as defined below.
     */
    @JvmName("khtstjdhsevkqjdu")
    public suspend fun emailReceivers(argument: suspend ActionGroupEmailReceiverArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            ActionGroupEmailReceiverArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.emailReceivers = mapped
    }

    /**
     * @param values One or more `email_receiver` blocks as defined below.
     */
    @JvmName("phxywqoylphuykrr")
    public suspend fun emailReceivers(vararg values: ActionGroupEmailReceiverArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.emailReceivers = mapped
    }

    /**
     * @param value Whether this action group is enabled. If an action group is not enabled, then none of its receivers will receive communications. Defaults to `true`.
     */
    @JvmName("tqhwstcmpeyngjsd")
    public suspend fun enabled(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.enabled = mapped
    }

    /**
     * @param value One or more `event_hub_receiver` blocks as defined below.
     */
    @JvmName("vhiqameaixxuikpf")
    public suspend fun eventHubReceivers(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.eventHubReceivers = mapped
    }

    /**
     * @param argument One or more `event_hub_receiver` blocks as defined below.
     */
    @JvmName("ipytmukvqcyvrmvm")
    public suspend fun eventHubReceivers(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            ActionGroupEventHubReceiverArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.eventHubReceivers = mapped
    }

    /**
     * @param argument One or more `event_hub_receiver` blocks as defined below.
     */
    @JvmName("ygdurndwomjcgpwq")
    public suspend fun eventHubReceivers(vararg argument: suspend ActionGroupEventHubReceiverArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            ActionGroupEventHubReceiverArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.eventHubReceivers = mapped
    }

    /**
     * @param argument One or more `event_hub_receiver` blocks as defined below.
     */
    @JvmName("dsxwmxggxcumcvlk")
    public suspend fun eventHubReceivers(argument: suspend ActionGroupEventHubReceiverArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            ActionGroupEventHubReceiverArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.eventHubReceivers = mapped
    }

    /**
     * @param values One or more `event_hub_receiver` blocks as defined below.
     */
    @JvmName("yebwtbmssijbqjmf")
    public suspend fun eventHubReceivers(vararg values: ActionGroupEventHubReceiverArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.eventHubReceivers = mapped
    }

    /**
     * @param value One or more `itsm_receiver` blocks as defined below.
     */
    @JvmName("ekwpwbiahgacgqok")
    public suspend fun itsmReceivers(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.itsmReceivers = mapped
    }

    /**
     * @param argument One or more `itsm_receiver` blocks as defined below.
     */
    @JvmName("whepgdelhwebdnrr")
    public suspend fun itsmReceivers(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            ActionGroupItsmReceiverArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.itsmReceivers = mapped
    }

    /**
     * @param argument One or more `itsm_receiver` blocks as defined below.
     */
    @JvmName("ujkmtadjmtbrahyn")
    public suspend fun itsmReceivers(vararg argument: suspend ActionGroupItsmReceiverArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            ActionGroupItsmReceiverArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.itsmReceivers = mapped
    }

    /**
     * @param argument One or more `itsm_receiver` blocks as defined below.
     */
    @JvmName("geuxiousohlmmbho")
    public suspend fun itsmReceivers(argument: suspend ActionGroupItsmReceiverArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            ActionGroupItsmReceiverArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.itsmReceivers = mapped
    }

    /**
     * @param values One or more `itsm_receiver` blocks as defined below.
     */
    @JvmName("ocyqgixhsvwstdur")
    public suspend fun itsmReceivers(vararg values: ActionGroupItsmReceiverArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.itsmReceivers = mapped
    }

    /**
     * @param value The Azure Region where the Action Group should exist. Changing this forces a new Action Group to be created. Defaults to `global`.
     */
    @JvmName("vqwipqmkymnihopl")
    public suspend fun location(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.location = mapped
    }

    /**
     * @param value One or more `logic_app_receiver` blocks as defined below.
     */
    @JvmName("fepstfpuhteghbee")
    public suspend fun logicAppReceivers(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.logicAppReceivers = mapped
    }

    /**
     * @param argument One or more `logic_app_receiver` blocks as defined below.
     */
    @JvmName("eghbfsubwhchixho")
    public suspend fun logicAppReceivers(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            ActionGroupLogicAppReceiverArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.logicAppReceivers = mapped
    }

    /**
     * @param argument One or more `logic_app_receiver` blocks as defined below.
     */
    @JvmName("xghyyystitjehydv")
    public suspend fun logicAppReceivers(vararg argument: suspend ActionGroupLogicAppReceiverArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            ActionGroupLogicAppReceiverArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.logicAppReceivers = mapped
    }

    /**
     * @param argument One or more `logic_app_receiver` blocks as defined below.
     */
    @JvmName("lclopygfxjogujit")
    public suspend fun logicAppReceivers(argument: suspend ActionGroupLogicAppReceiverArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            ActionGroupLogicAppReceiverArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.logicAppReceivers = mapped
    }

    /**
     * @param values One or more `logic_app_receiver` blocks as defined below.
     */
    @JvmName("tlxfxjcrqlfomlhk")
    public suspend fun logicAppReceivers(vararg values: ActionGroupLogicAppReceiverArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.logicAppReceivers = mapped
    }

    /**
     * @param value The name of the Action Group. Changing this forces a new resource to be created.
     */
    @JvmName("hhpqrwjmoxxgxewa")
    public suspend fun name(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.name = mapped
    }

    /**
     * @param value The name of the resource group in which to create the Action Group instance. Changing this forces a new resource to be created.
     */
    @JvmName("jiufpqmvpndgmjhq")
    public suspend fun resourceGroupName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.resourceGroupName = mapped
    }

    /**
     * @param value The short name of the action group. This will be used in SMS messages.
     */
    @JvmName("knaunlqqyhcjhdcn")
    public suspend fun shortName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.shortName = mapped
    }

    /**
     * @param value One or more `sms_receiver` blocks as defined below.
     */
    @JvmName("crveqdoagxgogrie")
    public suspend fun smsReceivers(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.smsReceivers = mapped
    }

    /**
     * @param argument One or more `sms_receiver` blocks as defined below.
     */
    @JvmName("xnvcrohcdwbyoucv")
    public suspend fun smsReceivers(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            ActionGroupSmsReceiverArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.smsReceivers = mapped
    }

    /**
     * @param argument One or more `sms_receiver` blocks as defined below.
     */
    @JvmName("palcuodpxsjjjkpk")
    public suspend fun smsReceivers(vararg argument: suspend ActionGroupSmsReceiverArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            ActionGroupSmsReceiverArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.smsReceivers = mapped
    }

    /**
     * @param argument One or more `sms_receiver` blocks as defined below.
     */
    @JvmName("rtwkiryaybaqblfh")
    public suspend fun smsReceivers(argument: suspend ActionGroupSmsReceiverArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(ActionGroupSmsReceiverArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.smsReceivers = mapped
    }

    /**
     * @param values One or more `sms_receiver` blocks as defined below.
     */
    @JvmName("dubjfdhoxranuelt")
    public suspend fun smsReceivers(vararg values: ActionGroupSmsReceiverArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.smsReceivers = mapped
    }

    /**
     * @param value A mapping of tags to assign to the resource.
     */
    @JvmName("afttecrgotiudnio")
    public suspend fun tags(`value`: Map?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.tags = mapped
    }

    /**
     * @param values A mapping of tags to assign to the resource.
     */
    @JvmName("rgfmcgwlbwxjveby")
    public fun tags(vararg values: Pair) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.tags = mapped
    }

    /**
     * @param value One or more `voice_receiver` blocks as defined below.
     */
    @JvmName("chugyvxkoaqtferg")
    public suspend fun voiceReceivers(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.voiceReceivers = mapped
    }

    /**
     * @param argument One or more `voice_receiver` blocks as defined below.
     */
    @JvmName("hcdprlyxfhyxkflk")
    public suspend fun voiceReceivers(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            ActionGroupVoiceReceiverArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.voiceReceivers = mapped
    }

    /**
     * @param argument One or more `voice_receiver` blocks as defined below.
     */
    @JvmName("iaoektjwhlxettxu")
    public suspend fun voiceReceivers(vararg argument: suspend ActionGroupVoiceReceiverArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            ActionGroupVoiceReceiverArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.voiceReceivers = mapped
    }

    /**
     * @param argument One or more `voice_receiver` blocks as defined below.
     */
    @JvmName("qqaglodiymbutmni")
    public suspend fun voiceReceivers(argument: suspend ActionGroupVoiceReceiverArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            ActionGroupVoiceReceiverArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.voiceReceivers = mapped
    }

    /**
     * @param values One or more `voice_receiver` blocks as defined below.
     */
    @JvmName("utnfglfyxxskigyb")
    public suspend fun voiceReceivers(vararg values: ActionGroupVoiceReceiverArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.voiceReceivers = mapped
    }

    /**
     * @param value One or more `webhook_receiver` blocks as defined below.
     */
    @JvmName("muucdflutsouaqvu")
    public suspend fun webhookReceivers(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.webhookReceivers = mapped
    }

    /**
     * @param argument One or more `webhook_receiver` blocks as defined below.
     */
    @JvmName("vtcalthuakirqqqt")
    public suspend fun webhookReceivers(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            ActionGroupWebhookReceiverArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.webhookReceivers = mapped
    }

    /**
     * @param argument One or more `webhook_receiver` blocks as defined below.
     */
    @JvmName("sfmvslkgjwuuqomk")
    public suspend fun webhookReceivers(vararg argument: suspend ActionGroupWebhookReceiverArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            ActionGroupWebhookReceiverArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.webhookReceivers = mapped
    }

    /**
     * @param argument One or more `webhook_receiver` blocks as defined below.
     */
    @JvmName("ochjyyrytqbaxpwm")
    public suspend fun webhookReceivers(argument: suspend ActionGroupWebhookReceiverArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            ActionGroupWebhookReceiverArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.webhookReceivers = mapped
    }

    /**
     * @param values One or more `webhook_receiver` blocks as defined below.
     */
    @JvmName("htrghjxoxfnhbxhh")
    public suspend fun webhookReceivers(vararg values: ActionGroupWebhookReceiverArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.webhookReceivers = mapped
    }

    internal fun build(): ActionGroupArgs = ActionGroupArgs(
        armRoleReceivers = armRoleReceivers,
        automationRunbookReceivers = automationRunbookReceivers,
        azureAppPushReceivers = azureAppPushReceivers,
        azureFunctionReceivers = azureFunctionReceivers,
        emailReceivers = emailReceivers,
        enabled = enabled,
        eventHubReceivers = eventHubReceivers,
        itsmReceivers = itsmReceivers,
        location = location,
        logicAppReceivers = logicAppReceivers,
        name = name,
        resourceGroupName = resourceGroupName,
        shortName = shortName,
        smsReceivers = smsReceivers,
        tags = tags,
        voiceReceivers = voiceReceivers,
        webhookReceivers = webhookReceivers,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy