public sealed class ServicePerimeterConfig.Types.ApiOperation : IMessage<ServicePerimeterConfig.Types.ApiOperation>, IEquatable<ServicePerimeterConfig.Types.ApiOperation>, IDeepCloneable<ServicePerimeterConfig.Types.ApiOperation>, IBufferMessage, IMessage
Reference documentation and code samples for the Identity Access Context Manager v1 API class ServicePerimeterConfig.Types.ApiOperation.
public RepeatedField<ServicePerimeterConfig.Types.MethodSelector> MethodSelectors { get; }
API methods or permissions to allow. Method or permission must belong to
the service specified by service_name field. A single [MethodSelector]
[google.identity.accesscontextmanager.v1.ServicePerimeterConfig.MethodSelector]
entry with * specified for the method field will allow all methods
AND permissions for the service specified in service_name.
The name of the API whose methods or permissions the [IngressPolicy]
[google.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressPolicy]
or [EgressPolicy]
[google.identity.accesscontextmanager.v1.ServicePerimeterConfig.EgressPolicy]
want to allow. A single [ApiOperation]
[google.identity.accesscontextmanager.v1.ServicePerimeterConfig.ApiOperation]
with service_name field set to * will allow all methods AND
permissions for all services.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[[["\u003cp\u003eThis webpage provides documentation for the \u003ccode\u003eServicePerimeterConfig.Types.ApiOperation\u003c/code\u003e class within the Google Identity Access Context Manager v1 API.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eServicePerimeterConfig.Types.ApiOperation\u003c/code\u003e class represents an API operation and includes properties for specifying allowed methods and permissions.\u003c/p\u003e\n"],["\u003cp\u003eThe latest version of this class available in this documentation is \u003ccode\u003e2.5.0\u003c/code\u003e, and it has previous versions available ranging from \u003ccode\u003e2.4.0\u003c/code\u003e down to \u003ccode\u003e1.2.0\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eApiOperation\u003c/code\u003e class inherits from the \u003ccode\u003eobject\u003c/code\u003e class and implements \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e interfaces.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eApiOperation\u003c/code\u003e class provides properties to configure \u003ccode\u003eMethodSelectors\u003c/code\u003e and \u003ccode\u003eServiceName\u003c/code\u003e, enabling detailed specification of allowed methods and permissions within a service.\u003c/p\u003e\n"]]],[],null,["# Identity Access Context Manager v1 API - Class ServicePerimeterConfig.Types.ApiOperation (2.5.0)\n\nVersion latestkeyboard_arrow_down\n\n- [2.5.0 (latest)](/dotnet/docs/reference/Google.Identity.AccessContextManager.V1/latest/Google.Identity.AccessContextManager.V1.ServicePerimeterConfig.Types.ApiOperation)\n- [2.4.0](/dotnet/docs/reference/Google.Identity.AccessContextManager.V1/2.4.0/Google.Identity.AccessContextManager.V1.ServicePerimeterConfig.Types.ApiOperation)\n- [2.3.0](/dotnet/docs/reference/Google.Identity.AccessContextManager.V1/2.3.0/Google.Identity.AccessContextManager.V1.ServicePerimeterConfig.Types.ApiOperation)\n- [2.2.0](/dotnet/docs/reference/Google.Identity.AccessContextManager.V1/2.2.0/Google.Identity.AccessContextManager.V1.ServicePerimeterConfig.Types.ApiOperation)\n- [2.1.0](/dotnet/docs/reference/Google.Identity.AccessContextManager.V1/2.1.0/Google.Identity.AccessContextManager.V1.ServicePerimeterConfig.Types.ApiOperation)\n- [2.0.0](/dotnet/docs/reference/Google.Identity.AccessContextManager.V1/2.0.0/Google.Identity.AccessContextManager.V1.ServicePerimeterConfig.Types.ApiOperation)\n- [1.5.0](/dotnet/docs/reference/Google.Identity.AccessContextManager.V1/1.5.0/Google.Identity.AccessContextManager.V1.ServicePerimeterConfig.Types.ApiOperation)\n- [1.4.0](/dotnet/docs/reference/Google.Identity.AccessContextManager.V1/1.4.0/Google.Identity.AccessContextManager.V1.ServicePerimeterConfig.Types.ApiOperation)\n- [1.3.0](/dotnet/docs/reference/Google.Identity.AccessContextManager.V1/1.3.0/Google.Identity.AccessContextManager.V1.ServicePerimeterConfig.Types.ApiOperation)\n- [1.2.0](/dotnet/docs/reference/Google.Identity.AccessContextManager.V1/1.2.0/Google.Identity.AccessContextManager.V1.ServicePerimeterConfig.Types.ApiOperation) \n\n public sealed class ServicePerimeterConfig.Types.ApiOperation : IMessage\u003cServicePerimeterConfig.Types.ApiOperation\u003e, IEquatable\u003cServicePerimeterConfig.Types.ApiOperation\u003e, IDeepCloneable\u003cServicePerimeterConfig.Types.ApiOperation\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Identity Access Context Manager v1 API class ServicePerimeterConfig.Types.ApiOperation.\n\nIdentification for an API Operation. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e ServicePerimeterConfig.Types.ApiOperation \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[ServicePerimeterConfig](/dotnet/docs/reference/Google.Identity.AccessContextManager.V1/latest/Google.Identity.AccessContextManager.V1.ServicePerimeterConfig)[Types](/dotnet/docs/reference/Google.Identity.AccessContextManager.V1/latest/Google.Identity.AccessContextManager.V1.ServicePerimeterConfig.Types)[ApiOperation](/dotnet/docs/reference/Google.Identity.AccessContextManager.V1/latest/Google.Identity.AccessContextManager.V1.ServicePerimeterConfig.Types.ApiOperation), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[ServicePerimeterConfig](/dotnet/docs/reference/Google.Identity.AccessContextManager.V1/latest/Google.Identity.AccessContextManager.V1.ServicePerimeterConfig)[Types](/dotnet/docs/reference/Google.Identity.AccessContextManager.V1/latest/Google.Identity.AccessContextManager.V1.ServicePerimeterConfig.Types)[ApiOperation](/dotnet/docs/reference/Google.Identity.AccessContextManager.V1/latest/Google.Identity.AccessContextManager.V1.ServicePerimeterConfig.Types.ApiOperation), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[ServicePerimeterConfig](/dotnet/docs/reference/Google.Identity.AccessContextManager.V1/latest/Google.Identity.AccessContextManager.V1.ServicePerimeterConfig)[Types](/dotnet/docs/reference/Google.Identity.AccessContextManager.V1/latest/Google.Identity.AccessContextManager.V1.ServicePerimeterConfig.Types)[ApiOperation](/dotnet/docs/reference/Google.Identity.AccessContextManager.V1/latest/Google.Identity.AccessContextManager.V1.ServicePerimeterConfig.Types.ApiOperation), [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.Identity.AccessContextManager.V1](/dotnet/docs/reference/Google.Identity.AccessContextManager.V1/latest/Google.Identity.AccessContextManager.V1)\n\nAssembly\n--------\n\nGoogle.Identity.AccessContextManager.V1.dll\n\nConstructors\n------------\n\n### ApiOperation()\n\n public ApiOperation()\n\n### ApiOperation(ApiOperation)\n\n public ApiOperation(ServicePerimeterConfig.Types.ApiOperation other)\n\nProperties\n----------\n\n### MethodSelectors\n\n public RepeatedField\u003cServicePerimeterConfig.Types.MethodSelector\u003e MethodSelectors { get; }\n\nAPI methods or permissions to allow. Method or permission must belong to\nthe service specified by `service_name` field. A single \\[MethodSelector\\]\n\\[google.identity.accesscontextmanager.v1.ServicePerimeterConfig.MethodSelector\\]\nentry with `*` specified for the `method` field will allow all methods\nAND permissions for the service specified in `service_name`.\n\n### ServiceName\n\n public string ServiceName { get; set; }\n\nThe name of the API whose methods or permissions the \\[IngressPolicy\\]\n\\[google.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressPolicy\\]\nor \\[EgressPolicy\\]\n\\[google.identity.accesscontextmanager.v1.ServicePerimeterConfig.EgressPolicy\\]\nwant to allow. A single \\[ApiOperation\\]\n\\[google.identity.accesscontextmanager.v1.ServicePerimeterConfig.ApiOperation\\]\nwith `service_name` field set to `*` will allow all methods AND\npermissions for all services."]]