Skip to content

Latest commit

 

History

History
225 lines (188 loc) · 4.98 KB

File metadata and controls

225 lines (188 loc) · 4.98 KB

google_identity_platform_tenant_inbound_saml_config

back

Index

Terraform

terraform {
  required_providers {
    google-beta = ">= 3.63.0"
  }
}

top

Example Usage

module "google_identity_platform_tenant_inbound_saml_config" {
  source = "./modules/google-beta/r/google_identity_platform_tenant_inbound_saml_config"

  # display_name - (required) is a type of string
  display_name = null
  # enabled - (optional) is a type of bool
  enabled = null
  # name - (required) is a type of string
  name = null
  # project - (optional) is a type of string
  project = null
  # tenant - (required) is a type of string
  tenant = null

  idp_config = [{
    idp_certificates = [{
      x509_certificate = null
    }]
    idp_entity_id = null
    sign_request  = null
    sso_url       = null
  }]

  sp_config = [{
    callback_uri = null
    sp_certificates = [{
      x509_certificate = null
    }]
    sp_entity_id = null
  }]

  timeouts = [{
    create = null
    delete = null
    update = null
  }]
}

top

Variables

variable "display_name" {
  description = "(required) - Human friendly display name."
  type        = string
}

variable "enabled" {
  description = "(optional) - If this config allows users to sign in with the provider."
  type        = bool
  default     = null
}

variable "name" {
  description = "(required) - The name of the InboundSamlConfig resource. Must start with 'saml.' and can only have alphanumeric characters,\nhyphens, underscores or periods. The part after 'saml.' must also start with a lowercase letter, end with an\nalphanumeric character, and have at least 2 characters."
  type        = string
}

variable "project" {
  description = "(optional)"
  type        = string
  default     = null
}

variable "tenant" {
  description = "(required) - The name of the tenant where this inbound SAML config resource exists"
  type        = string
}

variable "idp_config" {
  description = "nested block: NestingList, min items: 1, max items: 1"
  type = set(object(
    {
      idp_certificates = list(object(
        {
          x509_certificate = string
        }
      ))
      idp_entity_id = string
      sign_request  = bool
      sso_url       = string
    }
  ))
}

variable "sp_config" {
  description = "nested block: NestingList, min items: 1, max items: 1"
  type = set(object(
    {
      callback_uri = string
      sp_certificates = list(object(
        {
          x509_certificate = string
        }
      ))
      sp_entity_id = string
    }
  ))
}

variable "timeouts" {
  description = "nested block: NestingSingle, min items: 0, max items: 0"
  type = set(object(
    {
      create = string
      delete = string
      update = string
    }
  ))
  default = []
}

top

Resource

resource "google_identity_platform_tenant_inbound_saml_config" "this" {
  # display_name - (required) is a type of string
  display_name = var.display_name
  # enabled - (optional) is a type of bool
  enabled = var.enabled
  # name - (required) is a type of string
  name = var.name
  # project - (optional) is a type of string
  project = var.project
  # tenant - (required) is a type of string
  tenant = var.tenant

  dynamic "idp_config" {
    for_each = var.idp_config
    content {
      # idp_entity_id - (required) is a type of string
      idp_entity_id = idp_config.value["idp_entity_id"]
      # sign_request - (optional) is a type of bool
      sign_request = idp_config.value["sign_request"]
      # sso_url - (required) is a type of string
      sso_url = idp_config.value["sso_url"]

      dynamic "idp_certificates" {
        for_each = idp_config.value.idp_certificates
        content {
          # x509_certificate - (optional) is a type of string
          x509_certificate = idp_certificates.value["x509_certificate"]
        }
      }

    }
  }

  dynamic "sp_config" {
    for_each = var.sp_config
    content {
      # callback_uri - (required) is a type of string
      callback_uri = sp_config.value["callback_uri"]
      # sp_entity_id - (required) is a type of string
      sp_entity_id = sp_config.value["sp_entity_id"]
    }
  }

  dynamic "timeouts" {
    for_each = var.timeouts
    content {
      # create - (optional) is a type of string
      create = timeouts.value["create"]
      # delete - (optional) is a type of string
      delete = timeouts.value["delete"]
      # update - (optional) is a type of string
      update = timeouts.value["update"]
    }
  }

}

top

Outputs

output "id" {
  description = "returns a string"
  value       = google_identity_platform_tenant_inbound_saml_config.this.id
}

output "project" {
  description = "returns a string"
  value       = google_identity_platform_tenant_inbound_saml_config.this.project
}

output "this" {
  value = google_identity_platform_tenant_inbound_saml_config.this
}

top