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

com.pulumi.awsnative.bedrock.kotlin.outputs.AgentActionGroup.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 1.24.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.bedrock.kotlin.outputs

import com.pulumi.awsnative.bedrock.kotlin.enums.AgentActionGroupSignature
import com.pulumi.awsnative.bedrock.kotlin.enums.AgentActionGroupState
import com.pulumi.core.Either
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress

/**
 * Contains the information of an Agent Action Group
 * @property actionGroupExecutor The Amazon Resource Name (ARN) of the Lambda function containing the business logic that is carried out upon invoking the action or the custom control method for handling the information elicited from the user.
 * @property actionGroupName Name of the action group
 * @property actionGroupState Specifies whether the action group is available for the agent to invoke or not when sending an [InvokeAgent](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html) request.
 * @property apiSchema Contains either details about the S3 object containing the OpenAPI schema for the action group or the JSON or YAML-formatted payload defining the schema. For more information, see [Action group OpenAPI schemas](https://docs.aws.amazon.com/bedrock/latest/userguide/agents-api-schema.html) .
 * @property description Description of action group
 * @property functionSchema Defines functions that each define parameters that the agent needs to invoke from the user. Each function represents an action in an action group.
 * @property parentActionGroupSignature If this field is set as `AMAZON.UserInput` , the agent can request the user for additional information when trying to complete a task. The `description` , `apiSchema` , and `actionGroupExecutor` fields must be blank for this action group.
 * During orchestration, if the agent determines that it needs to invoke an API in an action group, but doesn't have enough information to complete the API request, it will invoke this action group instead and return an [Observation](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Observation.html) reprompting the user for more information.
 * @property skipResourceInUseCheckOnDelete Specifies whether to allow deleting action group while it is in use.
 */
public data class AgentActionGroup(
    public val actionGroupExecutor: Either? = null,
    public val actionGroupName: String,
    public val actionGroupState: AgentActionGroupState? = null,
    public val apiSchema: Either? = null,
    public val description: String? = null,
    public val functionSchema: AgentFunctionSchema? = null,
    public val parentActionGroupSignature: AgentActionGroupSignature? = null,
    public val skipResourceInUseCheckOnDelete: Boolean? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.awsnative.bedrock.outputs.AgentActionGroup): AgentActionGroup = AgentActionGroup(
            actionGroupExecutor = javaType.actionGroupExecutor().map({ args0 ->
                args0.transform(
                    { args0 ->
                        args0.let({ args0 ->
                            com.pulumi.awsnative.bedrock.kotlin.outputs.AgentActionGroupExecutor0Properties.Companion.toKotlin(args0)
                        })
                    },
                    { args0 ->
                        args0.let({ args0 ->
                            com.pulumi.awsnative.bedrock.kotlin.outputs.AgentActionGroupExecutor1Properties.Companion.toKotlin(args0)
                        })
                    },
                )
            }).orElse(null),
            actionGroupName = javaType.actionGroupName(),
            actionGroupState = javaType.actionGroupState().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.bedrock.kotlin.enums.AgentActionGroupState.Companion.toKotlin(args0)
                })
            }).orElse(null),
            apiSchema = javaType.apiSchema().map({ args0 ->
                args0.transform(
                    { args0 ->
                        args0.let({ args0 ->
                            com.pulumi.awsnative.bedrock.kotlin.outputs.AgentApiSchema0Properties.Companion.toKotlin(args0)
                        })
                    },
                    { args0 ->
                        args0.let({ args0 ->
                            com.pulumi.awsnative.bedrock.kotlin.outputs.AgentApiSchema1Properties.Companion.toKotlin(args0)
                        })
                    },
                )
            }).orElse(null),
            description = javaType.description().map({ args0 -> args0 }).orElse(null),
            functionSchema = javaType.functionSchema().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.bedrock.kotlin.outputs.AgentFunctionSchema.Companion.toKotlin(args0)
                })
            }).orElse(null),
            parentActionGroupSignature = javaType.parentActionGroupSignature().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.bedrock.kotlin.enums.AgentActionGroupSignature.Companion.toKotlin(args0)
                })
            }).orElse(null),
            skipResourceInUseCheckOnDelete = javaType.skipResourceInUseCheckOnDelete().map({ args0 ->
                args0
            }).orElse(null),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy