[AutoPR Azure.ResourceManager.Confluent]-generated-from-SDK Generation - .NET-5858325#55617
[AutoPR Azure.ResourceManager.Confluent]-generated-from-SDK Generation - .NET-5858325#55617azure-sdk wants to merge 4 commits intoAzure:mainfrom
Conversation
…ig.yaml', API Version: 2025-08-18-preview, SDK Release Type: beta, and CommitSHA: '37e381cdb441a1370593507d94157f3f6a57a154' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=5858325 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.
There was a problem hiding this comment.
Pull request overview
This AutoPR updates Azure.ResourceManager.Confluent to the 2025-08-18-preview API version using the TypeSpec-based generation inputs, replacing older AutoRest-era configuration and regenerating the SDK’s generated models/operations accordingly.
Changes:
- Add
tsp-location.yamlto pin the TypeSpec source location/commit for future regeneration. - Regenerate Confluent ARM SDK code for 2025-08-18-preview (new resources/models/serialization/rest ops; updated API version constants).
- Remove legacy AutoRest config (
autorest.md) and older generated sample tests.
Reviewed changes
Copilot reviewed 1 out of 113 changed files in this pull request and generated 11 comments.
Show a summary per file
| File | Description |
|---|---|
| sdk/confluent/Azure.ResourceManager.Confluent/tsp-location.yaml | Adds TypeSpec source location/commit pin for regeneration. |
| sdk/confluent/Azure.ResourceManager.Confluent/tests/Generated/Samples/Sample_SubscriptionResourceExtensions.cs | Removes older generated samples (legacy API/examples). |
| sdk/confluent/Azure.ResourceManager.Confluent/tests/Generated/Samples/Sample_ResourceGroupResourceExtensions.cs | Removes older generated samples (legacy API/examples). |
| sdk/confluent/Azure.ResourceManager.Confluent/tests/Generated/Samples/Sample_SCClusterRecordResource.cs | Adds new generated sample for SCClusterRecord API key creation. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/autorest.md | Removes legacy AutoRest generation configuration. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/TopicRecordResource.Serialization.cs | Adds new resource JSON/persistable model plumbing. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/TopicRecordData.cs | Adds new TopicRecord resource data model. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/SCEnvironmentRecordResource.Serialization.cs | Adds new resource JSON/persistable model plumbing. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/SCEnvironmentRecordData.cs | Adds new environment record resource data model. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/SCClusterRecordResource.Serialization.cs | Adds new resource JSON/persistable model plumbing. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/SCClusterRecordData.cs | Updates cluster record to a ResourceData-based model in main namespace. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/RestOperations/ValidationsOperationGroupRestOperations.cs | Renames/restyles validations REST ops and bumps API version to 2025-08-18-preview. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/RestOperations/OrganizationResourceRoleBindingIdActionsRestOperations.cs | Adds REST operations for role binding delete action. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/UnknownPartnerInfoBase.cs | Adds “unknown discriminator” proxy implementation for PartnerInfoBase. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/UnknownPartnerInfoBase.Serialization.cs | Adds serialization/deserialization for unknown PartnerInfoBase discriminator. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/UnknownConnectorServiceTypeInfoBase.cs | Adds “unknown discriminator” proxy implementation for ConnectorServiceTypeInfoBase. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/UnknownConnectorServiceTypeInfoBase.Serialization.cs | Adds serialization/deserialization for unknown ConnectorServiceTypeInfoBase discriminator. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/TopicsRelatedLink.cs | Adds internal helper model for “related” links on topic resources. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/TopicsRelatedLink.Serialization.cs | Adds serialization/deserialization for TopicsRelatedLink. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/TopicsInputConfig.cs | Introduces TopicsInputConfig model. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/TopicsInputConfig.Serialization.cs | Adds serialization/deserialization for TopicsInputConfig. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/TopicMetadataEntity.cs | Adds topic metadata model. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/TopicMetadataEntity.Serialization.cs | Adds serialization/deserialization for TopicMetadataEntity. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/StreamGovernanceConfig.cs | Adds internal stream governance config model. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/StreamGovernanceConfig.Serialization.cs | Adds serialization/deserialization for StreamGovernanceConfig. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/SCMetadataEntity.cs | Adjusts SCMetadataEntity constructor/properties for new generation style. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/SCClusterSpecEntity.cs | Adds Package support + makes properties settable for model updates. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/SCClusterSpecEntity.Serialization.cs | Adds serialization support for Package field. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/SCClusterNetworkEnvironmentEntity.cs | Makes properties settable (new generation style). |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/SCClusterByokEntity.cs | Makes properties settable (new generation style). |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/PartnerInfoBase.cs | Adds polymorphic base model for partner connector info. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/PartnerInfoBase.Serialization.cs | Adds discriminator-based serialization/deserialization for PartnerInfoBase. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/PartnerConnectorType.cs | Adds discriminator enum-like struct for partnerConnectorType. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/Package.cs | Adds enum-like struct for stream governance package. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/OrganizationResourceListResult.cs | Adds internal paged list result model for organization resources. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/OrganizationResourceListResult.Serialization.cs | Adds serialization/deserialization for OrganizationResourceListResult. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/ListTopicsSuccessResponse.cs | Adds internal paged list result model for topics. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/ListTopicsSuccessResponse.Serialization.cs | Adds serialization/deserialization for ListTopicsSuccessResponse. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/ListSchemaRegistryClustersResponse.cs | Updates schema registry clusters list result to support Uri nextLink + IEnumerable ctor. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/ListSchemaRegistryClustersResponse.Serialization.cs | Updates serialization/deserialization for Uri nextLink and array handling. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/ListConnectorsSuccessResponse.cs | Adds internal paged list result model for connectors. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/ListConnectorsSuccessResponse.Serialization.cs | Adds serialization/deserialization for ListConnectorsSuccessResponse. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/ListClustersSuccessResponse.cs | Updates clusters list result to use SCClusterRecordData + Uri nextLink + IEnumerable ctor. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/ListClustersSuccessResponse.Serialization.cs | Updates serialization/deserialization for SCClusterRecordData list result. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/KafkaAzureSynapseAnalyticsSinkConnectorInfo.cs | Adds derived PartnerInfoBase model for Synapse sink connector. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/KafkaAzureCosmosDBSourceConnectorInfo.cs | Adds derived PartnerInfoBase model for Cosmos DB source connector. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/KafkaAzureCosmosDBSinkConnectorInfo.cs | Adds derived PartnerInfoBase model for Cosmos DB sink connector. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/KafkaAzureBlobStorageSourceConnectorInfo.cs | Adds derived PartnerInfoBase model for Blob source connector. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/KafkaAzureBlobStorageSinkConnectorInfo.cs | Adds derived PartnerInfoBase model for Blob sink connector. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/GetEnvironmentsResponse.cs | Updates environments list result to use SCEnvironmentRecordData + Uri nextLink + IEnumerable ctor. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/GetEnvironmentsResponse.Serialization.cs | Updates serialization/deserialization for GetEnvironmentsResponse. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/DataFormatType.cs | Adds enum-like struct for data format type. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/ConnectorType.cs | Adds enum-like struct for connector type. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/ConnectorStatus.cs | Adds enum-like struct for connector status. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/ConnectorServiceTypeInfoBase.cs | Adds polymorphic base model for connector service type info. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/ConnectorServiceTypeInfoBase.Serialization.cs | Adds discriminator-based serialization/deserialization for ConnectorServiceTypeInfoBase. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/ConnectorServiceType.cs | Adds enum-like struct for connector service type discriminator. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/ConnectorInfoBase.cs | Adds connector info base model (connectorBasicInfo). |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/ConnectorInfoBase.Serialization.cs | Adds serialization/deserialization for ConnectorInfoBase. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/ConnectorClass.cs | Adds enum-like struct for connector class. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/ConfluentAgreementListResult.cs | Updates agreement list result to use Uri nextLink + IEnumerable ctor. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/ConfluentAgreementListResult.Serialization.cs | Updates serialization/deserialization for ConfluentAgreementListResult. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/ClusterStatusEntity.cs | Makes properties settable (new generation style). |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/ClusterConfigEntity.cs | Makes Kind settable (new generation style). |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/AzureSynapseAnalyticsSinkConnectorServiceInfo.cs | Adds derived ConnectorServiceTypeInfoBase model for Synapse sink. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/AzureSynapseAnalyticsSinkConnectorServiceInfo.Serialization.cs | Adds serialization/deserialization for AzureSynapseAnalyticsSinkConnectorServiceInfo. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/AzureResourceManagerConfluentContext.cs | Registers new models for ModelReaderWriterContext. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/AzureCosmosDBSourceConnectorServiceInfo.cs | Adds derived ConnectorServiceTypeInfoBase model for Cosmos DB source. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/AzureCosmosDBSinkConnectorServiceInfo.cs | Adds derived ConnectorServiceTypeInfoBase model for Cosmos DB sink. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/AzureCosmosDBSinkConnectorServiceInfo.Serialization.cs | Adds serialization/deserialization for AzureCosmosDBSinkConnectorServiceInfo. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/AzureBlobStorageSourceConnectorServiceInfo.cs | Adds derived ConnectorServiceTypeInfoBase model for Blob source. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/AzureBlobStorageSourceConnectorServiceInfo.Serialization.cs | Adds serialization/deserialization for AzureBlobStorageSourceConnectorServiceInfo. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/AzureBlobStorageSinkConnectorServiceInfo.cs | Adds derived ConnectorServiceTypeInfoBase model for Blob sink. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/AzureBlobStorageSinkConnectorServiceInfo.Serialization.cs | Adds serialization/deserialization for AzureBlobStorageSinkConnectorServiceInfo. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Models/AuthType.cs | Adds enum-like struct for connector auth type. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/Extensions/MockableConfluentArmClient.cs | Adds getters for newly generated resources. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/ConnectorResourceData.cs | Adds ConnectorResourceData ResourceData model. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/ConnectorResourceData.Serialization.cs | Adds serialization/deserialization for ConnectorResourceData. |
| sdk/confluent/Azure.ResourceManager.Confluent/src/Generated/ConnectorResource.Serialization.cs | Adds ConnectorResource resource JSON/persistable model plumbing. |
| [PersistableModelProxy(typeof(UnknownPartnerInfoBase))] | ||
| public partial class PartnerInfoBase : IUtf8JsonSerializable, IJsonModel<PartnerInfoBase> | ||
| { |
There was a problem hiding this comment.
PartnerInfoBase is declared as abstract in PartnerInfoBase.cs, but this partial declaration is missing the abstract modifier. Partial type declarations must match modifiers; as-is this will not compile. Make this declaration public abstract partial class PartnerInfoBase (and keep the implemented interfaces).
| [PersistableModelProxy(typeof(UnknownConnectorServiceTypeInfoBase))] | ||
| public partial class ConnectorServiceTypeInfoBase : IUtf8JsonSerializable, IJsonModel<ConnectorServiceTypeInfoBase> | ||
| { |
There was a problem hiding this comment.
ConnectorServiceTypeInfoBase is declared as abstract in ConnectorServiceTypeInfoBase.cs, but this partial declaration is missing the abstract modifier. Partial type declarations must match modifiers; as-is this will not compile. Update this to public abstract partial class ConnectorServiceTypeInfoBase.
| if (property.NameEquals("nextLink"u8)) | ||
| { | ||
| nextLink = property.Value.GetString(); | ||
| if (property.Value.ValueKind == JsonValueKind.Null) | ||
| { | ||
| continue; | ||
| } | ||
| nextLink = new Uri(property.Value.GetString()); | ||
| continue; |
There was a problem hiding this comment.
nextLink is deserialized with new Uri(property.Value.GetString()) without guarding for empty string. If the service returns nextLink: "" (common when there is no next page), this will throw and break paging. Add a string.IsNullOrEmpty(...) check and treat empty as null.
| serializedAdditionalRawData = rawDataDictionary; | ||
| return new ListSchemaRegistryClustersResponse(value ?? new ChangeTrackingList<SchemaRegistryClusterRecord>(), nextLink, serializedAdditionalRawData); | ||
| return new ListSchemaRegistryClustersResponse(value, nextLink, serializedAdditionalRawData); |
There was a problem hiding this comment.
value is passed through as-is when deserializing. If the value property is missing or null, Value becomes null and later enumeration can throw. Default value to an empty list before constructing the model (similar to other generated list result models).
| if (property.NameEquals("nextLink"u8)) | ||
| { | ||
| nextLink = property.Value.GetString(); | ||
| if (property.Value.ValueKind == JsonValueKind.Null) | ||
| { | ||
| continue; | ||
| } | ||
| nextLink = new Uri(property.Value.GetString()); | ||
| continue; |
There was a problem hiding this comment.
nextLink is deserialized with new Uri(property.Value.GetString()) without guarding for empty string. If the service returns nextLink: "" when there is no next page, this will throw. Add a string.IsNullOrEmpty(...) check and treat empty as null.
| additionalDirectories: | ||
|
|
There was a problem hiding this comment.
In tsp-location.yaml, additionalDirectories: is present but has no value. In other tsp-location.yaml files this is either omitted or set to an explicit empty array (additionalDirectories: []). Keeping it empty can be parsed differently by YAML tooling and is harder to reason about—please either remove the key or set it to [] (or a list of directories if needed).
| serializedAdditionalRawData = rawDataDictionary; | ||
| return new ListClustersSuccessResponse(value ?? new ChangeTrackingList<SCClusterRecord>(), nextLink, serializedAdditionalRawData); | ||
| return new ListClustersSuccessResponse(value, nextLink, serializedAdditionalRawData); |
There was a problem hiding this comment.
value is passed through as-is when deserializing. If the value property is missing or null, Value becomes null and later enumeration (including serialization) can throw. Default value to an empty list before constructing the response model.
| if (property.NameEquals("nextLink"u8)) | ||
| { | ||
| nextLink = property.Value.GetString(); | ||
| if (property.Value.ValueKind == JsonValueKind.Null) | ||
| { | ||
| continue; | ||
| } | ||
| nextLink = new Uri(property.Value.GetString()); | ||
| continue; |
There was a problem hiding this comment.
nextLink is deserialized with new Uri(property.Value.GetString()) without guarding for empty string. If the service returns an empty nextLink when paging ends, this will throw. Add a string.IsNullOrEmpty(...) check and treat empty as null.
| { | ||
| continue; | ||
| } | ||
| nextLink = new Uri(property.Value.GetString()); |
There was a problem hiding this comment.
nextLink is deserialized with new Uri(property.Value.GetString()) without guarding for empty string. If the service returns an empty nextLink when paging ends, this will throw. Add a string.IsNullOrEmpty(...) check and treat empty as null.
| nextLink = new Uri(property.Value.GetString()); | |
| var nextLinkString = property.Value.GetString(); | |
| if (string.IsNullOrEmpty(nextLinkString)) | |
| { | |
| continue; | |
| } | |
| nextLink = new Uri(nextLinkString); |
| @@ -117,7 +114,7 @@ internal static ConfluentAgreementListResult DeserializeConfluentAgreementListRe | |||
| } | |||
| } | |||
There was a problem hiding this comment.
value is passed through as-is when deserializing. If the value property is missing or null, Value becomes null and later enumeration can throw. Default value to an empty list before constructing the model.
| } | |
| } | |
| value ??= new List<ConfluentAgreement>(); |
API Change CheckAPIView identified API level changes in this PR and created the following API reviews |
|
@m-redding, @jsquire, @ArthurMa1978, @ArcturusZhang Please review this PR |
Configurations: 'specification/confluent/Confluent.Management/tspconfig.yaml', API Version: 2025-08-18-preview, SDK Release Type: beta, and CommitSHA: '37e381cdb441a1370593507d94157f3f6a57a154' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=5858325 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.