public sealed class ServiceProjectAttachment : IMessage<ServiceProjectAttachment>, IEquatable<ServiceProjectAttachment>, IDeepCloneable<ServiceProjectAttachment>, IBufferMessage, IMessage
Reference documentation and code samples for the App Hub v1 API class ServiceProjectAttachment.
ServiceProjectAttachment represents an attachment from a service project to a
host project. Service projects contain the underlying cloud
infrastructure resources, and expose these resources to the host project
through a ServiceProjectAttachment. With the attachments, the host project
can provide an aggregated view of resources across all service projects.
Identifier. The resource name of a ServiceProjectAttachment. Format:
"projects/{host-project-id}/locations/global/serviceProjectAttachments/{service-project-id}."
Required. Immutable. Service project name in the format: "projects/abc"
or "projects/123". As input, project name with either project id or
number are accepted. As output, this field will contain project number.
[[["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\u003e\u003ccode\u003eServiceProjectAttachment\u003c/code\u003e is a class in the App Hub v1 API that represents a connection between a service project and a host project.\u003c/p\u003e\n"],["\u003cp\u003eService projects, which contain cloud infrastructure resources, are linked to a host project through \u003ccode\u003eServiceProjectAttachment\u003c/code\u003e, allowing the host project to see an aggregate view of resources.\u003c/p\u003e\n"],["\u003cp\u003eThis class implements several interfaces, including \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e, enabling it to be used within various contexts in the .NET framework.\u003c/p\u003e\n"],["\u003cp\u003eKey properties of a \u003ccode\u003eServiceProjectAttachment\u003c/code\u003e include \u003ccode\u003eName\u003c/code\u003e, \u003ccode\u003eServiceProject\u003c/code\u003e, and \u003ccode\u003eState\u003c/code\u003e, which respectively identify the attachment, the connected service project, and the attachment's status.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eServiceProjectAttachment\u003c/code\u003e objects have attributes such as \u003ccode\u003eCreateTime\u003c/code\u003e which shows when they were created, and \u003ccode\u003eUid\u003c/code\u003e, which is a unique identifier.\u003c/p\u003e\n"]]],[],null,["# App Hub v1 API - Class ServiceProjectAttachment (1.1.0)\n\nVersion latestkeyboard_arrow_down\n\n- [1.1.0 (latest)](/dotnet/docs/reference/Google.Cloud.AppHub.V1/latest/Google.Cloud.AppHub.V1.ServiceProjectAttachment)\n- [1.0.0](/dotnet/docs/reference/Google.Cloud.AppHub.V1/1.0.0/Google.Cloud.AppHub.V1.ServiceProjectAttachment) \n\n public sealed class ServiceProjectAttachment : IMessage\u003cServiceProjectAttachment\u003e, IEquatable\u003cServiceProjectAttachment\u003e, IDeepCloneable\u003cServiceProjectAttachment\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the App Hub v1 API class ServiceProjectAttachment.\n\nServiceProjectAttachment represents an attachment from a service project to a\nhost project. Service projects contain the underlying cloud\ninfrastructure resources, and expose these resources to the host project\nthrough a ServiceProjectAttachment. With the attachments, the host project\ncan provide an aggregated view of resources across all service projects. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e ServiceProjectAttachment \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[ServiceProjectAttachment](/dotnet/docs/reference/Google.Cloud.AppHub.V1/latest/Google.Cloud.AppHub.V1.ServiceProjectAttachment), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[ServiceProjectAttachment](/dotnet/docs/reference/Google.Cloud.AppHub.V1/latest/Google.Cloud.AppHub.V1.ServiceProjectAttachment), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[ServiceProjectAttachment](/dotnet/docs/reference/Google.Cloud.AppHub.V1/latest/Google.Cloud.AppHub.V1.ServiceProjectAttachment), [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.AppHub.V1](/dotnet/docs/reference/Google.Cloud.AppHub.V1/latest/Google.Cloud.AppHub.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.AppHub.V1.dll\n\nConstructors\n------------\n\n### ServiceProjectAttachment()\n\n public ServiceProjectAttachment()\n\n### ServiceProjectAttachment(ServiceProjectAttachment)\n\n public ServiceProjectAttachment(ServiceProjectAttachment other)\n\nProperties\n----------\n\n### CreateTime\n\n public Timestamp CreateTime { get; set; }\n\nOutput only. Create time.\n\n### Name\n\n public string Name { get; set; }\n\nIdentifier. The resource name of a ServiceProjectAttachment. Format:\n`\"projects/{host-project-id}/locations/global/serviceProjectAttachments/{service-project-id}.\"`\n\n### ServiceProject\n\n public string ServiceProject { get; set; }\n\nRequired. Immutable. Service project name in the format: `\"projects/abc\"`\nor `\"projects/123\"`. As input, project name with either project id or\nnumber are accepted. As output, this field will contain project number.\n\n### ServiceProjectAsProjectName\n\n public ProjectName ServiceProjectAsProjectName { get; set; }\n\n[ProjectName](https://cloud.google.com/dotnet/docs/reference/Google.Api.Gax/latest/Google.Api.Gax.ResourceNames.ProjectName.html)-typed view over the [ServiceProject](/dotnet/docs/reference/Google.Cloud.AppHub.V1/latest/Google.Cloud.AppHub.V1.ServiceProjectAttachment#Google_Cloud_AppHub_V1_ServiceProjectAttachment_ServiceProject) resource name property.\n\n### ServiceProjectAttachmentName\n\n public ServiceProjectAttachmentName ServiceProjectAttachmentName { get; set; }\n\n[ServiceProjectAttachmentName](/dotnet/docs/reference/Google.Cloud.AppHub.V1/latest/Google.Cloud.AppHub.V1.ServiceProjectAttachmentName)-typed view over the [Name](/dotnet/docs/reference/Google.Cloud.AppHub.V1/latest/Google.Cloud.AppHub.V1.ServiceProjectAttachment#Google_Cloud_AppHub_V1_ServiceProjectAttachment_Name) resource name\nproperty.\n\n### State\n\n public ServiceProjectAttachment.Types.State State { get; set; }\n\nOutput only. ServiceProjectAttachment state.\n\n### Uid\n\n public string Uid { get; set; }\n\nOutput only. A globally unique identifier (in UUID4 format) for the\n`ServiceProjectAttachment`."]]