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

src.discoveryengine.v1beta.SchemaArgs.scala Maven / Gradle / Ivy

package besom.api.googlenative.discoveryengine.v1beta

final case class SchemaArgs private(
  collectionId: besom.types.Output[String],
  dataStoreId: besom.types.Output[String],
  jsonSchema: besom.types.Output[scala.Option[String]],
  location: besom.types.Output[scala.Option[String]],
  name: besom.types.Output[scala.Option[String]],
  project: besom.types.Output[scala.Option[String]],
  schemaId: besom.types.Output[String],
  structSchema: besom.types.Output[scala.Option[scala.Predef.Map[String, String]]]
)

object SchemaArgs:
  def apply(
    collectionId: besom.types.Input[String],
    dataStoreId: besom.types.Input[String],
    jsonSchema: besom.types.Input.Optional[String] = scala.None,
    location: besom.types.Input.Optional[String] = scala.None,
    name: besom.types.Input.Optional[String] = scala.None,
    project: besom.types.Input.Optional[String] = scala.None,
    schemaId: besom.types.Input[String],
    structSchema: besom.types.Input.Optional[scala.Predef.Map[String, besom.types.Input[String]]] = scala.None
  )(using besom.types.Context): SchemaArgs =
    new SchemaArgs(
      collectionId = collectionId.asOutput(isSecret = false),
      dataStoreId = dataStoreId.asOutput(isSecret = false),
      jsonSchema = jsonSchema.asOptionOutput(isSecret = false),
      location = location.asOptionOutput(isSecret = false),
      name = name.asOptionOutput(isSecret = false),
      project = project.asOptionOutput(isSecret = false),
      schemaId = schemaId.asOutput(isSecret = false),
      structSchema = structSchema.asOptionOutput(isSecret = false)
    )

  given encoder(using besom.types.Context): besom.types.Encoder[SchemaArgs] =
    besom.internal.Encoder.derived[SchemaArgs]
  given argsEncoder(using besom.types.Context): besom.types.ArgsEncoder[SchemaArgs] =
    besom.internal.ArgsEncoder.derived[SchemaArgs]






© 2015 - 2025 Weber Informatics LLC | Privacy Policy