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

src.cloudfunctions.v1.FunctionArgs.scala Maven / Gradle / Ivy

package besom.api.googlenative.cloudfunctions.v1

final case class FunctionArgs private(
  availableMemoryMb: besom.types.Output[scala.Option[Int]],
  buildEnvironmentVariables: besom.types.Output[scala.Option[scala.Predef.Map[String, String]]],
  buildWorkerPool: besom.types.Output[scala.Option[String]],
  description: besom.types.Output[scala.Option[String]],
  dockerRegistry: besom.types.Output[scala.Option[besom.api.googlenative.cloudfunctions.v1.enums.FunctionDockerRegistry]],
  dockerRepository: besom.types.Output[scala.Option[String]],
  entryPoint: besom.types.Output[scala.Option[String]],
  environmentVariables: besom.types.Output[scala.Option[scala.Predef.Map[String, String]]],
  eventTrigger: besom.types.Output[scala.Option[besom.api.googlenative.cloudfunctions.v1.inputs.EventTriggerArgs]],
  httpsTrigger: besom.types.Output[scala.Option[besom.api.googlenative.cloudfunctions.v1.inputs.HttpsTriggerArgs]],
  ingressSettings: besom.types.Output[scala.Option[besom.api.googlenative.cloudfunctions.v1.enums.FunctionIngressSettings]],
  kmsKeyName: besom.types.Output[scala.Option[String]],
  labels: besom.types.Output[scala.Option[scala.Predef.Map[String, String]]],
  location: besom.types.Output[scala.Option[String]],
  maxInstances: besom.types.Output[scala.Option[Int]],
  minInstances: besom.types.Output[scala.Option[Int]],
  name: besom.types.Output[scala.Option[String]],
  network: besom.types.Output[scala.Option[String]],
  project: besom.types.Output[scala.Option[String]],
  runtime: besom.types.Output[scala.Option[String]],
  secretEnvironmentVariables: besom.types.Output[scala.Option[scala.collection.immutable.List[besom.api.googlenative.cloudfunctions.v1.inputs.SecretEnvVarArgs]]],
  secretVolumes: besom.types.Output[scala.Option[scala.collection.immutable.List[besom.api.googlenative.cloudfunctions.v1.inputs.SecretVolumeArgs]]],
  serviceAccountEmail: besom.types.Output[scala.Option[String]],
  sourceArchiveUrl: besom.types.Output[scala.Option[String]],
  sourceRepository: besom.types.Output[scala.Option[besom.api.googlenative.cloudfunctions.v1.inputs.SourceRepositoryArgs]],
  sourceToken: besom.types.Output[scala.Option[String]],
  sourceUploadUrl: besom.types.Output[scala.Option[String]],
  timeout: besom.types.Output[scala.Option[String]],
  vpcConnector: besom.types.Output[scala.Option[String]],
  vpcConnectorEgressSettings: besom.types.Output[scala.Option[besom.api.googlenative.cloudfunctions.v1.enums.FunctionVpcConnectorEgressSettings]]
)

object FunctionArgs:
  def apply(
    availableMemoryMb: besom.types.Input.Optional[Int] = scala.None,
    buildEnvironmentVariables: besom.types.Input.Optional[scala.Predef.Map[String, besom.types.Input[String]]] = scala.None,
    buildWorkerPool: besom.types.Input.Optional[String] = scala.None,
    description: besom.types.Input.Optional[String] = scala.None,
    dockerRegistry: besom.types.Input.Optional[besom.api.googlenative.cloudfunctions.v1.enums.FunctionDockerRegistry] = scala.None,
    dockerRepository: besom.types.Input.Optional[String] = scala.None,
    entryPoint: besom.types.Input.Optional[String] = scala.None,
    environmentVariables: besom.types.Input.Optional[scala.Predef.Map[String, besom.types.Input[String]]] = scala.None,
    eventTrigger: besom.types.Input.Optional[besom.api.googlenative.cloudfunctions.v1.inputs.EventTriggerArgs] = scala.None,
    httpsTrigger: besom.types.Input.Optional[besom.api.googlenative.cloudfunctions.v1.inputs.HttpsTriggerArgs] = scala.None,
    ingressSettings: besom.types.Input.Optional[besom.api.googlenative.cloudfunctions.v1.enums.FunctionIngressSettings] = scala.None,
    kmsKeyName: besom.types.Input.Optional[String] = scala.None,
    labels: besom.types.Input.Optional[scala.Predef.Map[String, besom.types.Input[String]]] = scala.None,
    location: besom.types.Input.Optional[String] = scala.None,
    maxInstances: besom.types.Input.Optional[Int] = scala.None,
    minInstances: besom.types.Input.Optional[Int] = scala.None,
    name: besom.types.Input.Optional[String] = scala.None,
    network: besom.types.Input.Optional[String] = scala.None,
    project: besom.types.Input.Optional[String] = scala.None,
    runtime: besom.types.Input.Optional[String] = scala.None,
    secretEnvironmentVariables: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[besom.api.googlenative.cloudfunctions.v1.inputs.SecretEnvVarArgs]]] = scala.None,
    secretVolumes: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[besom.api.googlenative.cloudfunctions.v1.inputs.SecretVolumeArgs]]] = scala.None,
    serviceAccountEmail: besom.types.Input.Optional[String] = scala.None,
    sourceArchiveUrl: besom.types.Input.Optional[String] = scala.None,
    sourceRepository: besom.types.Input.Optional[besom.api.googlenative.cloudfunctions.v1.inputs.SourceRepositoryArgs] = scala.None,
    sourceToken: besom.types.Input.Optional[String] = scala.None,
    sourceUploadUrl: besom.types.Input.Optional[String] = scala.None,
    timeout: besom.types.Input.Optional[String] = scala.None,
    vpcConnector: besom.types.Input.Optional[String] = scala.None,
    vpcConnectorEgressSettings: besom.types.Input.Optional[besom.api.googlenative.cloudfunctions.v1.enums.FunctionVpcConnectorEgressSettings] = scala.None
  )(using besom.types.Context): FunctionArgs =
    new FunctionArgs(
      availableMemoryMb = availableMemoryMb.asOptionOutput(isSecret = false),
      buildEnvironmentVariables = buildEnvironmentVariables.asOptionOutput(isSecret = false),
      buildWorkerPool = buildWorkerPool.asOptionOutput(isSecret = false),
      description = description.asOptionOutput(isSecret = false),
      dockerRegistry = dockerRegistry.asOptionOutput(isSecret = false),
      dockerRepository = dockerRepository.asOptionOutput(isSecret = false),
      entryPoint = entryPoint.asOptionOutput(isSecret = false),
      environmentVariables = environmentVariables.asOptionOutput(isSecret = false),
      eventTrigger = eventTrigger.asOptionOutput(isSecret = false),
      httpsTrigger = httpsTrigger.asOptionOutput(isSecret = false),
      ingressSettings = ingressSettings.asOptionOutput(isSecret = false),
      kmsKeyName = kmsKeyName.asOptionOutput(isSecret = false),
      labels = labels.asOptionOutput(isSecret = false),
      location = location.asOptionOutput(isSecret = false),
      maxInstances = maxInstances.asOptionOutput(isSecret = false),
      minInstances = minInstances.asOptionOutput(isSecret = false),
      name = name.asOptionOutput(isSecret = false),
      network = network.asOptionOutput(isSecret = false),
      project = project.asOptionOutput(isSecret = false),
      runtime = runtime.asOptionOutput(isSecret = false),
      secretEnvironmentVariables = secretEnvironmentVariables.asOptionOutput(isSecret = false),
      secretVolumes = secretVolumes.asOptionOutput(isSecret = false),
      serviceAccountEmail = serviceAccountEmail.asOptionOutput(isSecret = false),
      sourceArchiveUrl = sourceArchiveUrl.asOptionOutput(isSecret = false),
      sourceRepository = sourceRepository.asOptionOutput(isSecret = false),
      sourceToken = sourceToken.asOptionOutput(isSecret = false),
      sourceUploadUrl = sourceUploadUrl.asOptionOutput(isSecret = false),
      timeout = timeout.asOptionOutput(isSecret = false),
      vpcConnector = vpcConnector.asOptionOutput(isSecret = false),
      vpcConnectorEgressSettings = vpcConnectorEgressSettings.asOptionOutput(isSecret = false)
    )

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






© 2015 - 2025 Weber Informatics LLC | Privacy Policy