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

src.compute.alpha.FirewallArgs.scala Maven / Gradle / Ivy

There is a newer version: 0.32.0-core.0.4
Show newest version
package besom.api.googlenative.compute.alpha

final case class FirewallArgs private(
  allowed: besom.types.Output[scala.Option[scala.collection.immutable.List[besom.api.googlenative.compute.alpha.inputs.FirewallAllowedItemArgs]]],
  denied: besom.types.Output[scala.Option[scala.collection.immutable.List[besom.api.googlenative.compute.alpha.inputs.FirewallDeniedItemArgs]]],
  description: besom.types.Output[scala.Option[String]],
  destinationRanges: besom.types.Output[scala.Option[scala.collection.immutable.List[String]]],
  direction: besom.types.Output[scala.Option[besom.api.googlenative.compute.alpha.enums.FirewallDirection]],
  disabled: besom.types.Output[scala.Option[Boolean]],
  enableLogging: besom.types.Output[scala.Option[Boolean]],
  logConfig: besom.types.Output[scala.Option[besom.api.googlenative.compute.alpha.inputs.FirewallLogConfigArgs]],
  name: besom.types.Output[scala.Option[String]],
  network: besom.types.Output[scala.Option[String]],
  priority: besom.types.Output[scala.Option[Int]],
  project: besom.types.Output[scala.Option[String]],
  requestId: besom.types.Output[scala.Option[String]],
  sourceRanges: besom.types.Output[scala.Option[scala.collection.immutable.List[String]]],
  sourceServiceAccounts: besom.types.Output[scala.Option[scala.collection.immutable.List[String]]],
  sourceTags: besom.types.Output[scala.Option[scala.collection.immutable.List[String]]],
  targetServiceAccounts: besom.types.Output[scala.Option[scala.collection.immutable.List[String]]],
  targetTags: besom.types.Output[scala.Option[scala.collection.immutable.List[String]]]
)

object FirewallArgs:
  def apply(
    allowed: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[besom.api.googlenative.compute.alpha.inputs.FirewallAllowedItemArgs]]] = scala.None,
    denied: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[besom.api.googlenative.compute.alpha.inputs.FirewallDeniedItemArgs]]] = scala.None,
    description: besom.types.Input.Optional[String] = scala.None,
    destinationRanges: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[String]]] = scala.None,
    direction: besom.types.Input.Optional[besom.api.googlenative.compute.alpha.enums.FirewallDirection] = scala.None,
    disabled: besom.types.Input.Optional[Boolean] = scala.None,
    enableLogging: besom.types.Input.Optional[Boolean] = scala.None,
    logConfig: besom.types.Input.Optional[besom.api.googlenative.compute.alpha.inputs.FirewallLogConfigArgs] = scala.None,
    name: besom.types.Input.Optional[String] = scala.None,
    network: besom.types.Input.Optional[String] = scala.None,
    priority: besom.types.Input.Optional[Int] = scala.None,
    project: besom.types.Input.Optional[String] = scala.None,
    requestId: besom.types.Input.Optional[String] = scala.None,
    sourceRanges: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[String]]] = scala.None,
    sourceServiceAccounts: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[String]]] = scala.None,
    sourceTags: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[String]]] = scala.None,
    targetServiceAccounts: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[String]]] = scala.None,
    targetTags: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[String]]] = scala.None
  )(using besom.types.Context): FirewallArgs =
    new FirewallArgs(
      allowed = allowed.asOptionOutput(isSecret = false),
      denied = denied.asOptionOutput(isSecret = false),
      description = description.asOptionOutput(isSecret = false),
      destinationRanges = destinationRanges.asOptionOutput(isSecret = false),
      direction = direction.asOptionOutput(isSecret = false),
      disabled = disabled.asOptionOutput(isSecret = false),
      enableLogging = enableLogging.asOptionOutput(isSecret = false),
      logConfig = logConfig.asOptionOutput(isSecret = false),
      name = name.asOptionOutput(isSecret = false),
      network = network.asOptionOutput(isSecret = false),
      priority = priority.asOptionOutput(isSecret = false),
      project = project.asOptionOutput(isSecret = false),
      requestId = requestId.asOptionOutput(isSecret = false),
      sourceRanges = sourceRanges.asOptionOutput(isSecret = false),
      sourceServiceAccounts = sourceServiceAccounts.asOptionOutput(isSecret = false),
      sourceTags = sourceTags.asOptionOutput(isSecret = false),
      targetServiceAccounts = targetServiceAccounts.asOptionOutput(isSecret = false),
      targetTags = targetTags.asOptionOutput(isSecret = false)
    )

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






© 2015 - 2025 Weber Informatics LLC | Privacy Policy