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

src.compute.beta.NodeGroupArgs.scala Maven / Gradle / Ivy

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

final case class NodeGroupArgs private(
  autoscalingPolicy: besom.types.Output[scala.Option[besom.api.googlenative.compute.beta.inputs.NodeGroupAutoscalingPolicyArgs]],
  description: besom.types.Output[scala.Option[String]],
  initialNodeCount: besom.types.Output[Int],
  locationHint: besom.types.Output[scala.Option[String]],
  maintenanceInterval: besom.types.Output[scala.Option[besom.api.googlenative.compute.beta.enums.NodeGroupMaintenanceInterval]],
  maintenancePolicy: besom.types.Output[scala.Option[besom.api.googlenative.compute.beta.enums.NodeGroupMaintenancePolicy]],
  maintenanceWindow: besom.types.Output[scala.Option[besom.api.googlenative.compute.beta.inputs.NodeGroupMaintenanceWindowArgs]],
  name: besom.types.Output[scala.Option[String]],
  nodeTemplate: besom.types.Output[scala.Option[String]],
  project: besom.types.Output[scala.Option[String]],
  requestId: besom.types.Output[scala.Option[String]],
  shareSettings: besom.types.Output[scala.Option[besom.api.googlenative.compute.beta.inputs.ShareSettingsArgs]],
  zone: besom.types.Output[scala.Option[String]]
)

object NodeGroupArgs:
  def apply(
    autoscalingPolicy: besom.types.Input.Optional[besom.api.googlenative.compute.beta.inputs.NodeGroupAutoscalingPolicyArgs] = scala.None,
    description: besom.types.Input.Optional[String] = scala.None,
    initialNodeCount: besom.types.Input[Int],
    locationHint: besom.types.Input.Optional[String] = scala.None,
    maintenanceInterval: besom.types.Input.Optional[besom.api.googlenative.compute.beta.enums.NodeGroupMaintenanceInterval] = scala.None,
    maintenancePolicy: besom.types.Input.Optional[besom.api.googlenative.compute.beta.enums.NodeGroupMaintenancePolicy] = scala.None,
    maintenanceWindow: besom.types.Input.Optional[besom.api.googlenative.compute.beta.inputs.NodeGroupMaintenanceWindowArgs] = scala.None,
    name: besom.types.Input.Optional[String] = scala.None,
    nodeTemplate: besom.types.Input.Optional[String] = scala.None,
    project: besom.types.Input.Optional[String] = scala.None,
    requestId: besom.types.Input.Optional[String] = scala.None,
    shareSettings: besom.types.Input.Optional[besom.api.googlenative.compute.beta.inputs.ShareSettingsArgs] = scala.None,
    zone: besom.types.Input.Optional[String] = scala.None
  )(using besom.types.Context): NodeGroupArgs =
    new NodeGroupArgs(
      autoscalingPolicy = autoscalingPolicy.asOptionOutput(isSecret = false),
      description = description.asOptionOutput(isSecret = false),
      initialNodeCount = initialNodeCount.asOutput(isSecret = false),
      locationHint = locationHint.asOptionOutput(isSecret = false),
      maintenanceInterval = maintenanceInterval.asOptionOutput(isSecret = false),
      maintenancePolicy = maintenancePolicy.asOptionOutput(isSecret = false),
      maintenanceWindow = maintenanceWindow.asOptionOutput(isSecret = false),
      name = name.asOptionOutput(isSecret = false),
      nodeTemplate = nodeTemplate.asOptionOutput(isSecret = false),
      project = project.asOptionOutput(isSecret = false),
      requestId = requestId.asOptionOutput(isSecret = false),
      shareSettings = shareSettings.asOptionOutput(isSecret = false),
      zone = zone.asOptionOutput(isSecret = false)
    )

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






© 2015 - 2025 Weber Informatics LLC | Privacy Policy