// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
using Pulumi;

namespace Pulumiverse.Fortios.Outputs
{

    [OutputType]
    public sealed class SystemSamlServiceProvider
    {
        /// <summary>
        /// Customized SAML attributes to send along with assertion. The structure of `assertion_attributes` block is documented below.
        /// </summary>
        public readonly ImmutableArray<Outputs.SystemSamlServiceProviderAssertionAttribute> AssertionAttributes;
        /// <summary>
        /// IDP entity ID.
        /// </summary>
        public readonly string? IdpEntityId;
        /// <summary>
        /// IDP single logout URL.
        /// </summary>
        public readonly string? IdpSingleLogoutUrl;
        /// <summary>
        /// IDP single sign-on URL.
        /// </summary>
        public readonly string? IdpSingleSignOnUrl;
        /// <summary>
        /// Name.
        /// </summary>
        public readonly string? Name;
        /// <summary>
        /// Prefix.
        /// </summary>
        public readonly string? Prefix;
        /// <summary>
        /// SP binding protocol. Valid values: `post`, `redirect`.
        /// </summary>
        public readonly string? SpBindingProtocol;
        /// <summary>
        /// SP certificate name.
        /// </summary>
        public readonly string? SpCert;
        /// <summary>
        /// SP entity ID.
        /// </summary>
        public readonly string? SpEntityId;
        /// <summary>
        /// SP portal URL.
        /// </summary>
        public readonly string? SpPortalUrl;
        /// <summary>
        /// SP single logout URL.
        /// </summary>
        public readonly string? SpSingleLogoutUrl;
        /// <summary>
        /// SP single sign-on URL.
        /// </summary>
        public readonly string? SpSingleSignOnUrl;

        [OutputConstructor]
        private SystemSamlServiceProvider(
            ImmutableArray<Outputs.SystemSamlServiceProviderAssertionAttribute> assertionAttributes,

            string? idpEntityId,

            string? idpSingleLogoutUrl,

            string? idpSingleSignOnUrl,

            string? name,

            string? prefix,

            string? spBindingProtocol,

            string? spCert,

            string? spEntityId,

            string? spPortalUrl,

            string? spSingleLogoutUrl,

            string? spSingleSignOnUrl)
        {
            AssertionAttributes = assertionAttributes;
            IdpEntityId = idpEntityId;
            IdpSingleLogoutUrl = idpSingleLogoutUrl;
            IdpSingleSignOnUrl = idpSingleSignOnUrl;
            Name = name;
            Prefix = prefix;
            SpBindingProtocol = spBindingProtocol;
            SpCert = spCert;
            SpEntityId = spEntityId;
            SpPortalUrl = spPortalUrl;
            SpSingleLogoutUrl = spSingleLogoutUrl;
            SpSingleSignOnUrl = spSingleSignOnUrl;
        }
    }
}
