public sealed class OSPolicy.Types.Resource.Types.ExecResource.Types.Exec : IMessage<OSPolicy.Types.Resource.Types.ExecResource.Types.Exec>, IEquatable<OSPolicy.Types.Resource.Types.ExecResource.Types.Exec>, IDeepCloneable<OSPolicy.Types.Resource.Types.ExecResource.Types.Exec>, IBufferMessage, IMessage
Reference documentation and code samples for the Google Cloud OS Config v1 API class OSPolicy.Types.Resource.Types.ExecResource.Types.Exec.
Only recorded for enforce Exec.
Path to an output file (that is created by this Exec) whose
content will be recorded in OSPolicyResourceCompliance after a
successful run. Absence or failure to read this file will result in
this ExecResource being non-compliant. Output file size is limited to
100K bytes.
[[["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-12 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eOSPolicy.Types.Resource.Types.ExecResource.Types.Exec\u003c/code\u003e class in the Google Cloud OS Config v1 API is used to represent a file or script that can be executed.\u003c/p\u003e\n"],["\u003cp\u003eThis class supports different script interpreters and allows for passing optional arguments during script execution.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eExec\u003c/code\u003e class allows for specifying the source of the script or file either through a local/remote file or an inline script, limited to 1024 characters.\u003c/p\u003e\n"],["\u003cp\u003eThe class offers the functionality to record the content of an output file created by the script, useful for compliance checks, with a size limitation of 100K bytes.\u003c/p\u003e\n"],["\u003cp\u003eThe latest version available for the class OSPolicy.Types.Resource.Types.ExecResource.Types.Exec is version 2.4.0, with versions ranging back to version 1.3.0.\u003c/p\u003e\n"]]],[],null,["# Google Cloud OS Config v1 API - Class OSPolicy.Types.Resource.Types.ExecResource.Types.Exec (2.5.0)\n\nVersion latestkeyboard_arrow_down\n\n- [2.5.0 (latest)](/dotnet/docs/reference/Google.Cloud.OsConfig.V1/latest/Google.Cloud.OsConfig.V1.OSPolicy.Types.Resource.Types.ExecResource.Types.Exec)\n- [2.4.0](/dotnet/docs/reference/Google.Cloud.OsConfig.V1/2.4.0/Google.Cloud.OsConfig.V1.OSPolicy.Types.Resource.Types.ExecResource.Types.Exec)\n- [2.3.0](/dotnet/docs/reference/Google.Cloud.OsConfig.V1/2.3.0/Google.Cloud.OsConfig.V1.OSPolicy.Types.Resource.Types.ExecResource.Types.Exec)\n- [2.2.0](/dotnet/docs/reference/Google.Cloud.OsConfig.V1/2.2.0/Google.Cloud.OsConfig.V1.OSPolicy.Types.Resource.Types.ExecResource.Types.Exec)\n- [2.1.0](/dotnet/docs/reference/Google.Cloud.OsConfig.V1/2.1.0/Google.Cloud.OsConfig.V1.OSPolicy.Types.Resource.Types.ExecResource.Types.Exec)\n- [2.0.0](/dotnet/docs/reference/Google.Cloud.OsConfig.V1/2.0.0/Google.Cloud.OsConfig.V1.OSPolicy.Types.Resource.Types.ExecResource.Types.Exec)\n- [1.8.0](/dotnet/docs/reference/Google.Cloud.OsConfig.V1/1.8.0/Google.Cloud.OsConfig.V1.OSPolicy.Types.Resource.Types.ExecResource.Types.Exec)\n- [1.7.0](/dotnet/docs/reference/Google.Cloud.OsConfig.V1/1.7.0/Google.Cloud.OsConfig.V1.OSPolicy.Types.Resource.Types.ExecResource.Types.Exec)\n- [1.6.0](/dotnet/docs/reference/Google.Cloud.OsConfig.V1/1.6.0/Google.Cloud.OsConfig.V1.OSPolicy.Types.Resource.Types.ExecResource.Types.Exec)\n- [1.5.0](/dotnet/docs/reference/Google.Cloud.OsConfig.V1/1.5.0/Google.Cloud.OsConfig.V1.OSPolicy.Types.Resource.Types.ExecResource.Types.Exec)\n- [1.4.0](/dotnet/docs/reference/Google.Cloud.OsConfig.V1/1.4.0/Google.Cloud.OsConfig.V1.OSPolicy.Types.Resource.Types.ExecResource.Types.Exec)\n- [1.3.0](/dotnet/docs/reference/Google.Cloud.OsConfig.V1/1.3.0/Google.Cloud.OsConfig.V1.OSPolicy.Types.Resource.Types.ExecResource.Types.Exec) \n\n public sealed class OSPolicy.Types.Resource.Types.ExecResource.Types.Exec : IMessage\u003cOSPolicy.Types.Resource.Types.ExecResource.Types.Exec\u003e, IEquatable\u003cOSPolicy.Types.Resource.Types.ExecResource.Types.Exec\u003e, IDeepCloneable\u003cOSPolicy.Types.Resource.Types.ExecResource.Types.Exec\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Google Cloud OS Config v1 API class OSPolicy.Types.Resource.Types.ExecResource.Types.Exec.\n\nA file or script to execute. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e OSPolicy.Types.Resource.Types.ExecResource.Types.Exec \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[OSPolicy](/dotnet/docs/reference/Google.Cloud.OsConfig.V1/latest/Google.Cloud.OsConfig.V1.OSPolicy)[Types](/dotnet/docs/reference/Google.Cloud.OsConfig.V1/latest/Google.Cloud.OsConfig.V1.OSPolicy.Types)[Resource](/dotnet/docs/reference/Google.Cloud.OsConfig.V1/latest/Google.Cloud.OsConfig.V1.OSPolicy.Types.Resource)[Types](/dotnet/docs/reference/Google.Cloud.OsConfig.V1/latest/Google.Cloud.OsConfig.V1.OSPolicy.Types.Resource.Types)[ExecResource](/dotnet/docs/reference/Google.Cloud.OsConfig.V1/latest/Google.Cloud.OsConfig.V1.OSPolicy.Types.Resource.Types.ExecResource)[Types](/dotnet/docs/reference/Google.Cloud.OsConfig.V1/latest/Google.Cloud.OsConfig.V1.OSPolicy.Types.Resource.Types.ExecResource.Types)[Exec](/dotnet/docs/reference/Google.Cloud.OsConfig.V1/latest/Google.Cloud.OsConfig.V1.OSPolicy.Types.Resource.Types.ExecResource.Types.Exec), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[OSPolicy](/dotnet/docs/reference/Google.Cloud.OsConfig.V1/latest/Google.Cloud.OsConfig.V1.OSPolicy)[Types](/dotnet/docs/reference/Google.Cloud.OsConfig.V1/latest/Google.Cloud.OsConfig.V1.OSPolicy.Types)[Resource](/dotnet/docs/reference/Google.Cloud.OsConfig.V1/latest/Google.Cloud.OsConfig.V1.OSPolicy.Types.Resource)[Types](/dotnet/docs/reference/Google.Cloud.OsConfig.V1/latest/Google.Cloud.OsConfig.V1.OSPolicy.Types.Resource.Types)[ExecResource](/dotnet/docs/reference/Google.Cloud.OsConfig.V1/latest/Google.Cloud.OsConfig.V1.OSPolicy.Types.Resource.Types.ExecResource)[Types](/dotnet/docs/reference/Google.Cloud.OsConfig.V1/latest/Google.Cloud.OsConfig.V1.OSPolicy.Types.Resource.Types.ExecResource.Types)[Exec](/dotnet/docs/reference/Google.Cloud.OsConfig.V1/latest/Google.Cloud.OsConfig.V1.OSPolicy.Types.Resource.Types.ExecResource.Types.Exec), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[OSPolicy](/dotnet/docs/reference/Google.Cloud.OsConfig.V1/latest/Google.Cloud.OsConfig.V1.OSPolicy)[Types](/dotnet/docs/reference/Google.Cloud.OsConfig.V1/latest/Google.Cloud.OsConfig.V1.OSPolicy.Types)[Resource](/dotnet/docs/reference/Google.Cloud.OsConfig.V1/latest/Google.Cloud.OsConfig.V1.OSPolicy.Types.Resource)[Types](/dotnet/docs/reference/Google.Cloud.OsConfig.V1/latest/Google.Cloud.OsConfig.V1.OSPolicy.Types.Resource.Types)[ExecResource](/dotnet/docs/reference/Google.Cloud.OsConfig.V1/latest/Google.Cloud.OsConfig.V1.OSPolicy.Types.Resource.Types.ExecResource)[Types](/dotnet/docs/reference/Google.Cloud.OsConfig.V1/latest/Google.Cloud.OsConfig.V1.OSPolicy.Types.Resource.Types.ExecResource.Types)[Exec](/dotnet/docs/reference/Google.Cloud.OsConfig.V1/latest/Google.Cloud.OsConfig.V1.OSPolicy.Types.Resource.Types.ExecResource.Types.Exec), [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.OsConfig.V1](/dotnet/docs/reference/Google.Cloud.OsConfig.V1/latest/Google.Cloud.OsConfig.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.OsConfig.V1.dll\n\nConstructors\n------------\n\n### Exec()\n\n public Exec()\n\n### Exec(Exec)\n\n public Exec(OSPolicy.Types.Resource.Types.ExecResource.Types.Exec other)\n\nProperties\n----------\n\n### Args\n\n public RepeatedField\u003cstring\u003e Args { get; }\n\nOptional arguments to pass to the source during execution.\n\n### File\n\n public OSPolicy.Types.Resource.Types.File File { get; set; }\n\nA remote or local file.\n\n### HasScript\n\n public bool HasScript { get; }\n\nGets whether the \"script\" field is set\n\n### Interpreter\n\n public OSPolicy.Types.Resource.Types.ExecResource.Types.Exec.Types.Interpreter Interpreter { get; set; }\n\nRequired. The script interpreter to use.\n\n### OutputFilePath\n\n public string OutputFilePath { get; set; }\n\nOnly recorded for enforce Exec.\nPath to an output file (that is created by this Exec) whose\ncontent will be recorded in OSPolicyResourceCompliance after a\nsuccessful run. Absence or failure to read this file will result in\nthis ExecResource being non-compliant. Output file size is limited to\n100K bytes.\n\n### Script\n\n public string Script { get; set; }\n\nAn inline script.\nThe size of the script is limited to 1024 characters.\n\n### SourceCase\n\n public OSPolicy.Types.Resource.Types.ExecResource.Types.Exec.SourceOneofCase SourceCase { get; }"]]