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

src.vmwareengine.v1.ExternalAccessRuleArgs.scala Maven / Gradle / Ivy

package besom.api.googlenative.vmwareengine.v1

final case class ExternalAccessRuleArgs private(
  action: besom.types.Output[scala.Option[besom.api.googlenative.vmwareengine.v1.enums.ExternalAccessRuleAction]],
  description: besom.types.Output[scala.Option[String]],
  destinationIpRanges: besom.types.Output[scala.Option[scala.collection.immutable.List[besom.api.googlenative.vmwareengine.v1.inputs.IpRangeArgs]]],
  destinationPorts: besom.types.Output[scala.Option[scala.collection.immutable.List[String]]],
  externalAccessRuleId: besom.types.Output[String],
  ipProtocol: besom.types.Output[scala.Option[String]],
  location: besom.types.Output[scala.Option[String]],
  networkPolicyId: besom.types.Output[String],
  priority: besom.types.Output[scala.Option[Int]],
  project: besom.types.Output[scala.Option[String]],
  requestId: besom.types.Output[scala.Option[String]],
  sourceIpRanges: besom.types.Output[scala.Option[scala.collection.immutable.List[besom.api.googlenative.vmwareengine.v1.inputs.IpRangeArgs]]],
  sourcePorts: besom.types.Output[scala.Option[scala.collection.immutable.List[String]]]
)

object ExternalAccessRuleArgs:
  def apply(
    action: besom.types.Input.Optional[besom.api.googlenative.vmwareengine.v1.enums.ExternalAccessRuleAction] = scala.None,
    description: besom.types.Input.Optional[String] = scala.None,
    destinationIpRanges: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[besom.api.googlenative.vmwareengine.v1.inputs.IpRangeArgs]]] = scala.None,
    destinationPorts: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[String]]] = scala.None,
    externalAccessRuleId: besom.types.Input[String],
    ipProtocol: besom.types.Input.Optional[String] = scala.None,
    location: besom.types.Input.Optional[String] = scala.None,
    networkPolicyId: besom.types.Input[String],
    priority: besom.types.Input.Optional[Int] = scala.None,
    project: besom.types.Input.Optional[String] = scala.None,
    requestId: besom.types.Input.Optional[String] = scala.None,
    sourceIpRanges: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[besom.api.googlenative.vmwareengine.v1.inputs.IpRangeArgs]]] = scala.None,
    sourcePorts: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[String]]] = scala.None
  )(using besom.types.Context): ExternalAccessRuleArgs =
    new ExternalAccessRuleArgs(
      action = action.asOptionOutput(isSecret = false),
      description = description.asOptionOutput(isSecret = false),
      destinationIpRanges = destinationIpRanges.asOptionOutput(isSecret = false),
      destinationPorts = destinationPorts.asOptionOutput(isSecret = false),
      externalAccessRuleId = externalAccessRuleId.asOutput(isSecret = false),
      ipProtocol = ipProtocol.asOptionOutput(isSecret = false),
      location = location.asOptionOutput(isSecret = false),
      networkPolicyId = networkPolicyId.asOutput(isSecret = false),
      priority = priority.asOptionOutput(isSecret = false),
      project = project.asOptionOutput(isSecret = false),
      requestId = requestId.asOptionOutput(isSecret = false),
      sourceIpRanges = sourceIpRanges.asOptionOutput(isSecret = false),
      sourcePorts = sourcePorts.asOptionOutput(isSecret = false)
    )

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






© 2015 - 2025 Weber Informatics LLC | Privacy Policy