1. Packages
  2. Keycloak Provider
  3. API Docs
  4. oidc
  5. FacebookIdentityProvider
Keycloak v6.9.0 published on Wednesday, Dec 24, 2025 by Pulumi
keycloak logo
Keycloak v6.9.0 published on Wednesday, Dec 24, 2025 by Pulumi

    Allows for creating and managing OIDC Identity Providers within Keycloak.

    OIDC (OpenID Connect) identity providers allows users to authenticate through a third party system using the OIDC standard.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as keycloak from "@pulumi/keycloak";
    
    const realm = new keycloak.Realm("realm", {
        realm: "my-realm",
        enabled: true,
    });
    const facebook = new keycloak.oidc.FacebookIdentityProvider("facebook", {
        realm: realm.id,
        clientId: facebookIdentityProviderClientId,
        clientSecret: facebookIdentityProviderClientSecret,
        trustEmail: true,
        fetchedFields: "picture",
        syncMode: "IMPORT",
        extraConfig: {
            myCustomConfigKey: "myValue",
        },
    });
    
    import pulumi
    import pulumi_keycloak as keycloak
    
    realm = keycloak.Realm("realm",
        realm="my-realm",
        enabled=True)
    facebook = keycloak.oidc.FacebookIdentityProvider("facebook",
        realm=realm.id,
        client_id=facebook_identity_provider_client_id,
        client_secret=facebook_identity_provider_client_secret,
        trust_email=True,
        fetched_fields="picture",
        sync_mode="IMPORT",
        extra_config={
            "myCustomConfigKey": "myValue",
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-keycloak/sdk/v6/go/keycloak"
    	"github.com/pulumi/pulumi-keycloak/sdk/v6/go/keycloak/oidc"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		realm, err := keycloak.NewRealm(ctx, "realm", &keycloak.RealmArgs{
    			Realm:   pulumi.String("my-realm"),
    			Enabled: pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = oidc.NewFacebookIdentityProvider(ctx, "facebook", &oidc.FacebookIdentityProviderArgs{
    			Realm:         realm.ID(),
    			ClientId:      pulumi.Any(facebookIdentityProviderClientId),
    			ClientSecret:  pulumi.Any(facebookIdentityProviderClientSecret),
    			TrustEmail:    pulumi.Bool(true),
    			FetchedFields: pulumi.String("picture"),
    			SyncMode:      pulumi.String("IMPORT"),
    			ExtraConfig: pulumi.StringMap{
    				"myCustomConfigKey": pulumi.String("myValue"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Keycloak = Pulumi.Keycloak;
    
    return await Deployment.RunAsync(() => 
    {
        var realm = new Keycloak.Realm("realm", new()
        {
            RealmName = "my-realm",
            Enabled = true,
        });
    
        var facebook = new Keycloak.Oidc.FacebookIdentityProvider("facebook", new()
        {
            Realm = realm.Id,
            ClientId = facebookIdentityProviderClientId,
            ClientSecret = facebookIdentityProviderClientSecret,
            TrustEmail = true,
            FetchedFields = "picture",
            SyncMode = "IMPORT",
            ExtraConfig = 
            {
                { "myCustomConfigKey", "myValue" },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.keycloak.Realm;
    import com.pulumi.keycloak.RealmArgs;
    import com.pulumi.keycloak.oidc.FacebookIdentityProvider;
    import com.pulumi.keycloak.oidc.FacebookIdentityProviderArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var realm = new Realm("realm", RealmArgs.builder()
                .realm("my-realm")
                .enabled(true)
                .build());
    
            var facebook = new FacebookIdentityProvider("facebook", FacebookIdentityProviderArgs.builder()
                .realm(realm.id())
                .clientId(facebookIdentityProviderClientId)
                .clientSecret(facebookIdentityProviderClientSecret)
                .trustEmail(true)
                .fetchedFields("picture")
                .syncMode("IMPORT")
                .extraConfig(Map.of("myCustomConfigKey", "myValue"))
                .build());
    
        }
    }
    
    resources:
      realm:
        type: keycloak:Realm
        properties:
          realm: my-realm
          enabled: true
      facebook:
        type: keycloak:oidc:FacebookIdentityProvider
        properties:
          realm: ${realm.id}
          clientId: ${facebookIdentityProviderClientId}
          clientSecret: ${facebookIdentityProviderClientSecret}
          trustEmail: true
          fetchedFields: picture
          syncMode: IMPORT
          extraConfig:
            myCustomConfigKey: myValue
    

    Create FacebookIdentityProvider Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new FacebookIdentityProvider(name: string, args: FacebookIdentityProviderArgs, opts?: CustomResourceOptions);
    @overload
    def FacebookIdentityProvider(resource_name: str,
                                 args: FacebookIdentityProviderArgs,
                                 opts: Optional[ResourceOptions] = None)
    
    @overload
    def FacebookIdentityProvider(resource_name: str,
                                 opts: Optional[ResourceOptions] = None,
                                 client_id: Optional[str] = None,
                                 realm: Optional[str] = None,
                                 client_secret: Optional[str] = None,
                                 first_broker_login_flow_alias: Optional[str] = None,
                                 hide_on_login_page: Optional[bool] = None,
                                 alias: Optional[str] = None,
                                 default_scopes: Optional[str] = None,
                                 disable_user_info: Optional[bool] = None,
                                 display_name: Optional[str] = None,
                                 enabled: Optional[bool] = None,
                                 extra_config: Optional[Mapping[str, str]] = None,
                                 fetched_fields: Optional[str] = None,
                                 accepts_prompt_none_forward_from_client: Optional[bool] = None,
                                 gui_order: Optional[str] = None,
                                 authenticate_by_default: Optional[bool] = None,
                                 link_only: Optional[bool] = None,
                                 org_domain: Optional[str] = None,
                                 org_redirect_mode_email_matches: Optional[bool] = None,
                                 organization_id: Optional[str] = None,
                                 post_broker_login_flow_alias: Optional[str] = None,
                                 provider_id: Optional[str] = None,
                                 add_read_token_role_on_create: Optional[bool] = None,
                                 store_token: Optional[bool] = None,
                                 sync_mode: Optional[str] = None,
                                 trust_email: Optional[bool] = None)
    func NewFacebookIdentityProvider(ctx *Context, name string, args FacebookIdentityProviderArgs, opts ...ResourceOption) (*FacebookIdentityProvider, error)
    public FacebookIdentityProvider(string name, FacebookIdentityProviderArgs args, CustomResourceOptions? opts = null)
    public FacebookIdentityProvider(String name, FacebookIdentityProviderArgs args)
    public FacebookIdentityProvider(String name, FacebookIdentityProviderArgs args, CustomResourceOptions options)
    
    type: keycloak:oidc:FacebookIdentityProvider
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args FacebookIdentityProviderArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args FacebookIdentityProviderArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args FacebookIdentityProviderArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args FacebookIdentityProviderArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args FacebookIdentityProviderArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var facebookIdentityProviderResource = new Keycloak.Oidc.FacebookIdentityProvider("facebookIdentityProviderResource", new()
    {
        ClientId = "string",
        Realm = "string",
        ClientSecret = "string",
        FirstBrokerLoginFlowAlias = "string",
        HideOnLoginPage = false,
        Alias = "string",
        DefaultScopes = "string",
        DisableUserInfo = false,
        DisplayName = "string",
        Enabled = false,
        ExtraConfig = 
        {
            { "string", "string" },
        },
        FetchedFields = "string",
        AcceptsPromptNoneForwardFromClient = false,
        GuiOrder = "string",
        AuthenticateByDefault = false,
        LinkOnly = false,
        OrgDomain = "string",
        OrgRedirectModeEmailMatches = false,
        OrganizationId = "string",
        PostBrokerLoginFlowAlias = "string",
        ProviderId = "string",
        AddReadTokenRoleOnCreate = false,
        StoreToken = false,
        SyncMode = "string",
        TrustEmail = false,
    });
    
    example, err := oidc.NewFacebookIdentityProvider(ctx, "facebookIdentityProviderResource", &oidc.FacebookIdentityProviderArgs{
    	ClientId:                  pulumi.String("string"),
    	Realm:                     pulumi.String("string"),
    	ClientSecret:              pulumi.String("string"),
    	FirstBrokerLoginFlowAlias: pulumi.String("string"),
    	HideOnLoginPage:           pulumi.Bool(false),
    	Alias:                     pulumi.String("string"),
    	DefaultScopes:             pulumi.String("string"),
    	DisableUserInfo:           pulumi.Bool(false),
    	DisplayName:               pulumi.String("string"),
    	Enabled:                   pulumi.Bool(false),
    	ExtraConfig: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	FetchedFields:                      pulumi.String("string"),
    	AcceptsPromptNoneForwardFromClient: pulumi.Bool(false),
    	GuiOrder:                           pulumi.String("string"),
    	AuthenticateByDefault:              pulumi.Bool(false),
    	LinkOnly:                           pulumi.Bool(false),
    	OrgDomain:                          pulumi.String("string"),
    	OrgRedirectModeEmailMatches:        pulumi.Bool(false),
    	OrganizationId:                     pulumi.String("string"),
    	PostBrokerLoginFlowAlias:           pulumi.String("string"),
    	ProviderId:                         pulumi.String("string"),
    	AddReadTokenRoleOnCreate:           pulumi.Bool(false),
    	StoreToken:                         pulumi.Bool(false),
    	SyncMode:                           pulumi.String("string"),
    	TrustEmail:                         pulumi.Bool(false),
    })
    
    var facebookIdentityProviderResource = new FacebookIdentityProvider("facebookIdentityProviderResource", FacebookIdentityProviderArgs.builder()
        .clientId("string")
        .realm("string")
        .clientSecret("string")
        .firstBrokerLoginFlowAlias("string")
        .hideOnLoginPage(false)
        .alias("string")
        .defaultScopes("string")
        .disableUserInfo(false)
        .displayName("string")
        .enabled(false)
        .extraConfig(Map.of("string", "string"))
        .fetchedFields("string")
        .acceptsPromptNoneForwardFromClient(false)
        .guiOrder("string")
        .authenticateByDefault(false)
        .linkOnly(false)
        .orgDomain("string")
        .orgRedirectModeEmailMatches(false)
        .organizationId("string")
        .postBrokerLoginFlowAlias("string")
        .providerId("string")
        .addReadTokenRoleOnCreate(false)
        .storeToken(false)
        .syncMode("string")
        .trustEmail(false)
        .build());
    
    facebook_identity_provider_resource = keycloak.oidc.FacebookIdentityProvider("facebookIdentityProviderResource",
        client_id="string",
        realm="string",
        client_secret="string",
        first_broker_login_flow_alias="string",
        hide_on_login_page=False,
        alias="string",
        default_scopes="string",
        disable_user_info=False,
        display_name="string",
        enabled=False,
        extra_config={
            "string": "string",
        },
        fetched_fields="string",
        accepts_prompt_none_forward_from_client=False,
        gui_order="string",
        authenticate_by_default=False,
        link_only=False,
        org_domain="string",
        org_redirect_mode_email_matches=False,
        organization_id="string",
        post_broker_login_flow_alias="string",
        provider_id="string",
        add_read_token_role_on_create=False,
        store_token=False,
        sync_mode="string",
        trust_email=False)
    
    const facebookIdentityProviderResource = new keycloak.oidc.FacebookIdentityProvider("facebookIdentityProviderResource", {
        clientId: "string",
        realm: "string",
        clientSecret: "string",
        firstBrokerLoginFlowAlias: "string",
        hideOnLoginPage: false,
        alias: "string",
        defaultScopes: "string",
        disableUserInfo: false,
        displayName: "string",
        enabled: false,
        extraConfig: {
            string: "string",
        },
        fetchedFields: "string",
        acceptsPromptNoneForwardFromClient: false,
        guiOrder: "string",
        authenticateByDefault: false,
        linkOnly: false,
        orgDomain: "string",
        orgRedirectModeEmailMatches: false,
        organizationId: "string",
        postBrokerLoginFlowAlias: "string",
        providerId: "string",
        addReadTokenRoleOnCreate: false,
        storeToken: false,
        syncMode: "string",
        trustEmail: false,
    });
    
    type: keycloak:oidc:FacebookIdentityProvider
    properties:
        acceptsPromptNoneForwardFromClient: false
        addReadTokenRoleOnCreate: false
        alias: string
        authenticateByDefault: false
        clientId: string
        clientSecret: string
        defaultScopes: string
        disableUserInfo: false
        displayName: string
        enabled: false
        extraConfig:
            string: string
        fetchedFields: string
        firstBrokerLoginFlowAlias: string
        guiOrder: string
        hideOnLoginPage: false
        linkOnly: false
        orgDomain: string
        orgRedirectModeEmailMatches: false
        organizationId: string
        postBrokerLoginFlowAlias: string
        providerId: string
        realm: string
        storeToken: false
        syncMode: string
        trustEmail: false
    

    FacebookIdentityProvider Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The FacebookIdentityProvider resource accepts the following input properties:

    ClientId string
    The client or client identifier registered within the identity provider.
    ClientSecret string
    The client or client secret registered within the identity provider. This field is able to obtain its value from vault, use $${vault.ID} format.
    Realm string
    The name of the realm. This is unique across Keycloak.
    AcceptsPromptNoneForwardFromClient bool
    When true, unauthenticated requests with prompt=none will be forwarded to Google instead of returning an error. Defaults to false.
    AddReadTokenRoleOnCreate bool
    When true, new users will be able to read stored tokens. This will automatically assign the broker.read-token role. Defaults to false.
    Alias string
    The alias for the Facebook identity provider.
    AuthenticateByDefault bool
    Enable/disable authenticate users by default.
    DefaultScopes string
    The scopes to be sent when asking for authorization. It can be a space-separated list of scopes. Defaults to openid profile email.
    DisableUserInfo bool
    When true, disables the usage of the user info service to obtain additional user information. Defaults to false.
    DisplayName string
    Display name for the Facebook identity provider in the GUI.
    Enabled bool
    When true, users will be able to log in to this realm using this identity provider. Defaults to true.
    ExtraConfig Dictionary<string, string>
    FetchedFields string
    Provide additional fields which would be fetched using the profile request. This will be appended to the default set of id,name,email,first_name,last_name.
    FirstBrokerLoginFlowAlias string
    The authentication flow to use when users log in for the first time through this identity provider. Defaults to first broker login.
    GuiOrder string
    A number defining the order of this identity provider in the GUI.
    HideOnLoginPage bool
    When true, this identity provider will be hidden on the login page. Defaults to false.
    LinkOnly bool
    When true, users cannot sign-in using this provider, but their existing accounts will be linked when possible. Defaults to false.
    OrgDomain string
    OrgRedirectModeEmailMatches bool
    OrganizationId string
    ID of organization with which this identity is linked.
    PostBrokerLoginFlowAlias string
    The authentication flow to use after users have successfully logged in, which can be used to perform additional user verification (such as OTP checking). Defaults to an empty string, which means no post login flow will be used.
    ProviderId string
    The ID of the identity provider to use. Defaults to facebook, which should be used unless you have extended Keycloak and provided your own implementation.
    StoreToken bool
    When true, tokens will be stored after authenticating users. Defaults to true.
    SyncMode string
    The default sync mode to use for all mappers attached to this identity provider. Can be once of IMPORT, FORCE, or LEGACY.
    TrustEmail bool
    When true, email addresses for users in this provider will automatically be verified regardless of the realm's email verification policy. Defaults to false.
    ClientId string
    The client or client identifier registered within the identity provider.
    ClientSecret string
    The client or client secret registered within the identity provider. This field is able to obtain its value from vault, use $${vault.ID} format.
    Realm string
    The name of the realm. This is unique across Keycloak.
    AcceptsPromptNoneForwardFromClient bool
    When true, unauthenticated requests with prompt=none will be forwarded to Google instead of returning an error. Defaults to false.
    AddReadTokenRoleOnCreate bool
    When true, new users will be able to read stored tokens. This will automatically assign the broker.read-token role. Defaults to false.
    Alias string
    The alias for the Facebook identity provider.
    AuthenticateByDefault bool
    Enable/disable authenticate users by default.
    DefaultScopes string
    The scopes to be sent when asking for authorization. It can be a space-separated list of scopes. Defaults to openid profile email.
    DisableUserInfo bool
    When true, disables the usage of the user info service to obtain additional user information. Defaults to false.
    DisplayName string
    Display name for the Facebook identity provider in the GUI.
    Enabled bool
    When true, users will be able to log in to this realm using this identity provider. Defaults to true.
    ExtraConfig map[string]string
    FetchedFields string
    Provide additional fields which would be fetched using the profile request. This will be appended to the default set of id,name,email,first_name,last_name.
    FirstBrokerLoginFlowAlias string
    The authentication flow to use when users log in for the first time through this identity provider. Defaults to first broker login.
    GuiOrder string
    A number defining the order of this identity provider in the GUI.
    HideOnLoginPage bool
    When true, this identity provider will be hidden on the login page. Defaults to false.
    LinkOnly bool
    When true, users cannot sign-in using this provider, but their existing accounts will be linked when possible. Defaults to false.
    OrgDomain string
    OrgRedirectModeEmailMatches bool
    OrganizationId string
    ID of organization with which this identity is linked.
    PostBrokerLoginFlowAlias string
    The authentication flow to use after users have successfully logged in, which can be used to perform additional user verification (such as OTP checking). Defaults to an empty string, which means no post login flow will be used.
    ProviderId string
    The ID of the identity provider to use. Defaults to facebook, which should be used unless you have extended Keycloak and provided your own implementation.
    StoreToken bool
    When true, tokens will be stored after authenticating users. Defaults to true.
    SyncMode string
    The default sync mode to use for all mappers attached to this identity provider. Can be once of IMPORT, FORCE, or LEGACY.
    TrustEmail bool
    When true, email addresses for users in this provider will automatically be verified regardless of the realm's email verification policy. Defaults to false.
    clientId String
    The client or client identifier registered within the identity provider.
    clientSecret String
    The client or client secret registered within the identity provider. This field is able to obtain its value from vault, use $${vault.ID} format.
    realm String
    The name of the realm. This is unique across Keycloak.
    acceptsPromptNoneForwardFromClient Boolean
    When true, unauthenticated requests with prompt=none will be forwarded to Google instead of returning an error. Defaults to false.
    addReadTokenRoleOnCreate Boolean
    When true, new users will be able to read stored tokens. This will automatically assign the broker.read-token role. Defaults to false.
    alias String
    The alias for the Facebook identity provider.
    authenticateByDefault Boolean
    Enable/disable authenticate users by default.
    defaultScopes String
    The scopes to be sent when asking for authorization. It can be a space-separated list of scopes. Defaults to openid profile email.
    disableUserInfo Boolean
    When true, disables the usage of the user info service to obtain additional user information. Defaults to false.
    displayName String
    Display name for the Facebook identity provider in the GUI.
    enabled Boolean
    When true, users will be able to log in to this realm using this identity provider. Defaults to true.
    extraConfig Map<String,String>
    fetchedFields String
    Provide additional fields which would be fetched using the profile request. This will be appended to the default set of id,name,email,first_name,last_name.
    firstBrokerLoginFlowAlias String
    The authentication flow to use when users log in for the first time through this identity provider. Defaults to first broker login.
    guiOrder String
    A number defining the order of this identity provider in the GUI.
    hideOnLoginPage Boolean
    When true, this identity provider will be hidden on the login page. Defaults to false.
    linkOnly Boolean
    When true, users cannot sign-in using this provider, but their existing accounts will be linked when possible. Defaults to false.
    orgDomain String
    orgRedirectModeEmailMatches Boolean
    organizationId String
    ID of organization with which this identity is linked.
    postBrokerLoginFlowAlias String
    The authentication flow to use after users have successfully logged in, which can be used to perform additional user verification (such as OTP checking). Defaults to an empty string, which means no post login flow will be used.
    providerId String
    The ID of the identity provider to use. Defaults to facebook, which should be used unless you have extended Keycloak and provided your own implementation.
    storeToken Boolean
    When true, tokens will be stored after authenticating users. Defaults to true.
    syncMode String
    The default sync mode to use for all mappers attached to this identity provider. Can be once of IMPORT, FORCE, or LEGACY.
    trustEmail Boolean
    When true, email addresses for users in this provider will automatically be verified regardless of the realm's email verification policy. Defaults to false.
    clientId string
    The client or client identifier registered within the identity provider.
    clientSecret string
    The client or client secret registered within the identity provider. This field is able to obtain its value from vault, use $${vault.ID} format.
    realm string
    The name of the realm. This is unique across Keycloak.
    acceptsPromptNoneForwardFromClient boolean
    When true, unauthenticated requests with prompt=none will be forwarded to Google instead of returning an error. Defaults to false.
    addReadTokenRoleOnCreate boolean
    When true, new users will be able to read stored tokens. This will automatically assign the broker.read-token role. Defaults to false.
    alias string
    The alias for the Facebook identity provider.
    authenticateByDefault boolean
    Enable/disable authenticate users by default.
    defaultScopes string
    The scopes to be sent when asking for authorization. It can be a space-separated list of scopes. Defaults to openid profile email.
    disableUserInfo boolean
    When true, disables the usage of the user info service to obtain additional user information. Defaults to false.
    displayName string
    Display name for the Facebook identity provider in the GUI.
    enabled boolean
    When true, users will be able to log in to this realm using this identity provider. Defaults to true.
    extraConfig {[key: string]: string}
    fetchedFields string
    Provide additional fields which would be fetched using the profile request. This will be appended to the default set of id,name,email,first_name,last_name.
    firstBrokerLoginFlowAlias string
    The authentication flow to use when users log in for the first time through this identity provider. Defaults to first broker login.
    guiOrder string
    A number defining the order of this identity provider in the GUI.
    hideOnLoginPage boolean
    When true, this identity provider will be hidden on the login page. Defaults to false.
    linkOnly boolean
    When true, users cannot sign-in using this provider, but their existing accounts will be linked when possible. Defaults to false.
    orgDomain string
    orgRedirectModeEmailMatches boolean
    organizationId string
    ID of organization with which this identity is linked.
    postBrokerLoginFlowAlias string
    The authentication flow to use after users have successfully logged in, which can be used to perform additional user verification (such as OTP checking). Defaults to an empty string, which means no post login flow will be used.
    providerId string
    The ID of the identity provider to use. Defaults to facebook, which should be used unless you have extended Keycloak and provided your own implementation.
    storeToken boolean
    When true, tokens will be stored after authenticating users. Defaults to true.
    syncMode string
    The default sync mode to use for all mappers attached to this identity provider. Can be once of IMPORT, FORCE, or LEGACY.
    trustEmail boolean
    When true, email addresses for users in this provider will automatically be verified regardless of the realm's email verification policy. Defaults to false.
    client_id str
    The client or client identifier registered within the identity provider.
    client_secret str
    The client or client secret registered within the identity provider. This field is able to obtain its value from vault, use $${vault.ID} format.
    realm str
    The name of the realm. This is unique across Keycloak.
    accepts_prompt_none_forward_from_client bool
    When true, unauthenticated requests with prompt=none will be forwarded to Google instead of returning an error. Defaults to false.
    add_read_token_role_on_create bool
    When true, new users will be able to read stored tokens. This will automatically assign the broker.read-token role. Defaults to false.
    alias str
    The alias for the Facebook identity provider.
    authenticate_by_default bool
    Enable/disable authenticate users by default.
    default_scopes str
    The scopes to be sent when asking for authorization. It can be a space-separated list of scopes. Defaults to openid profile email.
    disable_user_info bool
    When true, disables the usage of the user info service to obtain additional user information. Defaults to false.
    display_name str
    Display name for the Facebook identity provider in the GUI.
    enabled bool
    When true, users will be able to log in to this realm using this identity provider. Defaults to true.
    extra_config Mapping[str, str]
    fetched_fields str
    Provide additional fields which would be fetched using the profile request. This will be appended to the default set of id,name,email,first_name,last_name.
    first_broker_login_flow_alias str
    The authentication flow to use when users log in for the first time through this identity provider. Defaults to first broker login.
    gui_order str
    A number defining the order of this identity provider in the GUI.
    hide_on_login_page bool
    When true, this identity provider will be hidden on the login page. Defaults to false.
    link_only bool
    When true, users cannot sign-in using this provider, but their existing accounts will be linked when possible. Defaults to false.
    org_domain str
    org_redirect_mode_email_matches bool
    organization_id str
    ID of organization with which this identity is linked.
    post_broker_login_flow_alias str
    The authentication flow to use after users have successfully logged in, which can be used to perform additional user verification (such as OTP checking). Defaults to an empty string, which means no post login flow will be used.
    provider_id str
    The ID of the identity provider to use. Defaults to facebook, which should be used unless you have extended Keycloak and provided your own implementation.
    store_token bool
    When true, tokens will be stored after authenticating users. Defaults to true.
    sync_mode str
    The default sync mode to use for all mappers attached to this identity provider. Can be once of IMPORT, FORCE, or LEGACY.
    trust_email bool
    When true, email addresses for users in this provider will automatically be verified regardless of the realm's email verification policy. Defaults to false.
    clientId String
    The client or client identifier registered within the identity provider.
    clientSecret String
    The client or client secret registered within the identity provider. This field is able to obtain its value from vault, use $${vault.ID} format.
    realm String
    The name of the realm. This is unique across Keycloak.
    acceptsPromptNoneForwardFromClient Boolean
    When true, unauthenticated requests with prompt=none will be forwarded to Google instead of returning an error. Defaults to false.
    addReadTokenRoleOnCreate Boolean
    When true, new users will be able to read stored tokens. This will automatically assign the broker.read-token role. Defaults to false.
    alias String
    The alias for the Facebook identity provider.
    authenticateByDefault Boolean
    Enable/disable authenticate users by default.
    defaultScopes String
    The scopes to be sent when asking for authorization. It can be a space-separated list of scopes. Defaults to openid profile email.
    disableUserInfo Boolean
    When true, disables the usage of the user info service to obtain additional user information. Defaults to false.
    displayName String
    Display name for the Facebook identity provider in the GUI.
    enabled Boolean
    When true, users will be able to log in to this realm using this identity provider. Defaults to true.
    extraConfig Map<String>
    fetchedFields String
    Provide additional fields which would be fetched using the profile request. This will be appended to the default set of id,name,email,first_name,last_name.
    firstBrokerLoginFlowAlias String
    The authentication flow to use when users log in for the first time through this identity provider. Defaults to first broker login.
    guiOrder String
    A number defining the order of this identity provider in the GUI.
    hideOnLoginPage Boolean
    When true, this identity provider will be hidden on the login page. Defaults to false.
    linkOnly Boolean
    When true, users cannot sign-in using this provider, but their existing accounts will be linked when possible. Defaults to false.
    orgDomain String
    orgRedirectModeEmailMatches Boolean
    organizationId String
    ID of organization with which this identity is linked.
    postBrokerLoginFlowAlias String
    The authentication flow to use after users have successfully logged in, which can be used to perform additional user verification (such as OTP checking). Defaults to an empty string, which means no post login flow will be used.
    providerId String
    The ID of the identity provider to use. Defaults to facebook, which should be used unless you have extended Keycloak and provided your own implementation.
    storeToken Boolean
    When true, tokens will be stored after authenticating users. Defaults to true.
    syncMode String
    The default sync mode to use for all mappers attached to this identity provider. Can be once of IMPORT, FORCE, or LEGACY.
    trustEmail Boolean
    When true, email addresses for users in this provider will automatically be verified regardless of the realm's email verification policy. Defaults to false.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the FacebookIdentityProvider resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    InternalId string
    (Computed) The unique ID that Keycloak assigns to the identity provider upon creation.
    Id string
    The provider-assigned unique ID for this managed resource.
    InternalId string
    (Computed) The unique ID that Keycloak assigns to the identity provider upon creation.
    id String
    The provider-assigned unique ID for this managed resource.
    internalId String
    (Computed) The unique ID that Keycloak assigns to the identity provider upon creation.
    id string
    The provider-assigned unique ID for this managed resource.
    internalId string
    (Computed) The unique ID that Keycloak assigns to the identity provider upon creation.
    id str
    The provider-assigned unique ID for this managed resource.
    internal_id str
    (Computed) The unique ID that Keycloak assigns to the identity provider upon creation.
    id String
    The provider-assigned unique ID for this managed resource.
    internalId String
    (Computed) The unique ID that Keycloak assigns to the identity provider upon creation.

    Look up Existing FacebookIdentityProvider Resource

    Get an existing FacebookIdentityProvider resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: FacebookIdentityProviderState, opts?: CustomResourceOptions): FacebookIdentityProvider
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            accepts_prompt_none_forward_from_client: Optional[bool] = None,
            add_read_token_role_on_create: Optional[bool] = None,
            alias: Optional[str] = None,
            authenticate_by_default: Optional[bool] = None,
            client_id: Optional[str] = None,
            client_secret: Optional[str] = None,
            default_scopes: Optional[str] = None,
            disable_user_info: Optional[bool] = None,
            display_name: Optional[str] = None,
            enabled: Optional[bool] = None,
            extra_config: Optional[Mapping[str, str]] = None,
            fetched_fields: Optional[str] = None,
            first_broker_login_flow_alias: Optional[str] = None,
            gui_order: Optional[str] = None,
            hide_on_login_page: Optional[bool] = None,
            internal_id: Optional[str] = None,
            link_only: Optional[bool] = None,
            org_domain: Optional[str] = None,
            org_redirect_mode_email_matches: Optional[bool] = None,
            organization_id: Optional[str] = None,
            post_broker_login_flow_alias: Optional[str] = None,
            provider_id: Optional[str] = None,
            realm: Optional[str] = None,
            store_token: Optional[bool] = None,
            sync_mode: Optional[str] = None,
            trust_email: Optional[bool] = None) -> FacebookIdentityProvider
    func GetFacebookIdentityProvider(ctx *Context, name string, id IDInput, state *FacebookIdentityProviderState, opts ...ResourceOption) (*FacebookIdentityProvider, error)
    public static FacebookIdentityProvider Get(string name, Input<string> id, FacebookIdentityProviderState? state, CustomResourceOptions? opts = null)
    public static FacebookIdentityProvider get(String name, Output<String> id, FacebookIdentityProviderState state, CustomResourceOptions options)
    resources:  _:    type: keycloak:oidc:FacebookIdentityProvider    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AcceptsPromptNoneForwardFromClient bool
    When true, unauthenticated requests with prompt=none will be forwarded to Google instead of returning an error. Defaults to false.
    AddReadTokenRoleOnCreate bool
    When true, new users will be able to read stored tokens. This will automatically assign the broker.read-token role. Defaults to false.
    Alias string
    The alias for the Facebook identity provider.
    AuthenticateByDefault bool
    Enable/disable authenticate users by default.
    ClientId string
    The client or client identifier registered within the identity provider.
    ClientSecret string
    The client or client secret registered within the identity provider. This field is able to obtain its value from vault, use $${vault.ID} format.
    DefaultScopes string
    The scopes to be sent when asking for authorization. It can be a space-separated list of scopes. Defaults to openid profile email.
    DisableUserInfo bool
    When true, disables the usage of the user info service to obtain additional user information. Defaults to false.
    DisplayName string
    Display name for the Facebook identity provider in the GUI.
    Enabled bool
    When true, users will be able to log in to this realm using this identity provider. Defaults to true.
    ExtraConfig Dictionary<string, string>
    FetchedFields string
    Provide additional fields which would be fetched using the profile request. This will be appended to the default set of id,name,email,first_name,last_name.
    FirstBrokerLoginFlowAlias string
    The authentication flow to use when users log in for the first time through this identity provider. Defaults to first broker login.
    GuiOrder string
    A number defining the order of this identity provider in the GUI.
    HideOnLoginPage bool
    When true, this identity provider will be hidden on the login page. Defaults to false.
    InternalId string
    (Computed) The unique ID that Keycloak assigns to the identity provider upon creation.
    LinkOnly bool
    When true, users cannot sign-in using this provider, but their existing accounts will be linked when possible. Defaults to false.
    OrgDomain string
    OrgRedirectModeEmailMatches bool
    OrganizationId string
    ID of organization with which this identity is linked.
    PostBrokerLoginFlowAlias string
    The authentication flow to use after users have successfully logged in, which can be used to perform additional user verification (such as OTP checking). Defaults to an empty string, which means no post login flow will be used.
    ProviderId string
    The ID of the identity provider to use. Defaults to facebook, which should be used unless you have extended Keycloak and provided your own implementation.
    Realm string
    The name of the realm. This is unique across Keycloak.
    StoreToken bool
    When true, tokens will be stored after authenticating users. Defaults to true.
    SyncMode string
    The default sync mode to use for all mappers attached to this identity provider. Can be once of IMPORT, FORCE, or LEGACY.
    TrustEmail bool
    When true, email addresses for users in this provider will automatically be verified regardless of the realm's email verification policy. Defaults to false.
    AcceptsPromptNoneForwardFromClient bool
    When true, unauthenticated requests with prompt=none will be forwarded to Google instead of returning an error. Defaults to false.
    AddReadTokenRoleOnCreate bool
    When true, new users will be able to read stored tokens. This will automatically assign the broker.read-token role. Defaults to false.
    Alias string
    The alias for the Facebook identity provider.
    AuthenticateByDefault bool
    Enable/disable authenticate users by default.
    ClientId string
    The client or client identifier registered within the identity provider.
    ClientSecret string
    The client or client secret registered within the identity provider. This field is able to obtain its value from vault, use $${vault.ID} format.
    DefaultScopes string
    The scopes to be sent when asking for authorization. It can be a space-separated list of scopes. Defaults to openid profile email.
    DisableUserInfo bool
    When true, disables the usage of the user info service to obtain additional user information. Defaults to false.
    DisplayName string
    Display name for the Facebook identity provider in the GUI.
    Enabled bool
    When true, users will be able to log in to this realm using this identity provider. Defaults to true.
    ExtraConfig map[string]string
    FetchedFields string
    Provide additional fields which would be fetched using the profile request. This will be appended to the default set of id,name,email,first_name,last_name.
    FirstBrokerLoginFlowAlias string
    The authentication flow to use when users log in for the first time through this identity provider. Defaults to first broker login.
    GuiOrder string
    A number defining the order of this identity provider in the GUI.
    HideOnLoginPage bool
    When true, this identity provider will be hidden on the login page. Defaults to false.
    InternalId string
    (Computed) The unique ID that Keycloak assigns to the identity provider upon creation.
    LinkOnly bool
    When true, users cannot sign-in using this provider, but their existing accounts will be linked when possible. Defaults to false.
    OrgDomain string
    OrgRedirectModeEmailMatches bool
    OrganizationId string
    ID of organization with which this identity is linked.
    PostBrokerLoginFlowAlias string
    The authentication flow to use after users have successfully logged in, which can be used to perform additional user verification (such as OTP checking). Defaults to an empty string, which means no post login flow will be used.
    ProviderId string
    The ID of the identity provider to use. Defaults to facebook, which should be used unless you have extended Keycloak and provided your own implementation.
    Realm string
    The name of the realm. This is unique across Keycloak.
    StoreToken bool
    When true, tokens will be stored after authenticating users. Defaults to true.
    SyncMode string
    The default sync mode to use for all mappers attached to this identity provider. Can be once of IMPORT, FORCE, or LEGACY.
    TrustEmail bool
    When true, email addresses for users in this provider will automatically be verified regardless of the realm's email verification policy. Defaults to false.
    acceptsPromptNoneForwardFromClient Boolean
    When true, unauthenticated requests with prompt=none will be forwarded to Google instead of returning an error. Defaults to false.
    addReadTokenRoleOnCreate Boolean
    When true, new users will be able to read stored tokens. This will automatically assign the broker.read-token role. Defaults to false.
    alias String
    The alias for the Facebook identity provider.
    authenticateByDefault Boolean
    Enable/disable authenticate users by default.
    clientId String
    The client or client identifier registered within the identity provider.
    clientSecret String
    The client or client secret registered within the identity provider. This field is able to obtain its value from vault, use $${vault.ID} format.
    defaultScopes String
    The scopes to be sent when asking for authorization. It can be a space-separated list of scopes. Defaults to openid profile email.
    disableUserInfo Boolean
    When true, disables the usage of the user info service to obtain additional user information. Defaults to false.
    displayName String
    Display name for the Facebook identity provider in the GUI.
    enabled Boolean
    When true, users will be able to log in to this realm using this identity provider. Defaults to true.
    extraConfig Map<String,String>
    fetchedFields String
    Provide additional fields which would be fetched using the profile request. This will be appended to the default set of id,name,email,first_name,last_name.
    firstBrokerLoginFlowAlias String
    The authentication flow to use when users log in for the first time through this identity provider. Defaults to first broker login.
    guiOrder String
    A number defining the order of this identity provider in the GUI.
    hideOnLoginPage Boolean
    When true, this identity provider will be hidden on the login page. Defaults to false.
    internalId String
    (Computed) The unique ID that Keycloak assigns to the identity provider upon creation.
    linkOnly Boolean
    When true, users cannot sign-in using this provider, but their existing accounts will be linked when possible. Defaults to false.
    orgDomain String
    orgRedirectModeEmailMatches Boolean
    organizationId String
    ID of organization with which this identity is linked.
    postBrokerLoginFlowAlias String
    The authentication flow to use after users have successfully logged in, which can be used to perform additional user verification (such as OTP checking). Defaults to an empty string, which means no post login flow will be used.
    providerId String
    The ID of the identity provider to use. Defaults to facebook, which should be used unless you have extended Keycloak and provided your own implementation.
    realm String
    The name of the realm. This is unique across Keycloak.
    storeToken Boolean
    When true, tokens will be stored after authenticating users. Defaults to true.
    syncMode String
    The default sync mode to use for all mappers attached to this identity provider. Can be once of IMPORT, FORCE, or LEGACY.
    trustEmail Boolean
    When true, email addresses for users in this provider will automatically be verified regardless of the realm's email verification policy. Defaults to false.
    acceptsPromptNoneForwardFromClient boolean
    When true, unauthenticated requests with prompt=none will be forwarded to Google instead of returning an error. Defaults to false.
    addReadTokenRoleOnCreate boolean
    When true, new users will be able to read stored tokens. This will automatically assign the broker.read-token role. Defaults to false.
    alias string
    The alias for the Facebook identity provider.
    authenticateByDefault boolean
    Enable/disable authenticate users by default.
    clientId string
    The client or client identifier registered within the identity provider.
    clientSecret string
    The client or client secret registered within the identity provider. This field is able to obtain its value from vault, use $${vault.ID} format.
    defaultScopes string
    The scopes to be sent when asking for authorization. It can be a space-separated list of scopes. Defaults to openid profile email.
    disableUserInfo boolean
    When true, disables the usage of the user info service to obtain additional user information. Defaults to false.
    displayName string
    Display name for the Facebook identity provider in the GUI.
    enabled boolean
    When true, users will be able to log in to this realm using this identity provider. Defaults to true.
    extraConfig {[key: string]: string}
    fetchedFields string
    Provide additional fields which would be fetched using the profile request. This will be appended to the default set of id,name,email,first_name,last_name.
    firstBrokerLoginFlowAlias string
    The authentication flow to use when users log in for the first time through this identity provider. Defaults to first broker login.
    guiOrder string
    A number defining the order of this identity provider in the GUI.
    hideOnLoginPage boolean
    When true, this identity provider will be hidden on the login page. Defaults to false.
    internalId string
    (Computed) The unique ID that Keycloak assigns to the identity provider upon creation.
    linkOnly boolean
    When true, users cannot sign-in using this provider, but their existing accounts will be linked when possible. Defaults to false.
    orgDomain string
    orgRedirectModeEmailMatches boolean
    organizationId string
    ID of organization with which this identity is linked.
    postBrokerLoginFlowAlias string
    The authentication flow to use after users have successfully logged in, which can be used to perform additional user verification (such as OTP checking). Defaults to an empty string, which means no post login flow will be used.
    providerId string
    The ID of the identity provider to use. Defaults to facebook, which should be used unless you have extended Keycloak and provided your own implementation.
    realm string
    The name of the realm. This is unique across Keycloak.
    storeToken boolean
    When true, tokens will be stored after authenticating users. Defaults to true.
    syncMode string
    The default sync mode to use for all mappers attached to this identity provider. Can be once of IMPORT, FORCE, or LEGACY.
    trustEmail boolean
    When true, email addresses for users in this provider will automatically be verified regardless of the realm's email verification policy. Defaults to false.
    accepts_prompt_none_forward_from_client bool
    When true, unauthenticated requests with prompt=none will be forwarded to Google instead of returning an error. Defaults to false.
    add_read_token_role_on_create bool
    When true, new users will be able to read stored tokens. This will automatically assign the broker.read-token role. Defaults to false.
    alias str
    The alias for the Facebook identity provider.
    authenticate_by_default bool
    Enable/disable authenticate users by default.
    client_id str
    The client or client identifier registered within the identity provider.
    client_secret str
    The client or client secret registered within the identity provider. This field is able to obtain its value from vault, use $${vault.ID} format.
    default_scopes str
    The scopes to be sent when asking for authorization. It can be a space-separated list of scopes. Defaults to openid profile email.
    disable_user_info bool
    When true, disables the usage of the user info service to obtain additional user information. Defaults to false.
    display_name str
    Display name for the Facebook identity provider in the GUI.
    enabled bool
    When true, users will be able to log in to this realm using this identity provider. Defaults to true.
    extra_config Mapping[str, str]
    fetched_fields str
    Provide additional fields which would be fetched using the profile request. This will be appended to the default set of id,name,email,first_name,last_name.
    first_broker_login_flow_alias str
    The authentication flow to use when users log in for the first time through this identity provider. Defaults to first broker login.
    gui_order str
    A number defining the order of this identity provider in the GUI.
    hide_on_login_page bool
    When true, this identity provider will be hidden on the login page. Defaults to false.
    internal_id str
    (Computed) The unique ID that Keycloak assigns to the identity provider upon creation.
    link_only bool
    When true, users cannot sign-in using this provider, but their existing accounts will be linked when possible. Defaults to false.
    org_domain str
    org_redirect_mode_email_matches bool
    organization_id str
    ID of organization with which this identity is linked.
    post_broker_login_flow_alias str
    The authentication flow to use after users have successfully logged in, which can be used to perform additional user verification (such as OTP checking). Defaults to an empty string, which means no post login flow will be used.
    provider_id str
    The ID of the identity provider to use. Defaults to facebook, which should be used unless you have extended Keycloak and provided your own implementation.
    realm str
    The name of the realm. This is unique across Keycloak.
    store_token bool
    When true, tokens will be stored after authenticating users. Defaults to true.
    sync_mode str
    The default sync mode to use for all mappers attached to this identity provider. Can be once of IMPORT, FORCE, or LEGACY.
    trust_email bool
    When true, email addresses for users in this provider will automatically be verified regardless of the realm's email verification policy. Defaults to false.
    acceptsPromptNoneForwardFromClient Boolean
    When true, unauthenticated requests with prompt=none will be forwarded to Google instead of returning an error. Defaults to false.
    addReadTokenRoleOnCreate Boolean
    When true, new users will be able to read stored tokens. This will automatically assign the broker.read-token role. Defaults to false.
    alias String
    The alias for the Facebook identity provider.
    authenticateByDefault Boolean
    Enable/disable authenticate users by default.
    clientId String
    The client or client identifier registered within the identity provider.
    clientSecret String
    The client or client secret registered within the identity provider. This field is able to obtain its value from vault, use $${vault.ID} format.
    defaultScopes String
    The scopes to be sent when asking for authorization. It can be a space-separated list of scopes. Defaults to openid profile email.
    disableUserInfo Boolean
    When true, disables the usage of the user info service to obtain additional user information. Defaults to false.
    displayName String
    Display name for the Facebook identity provider in the GUI.
    enabled Boolean
    When true, users will be able to log in to this realm using this identity provider. Defaults to true.
    extraConfig Map<String>
    fetchedFields String
    Provide additional fields which would be fetched using the profile request. This will be appended to the default set of id,name,email,first_name,last_name.
    firstBrokerLoginFlowAlias String
    The authentication flow to use when users log in for the first time through this identity provider. Defaults to first broker login.
    guiOrder String
    A number defining the order of this identity provider in the GUI.
    hideOnLoginPage Boolean
    When true, this identity provider will be hidden on the login page. Defaults to false.
    internalId String
    (Computed) The unique ID that Keycloak assigns to the identity provider upon creation.
    linkOnly Boolean
    When true, users cannot sign-in using this provider, but their existing accounts will be linked when possible. Defaults to false.
    orgDomain String
    orgRedirectModeEmailMatches Boolean
    organizationId String
    ID of organization with which this identity is linked.
    postBrokerLoginFlowAlias String
    The authentication flow to use after users have successfully logged in, which can be used to perform additional user verification (such as OTP checking). Defaults to an empty string, which means no post login flow will be used.
    providerId String
    The ID of the identity provider to use. Defaults to facebook, which should be used unless you have extended Keycloak and provided your own implementation.
    realm String
    The name of the realm. This is unique across Keycloak.
    storeToken Boolean
    When true, tokens will be stored after authenticating users. Defaults to true.
    syncMode String
    The default sync mode to use for all mappers attached to this identity provider. Can be once of IMPORT, FORCE, or LEGACY.
    trustEmail Boolean
    When true, email addresses for users in this provider will automatically be verified regardless of the realm's email verification policy. Defaults to false.

    Import

    Facebook Identity providers can be imported using the format {{realm_id}}/{{idp_alias}}, where idp_alias is the identity provider alias.

    Example:

    bash

    $ pulumi import keycloak:oidc/facebookIdentityProvider:FacebookIdentityProvider facebook_identity_provider my-realm/my-facebook-idp
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Keycloak pulumi/pulumi-keycloak
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the keycloak Terraform Provider.
    keycloak logo
    Keycloak v6.9.0 published on Wednesday, Dec 24, 2025 by Pulumi
      Meet Neo: Your AI Platform Teammate