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

src.compute.beta.InterconnectAttachmentArgs.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 InterconnectAttachmentArgs private(
  adminEnabled: besom.types.Output[scala.Option[Boolean]],
  bandwidth: besom.types.Output[scala.Option[besom.api.googlenative.compute.beta.enums.InterconnectAttachmentBandwidth]],
  candidateIpv6Subnets: besom.types.Output[scala.Option[scala.collection.immutable.List[String]]],
  candidateSubnets: besom.types.Output[scala.Option[scala.collection.immutable.List[String]]],
  cloudRouterIpv6InterfaceId: besom.types.Output[scala.Option[String]],
  customerRouterIpv6InterfaceId: besom.types.Output[scala.Option[String]],
  description: besom.types.Output[scala.Option[String]],
  edgeAvailabilityDomain: besom.types.Output[scala.Option[besom.api.googlenative.compute.beta.enums.InterconnectAttachmentEdgeAvailabilityDomain]],
  encryption: besom.types.Output[scala.Option[besom.api.googlenative.compute.beta.enums.InterconnectAttachmentEncryption]],
  interconnect: besom.types.Output[scala.Option[String]],
  ipsecInternalAddresses: besom.types.Output[scala.Option[scala.collection.immutable.List[String]]],
  labels: besom.types.Output[scala.Option[scala.Predef.Map[String, String]]],
  mtu: besom.types.Output[scala.Option[Int]],
  name: besom.types.Output[scala.Option[String]],
  pairingKey: besom.types.Output[scala.Option[String]],
  partnerAsn: besom.types.Output[scala.Option[String]],
  partnerMetadata: besom.types.Output[scala.Option[besom.api.googlenative.compute.beta.inputs.InterconnectAttachmentPartnerMetadataArgs]],
  project: besom.types.Output[scala.Option[String]],
  region: besom.types.Output[String],
  requestId: besom.types.Output[scala.Option[String]],
  router: besom.types.Output[scala.Option[String]],
  stackType: besom.types.Output[scala.Option[besom.api.googlenative.compute.beta.enums.InterconnectAttachmentStackType]],
  subnetLength: besom.types.Output[scala.Option[Int]],
  `type`: besom.types.Output[scala.Option[besom.api.googlenative.compute.beta.enums.InterconnectAttachmentType]],
  vlanTag8021q: besom.types.Output[scala.Option[Int]]
)

object InterconnectAttachmentArgs:
  def apply(
    adminEnabled: besom.types.Input.Optional[Boolean] = scala.None,
    bandwidth: besom.types.Input.Optional[besom.api.googlenative.compute.beta.enums.InterconnectAttachmentBandwidth] = scala.None,
    candidateIpv6Subnets: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[String]]] = scala.None,
    candidateSubnets: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[String]]] = scala.None,
    cloudRouterIpv6InterfaceId: besom.types.Input.Optional[String] = scala.None,
    customerRouterIpv6InterfaceId: besom.types.Input.Optional[String] = scala.None,
    description: besom.types.Input.Optional[String] = scala.None,
    edgeAvailabilityDomain: besom.types.Input.Optional[besom.api.googlenative.compute.beta.enums.InterconnectAttachmentEdgeAvailabilityDomain] = scala.None,
    encryption: besom.types.Input.Optional[besom.api.googlenative.compute.beta.enums.InterconnectAttachmentEncryption] = scala.None,
    interconnect: besom.types.Input.Optional[String] = scala.None,
    ipsecInternalAddresses: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[String]]] = scala.None,
    labels: besom.types.Input.Optional[scala.Predef.Map[String, besom.types.Input[String]]] = scala.None,
    mtu: besom.types.Input.Optional[Int] = scala.None,
    name: besom.types.Input.Optional[String] = scala.None,
    pairingKey: besom.types.Input.Optional[String] = scala.None,
    partnerAsn: besom.types.Input.Optional[String] = scala.None,
    partnerMetadata: besom.types.Input.Optional[besom.api.googlenative.compute.beta.inputs.InterconnectAttachmentPartnerMetadataArgs] = scala.None,
    project: besom.types.Input.Optional[String] = scala.None,
    region: besom.types.Input[String],
    requestId: besom.types.Input.Optional[String] = scala.None,
    router: besom.types.Input.Optional[String] = scala.None,
    stackType: besom.types.Input.Optional[besom.api.googlenative.compute.beta.enums.InterconnectAttachmentStackType] = scala.None,
    subnetLength: besom.types.Input.Optional[Int] = scala.None,
    `type`: besom.types.Input.Optional[besom.api.googlenative.compute.beta.enums.InterconnectAttachmentType] = scala.None,
    vlanTag8021q: besom.types.Input.Optional[Int] = scala.None
  )(using besom.types.Context): InterconnectAttachmentArgs =
    new InterconnectAttachmentArgs(
      adminEnabled = adminEnabled.asOptionOutput(isSecret = false),
      bandwidth = bandwidth.asOptionOutput(isSecret = false),
      candidateIpv6Subnets = candidateIpv6Subnets.asOptionOutput(isSecret = false),
      candidateSubnets = candidateSubnets.asOptionOutput(isSecret = false),
      cloudRouterIpv6InterfaceId = cloudRouterIpv6InterfaceId.asOptionOutput(isSecret = false),
      customerRouterIpv6InterfaceId = customerRouterIpv6InterfaceId.asOptionOutput(isSecret = false),
      description = description.asOptionOutput(isSecret = false),
      edgeAvailabilityDomain = edgeAvailabilityDomain.asOptionOutput(isSecret = false),
      encryption = encryption.asOptionOutput(isSecret = false),
      interconnect = interconnect.asOptionOutput(isSecret = false),
      ipsecInternalAddresses = ipsecInternalAddresses.asOptionOutput(isSecret = false),
      labels = labels.asOptionOutput(isSecret = false),
      mtu = mtu.asOptionOutput(isSecret = false),
      name = name.asOptionOutput(isSecret = false),
      pairingKey = pairingKey.asOptionOutput(isSecret = false),
      partnerAsn = partnerAsn.asOptionOutput(isSecret = false),
      partnerMetadata = partnerMetadata.asOptionOutput(isSecret = false),
      project = project.asOptionOutput(isSecret = false),
      region = region.asOutput(isSecret = false),
      requestId = requestId.asOptionOutput(isSecret = false),
      router = router.asOptionOutput(isSecret = false),
      stackType = stackType.asOptionOutput(isSecret = false),
      subnetLength = subnetLength.asOptionOutput(isSecret = false),
      `type` = `type`.asOptionOutput(isSecret = false),
      vlanTag8021q = vlanTag8021q.asOptionOutput(isSecret = false)
    )

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






© 2015 - 2025 Weber Informatics LLC | Privacy Policy