Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.aws.sesv2.kotlin.EmailIdentity.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.aws.sesv2.kotlin
import com.pulumi.aws.sesv2.kotlin.outputs.EmailIdentityDkimSigningAttributes
import com.pulumi.aws.sesv2.kotlin.outputs.EmailIdentityDkimSigningAttributes.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.Deprecated
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.Map
/**
* Builder for [EmailIdentity].
*/
@PulumiTagMarker
public class EmailIdentityResourceBuilder internal constructor() {
public var name: String? = null
public var args: EmailIdentityArgs = EmailIdentityArgs()
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 EmailIdentityArgsBuilder.() -> Unit) {
val builder = EmailIdentityArgsBuilder()
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(): EmailIdentity {
val builtJavaResource = com.pulumi.aws.sesv2.EmailIdentity(
this.name,
this.args.toJava(),
this.opts.toJava(),
)
return EmailIdentity(builtJavaResource)
}
}
/**
* Resource for managing an AWS SESv2 (Simple Email V2) Email Identity.
* ## Example Usage
* ### Basic Usage
* ### Email Address Identity
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
* const example = new aws.sesv2.EmailIdentity("example", {emailIdentity: "[email protected] "});
* ```
* ```python
* import pulumi
* import pulumi_aws as aws
* example = aws.sesv2.EmailIdentity("example", email_identity="[email protected] ")
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Aws = Pulumi.Aws;
* return await Deployment.RunAsync(() =>
* {
* var example = new Aws.SesV2.EmailIdentity("example", new()
* {
* EmailIdentityDetails = "[email protected] ",
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* _, err := sesv2.NewEmailIdentity(ctx, "example", &sesv2.EmailIdentityArgs{
* EmailIdentity: pulumi.String("[email protected] "),
* })
* 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.aws.sesv2.EmailIdentity;
* import com.pulumi.aws.sesv2.EmailIdentityArgs;
* 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 EmailIdentity("example", EmailIdentityArgs.builder()
* .emailIdentity("[email protected] ")
* .build());
* }
* }
* ```
* ```yaml
* resources:
* example:
* type: aws:sesv2:EmailIdentity
* properties:
* emailIdentity: [email protected]
* ```
*
* ### Domain Identity
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
* const example = new aws.sesv2.EmailIdentity("example", {emailIdentity: "example.com"});
* ```
* ```python
* import pulumi
* import pulumi_aws as aws
* example = aws.sesv2.EmailIdentity("example", email_identity="example.com")
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Aws = Pulumi.Aws;
* return await Deployment.RunAsync(() =>
* {
* var example = new Aws.SesV2.EmailIdentity("example", new()
* {
* EmailIdentityDetails = "example.com",
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* _, err := sesv2.NewEmailIdentity(ctx, "example", &sesv2.EmailIdentityArgs{
* EmailIdentity: pulumi.String("example.com"),
* })
* 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.aws.sesv2.EmailIdentity;
* import com.pulumi.aws.sesv2.EmailIdentityArgs;
* 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 EmailIdentity("example", EmailIdentityArgs.builder()
* .emailIdentity("example.com")
* .build());
* }
* }
* ```
* ```yaml
* resources:
* example:
* type: aws:sesv2:EmailIdentity
* properties:
* emailIdentity: example.com
* ```
*
* ### Configuration Set
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
* const example = new aws.sesv2.ConfigurationSet("example", {configurationSetName: "example"});
* const exampleEmailIdentity = new aws.sesv2.EmailIdentity("example", {
* emailIdentity: "example.com",
* configurationSetName: example.configurationSetName,
* });
* ```
* ```python
* import pulumi
* import pulumi_aws as aws
* example = aws.sesv2.ConfigurationSet("example", configuration_set_name="example")
* example_email_identity = aws.sesv2.EmailIdentity("example",
* email_identity="example.com",
* configuration_set_name=example.configuration_set_name)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Aws = Pulumi.Aws;
* return await Deployment.RunAsync(() =>
* {
* var example = new Aws.SesV2.ConfigurationSet("example", new()
* {
* ConfigurationSetName = "example",
* });
* var exampleEmailIdentity = new Aws.SesV2.EmailIdentity("example", new()
* {
* EmailIdentityDetails = "example.com",
* ConfigurationSetName = example.ConfigurationSetName,
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* example, err := sesv2.NewConfigurationSet(ctx, "example", &sesv2.ConfigurationSetArgs{
* ConfigurationSetName: pulumi.String("example"),
* })
* if err != nil {
* return err
* }
* _, err = sesv2.NewEmailIdentity(ctx, "example", &sesv2.EmailIdentityArgs{
* EmailIdentity: pulumi.String("example.com"),
* ConfigurationSetName: example.ConfigurationSetName,
* })
* 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.aws.sesv2.ConfigurationSet;
* import com.pulumi.aws.sesv2.ConfigurationSetArgs;
* import com.pulumi.aws.sesv2.EmailIdentity;
* import com.pulumi.aws.sesv2.EmailIdentityArgs;
* 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 ConfigurationSet("example", ConfigurationSetArgs.builder()
* .configurationSetName("example")
* .build());
* var exampleEmailIdentity = new EmailIdentity("exampleEmailIdentity", EmailIdentityArgs.builder()
* .emailIdentity("example.com")
* .configurationSetName(example.configurationSetName())
* .build());
* }
* }
* ```
* ```yaml
* resources:
* example:
* type: aws:sesv2:ConfigurationSet
* properties:
* configurationSetName: example
* exampleEmailIdentity:
* type: aws:sesv2:EmailIdentity
* name: example
* properties:
* emailIdentity: example.com
* configurationSetName: ${example.configurationSetName}
* ```
*
* ### DKIM Signing Attributes (BYODKIM)
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
* const example = new aws.sesv2.EmailIdentity("example", {
* emailIdentity: "example.com",
* dkimSigningAttributes: {
* domainSigningPrivateKey: "MIIJKAIBAAKCAgEA2Se7p8zvnI4yh+Gh9j2rG5e2aRXjg03Y8saiupLnadPH9xvM...",
* domainSigningSelector: "example",
* },
* });
* ```
* ```python
* import pulumi
* import pulumi_aws as aws
* example = aws.sesv2.EmailIdentity("example",
* email_identity="example.com",
* dkim_signing_attributes={
* "domain_signing_private_key": "MIIJKAIBAAKCAgEA2Se7p8zvnI4yh+Gh9j2rG5e2aRXjg03Y8saiupLnadPH9xvM...",
* "domain_signing_selector": "example",
* })
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Aws = Pulumi.Aws;
* return await Deployment.RunAsync(() =>
* {
* var example = new Aws.SesV2.EmailIdentity("example", new()
* {
* EmailIdentityDetails = "example.com",
* DkimSigningAttributes = new Aws.SesV2.Inputs.EmailIdentityDkimSigningAttributesArgs
* {
* DomainSigningPrivateKey = "MIIJKAIBAAKCAgEA2Se7p8zvnI4yh+Gh9j2rG5e2aRXjg03Y8saiupLnadPH9xvM...",
* DomainSigningSelector = "example",
* },
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* _, err := sesv2.NewEmailIdentity(ctx, "example", &sesv2.EmailIdentityArgs{
* EmailIdentity: pulumi.String("example.com"),
* DkimSigningAttributes: &sesv2.EmailIdentityDkimSigningAttributesArgs{
* DomainSigningPrivateKey: pulumi.String("MIIJKAIBAAKCAgEA2Se7p8zvnI4yh+Gh9j2rG5e2aRXjg03Y8saiupLnadPH9xvM..."),
* DomainSigningSelector: pulumi.String("example"),
* },
* })
* 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.aws.sesv2.EmailIdentity;
* import com.pulumi.aws.sesv2.EmailIdentityArgs;
* import com.pulumi.aws.sesv2.inputs.EmailIdentityDkimSigningAttributesArgs;
* 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 EmailIdentity("example", EmailIdentityArgs.builder()
* .emailIdentity("example.com")
* .dkimSigningAttributes(EmailIdentityDkimSigningAttributesArgs.builder()
* .domainSigningPrivateKey("MIIJKAIBAAKCAgEA2Se7p8zvnI4yh+Gh9j2rG5e2aRXjg03Y8saiupLnadPH9xvM...")
* .domainSigningSelector("example")
* .build())
* .build());
* }
* }
* ```
* ```yaml
* resources:
* example:
* type: aws:sesv2:EmailIdentity
* properties:
* emailIdentity: example.com
* dkimSigningAttributes:
* domainSigningPrivateKey: MIIJKAIBAAKCAgEA2Se7p8zvnI4yh+Gh9j2rG5e2aRXjg03Y8saiupLnadPH9xvM...
* domainSigningSelector: example
* ```
*
* ## Import
* Using `pulumi import`, import SESv2 (Simple Email V2) Email Identity using the `email_identity`. For example:
* ```sh
* $ pulumi import aws:sesv2/emailIdentity:EmailIdentity example example.com
* ```
*/
public class EmailIdentity internal constructor(
override val javaResource: com.pulumi.aws.sesv2.EmailIdentity,
) : KotlinCustomResource(javaResource, EmailIdentityMapper) {
/**
* ARN of the Email Identity.
*/
public val arn: Output
get() = javaResource.arn().applyValue({ args0 -> args0 })
/**
* The configuration set to use by default when sending from this identity. Note that any configuration set defined in the email sending request takes precedence.
*/
public val configurationSetName: Output?
get() = javaResource.configurationSetName().applyValue({ args0 ->
args0.map({ args0 ->
args0
}).orElse(null)
})
/**
* The configuration of the DKIM authentication settings for an email domain identity.
*/
public val dkimSigningAttributes: Output
get() = javaResource.dkimSigningAttributes().applyValue({ args0 ->
args0.let({ args0 ->
toKotlin(args0)
})
})
/**
* The email address or domain to verify.
* The following arguments are optional:
*/
public val emailIdentity: Output
get() = javaResource.emailIdentity().applyValue({ args0 -> args0 })
/**
* The email identity type. Valid values: `EMAIL_ADDRESS`, `DOMAIN`.
*/
public val identityType: Output
get() = javaResource.identityType().applyValue({ args0 -> args0 })
/**
* Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*/
public val tags: Output>?
get() = javaResource.tags().applyValue({ args0 ->
args0.map({ args0 ->
args0.map({ args0 ->
args0.key.to(args0.value)
}).toMap()
}).orElse(null)
})
/**
* Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
*/
@Deprecated(
message = """
Please use `tags` instead.
""",
)
public val tagsAll: Output>
get() = javaResource.tagsAll().applyValue({ args0 ->
args0.map({ args0 ->
args0.key.to(args0.value)
}).toMap()
})
/**
* Specifies whether or not the identity is verified.
*/
public val verifiedForSendingStatus: Output
get() = javaResource.verifiedForSendingStatus().applyValue({ args0 -> args0 })
}
public object EmailIdentityMapper : ResourceMapper {
override fun supportsMappingOfType(javaResource: Resource): Boolean =
com.pulumi.aws.sesv2.EmailIdentity::class == javaResource::class
override fun map(javaResource: Resource): EmailIdentity = EmailIdentity(
javaResource as
com.pulumi.aws.sesv2.EmailIdentity,
)
}
/**
* @see [EmailIdentity].
* @param name The _unique_ name of the resulting resource.
* @param block Builder for [EmailIdentity].
*/
public suspend fun emailIdentity(
name: String,
block: suspend EmailIdentityResourceBuilder.() -> Unit,
): EmailIdentity {
val builder = EmailIdentityResourceBuilder()
builder.name(name)
block(builder)
return builder.build()
}
/**
* @see [EmailIdentity].
* @param name The _unique_ name of the resulting resource.
*/
public fun emailIdentity(name: String): EmailIdentity {
val builder = EmailIdentityResourceBuilder()
builder.name(name)
return builder.build()
}