public MapField<string, string> Attributes { get; }
Optional. Endpoint configuration attributes that can be used to control
different aspects of the message delivery.
The only currently supported attribute is x-goog-version, which you can
use to change the format of the pushed message. This attribute
indicates the version of the data expected by the endpoint. This
controls the shape of the pushed message (i.e., its fields and metadata).
If not present during the CreateSubscription call, it will default to
the version of the Pub/Sub API used to make such call. If not present in a
ModifyPushConfig call, its value will not be changed. GetSubscription
calls will always return a valid version, even if the subscription was
created without this attribute.
The only supported values for the x-goog-version attribute are:
v1beta1: uses the push format defined in the v1beta1 Pub/Sub API.
v1 or v1beta2: uses the push format defined in the v1 Pub/Sub API.
For example:
attributes { "x-goog-version": "v1" }
[[["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 webpage provides documentation for the \u003ccode\u003ePushConfig\u003c/code\u003e class within the Google Cloud Pub/Sub v1 API for .NET, detailing its properties and usage.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003ePushConfig\u003c/code\u003e class is used to define the configuration for a push delivery endpoint, including attributes, authentication methods, and wrapper options.\u003c/p\u003e\n"],["\u003cp\u003eThe page offers access to various versions of the \u003ccode\u003ePushConfig\u003c/code\u003e class documentation, ranging from version 2.3.0 up to the latest version, 3.23.0.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003ePushConfig\u003c/code\u003e class properties, such as \u003ccode\u003eAttributes\u003c/code\u003e, \u003ccode\u003eOidcToken\u003c/code\u003e, \u003ccode\u003ePushEndpoint\u003c/code\u003e and wrapper options like \u003ccode\u003eNoWrapper\u003c/code\u003e and \u003ccode\u003ePubsubWrapper\u003c/code\u003e are detailed, providing insights into customization options.\u003c/p\u003e\n"],["\u003cp\u003eThe documentation explains how to use attributes like \u003ccode\u003ex-goog-version\u003c/code\u003e to control the format of pushed messages, offering two different push format versions, \u003ccode\u003ev1beta1\u003c/code\u003e, \u003ccode\u003ev1\u003c/code\u003e, or \u003ccode\u003ev1beta2\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Cloud Pub/Sub v1 API - Class PushConfig (3.27.0)\n\nVersion latestkeyboard_arrow_down\n\n- [3.27.0 (latest)](/dotnet/docs/reference/Google.Cloud.PubSub.V1/latest/Google.Cloud.PubSub.V1.PushConfig)\n- [3.26.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.26.0/Google.Cloud.PubSub.V1.PushConfig)\n- [3.25.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.25.0/Google.Cloud.PubSub.V1.PushConfig)\n- [3.24.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.24.0/Google.Cloud.PubSub.V1.PushConfig)\n- [3.23.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.23.0/Google.Cloud.PubSub.V1.PushConfig)\n- [3.22.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.22.0/Google.Cloud.PubSub.V1.PushConfig)\n- [3.21.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.21.0/Google.Cloud.PubSub.V1.PushConfig)\n- [3.20.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.20.0/Google.Cloud.PubSub.V1.PushConfig)\n- [3.19.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.19.0/Google.Cloud.PubSub.V1.PushConfig)\n- [3.18.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.18.0/Google.Cloud.PubSub.V1.PushConfig)\n- [3.17.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.17.0/Google.Cloud.PubSub.V1.PushConfig)\n- [3.16.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.16.0/Google.Cloud.PubSub.V1.PushConfig)\n- [3.15.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.15.0/Google.Cloud.PubSub.V1.PushConfig)\n- [3.14.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.14.0/Google.Cloud.PubSub.V1.PushConfig)\n- [3.13.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.13.0/Google.Cloud.PubSub.V1.PushConfig)\n- [3.12.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.12.0/Google.Cloud.PubSub.V1.PushConfig)\n- [3.11.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.11.0/Google.Cloud.PubSub.V1.PushConfig)\n- [3.10.1](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.10.1/Google.Cloud.PubSub.V1.PushConfig)\n- [3.9.1](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.9.1/Google.Cloud.PubSub.V1.PushConfig)\n- [3.8.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.8.0/Google.Cloud.PubSub.V1.PushConfig)\n- [3.7.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.7.0/Google.Cloud.PubSub.V1.PushConfig)\n- [3.6.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.6.0/Google.Cloud.PubSub.V1.PushConfig)\n- [3.5.1](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.5.1/Google.Cloud.PubSub.V1.PushConfig)\n- [3.4.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.4.0/Google.Cloud.PubSub.V1.PushConfig)\n- [3.3.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.3.0/Google.Cloud.PubSub.V1.PushConfig)\n- [3.2.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.2.0/Google.Cloud.PubSub.V1.PushConfig)\n- [3.1.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.1.0/Google.Cloud.PubSub.V1.PushConfig)\n- [3.0.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.0.0/Google.Cloud.PubSub.V1.PushConfig)\n- [2.10.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/2.10.0/Google.Cloud.PubSub.V1.PushConfig)\n- [2.9.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/2.9.0/Google.Cloud.PubSub.V1.PushConfig)\n- [2.8.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/2.8.0/Google.Cloud.PubSub.V1.PushConfig)\n- [2.7.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/2.7.0/Google.Cloud.PubSub.V1.PushConfig)\n- [2.6.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/2.6.0/Google.Cloud.PubSub.V1.PushConfig)\n- [2.5.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/2.5.0/Google.Cloud.PubSub.V1.PushConfig)\n- [2.4.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/2.4.0/Google.Cloud.PubSub.V1.PushConfig)\n- [2.3.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/2.3.0/Google.Cloud.PubSub.V1.PushConfig) \n\n public sealed class PushConfig : IMessage\u003cPushConfig\u003e, IEquatable\u003cPushConfig\u003e, IDeepCloneable\u003cPushConfig\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Cloud Pub/Sub v1 API class PushConfig.\n\nConfiguration for a push delivery endpoint. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e PushConfig \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[PushConfig](/dotnet/docs/reference/Google.Cloud.PubSub.V1/latest/Google.Cloud.PubSub.V1.PushConfig), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[PushConfig](/dotnet/docs/reference/Google.Cloud.PubSub.V1/latest/Google.Cloud.PubSub.V1.PushConfig), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[PushConfig](/dotnet/docs/reference/Google.Cloud.PubSub.V1/latest/Google.Cloud.PubSub.V1.PushConfig), [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.PubSub.V1](/dotnet/docs/reference/Google.Cloud.PubSub.V1/latest/Google.Cloud.PubSub.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.PubSub.V1.dll\n\nConstructors\n------------\n\n### PushConfig()\n\n public PushConfig()\n\n### PushConfig(PushConfig)\n\n public PushConfig(PushConfig other)\n\nProperties\n----------\n\n### Attributes\n\n public MapField\u003cstring, string\u003e Attributes { get; }\n\nOptional. Endpoint configuration attributes that can be used to control\ndifferent aspects of the message delivery.\n\nThe only currently supported attribute is `x-goog-version`, which you can\nuse to change the format of the pushed message. This attribute\nindicates the version of the data expected by the endpoint. This\ncontrols the shape of the pushed message (i.e., its fields and metadata).\n\nIf not present during the `CreateSubscription` call, it will default to\nthe version of the Pub/Sub API used to make such call. If not present in a\n`ModifyPushConfig` call, its value will not be changed. `GetSubscription`\ncalls will always return a valid version, even if the subscription was\ncreated without this attribute.\n\nThe only supported values for the `x-goog-version` attribute are:\n\n- `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API.\n- `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API.\n\nFor example:\n`attributes { \"x-goog-version\": \"v1\" }`\n\n### AuthenticationMethodCase\n\n public PushConfig.AuthenticationMethodOneofCase AuthenticationMethodCase { get; }\n\n### NoWrapper\n\n public PushConfig.Types.NoWrapper NoWrapper { get; set; }\n\nOptional. When set, the payload to the push endpoint is not wrapped.\n\n### OidcToken\n\n public PushConfig.Types.OidcToken OidcToken { get; set; }\n\nOptional. If specified, Pub/Sub will generate and attach an OIDC JWT\ntoken as an `Authorization` header in the HTTP request for every pushed\nmessage.\n\n### PubsubWrapper\n\n public PushConfig.Types.PubsubWrapper PubsubWrapper { get; set; }\n\nOptional. When set, the payload to the push endpoint is in the form of\nthe JSON representation of a PubsubMessage\n(\u003chttps://cloud.google.com/pubsub/docs/reference/rpc/google.pubsub.v1#pubsubmessage\u003e).\n\n### PushEndpoint\n\n public string PushEndpoint { get; set; }\n\nOptional. A URL locating the endpoint to which messages should be pushed.\nFor example, a Webhook endpoint might use `https://example.com/push`.\n\n### WrapperCase\n\n public PushConfig.WrapperOneofCase WrapperCase { get; }"]]