# 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.IAM.V1.Model.Saml do @moduledoc """ Represents an SAML 2.0 identity provider. ## Attributes * `idpMetadataXml` (*type:* `String.t`, *default:* `nil`) - Required. SAML Identity provider configuration metadata xml doc. The xml document should comply with [SAML 2.0 specification](https://www.oasis-open.org/committees/download.php/56785/sstc-saml-metadata-errata-2.0-wd-05.pdf). The max size of the acceptable xml document will be bounded to 128k characters. The metadata xml document should satisfy the following constraints: 1) Must contain an Identity Provider Entity ID. 2) Must contain at least one non-expired signing key certificate. 3) For each signing key: a) Valid from should be no more than 7 days from now. b) Valid to should be no more than 15 years in the future. 4) Upto 3 IdP signing keys are allowed in the metadata xml. When updating the provider's metadata xml, at lease one non-expired signing key must overlap with the existing metadata. This requirement is skipped if there are no non-expired signing keys present in the existing metadata """ use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ :idpMetadataXml => String.t() | nil } field(:idpMetadataXml) end defimpl Poison.Decoder, for: GoogleApi.IAM.V1.Model.Saml do def decode(value, options) do GoogleApi.IAM.V1.Model.Saml.decode(value, options) end end defimpl Poison.Encoder, for: GoogleApi.IAM.V1.Model.Saml do def encode(value, options) do GoogleApi.Gax.ModelBase.encode(value, options) end end