# 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.Instance do @moduledoc """ An Instance resource. """ @derive [Poison.Encoder] defstruct [ :"tags", :"canIpForward", :"cpuPlatform", :"creationTimestamp", :"description", :"disks", :"guestAccelerators", :"id", :"kind", :"labelFingerprint", :"labels", :"machineType", :"metadata", :"name", :"networkInterfaces", :"scheduling", :"selfLink", :"serviceAccounts", :"startRestricted", :"status", :"statusMessage", :"zone" ] end defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.Instance do import GoogleApi.Compute.V1.Deserializer def decode(value, options) do value |> deserialize(:"tags", :struct, GoogleApi.Compute.V1.Model.Tags, options) |> deserialize(:"disks", :list, GoogleApi.Compute.V1.Model.AttachedDisk, options) |> deserialize(:"guestAccelerators", :list, GoogleApi.Compute.V1.Model.AcceleratorConfig, options) |> deserialize(:"metadata", :struct, GoogleApi.Compute.V1.Model.Metadata, options) |> deserialize(:"networkInterfaces", :list, GoogleApi.Compute.V1.Model.NetworkInterface, options) |> deserialize(:"scheduling", :struct, GoogleApi.Compute.V1.Model.Scheduling, options) |> deserialize(:"serviceAccounts", :list, GoogleApi.Compute.V1.Model.ServiceAccount, options) end end