public sealed class AttributePropagationSettings : IMessage<AttributePropagationSettings>, IEquatable<AttributePropagationSettings>, IDeepCloneable<AttributePropagationSettings>, IBufferMessage, IMessage
Reference documentation and code samples for the Cloud Identity-Aware Proxy v1 API class AttributePropagationSettings.
Configuration for propagating attributes to applications protected
by IAP.
Optional. Whether the provided attribute propagation settings should be
evaluated on user requests. If set to true, attributes returned from the
expression will be propagated in the set output credentials.
Optional. Raw string CEL expression. Must return a list of attributes. A
maximum of 45 attributes can be selected. Expressions can select different
attribute types from attributes: attributes.saml_attributes,
attributes.iap_attributes. The following functions are supported:
filter <list>.filter(<iter_var>, <predicate>): Returns a subset of
<list> where <predicate> is true for every item.
in <var> in <list>: Returns true if <list> contains <var>.
selectByName <list>.selectByName(<string>): Returns the attribute
in
<list> with the given <string> name, otherwise returns empty.
emitAs <attribute>.emitAs(<string>): Sets the <attribute> name
field to the given <string> for propagation in selected output
credentials.
strict <attribute>.strict(): Ignores the x-goog-iap-attr- prefix
for the provided <attribute> when propagating with the HEADER output
credential, such as request headers.
append <target_list>.append(<attribute>) OR
<target_list>.append(<list>): Appends the provided <attribute> or
<list> to the end of <target_list>.
Example expression: attributes.saml_attributes.filter(x, x.name in
['test']).append(attributes.iap_attributes.selectByName('exact').emitAs('custom').strict())
public RepeatedField<AttributePropagationSettings.Types.OutputCredentials> OutputCredentials { get; }
Optional. Which output credentials attributes selected by the CEL
expression should be propagated in. All attributes will be fully duplicated
in each selected output credential.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThis document provides reference documentation for the \u003ccode\u003eAttributePropagationSettings\u003c/code\u003e class within the Google Cloud Identity-Aware Proxy v1 API, specifically for the .NET environment, with the latest version being 2.7.0.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eAttributePropagationSettings\u003c/code\u003e is used to configure the propagation of attributes to applications protected by IAP and it inherits from the object class while implementing multiple interfaces, such as IMessage, IEquatable, IDeepCloneable, and IBufferMessage.\u003c/p\u003e\n"],["\u003cp\u003eThe class has two constructors: a default one and another that accepts an existing \u003ccode\u003eAttributePropagationSettings\u003c/code\u003e instance for copying.\u003c/p\u003e\n"],["\u003cp\u003eKey properties of \u003ccode\u003eAttributePropagationSettings\u003c/code\u003e include \u003ccode\u003eEnable\u003c/code\u003e (a boolean to determine whether to evaluate attribute propagation settings), \u003ccode\u003eExpression\u003c/code\u003e (a string-based CEL expression for attribute selection), and \u003ccode\u003eOutputCredentials\u003c/code\u003e (specifying where to propagate selected attributes), each with Has checks to determine if they are set.\u003c/p\u003e\n"],["\u003cp\u003eThe documentation is available in versioned format, from 1.0.0 to 2.7.0, which represents the latest update to the API, for the AttributePropagationSettings class.\u003c/p\u003e\n"]]],[],null,["# Cloud Identity-Aware Proxy v1 API - Class AttributePropagationSettings (2.8.0)\n\nVersion latestkeyboard_arrow_down\n\n- [2.8.0 (latest)](/dotnet/docs/reference/Google.Cloud.Iap.V1/latest/Google.Cloud.Iap.V1.AttributePropagationSettings)\n- [2.7.0](/dotnet/docs/reference/Google.Cloud.Iap.V1/2.7.0/Google.Cloud.Iap.V1.AttributePropagationSettings)\n- [2.6.0](/dotnet/docs/reference/Google.Cloud.Iap.V1/2.6.0/Google.Cloud.Iap.V1.AttributePropagationSettings)\n- [2.5.0](/dotnet/docs/reference/Google.Cloud.Iap.V1/2.5.0/Google.Cloud.Iap.V1.AttributePropagationSettings)\n- [2.4.0](/dotnet/docs/reference/Google.Cloud.Iap.V1/2.4.0/Google.Cloud.Iap.V1.AttributePropagationSettings)\n- [2.3.0](/dotnet/docs/reference/Google.Cloud.Iap.V1/2.3.0/Google.Cloud.Iap.V1.AttributePropagationSettings)\n- [2.2.0](/dotnet/docs/reference/Google.Cloud.Iap.V1/2.2.0/Google.Cloud.Iap.V1.AttributePropagationSettings)\n- [2.1.0](/dotnet/docs/reference/Google.Cloud.Iap.V1/2.1.0/Google.Cloud.Iap.V1.AttributePropagationSettings)\n- [2.0.0](/dotnet/docs/reference/Google.Cloud.Iap.V1/2.0.0/Google.Cloud.Iap.V1.AttributePropagationSettings)\n- [1.2.0](/dotnet/docs/reference/Google.Cloud.Iap.V1/1.2.0/Google.Cloud.Iap.V1.AttributePropagationSettings)\n- [1.1.0](/dotnet/docs/reference/Google.Cloud.Iap.V1/1.1.0/Google.Cloud.Iap.V1.AttributePropagationSettings)\n- [1.0.0](/dotnet/docs/reference/Google.Cloud.Iap.V1/1.0.0/Google.Cloud.Iap.V1.AttributePropagationSettings) \n\n public sealed class AttributePropagationSettings : IMessage\u003cAttributePropagationSettings\u003e, IEquatable\u003cAttributePropagationSettings\u003e, IDeepCloneable\u003cAttributePropagationSettings\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Cloud Identity-Aware Proxy v1 API class AttributePropagationSettings.\n\nConfiguration for propagating attributes to applications protected\nby IAP. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e AttributePropagationSettings \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[AttributePropagationSettings](/dotnet/docs/reference/Google.Cloud.Iap.V1/latest/Google.Cloud.Iap.V1.AttributePropagationSettings), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[AttributePropagationSettings](/dotnet/docs/reference/Google.Cloud.Iap.V1/latest/Google.Cloud.Iap.V1.AttributePropagationSettings), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[AttributePropagationSettings](/dotnet/docs/reference/Google.Cloud.Iap.V1/latest/Google.Cloud.Iap.V1.AttributePropagationSettings), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.Iap.V1](/dotnet/docs/reference/Google.Cloud.Iap.V1/latest/Google.Cloud.Iap.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.Iap.V1.dll\n\nConstructors\n------------\n\n### AttributePropagationSettings()\n\n public AttributePropagationSettings()\n\n### AttributePropagationSettings(AttributePropagationSettings)\n\n public AttributePropagationSettings(AttributePropagationSettings other)\n\nProperties\n----------\n\n### Enable\n\n public bool Enable { get; set; }\n\nOptional. Whether the provided attribute propagation settings should be\nevaluated on user requests. If set to true, attributes returned from the\nexpression will be propagated in the set output credentials.\n\n### Expression\n\n public string Expression { get; set; }\n\nOptional. Raw string CEL expression. Must return a list of attributes. A\nmaximum of 45 attributes can be selected. Expressions can select different\nattribute types from `attributes`: `attributes.saml_attributes`,\n`attributes.iap_attributes`. The following functions are supported:\n\n- filter `\u003clist\u003e.filter(\u003citer_var\u003e, \u003cpredicate\u003e)`: Returns a subset of\n `\u003clist\u003e` where `\u003cpredicate\u003e` is true for every item.\n\n- in `\u003cvar\u003e in \u003clist\u003e`: Returns true if `\u003clist\u003e` contains `\u003cvar\u003e`.\n\n- selectByName `\u003clist\u003e.selectByName(\u003cstring\u003e)`: Returns the attribute\n in\n `\u003clist\u003e` with the given `\u003cstring\u003e` name, otherwise returns empty.\n\n- emitAs `\u003cattribute\u003e.emitAs(\u003cstring\u003e)`: Sets the `\u003cattribute\u003e` name\n field to the given `\u003cstring\u003e` for propagation in selected output\n credentials.\n\n- strict `\u003cattribute\u003e.strict()`: Ignores the `x-goog-iap-attr-` prefix\n for the provided `\u003cattribute\u003e` when propagating with the `HEADER` output\n credential, such as request headers.\n\n- append `\u003ctarget_list\u003e.append(\u003cattribute\u003e)` OR\n `\u003ctarget_list\u003e.append(\u003clist\u003e)`: Appends the provided `\u003cattribute\u003e` or\n `\u003clist\u003e` to the end of `\u003ctarget_list\u003e`.\n\nExample expression: `attributes.saml_attributes.filter(x, x.name in\n['test']).append(attributes.iap_attributes.selectByName('exact').emitAs('custom').strict())`\n\n### HasEnable\n\n public bool HasEnable { get; }\n\nGets whether the \"enable\" field is set\n\n### HasExpression\n\n public bool HasExpression { get; }\n\nGets whether the \"expression\" field is set\n\n### OutputCredentials\n\n public RepeatedField\u003cAttributePropagationSettings.Types.OutputCredentials\u003e OutputCredentials { get; }\n\nOptional. Which output credentials attributes selected by the CEL\nexpression should be propagated in. All attributes will be fully duplicated\nin each selected output credential."]]