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

src.compute.v1.BackendServiceArgs.scala Maven / Gradle / Ivy

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

final case class BackendServiceArgs private(
  affinityCookieTtlSec: besom.types.Output[scala.Option[Int]],
  backends: besom.types.Output[scala.Option[scala.collection.immutable.List[besom.api.googlenative.compute.v1.inputs.BackendArgs]]],
  cdnPolicy: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.inputs.BackendServiceCdnPolicyArgs]],
  circuitBreakers: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.inputs.CircuitBreakersArgs]],
  compressionMode: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.enums.BackendServiceCompressionMode]],
  connectionDraining: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.inputs.ConnectionDrainingArgs]],
  connectionTrackingPolicy: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.inputs.BackendServiceConnectionTrackingPolicyArgs]],
  consistentHash: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.inputs.ConsistentHashLoadBalancerSettingsArgs]],
  customRequestHeaders: besom.types.Output[scala.Option[scala.collection.immutable.List[String]]],
  customResponseHeaders: besom.types.Output[scala.Option[scala.collection.immutable.List[String]]],
  description: besom.types.Output[scala.Option[String]],
  enableCDN: besom.types.Output[scala.Option[Boolean]],
  failoverPolicy: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.inputs.BackendServiceFailoverPolicyArgs]],
  healthChecks: besom.types.Output[scala.Option[scala.collection.immutable.List[String]]],
  iap: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.inputs.BackendServiceIapArgs]],
  loadBalancingScheme: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.enums.BackendServiceLoadBalancingScheme]],
  localityLbPolicies: besom.types.Output[scala.Option[scala.collection.immutable.List[besom.api.googlenative.compute.v1.inputs.BackendServiceLocalityLoadBalancingPolicyConfigArgs]]],
  localityLbPolicy: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.enums.BackendServiceLocalityLbPolicy]],
  logConfig: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.inputs.BackendServiceLogConfigArgs]],
  maxStreamDuration: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.inputs.DurationArgs]],
  metadatas: besom.types.Output[scala.Option[scala.Predef.Map[String, String]]],
  name: besom.types.Output[scala.Option[String]],
  network: besom.types.Output[scala.Option[String]],
  outlierDetection: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.inputs.OutlierDetectionArgs]],
  port: besom.types.Output[scala.Option[Int]],
  portName: besom.types.Output[scala.Option[String]],
  project: besom.types.Output[scala.Option[String]],
  protocol: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.enums.BackendServiceProtocol]],
  requestId: besom.types.Output[scala.Option[String]],
  securitySettings: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.inputs.SecuritySettingsArgs]],
  serviceBindings: besom.types.Output[scala.Option[scala.collection.immutable.List[String]]],
  sessionAffinity: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.enums.BackendServiceSessionAffinity]],
  subsetting: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.inputs.SubsettingArgs]],
  timeoutSec: besom.types.Output[scala.Option[Int]],
  usedBy: besom.types.Output[scala.Option[scala.collection.immutable.List[besom.api.googlenative.compute.v1.inputs.BackendServiceUsedByArgs]]]
)

object BackendServiceArgs:
  def apply(
    affinityCookieTtlSec: besom.types.Input.Optional[Int] = scala.None,
    backends: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[besom.api.googlenative.compute.v1.inputs.BackendArgs]]] = scala.None,
    cdnPolicy: besom.types.Input.Optional[besom.api.googlenative.compute.v1.inputs.BackendServiceCdnPolicyArgs] = scala.None,
    circuitBreakers: besom.types.Input.Optional[besom.api.googlenative.compute.v1.inputs.CircuitBreakersArgs] = scala.None,
    compressionMode: besom.types.Input.Optional[besom.api.googlenative.compute.v1.enums.BackendServiceCompressionMode] = scala.None,
    connectionDraining: besom.types.Input.Optional[besom.api.googlenative.compute.v1.inputs.ConnectionDrainingArgs] = scala.None,
    connectionTrackingPolicy: besom.types.Input.Optional[besom.api.googlenative.compute.v1.inputs.BackendServiceConnectionTrackingPolicyArgs] = scala.None,
    consistentHash: besom.types.Input.Optional[besom.api.googlenative.compute.v1.inputs.ConsistentHashLoadBalancerSettingsArgs] = scala.None,
    customRequestHeaders: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[String]]] = scala.None,
    customResponseHeaders: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[String]]] = scala.None,
    description: besom.types.Input.Optional[String] = scala.None,
    enableCDN: besom.types.Input.Optional[Boolean] = scala.None,
    failoverPolicy: besom.types.Input.Optional[besom.api.googlenative.compute.v1.inputs.BackendServiceFailoverPolicyArgs] = scala.None,
    healthChecks: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[String]]] = scala.None,
    iap: besom.types.Input.Optional[besom.api.googlenative.compute.v1.inputs.BackendServiceIapArgs] = scala.None,
    loadBalancingScheme: besom.types.Input.Optional[besom.api.googlenative.compute.v1.enums.BackendServiceLoadBalancingScheme] = scala.None,
    localityLbPolicies: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[besom.api.googlenative.compute.v1.inputs.BackendServiceLocalityLoadBalancingPolicyConfigArgs]]] = scala.None,
    localityLbPolicy: besom.types.Input.Optional[besom.api.googlenative.compute.v1.enums.BackendServiceLocalityLbPolicy] = scala.None,
    logConfig: besom.types.Input.Optional[besom.api.googlenative.compute.v1.inputs.BackendServiceLogConfigArgs] = scala.None,
    maxStreamDuration: besom.types.Input.Optional[besom.api.googlenative.compute.v1.inputs.DurationArgs] = scala.None,
    metadatas: besom.types.Input.Optional[scala.Predef.Map[String, besom.types.Input[String]]] = scala.None,
    name: besom.types.Input.Optional[String] = scala.None,
    network: besom.types.Input.Optional[String] = scala.None,
    outlierDetection: besom.types.Input.Optional[besom.api.googlenative.compute.v1.inputs.OutlierDetectionArgs] = scala.None,
    port: besom.types.Input.Optional[Int] = scala.None,
    portName: besom.types.Input.Optional[String] = scala.None,
    project: besom.types.Input.Optional[String] = scala.None,
    protocol: besom.types.Input.Optional[besom.api.googlenative.compute.v1.enums.BackendServiceProtocol] = scala.None,
    requestId: besom.types.Input.Optional[String] = scala.None,
    securitySettings: besom.types.Input.Optional[besom.api.googlenative.compute.v1.inputs.SecuritySettingsArgs] = scala.None,
    serviceBindings: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[String]]] = scala.None,
    sessionAffinity: besom.types.Input.Optional[besom.api.googlenative.compute.v1.enums.BackendServiceSessionAffinity] = scala.None,
    subsetting: besom.types.Input.Optional[besom.api.googlenative.compute.v1.inputs.SubsettingArgs] = scala.None,
    timeoutSec: besom.types.Input.Optional[Int] = scala.None,
    usedBy: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[besom.api.googlenative.compute.v1.inputs.BackendServiceUsedByArgs]]] = scala.None
  )(using besom.types.Context): BackendServiceArgs =
    new BackendServiceArgs(
      affinityCookieTtlSec = affinityCookieTtlSec.asOptionOutput(isSecret = false),
      backends = backends.asOptionOutput(isSecret = false),
      cdnPolicy = cdnPolicy.asOptionOutput(isSecret = false),
      circuitBreakers = circuitBreakers.asOptionOutput(isSecret = false),
      compressionMode = compressionMode.asOptionOutput(isSecret = false),
      connectionDraining = connectionDraining.asOptionOutput(isSecret = false),
      connectionTrackingPolicy = connectionTrackingPolicy.asOptionOutput(isSecret = false),
      consistentHash = consistentHash.asOptionOutput(isSecret = false),
      customRequestHeaders = customRequestHeaders.asOptionOutput(isSecret = false),
      customResponseHeaders = customResponseHeaders.asOptionOutput(isSecret = false),
      description = description.asOptionOutput(isSecret = false),
      enableCDN = enableCDN.asOptionOutput(isSecret = false),
      failoverPolicy = failoverPolicy.asOptionOutput(isSecret = false),
      healthChecks = healthChecks.asOptionOutput(isSecret = false),
      iap = iap.asOptionOutput(isSecret = false),
      loadBalancingScheme = loadBalancingScheme.asOptionOutput(isSecret = false),
      localityLbPolicies = localityLbPolicies.asOptionOutput(isSecret = false),
      localityLbPolicy = localityLbPolicy.asOptionOutput(isSecret = false),
      logConfig = logConfig.asOptionOutput(isSecret = false),
      maxStreamDuration = maxStreamDuration.asOptionOutput(isSecret = false),
      metadatas = metadatas.asOptionOutput(isSecret = false),
      name = name.asOptionOutput(isSecret = false),
      network = network.asOptionOutput(isSecret = false),
      outlierDetection = outlierDetection.asOptionOutput(isSecret = false),
      port = port.asOptionOutput(isSecret = false),
      portName = portName.asOptionOutput(isSecret = false),
      project = project.asOptionOutput(isSecret = false),
      protocol = protocol.asOptionOutput(isSecret = false),
      requestId = requestId.asOptionOutput(isSecret = false),
      securitySettings = securitySettings.asOptionOutput(isSecret = false),
      serviceBindings = serviceBindings.asOptionOutput(isSecret = false),
      sessionAffinity = sessionAffinity.asOptionOutput(isSecret = false),
      subsetting = subsetting.asOptionOutput(isSecret = false),
      timeoutSec = timeoutSec.asOptionOutput(isSecret = false),
      usedBy = usedBy.asOptionOutput(isSecret = false)
    )

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






© 2015 - 2025 Weber Informatics LLC | Privacy Policy