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

src.dns.v1.PolicyArgs.scala Maven / Gradle / Ivy

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

final case class PolicyArgs private(
  alternativeNameServerConfig: besom.types.Output[scala.Option[besom.api.googlenative.dns.v1.inputs.PolicyAlternativeNameServerConfigArgs]],
  clientOperationId: besom.types.Output[scala.Option[String]],
  description: besom.types.Output[scala.Option[String]],
  enableInboundForwarding: besom.types.Output[scala.Option[Boolean]],
  enableLogging: besom.types.Output[scala.Option[Boolean]],
  kind: besom.types.Output[scala.Option[String]],
  name: besom.types.Output[scala.Option[String]],
  networks: besom.types.Output[scala.Option[scala.collection.immutable.List[besom.api.googlenative.dns.v1.inputs.PolicyNetworkArgs]]],
  project: besom.types.Output[scala.Option[String]]
)

object PolicyArgs:
  def apply(
    alternativeNameServerConfig: besom.types.Input.Optional[besom.api.googlenative.dns.v1.inputs.PolicyAlternativeNameServerConfigArgs] = scala.None,
    clientOperationId: besom.types.Input.Optional[String] = scala.None,
    description: besom.types.Input.Optional[String] = scala.None,
    enableInboundForwarding: besom.types.Input.Optional[Boolean] = scala.None,
    enableLogging: besom.types.Input.Optional[Boolean] = scala.None,
    kind: besom.types.Input.Optional[String] = scala.None,
    name: besom.types.Input.Optional[String] = scala.None,
    networks: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[besom.api.googlenative.dns.v1.inputs.PolicyNetworkArgs]]] = scala.None,
    project: besom.types.Input.Optional[String] = scala.None
  )(using besom.types.Context): PolicyArgs =
    new PolicyArgs(
      alternativeNameServerConfig = alternativeNameServerConfig.asOptionOutput(isSecret = false),
      clientOperationId = clientOperationId.asOptionOutput(isSecret = false),
      description = description.asOptionOutput(isSecret = false),
      enableInboundForwarding = enableInboundForwarding.asOptionOutput(isSecret = false),
      enableLogging = enableLogging.asOptionOutput(isSecret = false),
      kind = kind.asOptionOutput(isSecret = false),
      name = name.asOptionOutput(isSecret = false),
      networks = networks.asOptionOutput(isSecret = false),
      project = project.asOptionOutput(isSecret = false)
    )

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






© 2015 - 2025 Weber Informatics LLC | Privacy Policy