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

com.pulumi.awsnative.iot.kotlin.IotFunctions.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.iot.kotlin

import com.pulumi.awsnative.iot.IotFunctions.getAccountAuditConfigurationPlain
import com.pulumi.awsnative.iot.IotFunctions.getAuthorizerPlain
import com.pulumi.awsnative.iot.IotFunctions.getBillingGroupPlain
import com.pulumi.awsnative.iot.IotFunctions.getCaCertificatePlain
import com.pulumi.awsnative.iot.IotFunctions.getCertificatePlain
import com.pulumi.awsnative.iot.IotFunctions.getCertificateProviderPlain
import com.pulumi.awsnative.iot.IotFunctions.getCustomMetricPlain
import com.pulumi.awsnative.iot.IotFunctions.getDimensionPlain
import com.pulumi.awsnative.iot.IotFunctions.getDomainConfigurationPlain
import com.pulumi.awsnative.iot.IotFunctions.getFleetMetricPlain
import com.pulumi.awsnative.iot.IotFunctions.getJobTemplatePlain
import com.pulumi.awsnative.iot.IotFunctions.getLoggingPlain
import com.pulumi.awsnative.iot.IotFunctions.getMitigationActionPlain
import com.pulumi.awsnative.iot.IotFunctions.getPolicyPlain
import com.pulumi.awsnative.iot.IotFunctions.getProvisioningTemplatePlain
import com.pulumi.awsnative.iot.IotFunctions.getResourceSpecificLoggingPlain
import com.pulumi.awsnative.iot.IotFunctions.getRoleAliasPlain
import com.pulumi.awsnative.iot.IotFunctions.getScheduledAuditPlain
import com.pulumi.awsnative.iot.IotFunctions.getSecurityProfilePlain
import com.pulumi.awsnative.iot.IotFunctions.getSoftwarePackagePlain
import com.pulumi.awsnative.iot.IotFunctions.getSoftwarePackageVersionPlain
import com.pulumi.awsnative.iot.IotFunctions.getThingGroupPlain
import com.pulumi.awsnative.iot.IotFunctions.getThingPlain
import com.pulumi.awsnative.iot.IotFunctions.getThingTypePlain
import com.pulumi.awsnative.iot.IotFunctions.getTopicRuleDestinationPlain
import com.pulumi.awsnative.iot.IotFunctions.getTopicRulePlain
import com.pulumi.awsnative.iot.kotlin.inputs.GetAccountAuditConfigurationPlainArgs
import com.pulumi.awsnative.iot.kotlin.inputs.GetAccountAuditConfigurationPlainArgsBuilder
import com.pulumi.awsnative.iot.kotlin.inputs.GetAuthorizerPlainArgs
import com.pulumi.awsnative.iot.kotlin.inputs.GetAuthorizerPlainArgsBuilder
import com.pulumi.awsnative.iot.kotlin.inputs.GetBillingGroupPlainArgs
import com.pulumi.awsnative.iot.kotlin.inputs.GetBillingGroupPlainArgsBuilder
import com.pulumi.awsnative.iot.kotlin.inputs.GetCaCertificatePlainArgs
import com.pulumi.awsnative.iot.kotlin.inputs.GetCaCertificatePlainArgsBuilder
import com.pulumi.awsnative.iot.kotlin.inputs.GetCertificatePlainArgs
import com.pulumi.awsnative.iot.kotlin.inputs.GetCertificatePlainArgsBuilder
import com.pulumi.awsnative.iot.kotlin.inputs.GetCertificateProviderPlainArgs
import com.pulumi.awsnative.iot.kotlin.inputs.GetCertificateProviderPlainArgsBuilder
import com.pulumi.awsnative.iot.kotlin.inputs.GetCustomMetricPlainArgs
import com.pulumi.awsnative.iot.kotlin.inputs.GetCustomMetricPlainArgsBuilder
import com.pulumi.awsnative.iot.kotlin.inputs.GetDimensionPlainArgs
import com.pulumi.awsnative.iot.kotlin.inputs.GetDimensionPlainArgsBuilder
import com.pulumi.awsnative.iot.kotlin.inputs.GetDomainConfigurationPlainArgs
import com.pulumi.awsnative.iot.kotlin.inputs.GetDomainConfigurationPlainArgsBuilder
import com.pulumi.awsnative.iot.kotlin.inputs.GetFleetMetricPlainArgs
import com.pulumi.awsnative.iot.kotlin.inputs.GetFleetMetricPlainArgsBuilder
import com.pulumi.awsnative.iot.kotlin.inputs.GetJobTemplatePlainArgs
import com.pulumi.awsnative.iot.kotlin.inputs.GetJobTemplatePlainArgsBuilder
import com.pulumi.awsnative.iot.kotlin.inputs.GetLoggingPlainArgs
import com.pulumi.awsnative.iot.kotlin.inputs.GetLoggingPlainArgsBuilder
import com.pulumi.awsnative.iot.kotlin.inputs.GetMitigationActionPlainArgs
import com.pulumi.awsnative.iot.kotlin.inputs.GetMitigationActionPlainArgsBuilder
import com.pulumi.awsnative.iot.kotlin.inputs.GetPolicyPlainArgs
import com.pulumi.awsnative.iot.kotlin.inputs.GetPolicyPlainArgsBuilder
import com.pulumi.awsnative.iot.kotlin.inputs.GetProvisioningTemplatePlainArgs
import com.pulumi.awsnative.iot.kotlin.inputs.GetProvisioningTemplatePlainArgsBuilder
import com.pulumi.awsnative.iot.kotlin.inputs.GetResourceSpecificLoggingPlainArgs
import com.pulumi.awsnative.iot.kotlin.inputs.GetResourceSpecificLoggingPlainArgsBuilder
import com.pulumi.awsnative.iot.kotlin.inputs.GetRoleAliasPlainArgs
import com.pulumi.awsnative.iot.kotlin.inputs.GetRoleAliasPlainArgsBuilder
import com.pulumi.awsnative.iot.kotlin.inputs.GetScheduledAuditPlainArgs
import com.pulumi.awsnative.iot.kotlin.inputs.GetScheduledAuditPlainArgsBuilder
import com.pulumi.awsnative.iot.kotlin.inputs.GetSecurityProfilePlainArgs
import com.pulumi.awsnative.iot.kotlin.inputs.GetSecurityProfilePlainArgsBuilder
import com.pulumi.awsnative.iot.kotlin.inputs.GetSoftwarePackagePlainArgs
import com.pulumi.awsnative.iot.kotlin.inputs.GetSoftwarePackagePlainArgsBuilder
import com.pulumi.awsnative.iot.kotlin.inputs.GetSoftwarePackageVersionPlainArgs
import com.pulumi.awsnative.iot.kotlin.inputs.GetSoftwarePackageVersionPlainArgsBuilder
import com.pulumi.awsnative.iot.kotlin.inputs.GetThingGroupPlainArgs
import com.pulumi.awsnative.iot.kotlin.inputs.GetThingGroupPlainArgsBuilder
import com.pulumi.awsnative.iot.kotlin.inputs.GetThingPlainArgs
import com.pulumi.awsnative.iot.kotlin.inputs.GetThingPlainArgsBuilder
import com.pulumi.awsnative.iot.kotlin.inputs.GetThingTypePlainArgs
import com.pulumi.awsnative.iot.kotlin.inputs.GetThingTypePlainArgsBuilder
import com.pulumi.awsnative.iot.kotlin.inputs.GetTopicRuleDestinationPlainArgs
import com.pulumi.awsnative.iot.kotlin.inputs.GetTopicRuleDestinationPlainArgsBuilder
import com.pulumi.awsnative.iot.kotlin.inputs.GetTopicRulePlainArgs
import com.pulumi.awsnative.iot.kotlin.inputs.GetTopicRulePlainArgsBuilder
import com.pulumi.awsnative.iot.kotlin.outputs.GetAccountAuditConfigurationResult
import com.pulumi.awsnative.iot.kotlin.outputs.GetAuthorizerResult
import com.pulumi.awsnative.iot.kotlin.outputs.GetBillingGroupResult
import com.pulumi.awsnative.iot.kotlin.outputs.GetCaCertificateResult
import com.pulumi.awsnative.iot.kotlin.outputs.GetCertificateProviderResult
import com.pulumi.awsnative.iot.kotlin.outputs.GetCertificateResult
import com.pulumi.awsnative.iot.kotlin.outputs.GetCustomMetricResult
import com.pulumi.awsnative.iot.kotlin.outputs.GetDimensionResult
import com.pulumi.awsnative.iot.kotlin.outputs.GetDomainConfigurationResult
import com.pulumi.awsnative.iot.kotlin.outputs.GetFleetMetricResult
import com.pulumi.awsnative.iot.kotlin.outputs.GetJobTemplateResult
import com.pulumi.awsnative.iot.kotlin.outputs.GetLoggingResult
import com.pulumi.awsnative.iot.kotlin.outputs.GetMitigationActionResult
import com.pulumi.awsnative.iot.kotlin.outputs.GetPolicyResult
import com.pulumi.awsnative.iot.kotlin.outputs.GetProvisioningTemplateResult
import com.pulumi.awsnative.iot.kotlin.outputs.GetResourceSpecificLoggingResult
import com.pulumi.awsnative.iot.kotlin.outputs.GetRoleAliasResult
import com.pulumi.awsnative.iot.kotlin.outputs.GetScheduledAuditResult
import com.pulumi.awsnative.iot.kotlin.outputs.GetSecurityProfileResult
import com.pulumi.awsnative.iot.kotlin.outputs.GetSoftwarePackageResult
import com.pulumi.awsnative.iot.kotlin.outputs.GetSoftwarePackageVersionResult
import com.pulumi.awsnative.iot.kotlin.outputs.GetThingGroupResult
import com.pulumi.awsnative.iot.kotlin.outputs.GetThingResult
import com.pulumi.awsnative.iot.kotlin.outputs.GetThingTypeResult
import com.pulumi.awsnative.iot.kotlin.outputs.GetTopicRuleDestinationResult
import com.pulumi.awsnative.iot.kotlin.outputs.GetTopicRuleResult
import kotlinx.coroutines.future.await
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import com.pulumi.awsnative.iot.kotlin.outputs.GetAccountAuditConfigurationResult.Companion.toKotlin as getAccountAuditConfigurationResultToKotlin
import com.pulumi.awsnative.iot.kotlin.outputs.GetAuthorizerResult.Companion.toKotlin as getAuthorizerResultToKotlin
import com.pulumi.awsnative.iot.kotlin.outputs.GetBillingGroupResult.Companion.toKotlin as getBillingGroupResultToKotlin
import com.pulumi.awsnative.iot.kotlin.outputs.GetCaCertificateResult.Companion.toKotlin as getCaCertificateResultToKotlin
import com.pulumi.awsnative.iot.kotlin.outputs.GetCertificateProviderResult.Companion.toKotlin as getCertificateProviderResultToKotlin
import com.pulumi.awsnative.iot.kotlin.outputs.GetCertificateResult.Companion.toKotlin as getCertificateResultToKotlin
import com.pulumi.awsnative.iot.kotlin.outputs.GetCustomMetricResult.Companion.toKotlin as getCustomMetricResultToKotlin
import com.pulumi.awsnative.iot.kotlin.outputs.GetDimensionResult.Companion.toKotlin as getDimensionResultToKotlin
import com.pulumi.awsnative.iot.kotlin.outputs.GetDomainConfigurationResult.Companion.toKotlin as getDomainConfigurationResultToKotlin
import com.pulumi.awsnative.iot.kotlin.outputs.GetFleetMetricResult.Companion.toKotlin as getFleetMetricResultToKotlin
import com.pulumi.awsnative.iot.kotlin.outputs.GetJobTemplateResult.Companion.toKotlin as getJobTemplateResultToKotlin
import com.pulumi.awsnative.iot.kotlin.outputs.GetLoggingResult.Companion.toKotlin as getLoggingResultToKotlin
import com.pulumi.awsnative.iot.kotlin.outputs.GetMitigationActionResult.Companion.toKotlin as getMitigationActionResultToKotlin
import com.pulumi.awsnative.iot.kotlin.outputs.GetPolicyResult.Companion.toKotlin as getPolicyResultToKotlin
import com.pulumi.awsnative.iot.kotlin.outputs.GetProvisioningTemplateResult.Companion.toKotlin as getProvisioningTemplateResultToKotlin
import com.pulumi.awsnative.iot.kotlin.outputs.GetResourceSpecificLoggingResult.Companion.toKotlin as getResourceSpecificLoggingResultToKotlin
import com.pulumi.awsnative.iot.kotlin.outputs.GetRoleAliasResult.Companion.toKotlin as getRoleAliasResultToKotlin
import com.pulumi.awsnative.iot.kotlin.outputs.GetScheduledAuditResult.Companion.toKotlin as getScheduledAuditResultToKotlin
import com.pulumi.awsnative.iot.kotlin.outputs.GetSecurityProfileResult.Companion.toKotlin as getSecurityProfileResultToKotlin
import com.pulumi.awsnative.iot.kotlin.outputs.GetSoftwarePackageResult.Companion.toKotlin as getSoftwarePackageResultToKotlin
import com.pulumi.awsnative.iot.kotlin.outputs.GetSoftwarePackageVersionResult.Companion.toKotlin as getSoftwarePackageVersionResultToKotlin
import com.pulumi.awsnative.iot.kotlin.outputs.GetThingGroupResult.Companion.toKotlin as getThingGroupResultToKotlin
import com.pulumi.awsnative.iot.kotlin.outputs.GetThingResult.Companion.toKotlin as getThingResultToKotlin
import com.pulumi.awsnative.iot.kotlin.outputs.GetThingTypeResult.Companion.toKotlin as getThingTypeResultToKotlin
import com.pulumi.awsnative.iot.kotlin.outputs.GetTopicRuleDestinationResult.Companion.toKotlin as getTopicRuleDestinationResultToKotlin
import com.pulumi.awsnative.iot.kotlin.outputs.GetTopicRuleResult.Companion.toKotlin as getTopicRuleResultToKotlin

public object IotFunctions {
    /**
     * Configures the Device Defender audit settings for this account. Settings include how audit notifications are sent and which audit checks are enabled or disabled.
     * @param argument null
     * @return null
     */
    public suspend fun getAccountAuditConfiguration(argument: GetAccountAuditConfigurationPlainArgs): GetAccountAuditConfigurationResult =
        getAccountAuditConfigurationResultToKotlin(getAccountAuditConfigurationPlain(argument.toJava()).await())

    /**
     * @see [getAccountAuditConfiguration].
     * @param accountId Your 12-digit account ID (used as the primary identifier for the CloudFormation resource).
     * @return null
     */
    public suspend fun getAccountAuditConfiguration(accountId: String): GetAccountAuditConfigurationResult {
        val argument = GetAccountAuditConfigurationPlainArgs(
            accountId = accountId,
        )
        return getAccountAuditConfigurationResultToKotlin(getAccountAuditConfigurationPlain(argument.toJava()).await())
    }

    /**
     * @see [getAccountAuditConfiguration].
     * @param argument Builder for [com.pulumi.awsnative.iot.kotlin.inputs.GetAccountAuditConfigurationPlainArgs].
     * @return null
     */
    public suspend fun getAccountAuditConfiguration(argument: suspend GetAccountAuditConfigurationPlainArgsBuilder.() -> Unit): GetAccountAuditConfigurationResult {
        val builder = GetAccountAuditConfigurationPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getAccountAuditConfigurationResultToKotlin(getAccountAuditConfigurationPlain(builtArgument.toJava()).await())
    }

    /**
     * Creates an authorizer.
     * @param argument null
     * @return null
     */
    public suspend fun getAuthorizer(argument: GetAuthorizerPlainArgs): GetAuthorizerResult =
        getAuthorizerResultToKotlin(getAuthorizerPlain(argument.toJava()).await())

    /**
     * @see [getAuthorizer].
     * @param authorizerName The authorizer name.
     * @return null
     */
    public suspend fun getAuthorizer(authorizerName: String): GetAuthorizerResult {
        val argument = GetAuthorizerPlainArgs(
            authorizerName = authorizerName,
        )
        return getAuthorizerResultToKotlin(getAuthorizerPlain(argument.toJava()).await())
    }

    /**
     * @see [getAuthorizer].
     * @param argument Builder for [com.pulumi.awsnative.iot.kotlin.inputs.GetAuthorizerPlainArgs].
     * @return null
     */
    public suspend fun getAuthorizer(argument: suspend GetAuthorizerPlainArgsBuilder.() -> Unit): GetAuthorizerResult {
        val builder = GetAuthorizerPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getAuthorizerResultToKotlin(getAuthorizerPlain(builtArgument.toJava()).await())
    }

    /**
     * Resource Type definition for AWS::IoT::BillingGroup
     * @param argument null
     * @return null
     */
    public suspend fun getBillingGroup(argument: GetBillingGroupPlainArgs): GetBillingGroupResult =
        getBillingGroupResultToKotlin(getBillingGroupPlain(argument.toJava()).await())

    /**
     * @see [getBillingGroup].
     * @param billingGroupName The name of the billing group.
     * @return null
     */
    public suspend fun getBillingGroup(billingGroupName: String): GetBillingGroupResult {
        val argument = GetBillingGroupPlainArgs(
            billingGroupName = billingGroupName,
        )
        return getBillingGroupResultToKotlin(getBillingGroupPlain(argument.toJava()).await())
    }

    /**
     * @see [getBillingGroup].
     * @param argument Builder for [com.pulumi.awsnative.iot.kotlin.inputs.GetBillingGroupPlainArgs].
     * @return null
     */
    public suspend fun getBillingGroup(argument: suspend GetBillingGroupPlainArgsBuilder.() -> Unit): GetBillingGroupResult {
        val builder = GetBillingGroupPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getBillingGroupResultToKotlin(getBillingGroupPlain(builtArgument.toJava()).await())
    }

    /**
     * Registers a CA Certificate in IoT.
     * @param argument null
     * @return null
     */
    public suspend fun getCaCertificate(argument: GetCaCertificatePlainArgs): GetCaCertificateResult =
        getCaCertificateResultToKotlin(getCaCertificatePlain(argument.toJava()).await())

    /**
     * @see [getCaCertificate].
     * @param id The CA certificate ID.
     * @return null
     */
    public suspend fun getCaCertificate(id: String): GetCaCertificateResult {
        val argument = GetCaCertificatePlainArgs(
            id = id,
        )
        return getCaCertificateResultToKotlin(getCaCertificatePlain(argument.toJava()).await())
    }

    /**
     * @see [getCaCertificate].
     * @param argument Builder for [com.pulumi.awsnative.iot.kotlin.inputs.GetCaCertificatePlainArgs].
     * @return null
     */
    public suspend fun getCaCertificate(argument: suspend GetCaCertificatePlainArgsBuilder.() -> Unit): GetCaCertificateResult {
        val builder = GetCaCertificatePlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getCaCertificateResultToKotlin(getCaCertificatePlain(builtArgument.toJava()).await())
    }

    /**
     * Use the AWS::IoT::Certificate resource to declare an AWS IoT X.509 certificate.
     * @param argument null
     * @return null
     */
    public suspend fun getCertificate(argument: GetCertificatePlainArgs): GetCertificateResult =
        getCertificateResultToKotlin(getCertificatePlain(argument.toJava()).await())

    /**
     * @see [getCertificate].
     * @param id The certificate ID.
     * @return null
     */
    public suspend fun getCertificate(id: String): GetCertificateResult {
        val argument = GetCertificatePlainArgs(
            id = id,
        )
        return getCertificateResultToKotlin(getCertificatePlain(argument.toJava()).await())
    }

    /**
     * @see [getCertificate].
     * @param argument Builder for [com.pulumi.awsnative.iot.kotlin.inputs.GetCertificatePlainArgs].
     * @return null
     */
    public suspend fun getCertificate(argument: suspend GetCertificatePlainArgsBuilder.() -> Unit): GetCertificateResult {
        val builder = GetCertificatePlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getCertificateResultToKotlin(getCertificatePlain(builtArgument.toJava()).await())
    }

    /**
     * Use the AWS::IoT::CertificateProvider resource to declare an AWS IoT Certificate Provider.
     * @param argument null
     * @return null
     */
    public suspend fun getCertificateProvider(argument: GetCertificateProviderPlainArgs): GetCertificateProviderResult =
        getCertificateProviderResultToKotlin(getCertificateProviderPlain(argument.toJava()).await())

    /**
     * @see [getCertificateProvider].
     * @param certificateProviderName The name of the certificate provider.
     * @return null
     */
    public suspend fun getCertificateProvider(certificateProviderName: String): GetCertificateProviderResult {
        val argument = GetCertificateProviderPlainArgs(
            certificateProviderName = certificateProviderName,
        )
        return getCertificateProviderResultToKotlin(getCertificateProviderPlain(argument.toJava()).await())
    }

    /**
     * @see [getCertificateProvider].
     * @param argument Builder for [com.pulumi.awsnative.iot.kotlin.inputs.GetCertificateProviderPlainArgs].
     * @return null
     */
    public suspend fun getCertificateProvider(argument: suspend GetCertificateProviderPlainArgsBuilder.() -> Unit): GetCertificateProviderResult {
        val builder = GetCertificateProviderPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getCertificateProviderResultToKotlin(getCertificateProviderPlain(builtArgument.toJava()).await())
    }

    /**
     * A custom metric published by your devices to Device Defender.
     * @param argument null
     * @return null
     */
    public suspend fun getCustomMetric(argument: GetCustomMetricPlainArgs): GetCustomMetricResult =
        getCustomMetricResultToKotlin(getCustomMetricPlain(argument.toJava()).await())

    /**
     * @see [getCustomMetric].
     * @param metricName The name of the custom metric. This will be used in the metric report submitted from the device/thing. Shouldn't begin with aws: . Cannot be updated once defined.
     * @return null
     */
    public suspend fun getCustomMetric(metricName: String): GetCustomMetricResult {
        val argument = GetCustomMetricPlainArgs(
            metricName = metricName,
        )
        return getCustomMetricResultToKotlin(getCustomMetricPlain(argument.toJava()).await())
    }

    /**
     * @see [getCustomMetric].
     * @param argument Builder for [com.pulumi.awsnative.iot.kotlin.inputs.GetCustomMetricPlainArgs].
     * @return null
     */
    public suspend fun getCustomMetric(argument: suspend GetCustomMetricPlainArgsBuilder.() -> Unit): GetCustomMetricResult {
        val builder = GetCustomMetricPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getCustomMetricResultToKotlin(getCustomMetricPlain(builtArgument.toJava()).await())
    }

    /**
     * A dimension can be used to limit the scope of a metric used in a security profile for AWS IoT Device Defender.
     * @param argument null
     * @return null
     */
    public suspend fun getDimension(argument: GetDimensionPlainArgs): GetDimensionResult =
        getDimensionResultToKotlin(getDimensionPlain(argument.toJava()).await())

    /**
     * @see [getDimension].
     * @param name A unique identifier for the dimension.
     * @return null
     */
    public suspend fun getDimension(name: String): GetDimensionResult {
        val argument = GetDimensionPlainArgs(
            name = name,
        )
        return getDimensionResultToKotlin(getDimensionPlain(argument.toJava()).await())
    }

    /**
     * @see [getDimension].
     * @param argument Builder for [com.pulumi.awsnative.iot.kotlin.inputs.GetDimensionPlainArgs].
     * @return null
     */
    public suspend fun getDimension(argument: suspend GetDimensionPlainArgsBuilder.() -> Unit): GetDimensionResult {
        val builder = GetDimensionPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getDimensionResultToKotlin(getDimensionPlain(builtArgument.toJava()).await())
    }

    /**
     * Create and manage a Domain Configuration
     * @param argument null
     * @return null
     */
    public suspend fun getDomainConfiguration(argument: GetDomainConfigurationPlainArgs): GetDomainConfigurationResult =
        getDomainConfigurationResultToKotlin(getDomainConfigurationPlain(argument.toJava()).await())

    /**
     * @see [getDomainConfiguration].
     * @param domainConfigurationName The name of the domain configuration. This value must be unique to a region.
     * @return null
     */
    public suspend fun getDomainConfiguration(domainConfigurationName: String): GetDomainConfigurationResult {
        val argument = GetDomainConfigurationPlainArgs(
            domainConfigurationName = domainConfigurationName,
        )
        return getDomainConfigurationResultToKotlin(getDomainConfigurationPlain(argument.toJava()).await())
    }

    /**
     * @see [getDomainConfiguration].
     * @param argument Builder for [com.pulumi.awsnative.iot.kotlin.inputs.GetDomainConfigurationPlainArgs].
     * @return null
     */
    public suspend fun getDomainConfiguration(argument: suspend GetDomainConfigurationPlainArgsBuilder.() -> Unit): GetDomainConfigurationResult {
        val builder = GetDomainConfigurationPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getDomainConfigurationResultToKotlin(getDomainConfigurationPlain(builtArgument.toJava()).await())
    }

    /**
     * An aggregated metric of certain devices in your fleet
     * @param argument null
     * @return null
     */
    public suspend fun getFleetMetric(argument: GetFleetMetricPlainArgs): GetFleetMetricResult =
        getFleetMetricResultToKotlin(getFleetMetricPlain(argument.toJava()).await())

    /**
     * @see [getFleetMetric].
     * @param metricName The name of the fleet metric
     * @return null
     */
    public suspend fun getFleetMetric(metricName: String): GetFleetMetricResult {
        val argument = GetFleetMetricPlainArgs(
            metricName = metricName,
        )
        return getFleetMetricResultToKotlin(getFleetMetricPlain(argument.toJava()).await())
    }

    /**
     * @see [getFleetMetric].
     * @param argument Builder for [com.pulumi.awsnative.iot.kotlin.inputs.GetFleetMetricPlainArgs].
     * @return null
     */
    public suspend fun getFleetMetric(argument: suspend GetFleetMetricPlainArgsBuilder.() -> Unit): GetFleetMetricResult {
        val builder = GetFleetMetricPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getFleetMetricResultToKotlin(getFleetMetricPlain(builtArgument.toJava()).await())
    }

    /**
     * Job templates enable you to preconfigure jobs so that you can deploy them to multiple sets of target devices.
     * @param argument null
     * @return null
     */
    public suspend fun getJobTemplate(argument: GetJobTemplatePlainArgs): GetJobTemplateResult =
        getJobTemplateResultToKotlin(getJobTemplatePlain(argument.toJava()).await())

    /**
     * @see [getJobTemplate].
     * @param jobTemplateId A unique identifier for the job template. We recommend using a UUID. Alpha-numeric characters, "-", and "_" are valid for use here.
     * @return null
     */
    public suspend fun getJobTemplate(jobTemplateId: String): GetJobTemplateResult {
        val argument = GetJobTemplatePlainArgs(
            jobTemplateId = jobTemplateId,
        )
        return getJobTemplateResultToKotlin(getJobTemplatePlain(argument.toJava()).await())
    }

    /**
     * @see [getJobTemplate].
     * @param argument Builder for [com.pulumi.awsnative.iot.kotlin.inputs.GetJobTemplatePlainArgs].
     * @return null
     */
    public suspend fun getJobTemplate(argument: suspend GetJobTemplatePlainArgsBuilder.() -> Unit): GetJobTemplateResult {
        val builder = GetJobTemplatePlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getJobTemplateResultToKotlin(getJobTemplatePlain(builtArgument.toJava()).await())
    }

    /**
     * Logging Options enable you to configure your IoT V2 logging role and default logging level so that you can monitor progress events logs as it passes from your devices through Iot core service.
     * @param argument null
     * @return null
     */
    public suspend fun getLogging(argument: GetLoggingPlainArgs): GetLoggingResult =
        getLoggingResultToKotlin(getLoggingPlain(argument.toJava()).await())

    /**
     * @see [getLogging].
     * @param accountId Your 12-digit account ID (used as the primary identifier for the CloudFormation resource).
     * @return null
     */
    public suspend fun getLogging(accountId: String): GetLoggingResult {
        val argument = GetLoggingPlainArgs(
            accountId = accountId,
        )
        return getLoggingResultToKotlin(getLoggingPlain(argument.toJava()).await())
    }

    /**
     * @see [getLogging].
     * @param argument Builder for [com.pulumi.awsnative.iot.kotlin.inputs.GetLoggingPlainArgs].
     * @return null
     */
    public suspend fun getLogging(argument: suspend GetLoggingPlainArgsBuilder.() -> Unit): GetLoggingResult {
        val builder = GetLoggingPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getLoggingResultToKotlin(getLoggingPlain(builtArgument.toJava()).await())
    }

    /**
     * Mitigation actions can be used to take actions to mitigate issues that were found in an Audit finding or Detect violation.
     * @param argument null
     * @return null
     */
    public suspend fun getMitigationAction(argument: GetMitigationActionPlainArgs): GetMitigationActionResult =
        getMitigationActionResultToKotlin(getMitigationActionPlain(argument.toJava()).await())

    /**
     * @see [getMitigationAction].
     * @param actionName A unique identifier for the mitigation action.
     * @return null
     */
    public suspend fun getMitigationAction(actionName: String): GetMitigationActionResult {
        val argument = GetMitigationActionPlainArgs(
            actionName = actionName,
        )
        return getMitigationActionResultToKotlin(getMitigationActionPlain(argument.toJava()).await())
    }

    /**
     * @see [getMitigationAction].
     * @param argument Builder for [com.pulumi.awsnative.iot.kotlin.inputs.GetMitigationActionPlainArgs].
     * @return null
     */
    public suspend fun getMitigationAction(argument: suspend GetMitigationActionPlainArgsBuilder.() -> Unit): GetMitigationActionResult {
        val builder = GetMitigationActionPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getMitigationActionResultToKotlin(getMitigationActionPlain(builtArgument.toJava()).await())
    }

    /**
     * Resource Type definition for AWS::IoT::Policy
     * @param argument null
     * @return null
     */
    public suspend fun getPolicy(argument: GetPolicyPlainArgs): GetPolicyResult =
        getPolicyResultToKotlin(getPolicyPlain(argument.toJava()).await())

    /**
     * @see [getPolicy].
     * @param id The name of this policy.
     * @return null
     */
    public suspend fun getPolicy(id: String): GetPolicyResult {
        val argument = GetPolicyPlainArgs(
            id = id,
        )
        return getPolicyResultToKotlin(getPolicyPlain(argument.toJava()).await())
    }

    /**
     * @see [getPolicy].
     * @param argument Builder for [com.pulumi.awsnative.iot.kotlin.inputs.GetPolicyPlainArgs].
     * @return null
     */
    public suspend fun getPolicy(argument: suspend GetPolicyPlainArgsBuilder.() -> Unit): GetPolicyResult {
        val builder = GetPolicyPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getPolicyResultToKotlin(getPolicyPlain(builtArgument.toJava()).await())
    }

    /**
     * Creates a fleet provisioning template.
     * @param argument null
     * @return null
     */
    public suspend fun getProvisioningTemplate(argument: GetProvisioningTemplatePlainArgs): GetProvisioningTemplateResult =
        getProvisioningTemplateResultToKotlin(getProvisioningTemplatePlain(argument.toJava()).await())

    /**
     * @see [getProvisioningTemplate].
     * @param templateName The name of the fleet provisioning template.
     * @return null
     */
    public suspend fun getProvisioningTemplate(templateName: String): GetProvisioningTemplateResult {
        val argument = GetProvisioningTemplatePlainArgs(
            templateName = templateName,
        )
        return getProvisioningTemplateResultToKotlin(getProvisioningTemplatePlain(argument.toJava()).await())
    }

    /**
     * @see [getProvisioningTemplate].
     * @param argument Builder for [com.pulumi.awsnative.iot.kotlin.inputs.GetProvisioningTemplatePlainArgs].
     * @return null
     */
    public suspend fun getProvisioningTemplate(argument: suspend GetProvisioningTemplatePlainArgsBuilder.() -> Unit): GetProvisioningTemplateResult {
        val builder = GetProvisioningTemplatePlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getProvisioningTemplateResultToKotlin(getProvisioningTemplatePlain(builtArgument.toJava()).await())
    }

    /**
     * Resource-specific logging allows you to specify a logging level for a specific thing group.
     * @param argument null
     * @return null
     */
    public suspend fun getResourceSpecificLogging(argument: GetResourceSpecificLoggingPlainArgs): GetResourceSpecificLoggingResult =
        getResourceSpecificLoggingResultToKotlin(getResourceSpecificLoggingPlain(argument.toJava()).await())

    /**
     * @see [getResourceSpecificLogging].
     * @param targetId Unique Id for a Target (TargetType:TargetName), this will be internally built to serve as primary identifier for a log target.
     * @return null
     */
    public suspend fun getResourceSpecificLogging(targetId: String): GetResourceSpecificLoggingResult {
        val argument = GetResourceSpecificLoggingPlainArgs(
            targetId = targetId,
        )
        return getResourceSpecificLoggingResultToKotlin(getResourceSpecificLoggingPlain(argument.toJava()).await())
    }

    /**
     * @see [getResourceSpecificLogging].
     * @param argument Builder for [com.pulumi.awsnative.iot.kotlin.inputs.GetResourceSpecificLoggingPlainArgs].
     * @return null
     */
    public suspend fun getResourceSpecificLogging(argument: suspend GetResourceSpecificLoggingPlainArgsBuilder.() -> Unit): GetResourceSpecificLoggingResult {
        val builder = GetResourceSpecificLoggingPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getResourceSpecificLoggingResultToKotlin(getResourceSpecificLoggingPlain(builtArgument.toJava()).await())
    }

    /**
     * Use the AWS::IoT::RoleAlias resource to declare an AWS IoT RoleAlias.
     * @param argument null
     * @return null
     */
    public suspend fun getRoleAlias(argument: GetRoleAliasPlainArgs): GetRoleAliasResult =
        getRoleAliasResultToKotlin(getRoleAliasPlain(argument.toJava()).await())

    /**
     * @see [getRoleAlias].
     * @param roleAlias The role alias.
     * @return null
     */
    public suspend fun getRoleAlias(roleAlias: String): GetRoleAliasResult {
        val argument = GetRoleAliasPlainArgs(
            roleAlias = roleAlias,
        )
        return getRoleAliasResultToKotlin(getRoleAliasPlain(argument.toJava()).await())
    }

    /**
     * @see [getRoleAlias].
     * @param argument Builder for [com.pulumi.awsnative.iot.kotlin.inputs.GetRoleAliasPlainArgs].
     * @return null
     */
    public suspend fun getRoleAlias(argument: suspend GetRoleAliasPlainArgsBuilder.() -> Unit): GetRoleAliasResult {
        val builder = GetRoleAliasPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getRoleAliasResultToKotlin(getRoleAliasPlain(builtArgument.toJava()).await())
    }

    /**
     * Scheduled audits can be used to specify the checks you want to perform during an audit and how often the audit should be run.
     * @param argument null
     * @return null
     */
    public suspend fun getScheduledAudit(argument: GetScheduledAuditPlainArgs): GetScheduledAuditResult =
        getScheduledAuditResultToKotlin(getScheduledAuditPlain(argument.toJava()).await())

    /**
     * @see [getScheduledAudit].
     * @param scheduledAuditName The name you want to give to the scheduled audit.
     * @return null
     */
    public suspend fun getScheduledAudit(scheduledAuditName: String): GetScheduledAuditResult {
        val argument = GetScheduledAuditPlainArgs(
            scheduledAuditName = scheduledAuditName,
        )
        return getScheduledAuditResultToKotlin(getScheduledAuditPlain(argument.toJava()).await())
    }

    /**
     * @see [getScheduledAudit].
     * @param argument Builder for [com.pulumi.awsnative.iot.kotlin.inputs.GetScheduledAuditPlainArgs].
     * @return null
     */
    public suspend fun getScheduledAudit(argument: suspend GetScheduledAuditPlainArgsBuilder.() -> Unit): GetScheduledAuditResult {
        val builder = GetScheduledAuditPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getScheduledAuditResultToKotlin(getScheduledAuditPlain(builtArgument.toJava()).await())
    }

    /**
     * A security profile defines a set of expected behaviors for devices in your account.
     * @param argument null
     * @return null
     */
    public suspend fun getSecurityProfile(argument: GetSecurityProfilePlainArgs): GetSecurityProfileResult =
        getSecurityProfileResultToKotlin(getSecurityProfilePlain(argument.toJava()).await())

    /**
     * @see [getSecurityProfile].
     * @param securityProfileName A unique identifier for the security profile.
     * @return null
     */
    public suspend fun getSecurityProfile(securityProfileName: String): GetSecurityProfileResult {
        val argument = GetSecurityProfilePlainArgs(
            securityProfileName = securityProfileName,
        )
        return getSecurityProfileResultToKotlin(getSecurityProfilePlain(argument.toJava()).await())
    }

    /**
     * @see [getSecurityProfile].
     * @param argument Builder for [com.pulumi.awsnative.iot.kotlin.inputs.GetSecurityProfilePlainArgs].
     * @return null
     */
    public suspend fun getSecurityProfile(argument: suspend GetSecurityProfilePlainArgsBuilder.() -> Unit): GetSecurityProfileResult {
        val builder = GetSecurityProfilePlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getSecurityProfileResultToKotlin(getSecurityProfilePlain(builtArgument.toJava()).await())
    }

    /**
     * resource definition
     * @param argument null
     * @return null
     */
    public suspend fun getSoftwarePackage(argument: GetSoftwarePackagePlainArgs): GetSoftwarePackageResult =
        getSoftwarePackageResultToKotlin(getSoftwarePackagePlain(argument.toJava()).await())

    /**
     * @see [getSoftwarePackage].
     * @param packageName
     * @return null
     */
    public suspend fun getSoftwarePackage(packageName: String): GetSoftwarePackageResult {
        val argument = GetSoftwarePackagePlainArgs(
            packageName = packageName,
        )
        return getSoftwarePackageResultToKotlin(getSoftwarePackagePlain(argument.toJava()).await())
    }

    /**
     * @see [getSoftwarePackage].
     * @param argument Builder for [com.pulumi.awsnative.iot.kotlin.inputs.GetSoftwarePackagePlainArgs].
     * @return null
     */
    public suspend fun getSoftwarePackage(argument: suspend GetSoftwarePackagePlainArgsBuilder.() -> Unit): GetSoftwarePackageResult {
        val builder = GetSoftwarePackagePlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getSoftwarePackageResultToKotlin(getSoftwarePackagePlain(builtArgument.toJava()).await())
    }

    /**
     * resource definition
     * @param argument null
     * @return null
     */
    public suspend fun getSoftwarePackageVersion(argument: GetSoftwarePackageVersionPlainArgs): GetSoftwarePackageVersionResult =
        getSoftwarePackageVersionResultToKotlin(getSoftwarePackageVersionPlain(argument.toJava()).await())

    /**
     * @see [getSoftwarePackageVersion].
     * @param packageName
     * @param versionName
     * @return null
     */
    public suspend fun getSoftwarePackageVersion(packageName: String, versionName: String): GetSoftwarePackageVersionResult {
        val argument = GetSoftwarePackageVersionPlainArgs(
            packageName = packageName,
            versionName = versionName,
        )
        return getSoftwarePackageVersionResultToKotlin(getSoftwarePackageVersionPlain(argument.toJava()).await())
    }

    /**
     * @see [getSoftwarePackageVersion].
     * @param argument Builder for [com.pulumi.awsnative.iot.kotlin.inputs.GetSoftwarePackageVersionPlainArgs].
     * @return null
     */
    public suspend fun getSoftwarePackageVersion(argument: suspend GetSoftwarePackageVersionPlainArgsBuilder.() -> Unit): GetSoftwarePackageVersionResult {
        val builder = GetSoftwarePackageVersionPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getSoftwarePackageVersionResultToKotlin(getSoftwarePackageVersionPlain(builtArgument.toJava()).await())
    }

    /**
     * Resource Type definition for AWS::IoT::Thing
     * @param argument null
     * @return null
     */
    public suspend fun getThing(argument: GetThingPlainArgs): GetThingResult =
        getThingResultToKotlin(getThingPlain(argument.toJava()).await())

    /**
     * @see [getThing].
     * @param thingName The name of the thing to update.
     * You can't change a thing's name. To change a thing's name, you must create a new thing, give it the new name, and then delete the old thing.
     * @return null
     */
    public suspend fun getThing(thingName: String): GetThingResult {
        val argument = GetThingPlainArgs(
            thingName = thingName,
        )
        return getThingResultToKotlin(getThingPlain(argument.toJava()).await())
    }

    /**
     * @see [getThing].
     * @param argument Builder for [com.pulumi.awsnative.iot.kotlin.inputs.GetThingPlainArgs].
     * @return null
     */
    public suspend fun getThing(argument: suspend GetThingPlainArgsBuilder.() -> Unit): GetThingResult {
        val builder = GetThingPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getThingResultToKotlin(getThingPlain(builtArgument.toJava()).await())
    }

    /**
     * Resource Type definition for AWS::IoT::ThingGroup
     * @param argument null
     * @return null
     */
    public suspend fun getThingGroup(argument: GetThingGroupPlainArgs): GetThingGroupResult =
        getThingGroupResultToKotlin(getThingGroupPlain(argument.toJava()).await())

    /**
     * @see [getThingGroup].
     * @param thingGroupName The thing group name.
     * @return null
     */
    public suspend fun getThingGroup(thingGroupName: String): GetThingGroupResult {
        val argument = GetThingGroupPlainArgs(
            thingGroupName = thingGroupName,
        )
        return getThingGroupResultToKotlin(getThingGroupPlain(argument.toJava()).await())
    }

    /**
     * @see [getThingGroup].
     * @param argument Builder for [com.pulumi.awsnative.iot.kotlin.inputs.GetThingGroupPlainArgs].
     * @return null
     */
    public suspend fun getThingGroup(argument: suspend GetThingGroupPlainArgsBuilder.() -> Unit): GetThingGroupResult {
        val builder = GetThingGroupPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getThingGroupResultToKotlin(getThingGroupPlain(builtArgument.toJava()).await())
    }

    /**
     * Resource Type definition for AWS::IoT::ThingType
     * @param argument null
     * @return null
     */
    public suspend fun getThingType(argument: GetThingTypePlainArgs): GetThingTypeResult =
        getThingTypeResultToKotlin(getThingTypePlain(argument.toJava()).await())

    /**
     * @see [getThingType].
     * @param thingTypeName The name of the thing type.
     * @return null
     */
    public suspend fun getThingType(thingTypeName: String): GetThingTypeResult {
        val argument = GetThingTypePlainArgs(
            thingTypeName = thingTypeName,
        )
        return getThingTypeResultToKotlin(getThingTypePlain(argument.toJava()).await())
    }

    /**
     * @see [getThingType].
     * @param argument Builder for [com.pulumi.awsnative.iot.kotlin.inputs.GetThingTypePlainArgs].
     * @return null
     */
    public suspend fun getThingType(argument: suspend GetThingTypePlainArgsBuilder.() -> Unit): GetThingTypeResult {
        val builder = GetThingTypePlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getThingTypeResultToKotlin(getThingTypePlain(builtArgument.toJava()).await())
    }

    /**
     * Resource Type definition for AWS::IoT::TopicRule
     * @param argument null
     * @return null
     */
    public suspend fun getTopicRule(argument: GetTopicRulePlainArgs): GetTopicRuleResult =
        getTopicRuleResultToKotlin(getTopicRulePlain(argument.toJava()).await())

    /**
     * @see [getTopicRule].
     * @param ruleName The name of the rule.
     * *Pattern* : `^[a-zA-Z0-9_]+$`
     * @return null
     */
    public suspend fun getTopicRule(ruleName: String): GetTopicRuleResult {
        val argument = GetTopicRulePlainArgs(
            ruleName = ruleName,
        )
        return getTopicRuleResultToKotlin(getTopicRulePlain(argument.toJava()).await())
    }

    /**
     * @see [getTopicRule].
     * @param argument Builder for [com.pulumi.awsnative.iot.kotlin.inputs.GetTopicRulePlainArgs].
     * @return null
     */
    public suspend fun getTopicRule(argument: suspend GetTopicRulePlainArgsBuilder.() -> Unit): GetTopicRuleResult {
        val builder = GetTopicRulePlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getTopicRuleResultToKotlin(getTopicRulePlain(builtArgument.toJava()).await())
    }

    /**
     * Resource Type definition for AWS::IoT::TopicRuleDestination
     * @param argument null
     * @return null
     */
    public suspend fun getTopicRuleDestination(argument: GetTopicRuleDestinationPlainArgs): GetTopicRuleDestinationResult =
        getTopicRuleDestinationResultToKotlin(getTopicRuleDestinationPlain(argument.toJava()).await())

    /**
     * @see [getTopicRuleDestination].
     * @param arn Amazon Resource Name (ARN).
     * @return null
     */
    public suspend fun getTopicRuleDestination(arn: String): GetTopicRuleDestinationResult {
        val argument = GetTopicRuleDestinationPlainArgs(
            arn = arn,
        )
        return getTopicRuleDestinationResultToKotlin(getTopicRuleDestinationPlain(argument.toJava()).await())
    }

    /**
     * @see [getTopicRuleDestination].
     * @param argument Builder for [com.pulumi.awsnative.iot.kotlin.inputs.GetTopicRuleDestinationPlainArgs].
     * @return null
     */
    public suspend fun getTopicRuleDestination(argument: suspend GetTopicRuleDestinationPlainArgsBuilder.() -> Unit): GetTopicRuleDestinationResult {
        val builder = GetTopicRuleDestinationPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getTopicRuleDestinationResultToKotlin(getTopicRuleDestinationPlain(builtArgument.toJava()).await())
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy