public sealed class ServicePerimeterConfig.Types.IngressSource : IMessage<ServicePerimeterConfig.Types.IngressSource>, IEquatable<ServicePerimeterConfig.Types.IngressSource>, IDeepCloneable<ServicePerimeterConfig.Types.IngressSource>, IBufferMessage, IMessage
Reference documentation and code samples for the Identity Access Context Manager v1 API class ServicePerimeterConfig.Types.IngressSource.
The source that [IngressPolicy]
[google.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressPolicy]
authorizes access from.
An [AccessLevel]
[google.identity.accesscontextmanager.v1.AccessLevel] resource
name that allow resources within the [ServicePerimeters]
[google.identity.accesscontextmanager.v1.ServicePerimeter] to be
accessed from the internet. [AccessLevels]
[google.identity.accesscontextmanager.v1.AccessLevel] listed must
be in the same policy as this [ServicePerimeter]
[google.identity.accesscontextmanager.v1.ServicePerimeter].
Referencing a nonexistent [AccessLevel]
[google.identity.accesscontextmanager.v1.AccessLevel] will cause
an error. If no [AccessLevel]
[google.identity.accesscontextmanager.v1.AccessLevel] names are
listed, resources within the perimeter can only be accessed via Google
Cloud calls with request origins within the perimeter. Example:
accessPolicies/MY_POLICY/accessLevels/MY_LEVEL. If a single * is
specified for access_level, then all [IngressSources]
[google.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressSource]
will be allowed.
A Google Cloud resource that is allowed to ingress the perimeter.
Requests from these resources will be allowed to access perimeter data.
Currently only projects are allowed.
Format: projects/{project_number}
The project may be in any Google Cloud organization, not just the
organization that the perimeter is defined in. * is not allowed, the
case of allowing all Google Cloud resources only is not supported.
[[["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-08-28 UTC."],[[["\u003cp\u003eThe latest version of the \u003ccode\u003eServicePerimeterConfig.Types.IngressSource\u003c/code\u003e is 2.5.0, with several older versions available for reference, ranging back to version 1.2.0.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eServicePerimeterConfig.Types.IngressSource\u003c/code\u003e is a class within the Google Identity Access Context Manager v1 API, defining the source authorized for access by \u003ccode\u003eIngressPolicy\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThis class implements multiple interfaces including \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e, indicating its role in data handling and comparison.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eIngressSource\u003c/code\u003e class contains properties such as \u003ccode\u003eAccessLevel\u003c/code\u003e and \u003ccode\u003eResource\u003c/code\u003e which control the level of access granted and the specific resources allowed to access the perimeter data.\u003c/p\u003e\n"],["\u003cp\u003eConstructors are available for creating new \u003ccode\u003eIngressSource\u003c/code\u003e objects, either empty or by copying an existing \u003ccode\u003eIngressSource\u003c/code\u003e instance.\u003c/p\u003e\n"]]],[],null,["# Identity Access Context Manager v1 API - Class ServicePerimeterConfig.Types.IngressSource (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.IngressSource)\n- [2.4.0](/dotnet/docs/reference/Google.Identity.AccessContextManager.V1/2.4.0/Google.Identity.AccessContextManager.V1.ServicePerimeterConfig.Types.IngressSource)\n- [2.3.0](/dotnet/docs/reference/Google.Identity.AccessContextManager.V1/2.3.0/Google.Identity.AccessContextManager.V1.ServicePerimeterConfig.Types.IngressSource)\n- [2.2.0](/dotnet/docs/reference/Google.Identity.AccessContextManager.V1/2.2.0/Google.Identity.AccessContextManager.V1.ServicePerimeterConfig.Types.IngressSource)\n- [2.1.0](/dotnet/docs/reference/Google.Identity.AccessContextManager.V1/2.1.0/Google.Identity.AccessContextManager.V1.ServicePerimeterConfig.Types.IngressSource)\n- [2.0.0](/dotnet/docs/reference/Google.Identity.AccessContextManager.V1/2.0.0/Google.Identity.AccessContextManager.V1.ServicePerimeterConfig.Types.IngressSource)\n- [1.5.0](/dotnet/docs/reference/Google.Identity.AccessContextManager.V1/1.5.0/Google.Identity.AccessContextManager.V1.ServicePerimeterConfig.Types.IngressSource)\n- [1.4.0](/dotnet/docs/reference/Google.Identity.AccessContextManager.V1/1.4.0/Google.Identity.AccessContextManager.V1.ServicePerimeterConfig.Types.IngressSource)\n- [1.3.0](/dotnet/docs/reference/Google.Identity.AccessContextManager.V1/1.3.0/Google.Identity.AccessContextManager.V1.ServicePerimeterConfig.Types.IngressSource)\n- [1.2.0](/dotnet/docs/reference/Google.Identity.AccessContextManager.V1/1.2.0/Google.Identity.AccessContextManager.V1.ServicePerimeterConfig.Types.IngressSource) \n\n public sealed class ServicePerimeterConfig.Types.IngressSource : IMessage\u003cServicePerimeterConfig.Types.IngressSource\u003e, IEquatable\u003cServicePerimeterConfig.Types.IngressSource\u003e, IDeepCloneable\u003cServicePerimeterConfig.Types.IngressSource\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Identity Access Context Manager v1 API class ServicePerimeterConfig.Types.IngressSource.\n\nThe source that \\[IngressPolicy\\]\n\\[google.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressPolicy\\]\nauthorizes access from. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e ServicePerimeterConfig.Types.IngressSource \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)[IngressSource](/dotnet/docs/reference/Google.Identity.AccessContextManager.V1/latest/Google.Identity.AccessContextManager.V1.ServicePerimeterConfig.Types.IngressSource), [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)[IngressSource](/dotnet/docs/reference/Google.Identity.AccessContextManager.V1/latest/Google.Identity.AccessContextManager.V1.ServicePerimeterConfig.Types.IngressSource), [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)[IngressSource](/dotnet/docs/reference/Google.Identity.AccessContextManager.V1/latest/Google.Identity.AccessContextManager.V1.ServicePerimeterConfig.Types.IngressSource), [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### IngressSource()\n\n public IngressSource()\n\n### IngressSource(IngressSource)\n\n public IngressSource(ServicePerimeterConfig.Types.IngressSource other)\n\nProperties\n----------\n\n### AccessLevel\n\n public string AccessLevel { get; set; }\n\nAn \\[AccessLevel\\]\n\\[google.identity.accesscontextmanager.v1.AccessLevel\\] resource\nname that allow resources within the \\[ServicePerimeters\\]\n\\[google.identity.accesscontextmanager.v1.ServicePerimeter\\] to be\naccessed from the internet. \\[AccessLevels\\]\n\\[google.identity.accesscontextmanager.v1.AccessLevel\\] listed must\nbe in the same policy as this \\[ServicePerimeter\\]\n\\[google.identity.accesscontextmanager.v1.ServicePerimeter\\].\nReferencing a nonexistent \\[AccessLevel\\]\n\\[google.identity.accesscontextmanager.v1.AccessLevel\\] will cause\nan error. If no \\[AccessLevel\\]\n\\[google.identity.accesscontextmanager.v1.AccessLevel\\] names are\nlisted, resources within the perimeter can only be accessed via Google\nCloud calls with request origins within the perimeter. Example:\n`accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If a single `*` is\nspecified for `access_level`, then all \\[IngressSources\\]\n\\[google.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressSource\\]\nwill be allowed.\n\n### HasAccessLevel\n\n public bool HasAccessLevel { get; }\n\nGets whether the \"access_level\" field is set\n\n### HasResource\n\n public bool HasResource { get; }\n\nGets whether the \"resource\" field is set\n\n### Resource\n\n public string Resource { get; set; }\n\nA Google Cloud resource that is allowed to ingress the perimeter.\nRequests from these resources will be allowed to access perimeter data.\nCurrently only projects are allowed.\nFormat: `projects/{project_number}`\nThe project may be in any Google Cloud organization, not just the\norganization that the perimeter is defined in. `*` is not allowed, the\ncase of allowing all Google Cloud resources only is not supported.\n\n### SourceCase\n\n public ServicePerimeterConfig.Types.IngressSource.SourceOneofCase SourceCase { get; }"]]