import "@azure-tools/typespec-client-generator-core"; import "./main.tsp"; using Azure.ClientGenerator.Core; using Azure.ClientGenerator.Core.Legacy; using Azure.Core; using Microsoft.Storage; @@clientName(ProvisioningState, "StorageAccountProvisioningState", "csharp"); @@clientName( Azure.ResourceManager.CommonTypes.Resource, "ResourceAutoGenerated", "csharp" ); @@clientName( Azure.ResourceManager.CommonTypes.ErrorResponse, "ErrorResponseAutoGenerated", "csharp" ); // csharp rename-mapping decorators @@clientName(AccessTier, "StorageAccountAccessTier", "csharp"); @@clientName(AccountStatus, "StorageAccountStatus", "csharp"); @@clientName( AzureFilesIdentityBasedAuthentication, "FilesIdentityBasedAuthentication", "csharp" ); @@clientName(Connector, "StorageConnector", "csharp"); @@clientName(CorsRule, "StorageCorsRule", "csharp"); @@clientName(CorsRules, "StorageCorsRules", "csharp"); @@clientName(CustomDomain, "StorageCustomDomain", "csharp"); @@clientName(DataShare, "StorageDataShare", "csharp"); @@clientName(DnsEndpointType, "StorageDnsEndpointType", "csharp"); @@clientName(EnabledProtocols, "FileShareEnabledProtocol", "csharp"); @@clientName(Encryption, "StorageAccountEncryption", "csharp"); @@clientName(Endpoints, "StorageAccountEndpoints", "csharp"); @@clientName(GeoReplicationStats, "GeoReplicationStatistics", "csharp"); @@clientName(InventoryRuleType, "BlobInventoryRuleType", "csharp"); @@clientName(KeyCreationTime, "StorageAccountKeyCreationTime", "csharp"); @@clientName(LeaseDuration, "StorageLeaseDurationType", "csharp"); @@clientName(LeaseState, "StorageLeaseState", "csharp"); @@clientName(LeaseStatus, "StorageLeaseStatus", "csharp"); @@clientName( MigrationState, "ImmutableStorageWithVersioningMigrationState", "csharp" ); @@clientName(migrationStatus, "StorageAccountMigrationStatus", "csharp"); @@clientName(MinimumTlsVersion, "StorageMinimumTlsVersion", "csharp"); @@clientName(MinimumTlsVersion.TLS1_0, "Tls1_0", "csharp"); @@clientName(MinimumTlsVersion.TLS1_1, "Tls1_1", "csharp"); @@clientName(MinimumTlsVersion.TLS1_2, "Tls1_2", "csharp"); @@clientName(MinimumTlsVersion.TLS1_3, "Tls1_3", "csharp"); @@clientName(NetworkRuleSet, "StorageAccountNetworkRuleSet", "csharp"); @@clientName(PublicAccess, "StoragePublicAccessType", "csharp"); @@clientName(PublicNetworkAccess, "StoragePublicNetworkAccess", "csharp"); @@clientName(RoutingPreference, "StorageRoutingPreference", "csharp"); @@clientName(RunResult, "StorageTaskRunResult", "csharp"); @@clientName(RunStatusEnum, "StorageTaskRunStatus", "csharp"); @@clientName(SasPolicy, "StorageAccountSasPolicy", "csharp"); @@clientName(ShareAccessTier, "FileShareAccessTier", "csharp"); @@clientName(SignedIdentifier, "StorageSignedIdentifier", "csharp"); @@clientName(SKUCapability, "StorageSkuCapability", "csharp"); @@clientName(SkuConversionStatus, "StorageAccountSkuConversionState", "csharp"); @@clientName(SshPublicKey, "StorageSshPublicKey", "csharp"); @@clientName( ZonePlacementPolicy, "StorageAccountZonePlacementPolicy", "csharp" ); @@clientName( ImmutabilityPolicyProperties, "BlobContainerImmutabilityPolicy", "csharp" ); @@clientName(TagProperty, "LegalHoldTag", "csharp"); @@clientName(Restriction, "StorageSkuRestriction", "csharp"); @@clientName( SkuInformationLocationInfoItem, "StorageSkuLocationInfo", "csharp" ); @@clientName(TagFilter, "ManagementPolicyTagFilter", "csharp"); @@clientName(BlobRestoreParameters, "BlobRestoreContent", "csharp"); @@clientName(TriggerParameters, "ExecutionTriggerParameters", "csharp"); @@clientName( TriggerParametersUpdate, "ExecutionTriggerParametersUpdate", "csharp" ); @@clientName(TriggerType, "TaskExecutionTriggerType", "csharp"); @@clientName(ExecutionTrigger.type, "TaskExecutionTriggerType", "csharp"); @@clientName(ExecutionTriggerUpdate.type, "TaskExecutionTriggerType", "csharp"); @@clientName(AccountSasParameters, "AccountSasContent", "csharp"); @@clientName(ServiceSasParameters, "ServiceSasContent", "csharp"); @@clientName( StorageAccountCheckNameAvailabilityParameters, "StorageAccountNameAvailabilityContent", "csharp" ); @@clientName( StorageAccountCreateParameters, "StorageAccountCreateOrUpdateContent", "csharp" ); @@clientName( StorageAccountRegenerateKeyParameters, "StorageAccountRegenerateKeyContent", "csharp" ); @@clientName(LeaseContainerRequest, "LeaseContainerContent", "csharp"); @@clientName(LeaseShareRequest, "LeaseShareContent", "csharp"); @@clientName(ListAccountSasResponse, "GetAccountSasResult", "csharp"); @@clientName(ListServiceSasResponse, "GetServiceSasResult", "csharp"); @@clientName(TestConnectionResponse, "TestConnectionResult", "csharp"); @@clientName( TestExistingConnectionRequest, "TestExistingConnectionContent", "csharp" ); @@clientName( ActiveDirectoryProperties, "StorageActiveDirectoryProperties", "csharp" ); @@clientName( ActiveDirectoryProperties.domainGuid, "ActiveDirectoryDomainGuid", "csharp" ); @@clientName(TableAccessPolicy, "StorageTableAccessPolicy", "csharp"); @@clientName(ProtocolSettings, "FileServiceProtocolSettings", "csharp"); @@clientName(ProtocolSettings.smb, "SmbSetting", "csharp"); @@clientName(FileServiceProperties, "FileService", "csharp"); @@clientName(AllowedMethods, "CorsRuleAllowedMethod", "csharp"); @@clientName(ResourceAccessRule, "StorageAccountResourceAccessRule", "csharp"); @@clientName(VirtualNetworkRule, "StorageAccountVirtualNetworkRule", "csharp"); @@clientName(ReasonCode, "StorageRestrictionReasonCode", "csharp"); @@clientName(UpdateHistoryProperty, "UpdateHistoryEntry", "csharp"); @@clientName(ListContainersInclude, "BlobContainerState", "csharp"); @@clientName( StorageAccountIpv6Endpoints, "StorageAccountIPv6Endpoints", "csharp" ); @@clientName(IPRule, "StorageAccountIPRule", "csharp"); @@clientName(LocalUser, "StorageAccountLocalUser", "csharp"); @@clientName(PermissionScope, "StoragePermissionScope", "csharp"); @@clientName(SkusOperationGroup.list, "GetSkus", "csharp"); @@clientName( DeletedAccountsOperationGroup.list, "GetDeletedAccounts", "csharp" ); @@clientName(Services, "StorageAccountSasSignedService", "csharp"); @@clientName( SignedResourceTypes, "StorageAccountSasSignedResourceType", "csharp" ); @@clientName(Permissions, "StorageAccountSasPermission", "csharp"); @@clientName(HttpProtocol, "StorageAccountHttpProtocol", "csharp"); @@clientName( StorageTaskAssignments.storageTaskAssignmentInstancesReportList, "GetStorageTaskAssignmentInstancesReports", "csharp" ); @@clientName( StorageAccounts.storageTaskAssignmentsInstancesReportList, "GetStorageTaskAssignmentsInstancesReports", "csharp" ); @@clientName( BlobContainers.objectLevelWorm, "EnableVersionLevelImmutability", "csharp" ); @@clientName( StorageAccounts.hierarchicalNamespaceMigration, "EnableHierarchicalNamespace", "csharp" ); @@clientName( StorageAccounts.checkNameAvailability, "CheckStorageAccountNameAvailability", "csharp" ); @@alternateType( Azure.ResourceManager.LocationParameter.location, Azure.Core.azureLocation, "csharp" ); @@clientName( UsagesOperationGroup.listByLocation, "GetUsagesByLocation", "csharp" ); // Resource type renames for backward compatibility @@clientName(BlobServiceProperties, "BlobService", "csharp"); @@clientName(QueueServiceProperties, "QueueService", "csharp"); @@clientName(TableServiceProperties, "TableService", "csharp"); #suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "This operation is pageable for .Net SDK" @@markAsPageable(FileServices.list, "csharp"); #suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "This operation is pageable for .Net SDK" @@markAsPageable(QueueServices.list, "csharp"); #suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "This operation is pageable for .Net SDK" @@markAsPageable(TableServices.list, "csharp"); @@clientName(ManagementPolicy, "StorageAccountManagementPolicy", "csharp"); @@clientName( PrivateEndpointConnection, "StoragePrivateEndpointConnection", "csharp" ); // Model/enum type renames for backward compatibility @@clientName( AccountImmutabilityPolicyProperties, "AccountImmutabilityPolicy", "csharp" ); @@clientName(AccountType, "ActiveDirectoryAccountType", "csharp"); @@clientName(Format, "BlobInventoryPolicyFormat", "csharp"); @@clientName(ObjectType, "BlobInventoryPolicyObjectType", "csharp"); @@clientName(Schedule, "BlobInventoryPolicySchedule", "csharp"); @@clientName(ChangeFeed, "BlobServiceChangeFeed", "csharp"); @@clientName(DirectoryServiceOptions, "DirectoryServiceOption", "csharp"); @@clientName( ListEncryptionScopesInclude, "EncryptionScopesIncludeType", "csharp" ); @@clientName(IntervalUnit, "ExecutionIntervalUnit", "csharp"); @@clientName(AccountLimits, "FileServiceAccountLimits", "csharp"); @@clientName(AccountUsage, "FileServiceAccountUsage", "csharp"); @@clientName(AccountUsageElements, "FileServiceAccountUsageElements", "csharp"); @@clientName(Name, "LastAccessTimeTrackingPolicyName", "csharp"); @@clientName(LeaseContainerRequestAction, "LeaseContainerAction", "csharp"); @@clientName(RuleType, "ManagementPolicyRuleType", "csharp"); @@clientName( ProvisioningIssue, "NetworkSecurityPerimeterProvisioningIssue", "csharp" ); @@clientName( ProvisioningIssueProperties, "NetworkSecurityPerimeterProvisioningIssueProperties", "csharp" ); @@clientName( Severity, "NetworkSecurityPerimeterProvisioningIssueSeverity", "csharp" ); @@clientName( IssueType, "NetworkSecurityPerimeterProvisioningIssueType", "csharp" ); @@clientName(RestorePolicyProperties, "RestorePolicy", "csharp"); @@clientName(SignedResource, "ServiceSasSignedResourceType", "csharp"); @@clientName(EncryptionIdentity, "StorageAccountEncryptionIdentity", "csharp"); @@clientName(EncryptionServices, "StorageAccountEncryptionServices", "csharp"); @@clientName(KeyPermission, "StorageAccountKeyPermission", "csharp"); @@clientName(KeySource, "StorageAccountKeySource", "csharp"); @@clientName(KeyVaultProperties, "StorageAccountKeyVaultProperties", "csharp"); @@clientName(MigrationName, "StorageAccountMigrationName", "csharp"); @@clientName( CheckNameAvailabilityResult, "StorageAccountNameAvailabilityResult", "csharp" ); @@clientName(Reason, "StorageAccountNameUnavailableReason", "csharp"); @@clientName(State, "StorageAccountNetworkRuleState", "csharp"); @@clientName(KeyType, "StorageEncryptionKeyType", "csharp"); @@clientName(EncryptionService, "StorageEncryptionService", "csharp"); @@clientName(Bypass, "StorageNetworkBypass", "csharp"); @@clientName(DefaultAction, "StorageNetworkDefaultAction", "csharp"); @@clientName(PrivateLinkResource, "StoragePrivateLinkResourceData", "csharp"); @@clientName(RoutingChoice, "StorageRoutingChoice", "csharp"); @@clientName(AccessPolicy, "StorageServiceAccessPolicy", "csharp"); @@clientName(TableSignedIdentifier, "StorageTableSignedIdentifier", "csharp"); @@clientName( StorageTaskAssignmentUpdateProperties, "StorageTaskAssignmentPatchProperties", "csharp" ); @@clientName( StorageTaskAssignmentUpdateParameters, "StorageTaskAssignmentPatch", "csharp" ); @@clientName(UsageName, "StorageUsageName", "csharp"); @@clientName(UsageUnit, "StorageUsageUnit", "csharp"); @@alternateType( Azure.ResourceManager.CommonTypes.Resource.id, armResourceIdentifier, "csharp" ); @@clientName(Microsoft.Storage, "StorageManagementClient", "javascript"); @@clientName(Microsoft.Storage, "StorageManagementClient", "python"); @@clientName(AccountType, "ActiveDirectoryPropertiesAccountType", "go, java"); @@clientName(AllowedMethods, "CorsRuleAllowedMethodsItem", "go, java"); // Java customization for mitigating breaking changes @@clientName(SKUCapability, "SkuCapability", "java"); @@clientName(IPRule, "IpRule", "java"); @@clientName(IPRule.value, "ipAddressOrRange", "java"); @@clientName(IPRule.value, "$DO_NOT_NORMALIZE$iPAddressOrRange", "javascript"); @@clientName(StorageAccounts.listAccountSAS, "listAccountSas", "java"); @@clientName(StorageAccounts.listServiceSAS, "listServiceSas", "java"); // C# SAS casing: new generator preserves uppercase SAS, prior GA used Sas @@clientName(StorageAccounts.listAccountSAS, "GetAccountSas", "csharp"); @@clientName(StorageAccounts.listServiceSAS, "GetServiceSas", "csharp"); @@clientName(ImmutableStorageWithVersioning.timeStamp, "timestamp", "java"); @@clientName(FileShareRecommendations.baseIOPS, "baseIops", "java"); @@clientName(AccountSasParameters.signedIp, "ipAddressOrRange", "java"); @@clientName( AccountSasParameters.signedIp, "$DO_NOT_NORMALIZE$iPAddressOrRange", "javascript" ); @@clientName(AccountLimits.maxProvisionedIOPS, "maxProvisionedIops", "java"); @@clientName(FileShareLimits.maxProvisionedIOPS, "maxProvisionedIops", "java"); @@clientName(FileShareLimits.minProvisionedIOPS, "minProvisionedIops", "java"); @@clientName(BurstingConstants.burstFloorIOPS, "burstFloorIops", "java"); @@clientName(AccountUsageElements.provisionedIOPS, "provisionedIops", "java"); @@clientName(ServiceSasParameters.signedIp, "ipAddressOrRange", "java"); @@clientName( ServiceSasParameters.signedIp, "$DO_NOT_NORMALIZE$iPAddressOrRange", "javascript" ); @@clientName(ETagHeader.eTag, "etag", "java"); // Fix client parameter order. /** * Get properties of specified deleted account resource. */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" op getDeletedAccountCustomized( apiVersion: string, deletedAccountName: string, location: Azure.Core.azureLocation, ...Azure.ResourceManager.ProviderNamespace, subscriptionId: Azure.Core.uuid, ): | Azure.ResourceManager.ArmResponse | Microsoft.Storage.ErrorResponse; @@override(DeletedAccounts.get, getDeletedAccountCustomized, "java,go,python"); @@clientName( Azure.ResourceManager.CommonTypes.ProxyResource, "ProxyResourceAutoGenerated", "javascript" ); @@clientName( Azure.ResourceManager.CommonTypes.Resource, "ResourceAutoGenerated", "javascript" ); @@clientName( Azure.ResourceManager.CommonTypes.Resource, "ResourceAutoGenerated", "python" ); #suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "Legacy decorator required for Python SDK compatibility" @@Azure.ClientGenerator.Core.Legacy.clientDefaultValue( StorageAccountListKeysParameters.$expand, "kerb", "python" ); #suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "Legacy decorator required for Python SDK compatibility" @@Azure.ClientGenerator.Core.Legacy.clientDefaultValue( StorageAccountFailoverParameters.failoverType, "Planned", "python" ); // Rename local ExtendedLocation and Identity models for C# to avoid // type conflicts with ARM common types in backward-compat factory methods @@clientName(ExtendedLocation, "StorageExtendedLocation", "csharp"); @@clientName(Identity, "StorageIdentity", "csharp"); @@clientName(ExtendedLocationTypes, "StorageExtendedLocationTypes", "csharp"); @@clientName(IdentityType, "StorageIdentityType", "csharp"); @@clientName(UserAssignedIdentity, "StorageUserAssignedIdentity", "csharp"); // Rename NspAccessRulePropertiesSubscriptionsItem to prevent the generator from mapping // it to ARM's SubResource type (which has an internal DeserializeSubResource method). // Define a SubResource model in Azure.ResourceManager.Models namespace with armResourceIdentifier // to match the generator's system type mapping, then use alternateType to replace the property. @@clientName( NspAccessRulePropertiesSubscriptionsItem, "NspAccessRuleSubscription", "csharp" ); namespace Azure.ResourceManager.Models { /** Represents a reference to an existing resource by its ARM resource id */ model SubResource { /** The ARM resource identifier */ id?: armResourceIdentifier; } } @@alternateType( NspAccessRuleProperties.subscriptions, Azure.ResourceManager.Models.SubResource[], "csharp" ); // C# @@usage decorators for backward-compatible setters on models // Resource types @@usage( StorageAccount, | Azure.ClientGenerator.Core.Usage.input | Azure.ClientGenerator.Core.Usage.output, "csharp" ); @@usage( BlobContainer, | Azure.ClientGenerator.Core.Usage.input | Azure.ClientGenerator.Core.Usage.output, "csharp" ); @@usage( BlobInventoryPolicy, | Azure.ClientGenerator.Core.Usage.input | Azure.ClientGenerator.Core.Usage.output, "csharp" ); @@usage( BlobServiceProperties, | Azure.ClientGenerator.Core.Usage.input | Azure.ClientGenerator.Core.Usage.output, "csharp" ); @@usage( FileShare, | Azure.ClientGenerator.Core.Usage.input | Azure.ClientGenerator.Core.Usage.output, "csharp" ); @@usage( ObjectReplicationPolicy, | Azure.ClientGenerator.Core.Usage.input | Azure.ClientGenerator.Core.Usage.output, "csharp" ); @@usage( LocalUser, | Azure.ClientGenerator.Core.Usage.input | Azure.ClientGenerator.Core.Usage.output, "csharp" ); @@usage( ManagementPolicy, | Azure.ClientGenerator.Core.Usage.input | Azure.ClientGenerator.Core.Usage.output, "csharp" ); @@usage( StorageAccountMigration, | Azure.ClientGenerator.Core.Usage.input | Azure.ClientGenerator.Core.Usage.output, "csharp" ); @@usage( PrivateEndpointConnection, | Azure.ClientGenerator.Core.Usage.input | Azure.ClientGenerator.Core.Usage.output, "csharp" ); // Non-resource models @@usage( BlobInventoryPolicyRule, | Azure.ClientGenerator.Core.Usage.input | Azure.ClientGenerator.Core.Usage.output, "csharp" ); @@usage( BlobInventoryPolicySchema, | Azure.ClientGenerator.Core.Usage.input | Azure.ClientGenerator.Core.Usage.output, "csharp" ); @@usage( ChangeFeed, | Azure.ClientGenerator.Core.Usage.input | Azure.ClientGenerator.Core.Usage.output, "csharp" ); @@usage( DeleteRetentionPolicy, | Azure.ClientGenerator.Core.Usage.input | Azure.ClientGenerator.Core.Usage.output, "csharp" ); @@usage( EncryptionScopeKeyVaultProperties, | Azure.ClientGenerator.Core.Usage.input | Azure.ClientGenerator.Core.Usage.output, "csharp" ); @@usage( ImmutableStorageAccount, | Azure.ClientGenerator.Core.Usage.input | Azure.ClientGenerator.Core.Usage.output, "csharp" ); @@usage( ImmutableStorageWithVersioning, | Azure.ClientGenerator.Core.Usage.input | Azure.ClientGenerator.Core.Usage.output, "csharp" ); @@usage( LastAccessTimeTrackingPolicy, | Azure.ClientGenerator.Core.Usage.input | Azure.ClientGenerator.Core.Usage.output, "csharp" ); @@usage( ManagementPolicyRule, | Azure.ClientGenerator.Core.Usage.input | Azure.ClientGenerator.Core.Usage.output, "csharp" ); @@usage( ProtocolSettings, | Azure.ClientGenerator.Core.Usage.input | Azure.ClientGenerator.Core.Usage.output, "csharp" ); @@usage( RestorePolicyProperties, | Azure.ClientGenerator.Core.Usage.input | Azure.ClientGenerator.Core.Usage.output, "csharp" ); @@usage( SmbSetting, | Azure.ClientGenerator.Core.Usage.input | Azure.ClientGenerator.Core.Usage.output, "csharp" ); @@usage( StorageAccountCreateParameters, | Azure.ClientGenerator.Core.Usage.input | Azure.ClientGenerator.Core.Usage.output, "csharp" ); @@usage( StorageAccountSkuConversionStatus, | Azure.ClientGenerator.Core.Usage.input | Azure.ClientGenerator.Core.Usage.output, "csharp" ); // SkuConversionStatus: prior GA had StartOn/EndOn (DateTimeOffset?) @@clientName(StorageAccountSkuConversionStatus.startTime, "StartOn", "csharp"); @@clientName(StorageAccountSkuConversionStatus.endTime, "EndOn", "csharp"); @@usage( StorageAccountUpdateParameters, | Azure.ClientGenerator.Core.Usage.input | Azure.ClientGenerator.Core.Usage.output, "csharp" ); @@usage( StorageTaskAssignmentProperties, | Azure.ClientGenerator.Core.Usage.input | Azure.ClientGenerator.Core.Usage.output, "csharp" ); @@usage( StorageTaskReportInstance, | Azure.ClientGenerator.Core.Usage.input | Azure.ClientGenerator.Core.Usage.output, "csharp" ); @@usage( StorageTaskAssignmentUpdateProperties, | Azure.ClientGenerator.Core.Usage.input | Azure.ClientGenerator.Core.Usage.output, "csharp" ); @@usage( TagFilter, | Azure.ClientGenerator.Core.Usage.input | Azure.ClientGenerator.Core.Usage.output, "csharp" ); @@usage( IPRule, | Azure.ClientGenerator.Core.Usage.input | Azure.ClientGenerator.Core.Usage.output, "csharp" ); @@usage( KeyVaultProperties, | Azure.ClientGenerator.Core.Usage.input | Azure.ClientGenerator.Core.Usage.output, "csharp" ); @@usage( ResourceAccessRule, | Azure.ClientGenerator.Core.Usage.input | Azure.ClientGenerator.Core.Usage.output, "csharp" ); @@usage( VirtualNetworkRule, | Azure.ClientGenerator.Core.Usage.input | Azure.ClientGenerator.Core.Usage.output, "csharp" ); @@usage( ActiveDirectoryProperties, | Azure.ClientGenerator.Core.Usage.input | Azure.ClientGenerator.Core.Usage.output, "csharp" ); @@usage( CustomDomain, | Azure.ClientGenerator.Core.Usage.input | Azure.ClientGenerator.Core.Usage.output, "csharp" ); @@usage( EncryptionService, | Azure.ClientGenerator.Core.Usage.input | Azure.ClientGenerator.Core.Usage.output, "csharp" ); @@usage( RoutingPreference, | Azure.ClientGenerator.Core.Usage.input | Azure.ClientGenerator.Core.Usage.output, "csharp" ); @@usage( AccessPolicy, | Azure.ClientGenerator.Core.Usage.input | Azure.ClientGenerator.Core.Usage.output, "csharp" ); @@usage( TableAccessPolicy, | Azure.ClientGenerator.Core.Usage.input | Azure.ClientGenerator.Core.Usage.output, "csharp" ); // C# property renames for backward compatibility (Is-prefix for boolean properties) @@clientName(ChangeFeed.enabled, "IsEnabled", "csharp"); @@clientName(DeleteRetentionPolicy.enabled, "IsEnabled", "csharp"); @@clientName(ImmutableStorageAccount.enabled, "IsEnabled", "csharp"); @@clientName(ImmutableStorageWithVersioning.enabled, "IsEnabled", "csharp"); @@clientName(LastAccessTimeTrackingPolicy.enable, "IsEnabled", "csharp"); @@clientName(ManagementPolicyRule.enabled, "IsEnabled", "csharp"); @@clientName(RestorePolicyProperties.enabled, "IsEnabled", "csharp"); @@clientName(EncryptionService.enabled, "IsEnabled", "csharp"); @@clientName(BlobInventoryPolicyRule.enabled, "IsEnabled", "csharp"); @@clientName(BlobInventoryPolicySchema.enabled, "IsEnabled", "csharp"); @@clientName(StorageTaskAssignmentProperties.enabled, "IsEnabled", "csharp"); @@clientName( StorageTaskAssignmentUpdateProperties.enabled, "IsEnabled", "csharp" ); @@clientName( CustomDomain.useSubDomainName, "IsUseSubDomainNameEnabled", "csharp" ); @@clientName( RoutingPreference.publishInternetEndpoints, "IsInternetEndpointsPublished", "csharp" ); @@clientName( RoutingPreference.publishMicrosoftEndpoints, "IsMicrosoftEndpointsPublished", "csharp" ); @@clientName( ContainerProperties.denyEncryptionScopeOverride, "PreventEncryptionScopeOverride", "csharp" ); @@clientName( BlobServicePropertiesProperties.automaticSnapshotPolicyEnabled, "IsAutomaticSnapshotPolicyEnabled", "csharp" ); @@clientName(FileShareProperties.enabledProtocols, "EnabledProtocol", "csharp"); @@clientName(TagFilter.`op`, "Operator", "csharp"); @@clientName(AccessPolicy.expiryTime, "ExpireOn", "csharp"); @@clientName(TableAccessPolicy.expiryTime, "ExpireOn", "csharp"); @@clientName(ManagementPolicyRule.type, "RuleType", "csharp"); @@clientName(BlobInventoryPolicySchema.type, "RuleType", "csharp"); // Additional property renames for StorageAccount properties @@clientName( StorageAccountPropertiesCreateParameters.defaultToOAuthAuthentication, "IsDefaultToOAuthAuthentication", "csharp" ); @@clientName( StorageAccountPropertiesCreateParameters.isNfsV3Enabled, "IsNfsV3Enabled", "csharp" ); @@clientName( StorageAccountPropertiesCreateParameters.enableExtendedGroups, "IsExtendedGroupEnabled", "csharp" ); @@clientName( StorageAccountProperties.defaultToOAuthAuthentication, "IsDefaultToOAuthAuthentication", "csharp" ); @@clientName( StorageAccountProperties.isNfsV3Enabled, "IsNfsV3Enabled", "csharp" ); @@clientName( StorageAccountProperties.enableExtendedGroups, "IsExtendedGroupEnabled", "csharp" ); @@clientName( StorageAccountPropertiesUpdateParameters.defaultToOAuthAuthentication, "IsDefaultToOAuthAuthentication", "csharp" ); @@clientName( StorageAccountPropertiesUpdateParameters.enableExtendedGroups, "IsExtendedGroupEnabled", "csharp" ); @@clientName( DualStackEndpointPreference.publishIpv6Endpoint, "IsIPv6EndpointToBePublished", "csharp" ); @@clientName( BlobServicePropertiesProperties.automaticSnapshotPolicyEnabled, "IsAutomaticSnapshotPolicyEnabled", "csharp" ); // ObjectReplicationPolicy flattened boolean renames @@clientName( ObjectReplicationPolicyPropertiesMetrics.enabled, "IsMetricsEnabled", "csharp" ); @@clientName( ObjectReplicationPolicyPropertiesPriorityReplication.enabled, "IsPriorityReplicationEnabled", "csharp" ); // LocalUser property renames @@clientName( LocalUserProperties.allowAclAuthorization, "IsAclAuthorizationAllowed", "csharp" ); @@clientName(LocalUserProperties.isNFSv3Enabled, "IsNfsV3Enabled", "csharp"); // SmbSetting/NfsSetting flattened property renames @@clientName(Multichannel.enabled, "IsMultiChannelEnabled", "csharp"); @@clientName(EncryptionInTransit.required, "IsRequired", "csharp"); // BlobInventoryPolicy property rename @@clientName(BlobInventoryPolicyProperties.policy, "PolicySchema", "csharp"); // PrivateEndpointConnection property renames @@clientName( PrivateEndpointConnectionProperties, "StoragePrivateEndpointConnectionProperties", "csharp" ); @@clientName( PrivateEndpointConnectionProperties.privateLinkServiceConnectionState, "ConnectionState", "csharp" ); // ManagementPolicy flattened property access @@clientName(ManagementPolicySchema.rules, "Rules", "csharp"); // @@alternateType decorators for C# backward compat types @@alternateType(ResourceAccessRule.resourceId, armResourceIdentifier, "csharp"); @@alternateType(VirtualNetworkRule.id, armResourceIdentifier, "csharp"); @@alternateType(ResourceAccessRule.tenantId, uuid, "csharp"); @@alternateType(ActiveDirectoryProperties.domainGuid, uuid, "csharp"); @@alternateType(EncryptionScopeKeyVaultProperties.keyUri, url, "csharp"); @@alternateType(KeyVaultProperties.keyvaulturi, url, "csharp"); // Rename DomainGuid → ActiveDirectoryDomainGuid for backward compat @@clientName( ActiveDirectoryProperties.domainGuid, "ActiveDirectoryDomainGuid", "csharp" ); // Rename automaticSnapshotPolicyEnabled on BlobServiceProperties @@clientName( BlobServicePropertiesProperties.automaticSnapshotPolicyEnabled, "IsAutomaticSnapshotPolicyEnabled", "csharp" ); // @@alternateType for Endpoint URL properties (string -> url = System.Uri in C#) @@alternateType(Endpoints.blob, url, "csharp"); @@alternateType(Endpoints.queue, url, "csharp"); @@alternateType(Endpoints.table, url, "csharp"); @@alternateType(Endpoints.file, url, "csharp"); @@alternateType(Endpoints.web, url, "csharp"); @@alternateType(Endpoints.dfs, url, "csharp"); @@alternateType(StorageAccountMicrosoftEndpoints.blob, url, "csharp"); @@alternateType(StorageAccountMicrosoftEndpoints.queue, url, "csharp"); @@alternateType(StorageAccountMicrosoftEndpoints.table, url, "csharp"); @@alternateType(StorageAccountMicrosoftEndpoints.file, url, "csharp"); @@alternateType(StorageAccountMicrosoftEndpoints.web, url, "csharp"); @@alternateType(StorageAccountMicrosoftEndpoints.dfs, url, "csharp"); @@alternateType(StorageAccountInternetEndpoints.blob, url, "csharp"); @@alternateType(StorageAccountInternetEndpoints.file, url, "csharp"); @@alternateType(StorageAccountInternetEndpoints.web, url, "csharp"); @@alternateType(StorageAccountInternetEndpoints.dfs, url, "csharp"); // @@alternateType for ResourceIdentifier properties @@alternateType( DeletedAccountProperties.storageAccountResourceId, armResourceIdentifier, "csharp" ); // NetworkSecurityPerimeter.id stays as string for C# backward compat (old API had string Id) // @@alternateType for Guid properties @@alternateType(NetworkSecurityPerimeter.perimeterGuid, uuid, "csharp"); @@alternateType(TagProperty.tenantId, uuid, "csharp"); // @@clientName for Endpoint property renames @@clientName(Endpoints.blob, "BlobUri", "csharp"); @@clientName(Endpoints.queue, "QueueUri", "csharp"); @@clientName(Endpoints.table, "TableUri", "csharp"); @@clientName(Endpoints.file, "FileUri", "csharp"); @@clientName(Endpoints.web, "WebUri", "csharp"); @@clientName(Endpoints.dfs, "DfsUri", "csharp"); @@clientName(Endpoints.ipv6Endpoints, "IPv6Endpoints", "csharp"); @@clientName(StorageAccountMicrosoftEndpoints.blob, "BlobUri", "csharp"); @@clientName(StorageAccountMicrosoftEndpoints.queue, "QueueUri", "csharp"); @@clientName(StorageAccountMicrosoftEndpoints.table, "TableUri", "csharp"); @@clientName(StorageAccountMicrosoftEndpoints.file, "FileUri", "csharp"); @@clientName(StorageAccountMicrosoftEndpoints.web, "WebUri", "csharp"); @@clientName(StorageAccountMicrosoftEndpoints.dfs, "DfsUri", "csharp"); @@clientName(StorageAccountInternetEndpoints.blob, "BlobUri", "csharp"); @@clientName(StorageAccountInternetEndpoints.file, "FileUri", "csharp"); @@clientName(StorageAccountInternetEndpoints.web, "WebUri", "csharp"); @@clientName(StorageAccountInternetEndpoints.dfs, "DfsUri", "csharp"); // Other property renames @@clientName( DeletedAccountProperties.storageAccountResourceId, "StorageAccountResourceId", "csharp" ); @@clientName(Restriction.type, "RestrictionType", "csharp"); @@clientName(BlobInventoryPolicyFilter.prefixMatch, "IncludePrefix", "csharp"); // Property renames for boolean Is-prefix @@clientName(ContainerProperties.deleted, "IsDeleted", "csharp"); @@clientName(FileShareProperties.deleted, "IsDeleted", "csharp"); @@clientName( CheckNameAvailabilityResult.nameAvailable, "IsNameAvailable", "csharp" ); @@clientName( StorageAccountProperties.accountMigrationInProgress, "IsAccountMigrationInProgress", "csharp" ); @@clientName( StorageAccountProperties.failoverInProgress, "IsFailoverInProgress", "csharp" ); // Property renames for DateTimeOffset On-suffix @@clientName( AccountSasParameters.signedExpiry, "SharedAccessExpireOn", "csharp" ); @@clientName(StorageTaskReportProperties.startTime, "StartedOn", "csharp"); @@clientName(StorageTaskReportProperties.finishTime, "FinishedOn", "csharp"); @@clientName(DeletedAccountProperties.creationTime, "CreatedOn", "csharp"); @@clientName(DeletedAccountProperties.deletionTime, "DeletedOn", "csharp"); // Property renames for Iops casing @@clientName(BurstingConstants.burstFloorIOPS, "BurstFloorIops", "csharp"); @@clientName(FileShareRecommendations.baseIOPS, "BaseIops", "csharp"); // Rename network rule set properties for IPRules/IPv6Rules @@clientName(NetworkRuleSet.ipRules, "IPRules", "csharp"); @@clientName(NetworkRuleSet.ipv6Rules, "IPv6Rules", "csharp"); // AllowedCopyScope member rename @@clientName(AllowedCopyScope.AAD, "Aad", "csharp"); // DeletedAccountProperties location needs AzureLocation type @@alternateType( DeletedAccountProperties.location, Azure.Core.azureLocation, "csharp" ); @@alternateType( StorageAccountProperties.primaryLocation, Azure.Core.azureLocation, "csharp" ); @@alternateType( StorageAccountProperties.secondaryLocation, Azure.Core.azureLocation, "csharp" ); @@alternateType( NetworkSecurityPerimeter.location, Azure.Core.azureLocation, "csharp" ); // Fix IOPS casing: IOPS → Iops for backward compat @@clientName(AccountLimits.maxProvisionedIOPS, "MaxProvisionedIops", "csharp"); @@clientName( FileShareLimits.maxProvisionedIOPS, "MaxProvisionedIops", "csharp" ); @@clientName( FileShareLimits.minProvisionedIOPS, "MinProvisionedIops", "csharp" ); @@clientName(AccountUsageElements.provisionedIOPS, "ProvisionedIops", "csharp"); // Fix UpdateHistoryProperty.update → UpdateType for backward compat @@clientName(UpdateHistoryProperty.update, "UpdateType", "csharp"); // Fix Location type on create parameters @@alternateType( StorageAccountCreateParameters.location, Azure.Core.azureLocation, "csharp" ); // Fix CheckNameAvailabilityParameters.type → ResourceType with proper type @@clientName( StorageAccountCheckNameAvailabilityParameters.type, "ResourceType", "csharp" ); // Fix location types to AzureLocation @@alternateType( SkuInformationLocationInfoItem.location, Azure.Core.azureLocation, "csharp" ); @@alternateType( DeletedAccountProperties.location, Azure.Core.azureLocation, "csharp" ); // ===== C# backward-compat fixes for MPG migration ===== #suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "Back compatibility" @@Azure.ClientGenerator.Core.Legacy.hierarchyBuilding( StorageTaskAssignment, Azure.ResourceManager.CommonTypes.ProxyResource, "csharp" ); // Fix ETag type on resource envelope properties (old SDK had ETag?) @@alternateType(BlobContainer.etag, Azure.Core.eTag, "csharp"); @@alternateType(FileShare.etag, Azure.Core.eTag, "csharp"); @@alternateType(ImmutabilityPolicy.etag, Azure.Core.eTag, "csharp"); // ImmutabilityPolicyProperties (renamed to BlobContainerImmutabilityPolicy) has its own etag @@alternateType(ImmutabilityPolicyProperties.etag, Azure.Core.eTag, "csharp"); // Fix Identity type: old SDK used ManagedServiceIdentity from ARM common types @@alternateType( StorageAccount.identity, Azure.ResourceManager.CommonTypes.ManagedServiceIdentity, "csharp" ); @@alternateType( StorageAccountCreateParameters.identity, Azure.ResourceManager.CommonTypes.ManagedServiceIdentity, "csharp" ); @@alternateType( StorageAccountUpdateParameters.identity, Azure.ResourceManager.CommonTypes.ManagedServiceIdentity, "csharp" ); // Fix ExtendedLocation type: old SDK used ExtendedLocation from ARM common types @@alternateType( StorageAccount.extendedLocation, Azure.ResourceManager.CommonTypes.ExtendedLocation, "csharp" ); @@alternateType( StorageAccountCreateParameters.extendedLocation, Azure.ResourceManager.CommonTypes.ExtendedLocation, "csharp" ); // Fix IPRule/VirtualNetworkRule Action type: old SDK had StorageAccountNetworkRuleAction? @@clientName(Action, "StorageAccountNetworkRuleAction", "csharp"); @@alternateType(IPRule.action, Action, "csharp"); @@alternateType(VirtualNetworkRule.action, Action, "csharp"); // Fix StorageTaskReportProperties date types: old SDK had DateTimeOffset? @@alternateType(StorageTaskReportProperties.startTime, utcDateTime, "csharp"); @@alternateType(StorageTaskReportProperties.finishTime, utcDateTime, "csharp"); // Fix DeletedAccountProperties date types: old SDK had DateTimeOffset? (CreatedOn/DeletedOn) @@alternateType(DeletedAccountProperties.creationTime, utcDateTime, "csharp"); @@alternateType(DeletedAccountProperties.deletionTime, utcDateTime, "csharp"); // Fix StorageAccountSkuConversionStatus date types: old SDK had DateTimeOffset? (StartOn/EndOn) @@alternateType( StorageAccountSkuConversionStatus.startTime, utcDateTime, "csharp" ); @@alternateType( StorageAccountSkuConversionStatus.endTime, utcDateTime, "csharp" ); // Fix UpdateHistoryEntry.TenantId: old SDK had Guid? @@alternateType(UpdateHistoryProperty.tenantId, uuid, "csharp"); // @@clientName for enum value backward compatibility (old GA used PascalCase C# conventions) // CorsRuleAllowedMethod: UPPERCASE -> PascalCase @@clientName(AllowedMethods.DELETE, "Delete", "csharp"); @@clientName(AllowedMethods.GET, "Get", "csharp"); @@clientName(AllowedMethods.HEAD, "Head", "csharp"); @@clientName(AllowedMethods.MERGE, "Merge", "csharp"); @@clientName(AllowedMethods.POST, "Post", "csharp"); @@clientName(AllowedMethods.OPTIONS, "Options", "csharp"); @@clientName(AllowedMethods.PUT, "Put", "csharp"); @@clientName(AllowedMethods.PATCH, "Patch", "csharp"); @@clientName(AllowedMethods.CONNECT, "Connect", "csharp"); @@clientName(AllowedMethods.TRACE, "Trace", "csharp"); // SkuName (StorageSkuName): Remove underscores @@clientName(SkuName.Standard_LRS, "StandardLrs", "csharp"); @@clientName(SkuName.Standard_GRS, "StandardGrs", "csharp"); @@clientName(SkuName.Standard_RAGRS, "StandardRagrs", "csharp"); @@clientName(SkuName.Standard_ZRS, "StandardZrs", "csharp"); @@clientName(SkuName.Premium_LRS, "PremiumLrs", "csharp"); @@clientName(SkuName.Premium_ZRS, "PremiumZrs", "csharp"); @@clientName(SkuName.Standard_GZRS, "StandardGzrs", "csharp"); @@clientName(SkuName.Standard_RAGZRS, "StandardRagzrs", "csharp"); @@clientName(SkuName.StandardV2_LRS, "StandardV2Lrs", "csharp"); @@clientName(SkuName.StandardV2_GRS, "StandardV2Grs", "csharp"); @@clientName(SkuName.StandardV2_ZRS, "StandardV2Zrs", "csharp"); @@clientName(SkuName.StandardV2_GZRS, "StandardV2Gzrs", "csharp"); @@clientName(SkuName.PremiumV2_LRS, "PremiumV2Lrs", "csharp"); @@clientName(SkuName.PremiumV2_ZRS, "PremiumV2Zrs", "csharp"); // DefaultSharePermission: Shorten verbose names @@clientName( DefaultSharePermission.StorageFileDataSmbShareContributor, "Contributor", "csharp" ); @@clientName( DefaultSharePermission.StorageFileDataSmbShareElevatedContributor, "ElevatedContributor", "csharp" ); @@clientName( DefaultSharePermission.StorageFileDataSmbShareReader, "Reader", "csharp" ); // DirectoryServiceOptions: Fix acronym casing @@clientName(DirectoryServiceOptions.AADDS, "Aadds", "csharp"); @@clientName(DirectoryServiceOptions.AADKERB, "Aadkerb", "csharp"); // EncryptionScopeSource: Shorten dotted names @@clientName(EncryptionScopeSource.`Microsoft.KeyVault`, "KeyVault", "csharp"); @@clientName(EncryptionScopeSource.`Microsoft.Storage`, "Storage", "csharp"); // EnabledProtocols (FileShareEnabledProtocol): Fix acronym casing @@clientName(EnabledProtocols.SMB, "Smb", "csharp"); @@clientName(EnabledProtocols.NFS, "Nfs", "csharp"); // PostFailoverRedundancy: Remove underscores @@clientName(PostFailoverRedundancy.Standard_LRS, "StandardLrs", "csharp"); @@clientName(PostFailoverRedundancy.Standard_ZRS, "StandardZrs", "csharp"); // PostPlannedFailoverRedundancy: Remove underscores @@clientName( PostPlannedFailoverRedundancy.Standard_GRS, "StandardGrs", "csharp" ); @@clientName( PostPlannedFailoverRedundancy.Standard_GZRS, "StandardGzrs", "csharp" ); @@clientName( PostPlannedFailoverRedundancy.Standard_RAGRS, "StandardRagrs", "csharp" ); @@clientName( PostPlannedFailoverRedundancy.Standard_RAGZRS, "StandardRagzrs", "csharp" ); // SignedResource (ServiceSasSignedResourceType): Single-letter -> descriptive names @@clientName(SignedResource.b, "Blob", "csharp"); @@clientName(SignedResource.c, "Container", "csharp"); @@clientName(SignedResource.f, "File", "csharp"); @@clientName(SignedResource.s, "Share", "csharp"); // KeySource (StorageAccountKeySource): Shorten dotted names @@clientName(KeySource.`Microsoft.Keyvault`, "KeyVault", "csharp"); @@clientName(KeySource.`Microsoft.Storage`, "Storage", "csharp"); // Fix ProvisioningState.ResolvingDNS casing to match prior GA (ResolvingDns) @@clientName(ProvisioningState.ResolvingDNS, "ResolvingDns", "csharp"); // Fix Action.ALLOW casing to match prior GA (Allow) @@clientName(Action.ALLOW, "Allow", "csharp"); // Fix CheckNameAvailabilityParameters.type to Azure.Core.armResourceType (maps to C# ResourceType) @@alternateType( StorageAccountCheckNameAvailabilityParameters.type, Azure.Core.armResourceType, "csharp" ); // Fix paged types to match prior GA (Azure.Pageable in C#) @@alternateType(FileShareItem, FileShare, "csharp"); @@alternateType(ListQueue, StorageQueue, "csharp"); @@alternateType(ListContainerItem, BlobContainer, "csharp"); @@usage( StorageAccount, | Azure.ClientGenerator.Core.Usage.input | Azure.ClientGenerator.Core.Usage.output, "java" ); // TODO: drop the type replacement upon next major breaking change @@alternateType(IPRule.action, Action, "java"); @@alternateType(VirtualNetworkRule.action, Action, "java"); @@alternateType(TriggerParameters.intervalUnit, IntervalUnitEnum, "java"); @@alternateType(TriggerParametersUpdate.intervalUnit, IntervalUnitEnum, "java"); @@alternateType(ExecutionTrigger.type, TriggerTypeEnum, "java"); @@alternateType(ExecutionTriggerUpdate.type, TriggerTypeEnum, "java"); #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" #suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" enum Action { ALLOW: "Allow", } #suppress "@azure-tools/typespec-azure-core/no-enum" "Backward compatibility for Java SDK by using enum in place of string union type" #suppress "@azure-tools/typespec-azure-core/documentation-required" "Mirror enum for backward compatibility" enum IntervalUnitEnum { Days: "Days", } @@clientName(IntervalUnitEnum, "IntervalUnit", "java"); #suppress "@azure-tools/typespec-azure-core/no-enum" "Backward compatibility for Java SDK by using enum in place of string union type" #suppress "@azure-tools/typespec-azure-core/documentation-required" "Mirror enum for backward compatibility" enum TriggerTypeEnum { RunOnce: "RunOnce", OnSchedule: "OnSchedule", MockRun: "MockRun", } @@clientName(TriggerTypeEnum, "TriggerType", "java"); // Mitigate ProvisioningState split: merge values from ProvisioningState and StorageTaskAssignmentProvisioningState @@clientName(ProvisioningState, "StorageProvisioningState", "java"); #suppress "@azure-tools/typespec-azure-core/no-enum" "Backward compatibility for Java SDK by merging ProvisioningState values" #suppress "@azure-tools/typespec-azure-core/documentation-required" "Mirror enum for backward compatibility" enum ProvisioningStateEnum { Creating: "Creating", ResolvingDNS: "ResolvingDNS", Succeeded: "Succeeded", ValidateSubscriptionQuotaBegin: "ValidateSubscriptionQuotaBegin", ValidateSubscriptionQuotaEnd: "ValidateSubscriptionQuotaEnd", Accepted: "Accepted", Deleting: "Deleting", Canceled: "Canceled", Failed: "Failed", } @@clientName(ProvisioningStateEnum, "ProvisioningState", "java"); @@alternateType( StorageAccountProperties.provisioningState, ProvisioningStateEnum, "java" ); @@alternateType( StorageTaskAssignmentProperties.provisioningState, ProvisioningStateEnum, "java" ); @@alternateType( StorageTaskAssignmentUpdateProperties.provisioningState, ProvisioningStateEnum, "java" ); // CSharp SDK: Preserve API compatibility — output-only models were previously round-trip @@usage( ImmutabilityPolicyProperties, Azure.ClientGenerator.Core.Usage.input, "csharp" ); @@usage(BlobRestoreStatus, Azure.ClientGenerator.Core.Usage.input, "csharp"); @@usage(GeoReplicationStats, Azure.ClientGenerator.Core.Usage.input, "csharp"); @@usage(LegalHoldProperties, Azure.ClientGenerator.Core.Usage.input, "csharp"); @@usage(TagProperty, Azure.ClientGenerator.Core.Usage.input, "csharp"); @@usage( ProtectedAppendWritesHistory, Azure.ClientGenerator.Core.Usage.input, "csharp" ); @@usage(Endpoints, Azure.ClientGenerator.Core.Usage.input, "csharp"); @@usage( StorageAccountInternetEndpoints, Azure.ClientGenerator.Core.Usage.input, "csharp" ); @@usage( StorageAccountIpv6Endpoints, Azure.ClientGenerator.Core.Usage.input, "csharp" ); @@usage(KeyCreationTime, Azure.ClientGenerator.Core.Usage.input, "csharp"); @@usage( StorageAccountMicrosoftEndpoints, Azure.ClientGenerator.Core.Usage.input, "csharp" ); @@usage( UpdateHistoryProperty, Azure.ClientGenerator.Core.Usage.input, "csharp" );