Optional. The billing account used for the resources which are
direct children of workload. This billing account is initially associated
with the resources created as part of Workload creation.
After the initial creation of these resources, the customer can change
the assigned billing account.
The resource name has the form
billingAccounts/{billing_account_id}. For example,
billingAccounts/012345-567890-ABCDEF.
public RepeatedField<string> CompliantButDisallowedServices { get; }
Output only. Urls for services which are compliant for this Assured Workload, but which
are currently disallowed by the ResourceUsageRestriction org policy.
Invoke RestrictAllowedResources endpoint to allow your project developers
to use these services in their environment."
Required. The user-assigned display name of the Workload.
When present it must be between 4 to 30 characters.
Allowed characters are: lowercase and uppercase letters, numbers,
hyphen, and spaces.
Input only. Settings used to create a CMEK crypto key. When set, a project with a KMS
CMEK key is provisioned.
This field is deprecated as of Feb 28, 2022.
In order to create a Keyring, callers should specify,
ENCRYPTION_KEYS_PROJECT or KEYRING in ResourceSettings.resource_type field.
public string ProvisionedResourcesParent { get; set; }
Input only. The parent resource for the resources managed by this Assured Workload. May
be either empty or a folder resource which is a child of the
Workload parent. If not specified all resources are created under the
parent organization.
Format:
folders/{folder_id}
Input only. Resource properties that are used to customize workload resources.
These properties (such as custom project id) will be used to create
workload resources if possible. This field is optional.
Output only. The resources associated with this workload.
These resources will be created when creating the workload.
If any of the projects already exist, the workload creation will fail.
Always read only.
Output only. Represents the SAA enrollment response of the given workload.
SAA enrollment response is queried during GetWorkload call.
In failure cases, user friendly error message is shown in SAA details page.
[[["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\u003eThe \u003ccode\u003eWorkload\u003c/code\u003e class, part of the Google Cloud Assured Workloads v1 API, is designed for managing highly regulated cloud workloads, with the latest version being 2.6.0.\u003c/p\u003e\n"],["\u003cp\u003eThis class provides functionalities for defining and managing workload properties, such as compliance regime, billing account, display name, and resource settings, as well as handling sovereignty status.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eWorkload\u003c/code\u003e objects can be configured with optional settings including custom project IDs, labels, and the ability to specify a parent resource for managed resources.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eWorkload\u003c/code\u003e class has a multitude of properties, including output-only fields like CompliantButDisallowedServices, CreateTime, and Resources, that are not editable, along with input-only fields such as ProvisionedResourcesParent, and ResourceSettings that can be set.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eWorkload\u003c/code\u003e class offers detailed control over resource management, featuring methods for handling compliance, enrollment states, and resource customization, with support for specifying partners and KMS settings.\u003c/p\u003e\n"]]],[],null,["# Assured Workloads v1 API - Class Workload (2.6.0)\n\nVersion latestkeyboard_arrow_down\n\n- [2.6.0 (latest)](/dotnet/docs/reference/Google.Cloud.AssuredWorkloads.V1/latest/Google.Cloud.AssuredWorkloads.V1.Workload)\n- [2.5.0](/dotnet/docs/reference/Google.Cloud.AssuredWorkloads.V1/2.5.0/Google.Cloud.AssuredWorkloads.V1.Workload)\n- [2.4.0](/dotnet/docs/reference/Google.Cloud.AssuredWorkloads.V1/2.4.0/Google.Cloud.AssuredWorkloads.V1.Workload)\n- [2.3.0](/dotnet/docs/reference/Google.Cloud.AssuredWorkloads.V1/2.3.0/Google.Cloud.AssuredWorkloads.V1.Workload)\n- [2.2.0](/dotnet/docs/reference/Google.Cloud.AssuredWorkloads.V1/2.2.0/Google.Cloud.AssuredWorkloads.V1.Workload)\n- [2.1.0](/dotnet/docs/reference/Google.Cloud.AssuredWorkloads.V1/2.1.0/Google.Cloud.AssuredWorkloads.V1.Workload)\n- [2.0.0](/dotnet/docs/reference/Google.Cloud.AssuredWorkloads.V1/2.0.0/Google.Cloud.AssuredWorkloads.V1.Workload)\n- [1.1.0](/dotnet/docs/reference/Google.Cloud.AssuredWorkloads.V1/1.1.0/Google.Cloud.AssuredWorkloads.V1.Workload)\n- [1.0.0](/dotnet/docs/reference/Google.Cloud.AssuredWorkloads.V1/1.0.0/Google.Cloud.AssuredWorkloads.V1.Workload) \n\n public sealed class Workload : IMessage\u003cWorkload\u003e, IEquatable\u003cWorkload\u003e, IDeepCloneable\u003cWorkload\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Assured Workloads v1 API class Workload.\n\nA Workload object for managing highly regulated workloads of cloud\ncustomers. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e Workload \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[Workload](/dotnet/docs/reference/Google.Cloud.AssuredWorkloads.V1/latest/Google.Cloud.AssuredWorkloads.V1.Workload), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[Workload](/dotnet/docs/reference/Google.Cloud.AssuredWorkloads.V1/latest/Google.Cloud.AssuredWorkloads.V1.Workload), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[Workload](/dotnet/docs/reference/Google.Cloud.AssuredWorkloads.V1/latest/Google.Cloud.AssuredWorkloads.V1.Workload), [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.AssuredWorkloads.V1](/dotnet/docs/reference/Google.Cloud.AssuredWorkloads.V1/latest/Google.Cloud.AssuredWorkloads.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.AssuredWorkloads.V1.dll\n\nConstructors\n------------\n\n### Workload()\n\n public Workload()\n\n### Workload(Workload)\n\n public Workload(Workload other)\n\nProperties\n----------\n\n### BillingAccount\n\n public string BillingAccount { get; set; }\n\nOptional. The billing account used for the resources which are\ndirect children of workload. This billing account is initially associated\nwith the resources created as part of Workload creation.\nAfter the initial creation of these resources, the customer can change\nthe assigned billing account.\nThe resource name has the form\n`billingAccounts/{billing_account_id}`. For example,\n`billingAccounts/012345-567890-ABCDEF`.\n\n### ComplianceRegime\n\n public Workload.Types.ComplianceRegime ComplianceRegime { get; set; }\n\nRequired. Immutable. Compliance Regime associated with this workload.\n\n### CompliantButDisallowedServices\n\n public RepeatedField\u003cstring\u003e CompliantButDisallowedServices { get; }\n\nOutput only. Urls for services which are compliant for this Assured Workload, but which\nare currently disallowed by the ResourceUsageRestriction org policy.\nInvoke RestrictAllowedResources endpoint to allow your project developers\nto use these services in their environment.\"\n\n### CreateTime\n\n public Timestamp CreateTime { get; set; }\n\nOutput only. Immutable. The Workload creation timestamp.\n\n### DisplayName\n\n public string DisplayName { get; set; }\n\nRequired. The user-assigned display name of the Workload.\nWhen present it must be between 4 to 30 characters.\nAllowed characters are: lowercase and uppercase letters, numbers,\nhyphen, and spaces.\n\nExample: My Workload\n\n### EnableSovereignControls\n\n public bool EnableSovereignControls { get; set; }\n\nOptional. Indicates the sovereignty status of the given workload.\nCurrently meant to be used by Europe/Canada customers.\n\n### Etag\n\n public string Etag { get; set; }\n\nOptional. ETag of the workload, it is calculated on the basis\nof the Workload contents. It will be used in Update \\& Delete operations.\n\n### KajEnrollmentState\n\n public Workload.Types.KajEnrollmentState KajEnrollmentState { get; set; }\n\nOutput only. Represents the KAJ enrollment state of the given workload.\n\n### KmsSettings\n\n [Obsolete]\n public Workload.Types.KMSSettings KmsSettings { get; set; }\n\nInput only. Settings used to create a CMEK crypto key. When set, a project with a KMS\nCMEK key is provisioned.\nThis field is deprecated as of Feb 28, 2022.\nIn order to create a Keyring, callers should specify,\nENCRYPTION_KEYS_PROJECT or KEYRING in ResourceSettings.resource_type field.\n\n### Labels\n\n public MapField\u003cstring, string\u003e Labels { get; }\n\nOptional. Labels applied to the workload.\n\n### Name\n\n public string Name { get; set; }\n\nOptional. The resource name of the workload.\nFormat:\norganizations/{organization}/locations/{location}/workloads/{workload}\n\nRead-only.\n\n### Partner\n\n public Workload.Types.Partner Partner { get; set; }\n\nOptional. Compliance Regime associated with this workload.\n\n### ProvisionedResourcesParent\n\n public string ProvisionedResourcesParent { get; set; }\n\nInput only. The parent resource for the resources managed by this Assured Workload. May\nbe either empty or a folder resource which is a child of the\nWorkload parent. If not specified all resources are created under the\nparent organization.\nFormat:\nfolders/{folder_id}\n\n### ResourceSettings\n\n public RepeatedField\u003cWorkload.Types.ResourceSettings\u003e ResourceSettings { get; }\n\nInput only. Resource properties that are used to customize workload resources.\nThese properties (such as custom project id) will be used to create\nworkload resources if possible. This field is optional.\n\n### Resources\n\n public RepeatedField\u003cWorkload.Types.ResourceInfo\u003e Resources { get; }\n\nOutput only. The resources associated with this workload.\nThese resources will be created when creating the workload.\nIf any of the projects already exist, the workload creation will fail.\nAlways read only.\n\n### SaaEnrollmentResponse\n\n public Workload.Types.SaaEnrollmentResponse SaaEnrollmentResponse { get; set; }\n\nOutput only. Represents the SAA enrollment response of the given workload.\nSAA enrollment response is queried during GetWorkload call.\nIn failure cases, user friendly error message is shown in SAA details page.\n\n### WorkloadName\n\n public WorkloadName WorkloadName { get; set; }\n\n[WorkloadName](/dotnet/docs/reference/Google.Cloud.AssuredWorkloads.V1/latest/Google.Cloud.AssuredWorkloads.V1.WorkloadName)-typed view over the [Name](/dotnet/docs/reference/Google.Cloud.AssuredWorkloads.V1/latest/Google.Cloud.AssuredWorkloads.V1.Workload#Google_Cloud_AssuredWorkloads_V1_Workload_Name) resource name property."]]