Keycloak v5.3.4 published on Friday, Sep 20, 2024 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/v5/go/keycloak"
"github.com/pulumi/pulumi-keycloak/sdk/v5/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(getClientDescriptionConverterResult -> getClientDescriptionConverterResult).applyValue(samlClient -> samlClient.applyValue(getClientDescriptionConverterResult -> getClientDescriptionConverterResult.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)
// Output-based functions aren't available in Java yet
fn::invoke:
function: keycloak:index/getClientDescriptionConverter:getClientDescriptionConverter
arguments:
# arguments dictionary
The following arguments are supported:
getClientDescriptionConverter Result
The following output properties are available:
- Access Dictionary<string, string>
- Admin
Url string - Attributes Dictionary<string, string>
- Authentication
Flow Dictionary<string, string>Binding Overrides - bool
- Dictionary<string, string>
- Base
Url string - Bearer
Only bool - Body string
- Client
Authenticator stringType - Client
Id string - Consent
Required string - Default
Client List<string>Scopes - Default
Roles List<string> - Description string
- Direct
Access boolGrants Enabled - Enabled bool
- Frontchannel
Logout bool - Full
Scope boolAllowed - Id string
- The provider-assigned unique ID for this managed resource.
- Implicit
Flow boolEnabled - Name string
- Not
Before int - Optional
Client List<string>Scopes - Origin string
- Protocol string
- Protocol
Mappers List<GetClient Description Converter Protocol Mapper> - Public
Client bool - Realm
Id string - Redirect
Uris List<string> - Registered
Nodes Dictionary<string, string> - Registration
Access stringToken - Root
Url string - Secret string
- Service
Accounts boolEnabled - Standard
Flow boolEnabled - Surrogate
Auth boolRequired - Web
Origins List<string>
- Access map[string]string
- Admin
Url string - Attributes map[string]string
- Authentication
Flow map[string]stringBinding Overrides - bool
- map[string]string
- Base
Url string - Bearer
Only bool - Body string
- Client
Authenticator stringType - Client
Id string - Consent
Required string - Default
Client []stringScopes - Default
Roles []string - Description string
- Direct
Access boolGrants Enabled - Enabled bool
- Frontchannel
Logout bool - Full
Scope boolAllowed - Id string
- The provider-assigned unique ID for this managed resource.
- Implicit
Flow boolEnabled - Name string
- Not
Before int - Optional
Client []stringScopes - Origin string
- Protocol string
- Protocol
Mappers []GetClient Description Converter Protocol Mapper - Public
Client bool - Realm
Id string - Redirect
Uris []string - Registered
Nodes map[string]string - Registration
Access stringToken - Root
Url string - Secret string
- Service
Accounts boolEnabled - Standard
Flow boolEnabled - Surrogate
Auth boolRequired - Web
Origins []string
- access Map<String,String>
- admin
Url String - attributes Map<String,String>
- authentication
Flow Map<String,String>Binding Overrides - Boolean
- Map<String,String>
- base
Url String - bearer
Only Boolean - body String
- client
Authenticator StringType - client
Id String - consent
Required String - default
Client List<String>Scopes - default
Roles List<String> - description String
- direct
Access BooleanGrants Enabled - enabled Boolean
- frontchannel
Logout Boolean - full
Scope BooleanAllowed - id String
- The provider-assigned unique ID for this managed resource.
- implicit
Flow BooleanEnabled - name String
- not
Before Integer - optional
Client List<String>Scopes - origin String
- protocol String
- protocol
Mappers List<GetClient Description Converter Protocol Mapper> - public
Client Boolean - realm
Id String - redirect
Uris List<String> - registered
Nodes Map<String,String> - registration
Access StringToken - root
Url String - secret String
- service
Accounts BooleanEnabled - standard
Flow BooleanEnabled - surrogate
Auth BooleanRequired - web
Origins List<String>
- access {[key: string]: string}
- admin
Url string - attributes {[key: string]: string}
- authentication
Flow {[key: string]: string}Binding Overrides - boolean
- {[key: string]: string}
- base
Url string - bearer
Only boolean - body string
- client
Authenticator stringType - client
Id string - consent
Required string - default
Client string[]Scopes - default
Roles string[] - description string
- direct
Access booleanGrants Enabled - enabled boolean
- frontchannel
Logout boolean - full
Scope booleanAllowed - id string
- The provider-assigned unique ID for this managed resource.
- implicit
Flow booleanEnabled - name string
- not
Before number - optional
Client string[]Scopes - origin string
- protocol string
- protocol
Mappers GetClient Description Converter Protocol Mapper[] - public
Client boolean - realm
Id string - redirect
Uris string[] - registered
Nodes {[key: string]: string} - registration
Access stringToken - root
Url string - secret string
- service
Accounts booleanEnabled - standard
Flow booleanEnabled - surrogate
Auth booleanRequired - web
Origins string[]
- access Mapping[str, str]
- admin_
url str - 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>
- admin
Url String - attributes Map<String>
- authentication
Flow Map<String>Binding Overrides - Boolean
- Map<String>
- base
Url String - bearer
Only Boolean - body String
- client
Authenticator StringType - client
Id String - consent
Required String - default
Client List<String>Scopes - default
Roles List<String> - description String
- direct
Access BooleanGrants Enabled - enabled Boolean
- frontchannel
Logout Boolean - full
Scope BooleanAllowed - id String
- The provider-assigned unique ID for this managed resource.
- implicit
Flow BooleanEnabled - name String
- not
Before Number - optional
Client List<String>Scopes - origin String
- protocol String
- protocol
Mappers List<Property Map> - public
Client Boolean - realm
Id String - redirect
Uris List<String> - registered
Nodes Map<String> - registration
Access StringToken - root
Url String - secret String
- service
Accounts BooleanEnabled - standard
Flow BooleanEnabled - surrogate
Auth BooleanRequired - web
Origins List<String>
Supporting Types
GetClientDescriptionConverterProtocolMapper
- Config Dictionary<string, string>
- Id string
- Name string
- Protocol string
- Protocol
Mapper string
- Config map[string]string
- Id string
- Name string
- Protocol string
- Protocol
Mapper string
- config Map<String,String>
- id String
- name String
- protocol String
- protocol
Mapper String
- config {[key: string]: string}
- id string
- name string
- protocol string
- protocol
Mapper string
- config Mapping[str, str]
- id str
- name str
- protocol str
- protocol_
mapper str
- config Map<String>
- id String
- name String
- protocol String
- protocol
Mapper String
Package Details
- Repository
- Keycloak pulumi/pulumi-keycloak
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
keycloak
Terraform Provider.