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

src.compute.v1.ResourcePolicyArgs.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 ResourcePolicyArgs private(
  description: besom.types.Output[scala.Option[String]],
  diskConsistencyGroupPolicy: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.inputs.ResourcePolicyDiskConsistencyGroupPolicyArgs]],
  groupPlacementPolicy: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.inputs.ResourcePolicyGroupPlacementPolicyArgs]],
  instanceSchedulePolicy: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.inputs.ResourcePolicyInstanceSchedulePolicyArgs]],
  name: besom.types.Output[scala.Option[String]],
  project: besom.types.Output[scala.Option[String]],
  region: besom.types.Output[String],
  requestId: besom.types.Output[scala.Option[String]],
  snapshotSchedulePolicy: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.inputs.ResourcePolicySnapshotSchedulePolicyArgs]]
)

object ResourcePolicyArgs:
  def apply(
    description: besom.types.Input.Optional[String] = scala.None,
    diskConsistencyGroupPolicy: besom.types.Input.Optional[besom.api.googlenative.compute.v1.inputs.ResourcePolicyDiskConsistencyGroupPolicyArgs] = scala.None,
    groupPlacementPolicy: besom.types.Input.Optional[besom.api.googlenative.compute.v1.inputs.ResourcePolicyGroupPlacementPolicyArgs] = scala.None,
    instanceSchedulePolicy: besom.types.Input.Optional[besom.api.googlenative.compute.v1.inputs.ResourcePolicyInstanceSchedulePolicyArgs] = scala.None,
    name: besom.types.Input.Optional[String] = scala.None,
    project: besom.types.Input.Optional[String] = scala.None,
    region: besom.types.Input[String],
    requestId: besom.types.Input.Optional[String] = scala.None,
    snapshotSchedulePolicy: besom.types.Input.Optional[besom.api.googlenative.compute.v1.inputs.ResourcePolicySnapshotSchedulePolicyArgs] = scala.None
  )(using besom.types.Context): ResourcePolicyArgs =
    new ResourcePolicyArgs(
      description = description.asOptionOutput(isSecret = false),
      diskConsistencyGroupPolicy = diskConsistencyGroupPolicy.asOptionOutput(isSecret = false),
      groupPlacementPolicy = groupPlacementPolicy.asOptionOutput(isSecret = false),
      instanceSchedulePolicy = instanceSchedulePolicy.asOptionOutput(isSecret = false),
      name = name.asOptionOutput(isSecret = false),
      project = project.asOptionOutput(isSecret = false),
      region = region.asOutput(isSecret = false),
      requestId = requestId.asOptionOutput(isSecret = false),
      snapshotSchedulePolicy = snapshotSchedulePolicy.asOptionOutput(isSecret = false)
    )

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






© 2015 - 2025 Weber Informatics LLC | Privacy Policy