Keycloak v6.4.0 published on Wednesday, Apr 16, 2025 by Pulumi
keycloak.getClientDescriptionConverter
Explore with Pulumi AI
This data source uses the ClientDescriptionConverter API to convert a generic client description into a Keycloak client. This data can then be used to manage the client within Keycloak.
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 samlClient = keycloak.getClientDescriptionConverterOutput({
    realmId: realm.id,
    body: `\x09<md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" validUntil="2021-04-17T12:41:46Z" cacheDuration="PT604800S" entityID="FakeEntityId">
    <md:SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
        <md:KeyDescriptor use="signing">
\x09\x09\x09<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
\x09\x09\x09\x09<ds:X509Data>
\x09\x09\x09\x09\x09<ds:X509Certificate>MIICyDCCAjGgAwIBAgIBADANBgkqhkiG9w0BAQ0FADCBgDELMAkGA1UEBhMCdXMx
\x09\x09\x09\x09\x09CzAJBgNVBAgMAklBMSQwIgYDVQQKDBt0ZXJyYWZvcm0tcHJvdmlkZXIta2V5Y2xv
\x09\x09\x09\x09\x09YWsxHDAaBgNVBAMME21ycGFya2Vycy5naXRodWIuaW8xIDAeBgkqhkiG9w0BCQEW
\x09\x09\x09\x09\x09EW1pY2hhZWxAcGFya2VyLmdnMB4XDTE5MDEwODE0NDYzNloXDTI5MDEwNTE0NDYz
\x09\x09\x09\x09\x09NlowgYAxCzAJBgNVBAYTAnVzMQswCQYDVQQIDAJJQTEkMCIGA1UECgwbdGVycmFm
\x09\x09\x09\x09\x09b3JtLXByb3ZpZGVyLWtleWNsb2FrMRwwGgYDVQQDDBNtcnBhcmtlcnMuZ2l0aHVi
\x09\x09\x09\x09\x09LmlvMSAwHgYJKoZIhvcNAQkBFhFtaWNoYWVsQHBhcmtlci5nZzCBnzANBgkqhkiG
\x09\x09\x09\x09\x099w0BAQEFAAOBjQAwgYkCgYEAxuZny7uyYxGVPtpie14gNQC4tT9sAvO2sVNDhuoe
\x09\x09\x09\x09\x09qIKLRpNwkHnwQmwe5OxSh9K0BPHp/DNuuVWUqvo4tniEYn3jBr7FwLYLTKojQIxj
\x09\x09\x09\x09\x0953S1UTT9EXq3eP5HsHMD0QnTuca2nlNYUDBm6ud2fQj0Jt5qLx86EbEC28N56IRv
\x09\x09\x09\x09\x09GX8CAwEAAaNQME4wHQYDVR0OBBYEFMLnbQh77j7vhGTpAhKpDhCrBsPZMB8GA1Ud
\x09\x09\x09\x09\x09IwQYMBaAFMLnbQh77j7vhGTpAhKpDhCrBsPZMAwGA1UdEwQFMAMBAf8wDQYJKoZI
\x09\x09\x09\x09\x09hvcNAQENBQADgYEAB8wGrAQY0pAfwbnYSyBt4STbebeRTu1/q1ucfrtc3qsegcd5
\x09\x09\x09\x09\x09n01xTR+T2uZJwqHFPpFjr4IPORiHx3+4BWCweslPD53qBjKUPXcbMO1Revjef6Tj
\x09\x09\x09\x09\x09K3K0AuJ94fxgXVoT61Nzu/a6Lj6RhzU/Dao9mlSbJY+YSbm+ZBpsuRUQ84s=</ds:X509Certificate>
\x09\x09\x09\x09</ds:X509Data>
\x09\x09\x09</ds:KeyInfo>
\x09\x09</md:KeyDescriptor>
\x09\x09<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat>
        <md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://localhost/acs/saml/" index="1"/>
    </md:SPSSODescriptor>
</md:EntityDescriptor>
`,
});
const samlClientClient = new keycloak.saml.Client("saml_client", {
    realmId: realm.id,
    clientId: samlClient.apply(samlClient => samlClient.clientId),
});
import pulumi
import pulumi_keycloak as keycloak
realm = keycloak.Realm("realm",
    realm="my-realm",
    enabled=True)
saml_client = keycloak.get_client_description_converter_output(realm_id=realm.id,
    body="""\x09<md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" validUntil="2021-04-17T12:41:46Z" cacheDuration="PT604800S" entityID="FakeEntityId">
    <md:SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
        <md:KeyDescriptor use="signing">
\x09\x09\x09<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
\x09\x09\x09\x09<ds:X509Data>
\x09\x09\x09\x09\x09<ds:X509Certificate>MIICyDCCAjGgAwIBAgIBADANBgkqhkiG9w0BAQ0FADCBgDELMAkGA1UEBhMCdXMx
\x09\x09\x09\x09\x09CzAJBgNVBAgMAklBMSQwIgYDVQQKDBt0ZXJyYWZvcm0tcHJvdmlkZXIta2V5Y2xv
\x09\x09\x09\x09\x09YWsxHDAaBgNVBAMME21ycGFya2Vycy5naXRodWIuaW8xIDAeBgkqhkiG9w0BCQEW
\x09\x09\x09\x09\x09EW1pY2hhZWxAcGFya2VyLmdnMB4XDTE5MDEwODE0NDYzNloXDTI5MDEwNTE0NDYz
\x09\x09\x09\x09\x09NlowgYAxCzAJBgNVBAYTAnVzMQswCQYDVQQIDAJJQTEkMCIGA1UECgwbdGVycmFm
\x09\x09\x09\x09\x09b3JtLXByb3ZpZGVyLWtleWNsb2FrMRwwGgYDVQQDDBNtcnBhcmtlcnMuZ2l0aHVi
\x09\x09\x09\x09\x09LmlvMSAwHgYJKoZIhvcNAQkBFhFtaWNoYWVsQHBhcmtlci5nZzCBnzANBgkqhkiG
\x09\x09\x09\x09\x099w0BAQEFAAOBjQAwgYkCgYEAxuZny7uyYxGVPtpie14gNQC4tT9sAvO2sVNDhuoe
\x09\x09\x09\x09\x09qIKLRpNwkHnwQmwe5OxSh9K0BPHp/DNuuVWUqvo4tniEYn3jBr7FwLYLTKojQIxj
\x09\x09\x09\x09\x0953S1UTT9EXq3eP5HsHMD0QnTuca2nlNYUDBm6ud2fQj0Jt5qLx86EbEC28N56IRv
\x09\x09\x09\x09\x09GX8CAwEAAaNQME4wHQYDVR0OBBYEFMLnbQh77j7vhGTpAhKpDhCrBsPZMB8GA1Ud
\x09\x09\x09\x09\x09IwQYMBaAFMLnbQh77j7vhGTpAhKpDhCrBsPZMAwGA1UdEwQFMAMBAf8wDQYJKoZI
\x09\x09\x09\x09\x09hvcNAQENBQADgYEAB8wGrAQY0pAfwbnYSyBt4STbebeRTu1/q1ucfrtc3qsegcd5
\x09\x09\x09\x09\x09n01xTR+T2uZJwqHFPpFjr4IPORiHx3+4BWCweslPD53qBjKUPXcbMO1Revjef6Tj
\x09\x09\x09\x09\x09K3K0AuJ94fxgXVoT61Nzu/a6Lj6RhzU/Dao9mlSbJY+YSbm+ZBpsuRUQ84s=</ds:X509Certificate>
\x09\x09\x09\x09</ds:X509Data>
\x09\x09\x09</ds:KeyInfo>
\x09\x09</md:KeyDescriptor>
\x09\x09<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat>
        <md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://localhost/acs/saml/" index="1"/>
    </md:SPSSODescriptor>
</md:EntityDescriptor>
""")
saml_client_client = keycloak.saml.Client("saml_client",
    realm_id=realm.id,
    client_id=saml_client.client_id)
package main
import (
	"github.com/pulumi/pulumi-keycloak/sdk/v6/go/keycloak"
	"github.com/pulumi/pulumi-keycloak/sdk/v6/go/keycloak/saml"
	"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
		}
		samlClient := keycloak.GetClientDescriptionConverterOutput(ctx, keycloak.GetClientDescriptionConverterOutputArgs{
			RealmId: realm.ID(),
			Body: pulumi.String(`	<md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" validUntil="2021-04-17T12:41:46Z" cacheDuration="PT604800S" entityID="FakeEntityId">
    <md:SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
        <md:KeyDescriptor use="signing">
			<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
				<ds:X509Data>
					<ds:X509Certificate>MIICyDCCAjGgAwIBAgIBADANBgkqhkiG9w0BAQ0FADCBgDELMAkGA1UEBhMCdXMx
					CzAJBgNVBAgMAklBMSQwIgYDVQQKDBt0ZXJyYWZvcm0tcHJvdmlkZXIta2V5Y2xv
					YWsxHDAaBgNVBAMME21ycGFya2Vycy5naXRodWIuaW8xIDAeBgkqhkiG9w0BCQEW
					EW1pY2hhZWxAcGFya2VyLmdnMB4XDTE5MDEwODE0NDYzNloXDTI5MDEwNTE0NDYz
					NlowgYAxCzAJBgNVBAYTAnVzMQswCQYDVQQIDAJJQTEkMCIGA1UECgwbdGVycmFm
					b3JtLXByb3ZpZGVyLWtleWNsb2FrMRwwGgYDVQQDDBNtcnBhcmtlcnMuZ2l0aHVi
					LmlvMSAwHgYJKoZIhvcNAQkBFhFtaWNoYWVsQHBhcmtlci5nZzCBnzANBgkqhkiG
					9w0BAQEFAAOBjQAwgYkCgYEAxuZny7uyYxGVPtpie14gNQC4tT9sAvO2sVNDhuoe
					qIKLRpNwkHnwQmwe5OxSh9K0BPHp/DNuuVWUqvo4tniEYn3jBr7FwLYLTKojQIxj
					53S1UTT9EXq3eP5HsHMD0QnTuca2nlNYUDBm6ud2fQj0Jt5qLx86EbEC28N56IRv
					GX8CAwEAAaNQME4wHQYDVR0OBBYEFMLnbQh77j7vhGTpAhKpDhCrBsPZMB8GA1Ud
					IwQYMBaAFMLnbQh77j7vhGTpAhKpDhCrBsPZMAwGA1UdEwQFMAMBAf8wDQYJKoZI
					hvcNAQENBQADgYEAB8wGrAQY0pAfwbnYSyBt4STbebeRTu1/q1ucfrtc3qsegcd5
					n01xTR+T2uZJwqHFPpFjr4IPORiHx3+4BWCweslPD53qBjKUPXcbMO1Revjef6Tj
					K3K0AuJ94fxgXVoT61Nzu/a6Lj6RhzU/Dao9mlSbJY+YSbm+ZBpsuRUQ84s=</ds:X509Certificate>
				</ds:X509Data>
			</ds:KeyInfo>
		</md:KeyDescriptor>
		<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat>
        <md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://localhost/acs/saml/" index="1"/>
    </md:SPSSODescriptor>
</md:EntityDescriptor>
`),
		}, nil)
		_, err = saml.NewClient(ctx, "saml_client", &saml.ClientArgs{
			RealmId: realm.ID(),
			ClientId: pulumi.String(samlClient.ApplyT(func(samlClient keycloak.GetClientDescriptionConverterResult) (*string, error) {
				return &samlClient.ClientId, nil
			}).(pulumi.StringPtrOutput)),
		})
		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 samlClient = Keycloak.GetClientDescriptionConverter.Invoke(new()
    {
        RealmId = realm.Id,
        Body = @"	<md:EntityDescriptor xmlns:md=""urn:oasis:names:tc:SAML:2.0:metadata"" validUntil=""2021-04-17T12:41:46Z"" cacheDuration=""PT604800S"" entityID=""FakeEntityId"">
    <md:SPSSODescriptor AuthnRequestsSigned=""false"" WantAssertionsSigned=""false"" protocolSupportEnumeration=""urn:oasis:names:tc:SAML:2.0:protocol"">
        <md:KeyDescriptor use=""signing"">
			<ds:KeyInfo xmlns:ds=""http://www.w3.org/2000/09/xmldsig#"">
				<ds:X509Data>
					<ds:X509Certificate>MIICyDCCAjGgAwIBAgIBADANBgkqhkiG9w0BAQ0FADCBgDELMAkGA1UEBhMCdXMx
					CzAJBgNVBAgMAklBMSQwIgYDVQQKDBt0ZXJyYWZvcm0tcHJvdmlkZXIta2V5Y2xv
					YWsxHDAaBgNVBAMME21ycGFya2Vycy5naXRodWIuaW8xIDAeBgkqhkiG9w0BCQEW
					EW1pY2hhZWxAcGFya2VyLmdnMB4XDTE5MDEwODE0NDYzNloXDTI5MDEwNTE0NDYz
					NlowgYAxCzAJBgNVBAYTAnVzMQswCQYDVQQIDAJJQTEkMCIGA1UECgwbdGVycmFm
					b3JtLXByb3ZpZGVyLWtleWNsb2FrMRwwGgYDVQQDDBNtcnBhcmtlcnMuZ2l0aHVi
					LmlvMSAwHgYJKoZIhvcNAQkBFhFtaWNoYWVsQHBhcmtlci5nZzCBnzANBgkqhkiG
					9w0BAQEFAAOBjQAwgYkCgYEAxuZny7uyYxGVPtpie14gNQC4tT9sAvO2sVNDhuoe
					qIKLRpNwkHnwQmwe5OxSh9K0BPHp/DNuuVWUqvo4tniEYn3jBr7FwLYLTKojQIxj
					53S1UTT9EXq3eP5HsHMD0QnTuca2nlNYUDBm6ud2fQj0Jt5qLx86EbEC28N56IRv
					GX8CAwEAAaNQME4wHQYDVR0OBBYEFMLnbQh77j7vhGTpAhKpDhCrBsPZMB8GA1Ud
					IwQYMBaAFMLnbQh77j7vhGTpAhKpDhCrBsPZMAwGA1UdEwQFMAMBAf8wDQYJKoZI
					hvcNAQENBQADgYEAB8wGrAQY0pAfwbnYSyBt4STbebeRTu1/q1ucfrtc3qsegcd5
					n01xTR+T2uZJwqHFPpFjr4IPORiHx3+4BWCweslPD53qBjKUPXcbMO1Revjef6Tj
					K3K0AuJ94fxgXVoT61Nzu/a6Lj6RhzU/Dao9mlSbJY+YSbm+ZBpsuRUQ84s=</ds:X509Certificate>
				</ds:X509Data>
			</ds:KeyInfo>
		</md:KeyDescriptor>
		<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat>
        <md:AssertionConsumerService Binding=""urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"" Location=""https://localhost/acs/saml/"" index=""1""/>
    </md:SPSSODescriptor>
</md:EntityDescriptor>
",
    });
    var samlClientClient = new Keycloak.Saml.Client("saml_client", new()
    {
        RealmId = realm.Id,
        ClientId = samlClient.Apply(getClientDescriptionConverterResult => getClientDescriptionConverterResult.ClientId),
    });
});
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.KeycloakFunctions;
import com.pulumi.keycloak.inputs.GetClientDescriptionConverterArgs;
import com.pulumi.keycloak.saml.Client;
import com.pulumi.keycloak.saml.ClientArgs;
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());
        final var samlClient = KeycloakFunctions.getClientDescriptionConverter(GetClientDescriptionConverterArgs.builder()
            .realmId(realm.id())
            .body("""
	<md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" validUntil="2021-04-17T12:41:46Z" cacheDuration="PT604800S" entityID="FakeEntityId">
    <md:SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
        <md:KeyDescriptor use="signing">
			<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
				<ds:X509Data>
					<ds:X509Certificate>MIICyDCCAjGgAwIBAgIBADANBgkqhkiG9w0BAQ0FADCBgDELMAkGA1UEBhMCdXMx
					CzAJBgNVBAgMAklBMSQwIgYDVQQKDBt0ZXJyYWZvcm0tcHJvdmlkZXIta2V5Y2xv
					YWsxHDAaBgNVBAMME21ycGFya2Vycy5naXRodWIuaW8xIDAeBgkqhkiG9w0BCQEW
					EW1pY2hhZWxAcGFya2VyLmdnMB4XDTE5MDEwODE0NDYzNloXDTI5MDEwNTE0NDYz
					NlowgYAxCzAJBgNVBAYTAnVzMQswCQYDVQQIDAJJQTEkMCIGA1UECgwbdGVycmFm
					b3JtLXByb3ZpZGVyLWtleWNsb2FrMRwwGgYDVQQDDBNtcnBhcmtlcnMuZ2l0aHVi
					LmlvMSAwHgYJKoZIhvcNAQkBFhFtaWNoYWVsQHBhcmtlci5nZzCBnzANBgkqhkiG
					9w0BAQEFAAOBjQAwgYkCgYEAxuZny7uyYxGVPtpie14gNQC4tT9sAvO2sVNDhuoe
					qIKLRpNwkHnwQmwe5OxSh9K0BPHp/DNuuVWUqvo4tniEYn3jBr7FwLYLTKojQIxj
					53S1UTT9EXq3eP5HsHMD0QnTuca2nlNYUDBm6ud2fQj0Jt5qLx86EbEC28N56IRv
					GX8CAwEAAaNQME4wHQYDVR0OBBYEFMLnbQh77j7vhGTpAhKpDhCrBsPZMB8GA1Ud
					IwQYMBaAFMLnbQh77j7vhGTpAhKpDhCrBsPZMAwGA1UdEwQFMAMBAf8wDQYJKoZI
					hvcNAQENBQADgYEAB8wGrAQY0pAfwbnYSyBt4STbebeRTu1/q1ucfrtc3qsegcd5
					n01xTR+T2uZJwqHFPpFjr4IPORiHx3+4BWCweslPD53qBjKUPXcbMO1Revjef6Tj
					K3K0AuJ94fxgXVoT61Nzu/a6Lj6RhzU/Dao9mlSbJY+YSbm+ZBpsuRUQ84s=</ds:X509Certificate>
				</ds:X509Data>
			</ds:KeyInfo>
		</md:KeyDescriptor>
		<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat>
        <md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://localhost/acs/saml/" index="1"/>
    </md:SPSSODescriptor>
</md:EntityDescriptor>
            """)
            .build());
        var samlClientClient = new Client("samlClientClient", ClientArgs.builder()
            .realmId(realm.id())
            .clientId(samlClient.applyValue(_samlClient -> _samlClient.clientId()))
            .build());
    }
}
resources:
  realm:
    type: keycloak:Realm
    properties:
      realm: my-realm
      enabled: true
  samlClientClient:
    type: keycloak:saml:Client
    name: saml_client
    properties:
      realmId: ${realm.id}
      clientId: ${samlClient.clientId}
variables:
  samlClient:
    fn::invoke:
      function: keycloak:getClientDescriptionConverter
      arguments:
        realmId: ${realm.id}
        body: |
          	<md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" validUntil="2021-04-17T12:41:46Z" cacheDuration="PT604800S" entityID="FakeEntityId">
              <md:SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
                  <md:KeyDescriptor use="signing">
          			<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
          				<ds:X509Data>
          					<ds:X509Certificate>MIICyDCCAjGgAwIBAgIBADANBgkqhkiG9w0BAQ0FADCBgDELMAkGA1UEBhMCdXMx
          					CzAJBgNVBAgMAklBMSQwIgYDVQQKDBt0ZXJyYWZvcm0tcHJvdmlkZXIta2V5Y2xv
          					YWsxHDAaBgNVBAMME21ycGFya2Vycy5naXRodWIuaW8xIDAeBgkqhkiG9w0BCQEW
          					EW1pY2hhZWxAcGFya2VyLmdnMB4XDTE5MDEwODE0NDYzNloXDTI5MDEwNTE0NDYz
          					NlowgYAxCzAJBgNVBAYTAnVzMQswCQYDVQQIDAJJQTEkMCIGA1UECgwbdGVycmFm
          					b3JtLXByb3ZpZGVyLWtleWNsb2FrMRwwGgYDVQQDDBNtcnBhcmtlcnMuZ2l0aHVi
          					LmlvMSAwHgYJKoZIhvcNAQkBFhFtaWNoYWVsQHBhcmtlci5nZzCBnzANBgkqhkiG
          					9w0BAQEFAAOBjQAwgYkCgYEAxuZny7uyYxGVPtpie14gNQC4tT9sAvO2sVNDhuoe
          					qIKLRpNwkHnwQmwe5OxSh9K0BPHp/DNuuVWUqvo4tniEYn3jBr7FwLYLTKojQIxj
          					53S1UTT9EXq3eP5HsHMD0QnTuca2nlNYUDBm6ud2fQj0Jt5qLx86EbEC28N56IRv
          					GX8CAwEAAaNQME4wHQYDVR0OBBYEFMLnbQh77j7vhGTpAhKpDhCrBsPZMB8GA1Ud
          					IwQYMBaAFMLnbQh77j7vhGTpAhKpDhCrBsPZMAwGA1UdEwQFMAMBAf8wDQYJKoZI
          					hvcNAQENBQADgYEAB8wGrAQY0pAfwbnYSyBt4STbebeRTu1/q1ucfrtc3qsegcd5
          					n01xTR+T2uZJwqHFPpFjr4IPORiHx3+4BWCweslPD53qBjKUPXcbMO1Revjef6Tj
          					K3K0AuJ94fxgXVoT61Nzu/a6Lj6RhzU/Dao9mlSbJY+YSbm+ZBpsuRUQ84s=</ds:X509Certificate>
          				</ds:X509Data>
          			</ds:KeyInfo>
          		</md:KeyDescriptor>
          		<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat>
                  <md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://localhost/acs/saml/" index="1"/>
              </md:SPSSODescriptor>
          </md:EntityDescriptor>          
Using getClientDescriptionConverter
Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.
function getClientDescriptionConverter(args: GetClientDescriptionConverterArgs, opts?: InvokeOptions): Promise<GetClientDescriptionConverterResult>
function getClientDescriptionConverterOutput(args: GetClientDescriptionConverterOutputArgs, opts?: InvokeOptions): Output<GetClientDescriptionConverterResult>def get_client_description_converter(body: Optional[str] = None,
                                     realm_id: Optional[str] = None,
                                     opts: Optional[InvokeOptions] = None) -> GetClientDescriptionConverterResult
def get_client_description_converter_output(body: Optional[pulumi.Input[str]] = None,
                                     realm_id: Optional[pulumi.Input[str]] = None,
                                     opts: Optional[InvokeOptions] = None) -> Output[GetClientDescriptionConverterResult]func GetClientDescriptionConverter(ctx *Context, args *GetClientDescriptionConverterArgs, opts ...InvokeOption) (*GetClientDescriptionConverterResult, error)
func GetClientDescriptionConverterOutput(ctx *Context, args *GetClientDescriptionConverterOutputArgs, opts ...InvokeOption) GetClientDescriptionConverterResultOutput> Note: This function is named GetClientDescriptionConverter in the Go SDK.
public static class GetClientDescriptionConverter 
{
    public static Task<GetClientDescriptionConverterResult> InvokeAsync(GetClientDescriptionConverterArgs args, InvokeOptions? opts = null)
    public static Output<GetClientDescriptionConverterResult> Invoke(GetClientDescriptionConverterInvokeArgs args, InvokeOptions? opts = null)
}public static CompletableFuture<GetClientDescriptionConverterResult> getClientDescriptionConverter(GetClientDescriptionConverterArgs args, InvokeOptions options)
public static Output<GetClientDescriptionConverterResult> getClientDescriptionConverter(GetClientDescriptionConverterArgs args, InvokeOptions options)
fn::invoke:
  function: keycloak:index/getClientDescriptionConverter:getClientDescriptionConverter
  arguments:
    # arguments dictionaryThe following arguments are supported:
getClientDescriptionConverter Result
The following output properties are available:
- Access Dictionary<string, string>
- AdminUrl string
- AlwaysDisplay boolIn Console 
- Attributes Dictionary<string, string>
- AuthenticationFlow Dictionary<string, string>Binding Overrides 
- bool
- Dictionary<string, string>
- BaseUrl string
- BearerOnly bool
- Body string
- ClientAuthenticator stringType 
- ClientId string
- ConsentRequired string
- DefaultClient List<string>Scopes 
- DefaultRoles List<string>
- Description string
- DirectAccess boolGrants Enabled 
- Enabled bool
- FrontchannelLogout bool
- FullScope boolAllowed 
- Id string
- The provider-assigned unique ID for this managed resource.
- ImplicitFlow boolEnabled 
- Name string
- NotBefore int
- OptionalClient List<string>Scopes 
- Origin string
- Protocol string
- ProtocolMappers List<GetClient Description Converter Protocol Mapper> 
- PublicClient bool
- RealmId string
- RedirectUris List<string>
- RegisteredNodes Dictionary<string, string>
- RegistrationAccess stringToken 
- RootUrl string
- Secret string
- ServiceAccounts boolEnabled 
- StandardFlow boolEnabled 
- SurrogateAuth boolRequired 
- WebOrigins List<string>
- Access map[string]string
- AdminUrl string
- AlwaysDisplay boolIn Console 
- Attributes map[string]string
- AuthenticationFlow map[string]stringBinding Overrides 
- bool
- map[string]string
- BaseUrl string
- BearerOnly bool
- Body string
- ClientAuthenticator stringType 
- ClientId string
- ConsentRequired string
- DefaultClient []stringScopes 
- DefaultRoles []string
- Description string
- DirectAccess boolGrants Enabled 
- Enabled bool
- FrontchannelLogout bool
- FullScope boolAllowed 
- Id string
- The provider-assigned unique ID for this managed resource.
- ImplicitFlow boolEnabled 
- Name string
- NotBefore int
- OptionalClient []stringScopes 
- Origin string
- Protocol string
- ProtocolMappers []GetClient Description Converter Protocol Mapper 
- PublicClient bool
- RealmId string
- RedirectUris []string
- RegisteredNodes map[string]string
- RegistrationAccess stringToken 
- RootUrl string
- Secret string
- ServiceAccounts boolEnabled 
- StandardFlow boolEnabled 
- SurrogateAuth boolRequired 
- WebOrigins []string
- access Map<String,String>
- adminUrl String
- alwaysDisplay BooleanIn Console 
- attributes Map<String,String>
- authenticationFlow Map<String,String>Binding Overrides 
- Boolean
- Map<String,String>
- baseUrl String
- bearerOnly Boolean
- body String
- clientAuthenticator StringType 
- clientId String
- consentRequired String
- defaultClient List<String>Scopes 
- defaultRoles List<String>
- description String
- directAccess BooleanGrants Enabled 
- enabled Boolean
- frontchannelLogout Boolean
- fullScope BooleanAllowed 
- id String
- The provider-assigned unique ID for this managed resource.
- implicitFlow BooleanEnabled 
- name String
- notBefore Integer
- optionalClient List<String>Scopes 
- origin String
- protocol String
- protocolMappers List<GetClient Description Converter Protocol Mapper> 
- publicClient Boolean
- realmId String
- redirectUris List<String>
- registeredNodes Map<String,String>
- registrationAccess StringToken 
- rootUrl String
- secret String
- serviceAccounts BooleanEnabled 
- standardFlow BooleanEnabled 
- surrogateAuth BooleanRequired 
- webOrigins List<String>
- access {[key: string]: string}
- adminUrl string
- alwaysDisplay booleanIn Console 
- attributes {[key: string]: string}
- authenticationFlow {[key: string]: string}Binding Overrides 
- boolean
- {[key: string]: string}
- baseUrl string
- bearerOnly boolean
- body string
- clientAuthenticator stringType 
- clientId string
- consentRequired string
- defaultClient string[]Scopes 
- defaultRoles string[]
- description string
- directAccess booleanGrants Enabled 
- enabled boolean
- frontchannelLogout boolean
- fullScope booleanAllowed 
- id string
- The provider-assigned unique ID for this managed resource.
- implicitFlow booleanEnabled 
- name string
- notBefore number
- optionalClient string[]Scopes 
- origin string
- protocol string
- protocolMappers GetClient Description Converter Protocol Mapper[] 
- publicClient boolean
- realmId string
- redirectUris string[]
- registeredNodes {[key: string]: string}
- registrationAccess stringToken 
- rootUrl string
- secret string
- serviceAccounts booleanEnabled 
- standardFlow booleanEnabled 
- surrogateAuth booleanRequired 
- webOrigins string[]
- access Mapping[str, str]
- admin_url str
- always_display_ boolin_ console 
- attributes Mapping[str, str]
- authentication_flow_ Mapping[str, str]binding_ overrides 
- bool
- Mapping[str, str]
- base_url str
- bearer_only bool
- body str
- client_authenticator_ strtype 
- client_id str
- consent_required str
- default_client_ Sequence[str]scopes 
- default_roles Sequence[str]
- description str
- direct_access_ boolgrants_ enabled 
- enabled bool
- frontchannel_logout bool
- full_scope_ boolallowed 
- id str
- The provider-assigned unique ID for this managed resource.
- implicit_flow_ boolenabled 
- name str
- not_before int
- optional_client_ Sequence[str]scopes 
- origin str
- protocol str
- protocol_mappers Sequence[GetClient Description Converter Protocol Mapper] 
- public_client bool
- realm_id str
- redirect_uris Sequence[str]
- registered_nodes Mapping[str, str]
- registration_access_ strtoken 
- root_url str
- secret str
- service_accounts_ boolenabled 
- standard_flow_ boolenabled 
- surrogate_auth_ boolrequired 
- web_origins Sequence[str]
- access Map<String>
- adminUrl String
- alwaysDisplay BooleanIn Console 
- attributes Map<String>
- authenticationFlow Map<String>Binding Overrides 
- Boolean
- Map<String>
- baseUrl String
- bearerOnly Boolean
- body String
- clientAuthenticator StringType 
- clientId String
- consentRequired String
- defaultClient List<String>Scopes 
- defaultRoles List<String>
- description String
- directAccess BooleanGrants Enabled 
- enabled Boolean
- frontchannelLogout Boolean
- fullScope BooleanAllowed 
- id String
- The provider-assigned unique ID for this managed resource.
- implicitFlow BooleanEnabled 
- name String
- notBefore Number
- optionalClient List<String>Scopes 
- origin String
- protocol String
- protocolMappers List<Property Map>
- publicClient Boolean
- realmId String
- redirectUris List<String>
- registeredNodes Map<String>
- registrationAccess StringToken 
- rootUrl String
- secret String
- serviceAccounts BooleanEnabled 
- standardFlow BooleanEnabled 
- surrogateAuth BooleanRequired 
- webOrigins List<String>
Supporting Types
GetClientDescriptionConverterProtocolMapper     
- Config Dictionary<string, string>
- Id string
- Name string
- Protocol string
- ProtocolMapper string
- Config map[string]string
- Id string
- Name string
- Protocol string
- ProtocolMapper string
- config Map<String,String>
- id String
- name String
- protocol String
- protocolMapper String
- config {[key: string]: string}
- id string
- name string
- protocol string
- protocolMapper string
- config Mapping[str, str]
- id str
- name str
- protocol str
- protocol_mapper str
- config Map<String>
- id String
- name String
- protocol String
- protocolMapper String
Package Details
- Repository
- Keycloak pulumi/pulumi-keycloak
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the keycloakTerraform Provider.