public sealed class AspectType.Types.MetadataTemplate : IMessage<AspectType.Types.MetadataTemplate>, IEquatable<AspectType.Types.MetadataTemplate>, IDeepCloneable<AspectType.Types.MetadataTemplate>, IBufferMessage, IMessage
Reference documentation and code samples for the Cloud Dataplex v1 API class AspectType.Types.MetadataTemplate.
public AspectType.Types.MetadataTemplate ArrayItems { get; set; }
Optional. If the type is array, set array_items. array_items can refer
to a primitive field or a complex (record only) field. To specify a
primitive field, you only need to set name and type in the nested
MetadataTemplate. The recommended value for the name field is item, as
this isn't used in the actual payload.
Optional. Index is used to encode Template messages. The value of index
can range between 1 and 2,147,483,647. Index must be unique within all
fields in a Template. (Nested Templates can reuse indexes). Once a
Template is defined, the index cannot be changed, because it identifies
the field in the actual storage format. Index is a mandatory field, but
it is optional for top level fields, and map/array "values" definitions.
public AspectType.Types.MetadataTemplate MapItems { get; set; }
Optional. If the type is map, set map_items. map_items can refer to a
primitive field or a complex (record only) field. To specify a primitive
field, you only need to set name and type in the nested
MetadataTemplate. The recommended value for the name field is item, as
this isn't used in the actual payload.
Optional. You can use type id if this definition of the field needs to be
reused later. The type id must be unique across the entire template. You
can only specify it if the field type is record.
Optional. A reference to another field definition (not an inline
definition). The value must be equal to the value of an id field defined
elsewhere in the MetadataTemplate. Only fields with record type can
refer to other fields.
[[["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\u003eThe latest version of the \u003ccode\u003eAspectType.Types.MetadataTemplate\u003c/code\u003e for the Cloud Dataplex V1 API is 3.6.0, and there are several previous versions listed, ranging from 3.5.0 down to 1.0.0.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eAspectType.Types.MetadataTemplate\u003c/code\u003e class is part of the \u003ccode\u003eGoogle.Cloud.Dataplex.V1\u003c/code\u003e namespace and is defined within the \u003ccode\u003eGoogle.Cloud.Dataplex.V1.dll\u003c/code\u003e assembly.\u003c/p\u003e\n"],["\u003cp\u003eThis class represents a MetadataTemplate definition for an AspectType and implements multiple interfaces, including IMessage, IEquatable, IDeepCloneable, and IBufferMessage, and inherits from Object.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eMetadataTemplate\u003c/code\u003e class provides properties to define field characteristics, such as Annotations, ArrayItems, Constraints, EnumValues, Index, MapItems, Name, RecordFields, Type, TypeId, and TypeRef, allowing for detailed metadata configuration.\u003c/p\u003e\n"],["\u003cp\u003eThe required fields for a field within the \u003ccode\u003eMetadataTemplate\u003c/code\u003e are 'Name' and 'Type', and the 'Type' field accepts primitive data types such as string, integer, boolean, double, and datetime, and complex data types like enum, array, map, and record.\u003c/p\u003e\n"]]],[],null,["# Cloud Dataplex v1 API - Class AspectType.Types.MetadataTemplate (3.9.0)\n\nVersion latestkeyboard_arrow_down\n\n- [3.9.0 (latest)](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/latest/Google.Cloud.Dataplex.V1.AspectType.Types.MetadataTemplate)\n- [3.8.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/3.8.0/Google.Cloud.Dataplex.V1.AspectType.Types.MetadataTemplate)\n- [3.7.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/3.7.0/Google.Cloud.Dataplex.V1.AspectType.Types.MetadataTemplate)\n- [3.6.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/3.6.0/Google.Cloud.Dataplex.V1.AspectType.Types.MetadataTemplate)\n- [3.5.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/3.5.0/Google.Cloud.Dataplex.V1.AspectType.Types.MetadataTemplate)\n- [3.4.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/3.4.0/Google.Cloud.Dataplex.V1.AspectType.Types.MetadataTemplate)\n- [3.3.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/3.3.0/Google.Cloud.Dataplex.V1.AspectType.Types.MetadataTemplate)\n- [3.2.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/3.2.0/Google.Cloud.Dataplex.V1.AspectType.Types.MetadataTemplate)\n- [3.1.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/3.1.0/Google.Cloud.Dataplex.V1.AspectType.Types.MetadataTemplate)\n- [3.0.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/3.0.0/Google.Cloud.Dataplex.V1.AspectType.Types.MetadataTemplate)\n- [2.15.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/2.15.0/Google.Cloud.Dataplex.V1.AspectType.Types.MetadataTemplate)\n- [2.14.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/2.14.0/Google.Cloud.Dataplex.V1.AspectType.Types.MetadataTemplate)\n- [2.13.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/2.13.0/Google.Cloud.Dataplex.V1.AspectType.Types.MetadataTemplate)\n- [2.12.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/2.12.0/Google.Cloud.Dataplex.V1.AspectType.Types.MetadataTemplate)\n- [2.11.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/2.11.0/Google.Cloud.Dataplex.V1.AspectType.Types.MetadataTemplate)\n- [2.10.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/2.10.0/Google.Cloud.Dataplex.V1.AspectType.Types.MetadataTemplate)\n- [2.9.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/2.9.0/Google.Cloud.Dataplex.V1.AspectType.Types.MetadataTemplate)\n- [2.8.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/2.8.0/Google.Cloud.Dataplex.V1.AspectType.Types.MetadataTemplate)\n- [2.7.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/2.7.0/Google.Cloud.Dataplex.V1.AspectType.Types.MetadataTemplate)\n- [2.6.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/2.6.0/Google.Cloud.Dataplex.V1.AspectType.Types.MetadataTemplate)\n- [2.5.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/2.5.0/Google.Cloud.Dataplex.V1.AspectType.Types.MetadataTemplate)\n- [2.4.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/2.4.0/Google.Cloud.Dataplex.V1.AspectType.Types.MetadataTemplate)\n- [2.3.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/2.3.0/Google.Cloud.Dataplex.V1.AspectType.Types.MetadataTemplate)\n- [2.2.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/2.2.0/Google.Cloud.Dataplex.V1.AspectType.Types.MetadataTemplate)\n- [2.1.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/2.1.0/Google.Cloud.Dataplex.V1.AspectType.Types.MetadataTemplate)\n- [2.0.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/2.0.0/Google.Cloud.Dataplex.V1.AspectType.Types.MetadataTemplate)\n- [1.0.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/1.0.0/Google.Cloud.Dataplex.V1.AspectType.Types.MetadataTemplate) \n\n public sealed class AspectType.Types.MetadataTemplate : IMessage\u003cAspectType.Types.MetadataTemplate\u003e, IEquatable\u003cAspectType.Types.MetadataTemplate\u003e, IDeepCloneable\u003cAspectType.Types.MetadataTemplate\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Cloud Dataplex v1 API class AspectType.Types.MetadataTemplate.\n\nMetadataTemplate definition for an AspectType. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e AspectType.Types.MetadataTemplate \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[AspectType](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/latest/Google.Cloud.Dataplex.V1.AspectType)[Types](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/latest/Google.Cloud.Dataplex.V1.AspectType.Types)[MetadataTemplate](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/latest/Google.Cloud.Dataplex.V1.AspectType.Types.MetadataTemplate), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[AspectType](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/latest/Google.Cloud.Dataplex.V1.AspectType)[Types](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/latest/Google.Cloud.Dataplex.V1.AspectType.Types)[MetadataTemplate](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/latest/Google.Cloud.Dataplex.V1.AspectType.Types.MetadataTemplate), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[AspectType](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/latest/Google.Cloud.Dataplex.V1.AspectType)[Types](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/latest/Google.Cloud.Dataplex.V1.AspectType.Types)[MetadataTemplate](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/latest/Google.Cloud.Dataplex.V1.AspectType.Types.MetadataTemplate), [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.Dataplex.V1](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/latest/Google.Cloud.Dataplex.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.Dataplex.V1.dll\n\nConstructors\n------------\n\n### MetadataTemplate()\n\n public MetadataTemplate()\n\n### MetadataTemplate(MetadataTemplate)\n\n public MetadataTemplate(AspectType.Types.MetadataTemplate other)\n\nProperties\n----------\n\n### Annotations\n\n public AspectType.Types.MetadataTemplate.Types.Annotations Annotations { get; set; }\n\nOptional. Specifies annotations on this field.\n\n### ArrayItems\n\n public AspectType.Types.MetadataTemplate ArrayItems { get; set; }\n\nOptional. If the type is array, set array_items. array_items can refer\nto a primitive field or a complex (record only) field. To specify a\nprimitive field, you only need to set name and type in the nested\nMetadataTemplate. The recommended value for the name field is item, as\nthis isn't used in the actual payload.\n\n### Constraints\n\n public AspectType.Types.MetadataTemplate.Types.Constraints Constraints { get; set; }\n\nOptional. Specifies the constraints on this field.\n\n### EnumValues\n\n public RepeatedField\u003cAspectType.Types.MetadataTemplate.Types.EnumValue\u003e EnumValues { get; }\n\nOptional. The list of values for an enum type. You must define it if the\ntype is enum.\n\n### Index\n\n public int Index { get; set; }\n\nOptional. Index is used to encode Template messages. The value of index\ncan range between 1 and 2,147,483,647. Index must be unique within all\nfields in a Template. (Nested Templates can reuse indexes). Once a\nTemplate is defined, the index cannot be changed, because it identifies\nthe field in the actual storage format. Index is a mandatory field, but\nit is optional for top level fields, and map/array \"values\" definitions.\n\n### MapItems\n\n public AspectType.Types.MetadataTemplate MapItems { get; set; }\n\nOptional. If the type is map, set map_items. map_items can refer to a\nprimitive field or a complex (record only) field. To specify a primitive\nfield, you only need to set name and type in the nested\nMetadataTemplate. The recommended value for the name field is item, as\nthis isn't used in the actual payload.\n\n### Name\n\n public string Name { get; set; }\n\nRequired. The name of the field.\n\n### RecordFields\n\n public RepeatedField\u003cAspectType.Types.MetadataTemplate\u003e RecordFields { get; }\n\nOptional. Field definition. You must specify it if the type is record. It\ndefines the nested fields.\n\n### Type\n\n public string Type { get; set; }\n\nRequired. The datatype of this field. The following values are supported:\n\nPrimitive types:\n\n- string\n- integer\n- boolean\n- double\n- datetime. Must be of the format RFC3339 UTC \"Zulu\" (Examples: \"2014-10-02T15:01:23Z\" and \"2014-10-02T15:01:23.045123456Z\").\n\nComplex types:\n\n- enum\n- array\n- map\n- record\n\n### TypeId\n\n public string TypeId { get; set; }\n\nOptional. You can use type id if this definition of the field needs to be\nreused later. The type id must be unique across the entire template. You\ncan only specify it if the field type is record.\n\n### TypeRef\n\n public string TypeRef { get; set; }\n\nOptional. A reference to another field definition (not an inline\ndefinition). The value must be equal to the value of an id field defined\nelsewhere in the MetadataTemplate. Only fields with record type can\nrefer to other fields."]]