# Copyright 2017 Google Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # NOTE: This class is auto generated by the swagger code generator program. # https://github.com/swagger-api/swagger-codegen.git # Do not edit the class manually. defmodule GoogleApi.Compute.V1.Model.RouterInterface do @moduledoc """ ## Attributes - ipRange (String.t): IP address and range of the interface. The IP range must be in the RFC3927 link-local IP space. The value must be a CIDR-formatted string, for example: 169.254.0.1/30. NOTE: Do not truncate the address as it represents the IP address of the interface. Defaults to: `null`. - linkedInterconnectAttachment (String.t): URI of the linked interconnect attachment. It must be in the same region as the router. Each interface can have at most one linked resource and it could either be a VPN Tunnel or an interconnect attachment. Defaults to: `null`. - linkedVpnTunnel (String.t): URI of the linked VPN tunnel. It must be in the same region as the router. Each interface can have at most one linked resource and it could either be a VPN Tunnel or an interconnect attachment. Defaults to: `null`. - managementType (String.t): [Output Only] Type of how the resource/configuration of the interface is managed. MANAGED_BY_USER is the default value; MANAGED_BY_ATTACHMENT represents an interface that is automatically created for PARTNER type interconnectAttachment, Google will automatically create/update/delete this type of interface when the PARTNER interconnectAttachment is created/provisioned/deleted. Defaults to: `null`. - Enum - one of [MANAGED_BY_ATTACHMENT, MANAGED_BY_USER] - name (String.t): Name of this interface entry. The name must be 1-63 characters long and comply with RFC1035. Defaults to: `null`. """ use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ :ipRange => any(), :linkedInterconnectAttachment => any(), :linkedVpnTunnel => any(), :managementType => any(), :name => any() } field(:ipRange) field(:linkedInterconnectAttachment) field(:linkedVpnTunnel) field(:managementType) field(:name) end defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.RouterInterface do def decode(value, options) do GoogleApi.Compute.V1.Model.RouterInterface.decode(value, options) end end defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.RouterInterface do def encode(value, options) do GoogleApi.Gax.ModelBase.encode(value, options) end end