![JAR search and dependency download from the Maven repository](/logo.png)
com.pulumi.azure.communication.kotlin.EmailServiceDomain.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-azure-kotlin Show documentation
Show all versions of pulumi-azure-kotlin Show documentation
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azure.communication.kotlin
import com.pulumi.azure.communication.kotlin.outputs.EmailServiceDomainVerificationRecord
import com.pulumi.azure.communication.kotlin.outputs.EmailServiceDomainVerificationRecord.Companion.toKotlin
import com.pulumi.core.Output
import com.pulumi.kotlin.KotlinCustomResource
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.ResourceMapper
import com.pulumi.kotlin.options.CustomResourceOptions
import com.pulumi.kotlin.options.CustomResourceOptionsBuilder
import com.pulumi.resources.Resource
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
/**
* Builder for [EmailServiceDomain].
*/
@PulumiTagMarker
public class EmailServiceDomainResourceBuilder internal constructor() {
public var name: String? = null
public var args: EmailServiceDomainArgs = EmailServiceDomainArgs()
public var opts: CustomResourceOptions = CustomResourceOptions()
/**
* @param name The _unique_ name of the resulting resource.
*/
public fun name(`value`: String) {
this.name = value
}
/**
* @param block The arguments to use to populate this resource's properties.
*/
public suspend fun args(block: suspend EmailServiceDomainArgsBuilder.() -> Unit) {
val builder = EmailServiceDomainArgsBuilder()
block(builder)
this.args = builder.build()
}
/**
* @param block A bag of options that control this resource's behavior.
*/
public suspend fun opts(block: suspend CustomResourceOptionsBuilder.() -> Unit) {
this.opts = com.pulumi.kotlin.options.CustomResourceOptions.opts(block)
}
internal fun build(): EmailServiceDomain {
val builtJavaResource =
com.pulumi.azure.communication.EmailServiceDomain(
this.name,
this.args.toJava(),
this.opts.toJava(),
)
return EmailServiceDomain(builtJavaResource)
}
}
/**
* Manages an Email Communication Service Domain.
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as azure from "@pulumi/azure";
* const example = new azure.core.ResourceGroup("example", {
* name: "example-resources",
* location: "West Europe",
* });
* const exampleEmailService = new azure.communication.EmailService("example", {
* name: "example-emailcommunicationservice",
* resourceGroupName: example.name,
* dataLocation: "United States",
* });
* const exampleEmailServiceDomain = new azure.communication.EmailServiceDomain("example", {
* name: "AzureManagedDomain",
* emailServiceId: exampleEmailService.id,
* domainManagement: "AzureManaged",
* });
* ```
* ```python
* import pulumi
* import pulumi_azure as azure
* example = azure.core.ResourceGroup("example",
* name="example-resources",
* location="West Europe")
* example_email_service = azure.communication.EmailService("example",
* name="example-emailcommunicationservice",
* resource_group_name=example.name,
* data_location="United States")
* example_email_service_domain = azure.communication.EmailServiceDomain("example",
* name="AzureManagedDomain",
* email_service_id=example_email_service.id,
* domain_management="AzureManaged")
* ```
* ```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 = "example-resources",
* Location = "West Europe",
* });
* var exampleEmailService = new Azure.Communication.EmailService("example", new()
* {
* Name = "example-emailcommunicationservice",
* ResourceGroupName = example.Name,
* DataLocation = "United States",
* });
* var exampleEmailServiceDomain = new Azure.Communication.EmailServiceDomain("example", new()
* {
* Name = "AzureManagedDomain",
* EmailServiceId = exampleEmailService.Id,
* DomainManagement = "AzureManaged",
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/communication"
* "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
* "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("example-resources"),
* Location: pulumi.String("West Europe"),
* })
* if err != nil {
* return err
* }
* exampleEmailService, err := communication.NewEmailService(ctx, "example", &communication.EmailServiceArgs{
* Name: pulumi.String("example-emailcommunicationservice"),
* ResourceGroupName: example.Name,
* DataLocation: pulumi.String("United States"),
* })
* if err != nil {
* return err
* }
* _, err = communication.NewEmailServiceDomain(ctx, "example", &communication.EmailServiceDomainArgs{
* Name: pulumi.String("AzureManagedDomain"),
* EmailServiceId: exampleEmailService.ID(),
* DomainManagement: pulumi.String("AzureManaged"),
* })
* 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.communication.EmailService;
* import com.pulumi.azure.communication.EmailServiceArgs;
* import com.pulumi.azure.communication.EmailServiceDomain;
* import com.pulumi.azure.communication.EmailServiceDomainArgs;
* 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("example-resources")
* .location("West Europe")
* .build());
* var exampleEmailService = new EmailService("exampleEmailService", EmailServiceArgs.builder()
* .name("example-emailcommunicationservice")
* .resourceGroupName(example.name())
* .dataLocation("United States")
* .build());
* var exampleEmailServiceDomain = new EmailServiceDomain("exampleEmailServiceDomain", EmailServiceDomainArgs.builder()
* .name("AzureManagedDomain")
* .emailServiceId(exampleEmailService.id())
* .domainManagement("AzureManaged")
* .build());
* }
* }
* ```
* ```yaml
* resources:
* example:
* type: azure:core:ResourceGroup
* properties:
* name: example-resources
* location: West Europe
* exampleEmailService:
* type: azure:communication:EmailService
* name: example
* properties:
* name: example-emailcommunicationservice
* resourceGroupName: ${example.name}
* dataLocation: United States
* exampleEmailServiceDomain:
* type: azure:communication:EmailServiceDomain
* name: example
* properties:
* name: AzureManagedDomain
* emailServiceId: ${exampleEmailService.id}
* domainManagement: AzureManaged
* ```
*
* ## Import
* Communication Services can be imported using the `resource id`, e.g.
* ```sh
* $ pulumi import azure:communication/emailServiceDomain:EmailServiceDomain example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Communication/emailServices/emailCommunicationService1/domains/domain1
* ```
*/
public class EmailServiceDomain internal constructor(
override val javaResource: com.pulumi.azure.communication.EmailServiceDomain,
) : KotlinCustomResource(javaResource, EmailServiceDomainMapper) {
/**
* Describes how a Domains resource is being managed. Possible values are `AzureManaged`, `CustomerManaged`, `CustomerManagedInExchangeOnline`. Changing this forces a new Email Communication Service to be created.
*/
public val domainManagement: Output
get() = javaResource.domainManagement().applyValue({ args0 -> args0 })
/**
* The resource ID of the Email Communication Service where the Domain belongs to. Changing this forces a new Email Communication Service to be created.
*/
public val emailServiceId: Output
get() = javaResource.emailServiceId().applyValue({ args0 -> args0 })
/**
* P2 sender domain that is displayed to the email recipients [RFC 5322].
*/
public val fromSenderDomain: Output
get() = javaResource.fromSenderDomain().applyValue({ args0 -> args0 })
/**
* P1 sender domain that is present on the email envelope [RFC 5321].
*/
public val mailFromSenderDomain: Output
get() = javaResource.mailFromSenderDomain().applyValue({ args0 -> args0 })
/**
* The name of the Email Communication Service resource. If `domain_management` is `AzureManaged`, the name must be `AzureManagedDomain`. Changing this forces a new Email Communication Service to be created.
*/
public val name: Output
get() = javaResource.name().applyValue({ args0 -> args0 })
/**
* A mapping of tags which should be assigned to the Email Communication Service.
*/
public val tags: Output
© 2015 - 2025 Weber Informatics LLC | Privacy Policy