
com.pulumi.aws.iot.kotlin.Certificate.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-aws-kotlin Show documentation
Show all versions of pulumi-aws-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.aws.iot.kotlin
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
/**
* Builder for [Certificate].
*/
@PulumiTagMarker
public class CertificateResourceBuilder internal constructor() {
public var name: String? = null
public var args: CertificateArgs = CertificateArgs()
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 CertificateArgsBuilder.() -> Unit) {
val builder = CertificateArgsBuilder()
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(): Certificate {
val builtJavaResource = com.pulumi.aws.iot.Certificate(
this.name,
this.args.toJava(),
this.opts.toJava(),
)
return Certificate(builtJavaResource)
}
}
/**
* Creates and manages an AWS IoT certificate.
* ## Example Usage
* ### With CSR
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
* import * as std from "@pulumi/std";
* const cert = new aws.iot.Certificate("cert", {
* csr: std.file({
* input: "/my/csr.pem",
* }).then(invoke => invoke.result),
* active: true,
* });
* ```
* ```python
* import pulumi
* import pulumi_aws as aws
* import pulumi_std as std
* cert = aws.iot.Certificate("cert",
* csr=std.file(input="/my/csr.pem").result,
* active=True)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Aws = Pulumi.Aws;
* using Std = Pulumi.Std;
* return await Deployment.RunAsync(() =>
* {
* var cert = new Aws.Iot.Certificate("cert", new()
* {
* Csr = Std.File.Invoke(new()
* {
* Input = "/my/csr.pem",
* }).Apply(invoke => invoke.Result),
* Active = true,
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot"
* "github.com/pulumi/pulumi-std/sdk/go/std"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* invokeFile, err := std.File(ctx, &std.FileArgs{
* Input: "/my/csr.pem",
* }, nil)
* if err != nil {
* return err
* }
* _, err = iot.NewCertificate(ctx, "cert", &iot.CertificateArgs{
* Csr: pulumi.String(invokeFile.Result),
* Active: 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.aws.iot.Certificate;
* import com.pulumi.aws.iot.CertificateArgs;
* 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 cert = new Certificate("cert", CertificateArgs.builder()
* .csr(StdFunctions.file(FileArgs.builder()
* .input("/my/csr.pem")
* .build()).result())
* .active(true)
* .build());
* }
* }
* ```
* ```yaml
* resources:
* cert:
* type: aws:iot:Certificate
* properties:
* csr:
* fn::invoke:
* Function: std:file
* Arguments:
* input: /my/csr.pem
* Return: result
* active: true
* ```
*
* ### Without CSR
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
* const cert = new aws.iot.Certificate("cert", {active: true});
* ```
* ```python
* import pulumi
* import pulumi_aws as aws
* cert = aws.iot.Certificate("cert", active=True)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Aws = Pulumi.Aws;
* return await Deployment.RunAsync(() =>
* {
* var cert = new Aws.Iot.Certificate("cert", new()
* {
* Active = true,
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* _, err := iot.NewCertificate(ctx, "cert", &iot.CertificateArgs{
* Active: 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.aws.iot.Certificate;
* import com.pulumi.aws.iot.CertificateArgs;
* 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 cert = new Certificate("cert", CertificateArgs.builder()
* .active(true)
* .build());
* }
* }
* ```
* ```yaml
* resources:
* cert:
* type: aws:iot:Certificate
* properties:
* active: true
* ```
*
* ### From existing certificate without a CA
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
* import * as std from "@pulumi/std";
* const cert = new aws.iot.Certificate("cert", {
* certificatePem: std.file({
* input: "/my/cert.pem",
* }).then(invoke => invoke.result),
* active: true,
* });
* ```
* ```python
* import pulumi
* import pulumi_aws as aws
* import pulumi_std as std
* cert = aws.iot.Certificate("cert",
* certificate_pem=std.file(input="/my/cert.pem").result,
* active=True)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Aws = Pulumi.Aws;
* using Std = Pulumi.Std;
* return await Deployment.RunAsync(() =>
* {
* var cert = new Aws.Iot.Certificate("cert", new()
* {
* CertificatePem = Std.File.Invoke(new()
* {
* Input = "/my/cert.pem",
* }).Apply(invoke => invoke.Result),
* Active = true,
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot"
* "github.com/pulumi/pulumi-std/sdk/go/std"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* invokeFile, err := std.File(ctx, &std.FileArgs{
* Input: "/my/cert.pem",
* }, nil)
* if err != nil {
* return err
* }
* _, err = iot.NewCertificate(ctx, "cert", &iot.CertificateArgs{
* CertificatePem: pulumi.String(invokeFile.Result),
* Active: 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.aws.iot.Certificate;
* import com.pulumi.aws.iot.CertificateArgs;
* 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 cert = new Certificate("cert", CertificateArgs.builder()
* .certificatePem(StdFunctions.file(FileArgs.builder()
* .input("/my/cert.pem")
* .build()).result())
* .active(true)
* .build());
* }
* }
* ```
* ```yaml
* resources:
* cert:
* type: aws:iot:Certificate
* properties:
* certificatePem:
* fn::invoke:
* Function: std:file
* Arguments:
* input: /my/cert.pem
* Return: result
* active: true
* ```
*
*/
public class Certificate internal constructor(
override val javaResource: com.pulumi.aws.iot.Certificate,
) : KotlinCustomResource(javaResource, CertificateMapper) {
/**
* Boolean flag to indicate if the certificate should be active
*/
public val active: Output
get() = javaResource.active().applyValue({ args0 -> args0 })
/**
* The ARN of the created certificate.
*/
public val arn: Output
get() = javaResource.arn().applyValue({ args0 -> args0 })
/**
* The certificate ID of the CA certificate used to sign the certificate.
*/
public val caCertificateId: Output
get() = javaResource.caCertificateId().applyValue({ args0 -> args0 })
/**
* The CA certificate for the certificate to be registered. If this is set, the CA needs to be registered with AWS IoT beforehand.
*/
public val caPem: Output?
get() = javaResource.caPem().applyValue({ args0 -> args0.map({ args0 -> args0 }).orElse(null) })
/**
* The certificate to be registered. If `ca_pem` is unspecified, review
* [RegisterCertificateWithoutCA](https://docs.aws.amazon.com/iot/latest/apireference/API_RegisterCertificateWithoutCA.html).
* If `ca_pem` is specified, review
* [RegisterCertificate](https://docs.aws.amazon.com/iot/latest/apireference/API_RegisterCertificate.html)
* for more information on registering a certificate.
*/
public val certificatePem: Output
get() = javaResource.certificatePem().applyValue({ args0 -> args0 })
/**
* The certificate signing request. Review
* [CreateCertificateFromCsr](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateCertificateFromCsr.html)
* for more information on generating a certificate from a certificate signing request (CSR).
* If none is specified both the certificate and keys will be generated, review [CreateKeysAndCertificate](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateKeysAndCertificate.html)
* for more information on generating keys and a certificate.
*/
public val csr: Output?
get() = javaResource.csr().applyValue({ args0 -> args0.map({ args0 -> args0 }).orElse(null) })
/**
* When neither CSR nor certificate is provided, the private key.
*/
public val privateKey: Output
get() = javaResource.privateKey().applyValue({ args0 -> args0 })
/**
* When neither CSR nor certificate is provided, the public key.
*/
public val publicKey: Output
get() = javaResource.publicKey().applyValue({ args0 -> args0 })
}
public object CertificateMapper : ResourceMapper {
override fun supportsMappingOfType(javaResource: Resource): Boolean =
com.pulumi.aws.iot.Certificate::class == javaResource::class
override fun map(javaResource: Resource): Certificate = Certificate(
javaResource as
com.pulumi.aws.iot.Certificate,
)
}
/**
* @see [Certificate].
* @param name The _unique_ name of the resulting resource.
* @param block Builder for [Certificate].
*/
public suspend fun certificate(name: String, block: suspend CertificateResourceBuilder.() -> Unit): Certificate {
val builder = CertificateResourceBuilder()
builder.name(name)
block(builder)
return builder.build()
}
/**
* @see [Certificate].
* @param name The _unique_ name of the resulting resource.
*/
public fun certificate(name: String): Certificate {
val builder = CertificateResourceBuilder()
builder.name(name)
return builder.build()
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy