# Copyright 2019 Google LLC # # 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 file is auto generated by the elixir code generator program. # Do not edit this file manually. defmodule GoogleApi.Compute.V1.Model.Project do @moduledoc """ Represents a Project resource. A project is used to organize resources in a Google Cloud Platform environment. For more information, read about the Resource Hierarchy. (== resource_for {$api_version}.projects ==) ## Attributes * `commonInstanceMetadata` (*type:* `GoogleApi.Compute.V1.Model.Metadata.t`, *default:* `nil`) - Metadata key/value pairs available to all instances contained in this project. See Custom metadata for more information. * `creationTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Creation timestamp in RFC3339 text format. * `defaultNetworkTier` (*type:* `String.t`, *default:* `nil`) - This signifies the default network tier used for configuring resources of the project and can only take the following values: PREMIUM, STANDARD. Initially the default network tier is PREMIUM. * `defaultServiceAccount` (*type:* `String.t`, *default:* `nil`) - [Output Only] Default service account used by VMs running in this project. * `description` (*type:* `String.t`, *default:* `nil`) - An optional textual description of the resource. * `enabledFeatures` (*type:* `list(String.t)`, *default:* `nil`) - Restricted features enabled for use on this project. * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] The unique identifier for the resource. This identifier is defined by the server. This is not the project ID, and is just a unique ID used by Compute Engine to identify resources. * `kind` (*type:* `String.t`, *default:* `compute#project`) - [Output Only] Type of the resource. Always compute#project for projects. * `name` (*type:* `String.t`, *default:* `nil`) - The project ID. For example: my-example-project. Use the project ID to make requests to Compute Engine. * `quotas` (*type:* `list(GoogleApi.Compute.V1.Model.Quota.t)`, *default:* `nil`) - [Output Only] Quotas assigned to this project. * `selfLink` (*type:* `String.t`, *default:* `nil`) - [Output Only] Server-defined URL for the resource. * `usageExportLocation` (*type:* `GoogleApi.Compute.V1.Model.UsageExportLocation.t`, *default:* `nil`) - The naming prefix for daily usage reports and the Google Cloud Storage bucket where they are stored. * `xpnProjectStatus` (*type:* `String.t`, *default:* `nil`) - [Output Only] The role this project has in a shared VPC configuration. Currently, only projects with the host role, which is specified by the value HOST, are differentiated. """ use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ :commonInstanceMetadata => GoogleApi.Compute.V1.Model.Metadata.t() | nil, :creationTimestamp => String.t() | nil, :defaultNetworkTier => String.t() | nil, :defaultServiceAccount => String.t() | nil, :description => String.t() | nil, :enabledFeatures => list(String.t()) | nil, :id => String.t() | nil, :kind => String.t() | nil, :name => String.t() | nil, :quotas => list(GoogleApi.Compute.V1.Model.Quota.t()) | nil, :selfLink => String.t() | nil, :usageExportLocation => GoogleApi.Compute.V1.Model.UsageExportLocation.t() | nil, :xpnProjectStatus => String.t() | nil } field(:commonInstanceMetadata, as: GoogleApi.Compute.V1.Model.Metadata) field(:creationTimestamp) field(:defaultNetworkTier) field(:defaultServiceAccount) field(:description) field(:enabledFeatures, type: :list) field(:id) field(:kind) field(:name) field(:quotas, as: GoogleApi.Compute.V1.Model.Quota, type: :list) field(:selfLink) field(:usageExportLocation, as: GoogleApi.Compute.V1.Model.UsageExportLocation) field(:xpnProjectStatus) end defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.Project do def decode(value, options) do GoogleApi.Compute.V1.Model.Project.decode(value, options) end end defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.Project do def encode(value, options) do GoogleApi.Gax.ModelBase.encode(value, options) end end