1"use strict";(self.webpackChunk_goauthentik_docs_topics=self.webpackChunk_goauthentik_docs_topics||[]).push([["15762"],{90799(e,t,n){n.r(t),n.d(t,{metadata:()=>i,default:()=>d,frontMatter:()=>r,contentTitle:()=>l,toc:()=>c,assets:()=>o});var i=JSON.parse('{"id":"customize/blueprints/v1/meta","title":"Meta models","description":"Since blueprints have a pretty strict mapping of each entry to an instance of a model in the database, meta models exist to trigger other actions within authentik that don\'t directly map to a model.","source":"@site/customize/blueprints/v1/meta.mdx","sourceDirName":"customize/blueprints/v1","slug":"/customize/blueprints/v1/meta","permalink":"/customize/blueprints/v1/meta","draft":false,"unlisted":false,"editUrl":"https://github.com/goauthentik/authentik/edit/main/website/docs/customize/blueprints/v1/meta.mdx","tags":[],"version":"current","frontMatter":{},"sidebar":"docs","previous":{"title":"Example","permalink":"/customize/blueprints/v1/example"},"next":{"title":"Models","permalink":"/customize/blueprints/v1/models"}}'),s=n(62540),a=n(43023);let r={},l="Meta models",o={},c=[{value:"<code>authentik_blueprints.metaapplyblueprint</code>",id:"authentik_blueprintsmetaapplyblueprint",level:3},{value:"Attributes",id:"attributes",level:4}];function u(e){let t={a:"a",code:"code",em:"em",h1:"h1",h3:"h3",h4:"h4",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,a.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"meta-models",children:"Meta models"})}),"\n",(0,s.jsxs)(t.p,{children:["Since blueprints have a pretty strict mapping of each entry to an instance of a model in the database, ",(0,s.jsx)(t.em,{children:"meta models"})," exist to trigger other actions within authentik that don't directly map to a model."]}),"\n",(0,s.jsx)(t.h3,{id:"authentik_blueprintsmetaapplyblueprint",children:(0,s.jsx)(t.code,{children:"authentik_blueprints.metaapplyblueprint"})}),"\n",(0,s.jsx)(t.p,{children:"This meta model can be used to apply another blueprint instance within a blueprint instance. This allows for dependency management and ensuring related objects are created."}),"\n",(0,s.jsxs)(t.p,{children:["See ",(0,s.jsx)(t.a,{href:"https://github.com/search?q=repo%3Agoauthentik%2Fauthentik+path%3A%2F%5Eblueprints%5C%2F%2F+metaapplyblueprint&type=code",children:"examples"})," in the default blueprints for more information."]}),"\n",(0,s.jsx)(t.h4,{id:"attributes",children:"Attributes"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.code,{children:"identifiers"}),": Key-value attributes used to match the blueprint instance"]}),"\n",(0,s.jsx)(t.p,{children:"Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-yaml",children:"attrs:\n identifiers:\n name: Default - Password change flow\n"})}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.code,{children:"required"}),": (Default: ",(0,s.jsx)(t.code,{children:"true"}),") Configure if the blueprint instance must exist"]}),"\n",(0,s.jsxs)(t.p,{children:["If this is set to ",(0,s.jsx)(t.code,{children:"true"})," and no blueprint instance matches the query above, an error will be thrown. Otherwise, execution will continue without applying anything extra."]}),"\n"]}),"\n"]})]})}function d(e={}){let{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(u,{...e})}):u(e)}},43023(e,t,n){n.d(t,{R:()=>r,x:()=>l});var i=n(63696);let s={},a=i.createContext(s);function r(e){let t=i.useContext(a);return i.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(a.Provider,{value:t},e.children)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.