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

com.pulumi.awsnative.appsync.kotlin.outputs.GetFunctionConfigurationResult.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.appsync.kotlin.outputs

import kotlin.Int
import kotlin.String
import kotlin.Suppress

/**
 *
 * @property code The resolver code that contains the request and response functions. When code is used, the runtime is required. The runtime value must be APPSYNC_JS.
 * @property dataSourceName The name of data source this function will attach.
 * @property description The function description.
 * @property functionArn The ARN for the function generated by the service
 * @property functionId The unique identifier for the function generated by the service
 * @property functionVersion The version of the request mapping template. Currently, only the 2018-05-29 version of the template is supported.
 * @property maxBatchSize The maximum number of resolver request inputs that will be sent to a single AWS Lambda function in a BatchInvoke operation.
 * @property name The name of the function.
 * @property requestMappingTemplate The Function request mapping template. Functions support only the 2018-05-29 version of the request mapping template.
 * @property responseMappingTemplate The Function response mapping template.
 * @property runtime Describes a runtime used by an AWS AppSync pipeline resolver or AWS AppSync function. Specifies the name and version of the runtime to use. Note that if a runtime is specified, code must also be specified.
 * @property syncConfig Describes a Sync configuration for a resolver. Specifies which Conflict Detection strategy and Resolution strategy to use when the resolver is invoked.
 */
public data class GetFunctionConfigurationResult(
    public val code: String? = null,
    public val dataSourceName: String? = null,
    public val description: String? = null,
    public val functionArn: String? = null,
    public val functionId: String? = null,
    public val functionVersion: String? = null,
    public val maxBatchSize: Int? = null,
    public val name: String? = null,
    public val requestMappingTemplate: String? = null,
    public val responseMappingTemplate: String? = null,
    public val runtime: FunctionConfigurationAppSyncRuntime? = null,
    public val syncConfig: FunctionConfigurationSyncConfig? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.awsnative.appsync.outputs.GetFunctionConfigurationResult): GetFunctionConfigurationResult = GetFunctionConfigurationResult(
            code = javaType.code().map({ args0 -> args0 }).orElse(null),
            dataSourceName = javaType.dataSourceName().map({ args0 -> args0 }).orElse(null),
            description = javaType.description().map({ args0 -> args0 }).orElse(null),
            functionArn = javaType.functionArn().map({ args0 -> args0 }).orElse(null),
            functionId = javaType.functionId().map({ args0 -> args0 }).orElse(null),
            functionVersion = javaType.functionVersion().map({ args0 -> args0 }).orElse(null),
            maxBatchSize = javaType.maxBatchSize().map({ args0 -> args0 }).orElse(null),
            name = javaType.name().map({ args0 -> args0 }).orElse(null),
            requestMappingTemplate = javaType.requestMappingTemplate().map({ args0 -> args0 }).orElse(null),
            responseMappingTemplate = javaType.responseMappingTemplate().map({ args0 -> args0 }).orElse(null),
            runtime = javaType.runtime().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.appsync.kotlin.outputs.FunctionConfigurationAppSyncRuntime.Companion.toKotlin(args0)
                })
            }).orElse(null),
            syncConfig = javaType.syncConfig().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.appsync.kotlin.outputs.FunctionConfigurationSyncConfig.Companion.toKotlin(args0)
                })
            }).orElse(null),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy