diff --git a/sdk/resourcemanager/ci.mgmt.yml b/sdk/resourcemanager/ci.mgmt.yml index d8bf790b5988..f28c28a5d39c 100644 --- a/sdk/resourcemanager/ci.mgmt.yml +++ b/sdk/resourcemanager/ci.mgmt.yml @@ -79,7 +79,6 @@ trigger: - sdk/dnsresolver/Azure.ResourceManager.DnsResolver - sdk/dynatrace/Azure.ResourceManager.Dynatrace - sdk/edgeorder/Azure.ResourceManager.EdgeOrder - - sdk/iotoperations/Azure.ResourceManager.IotOperations - sdk/edgezones/Azure.ResourceManager.EdgeZones - sdk/elastic/Azure.ResourceManager.Elastic - sdk/elasticsan/Azure.ResourceManager.ElasticSan @@ -108,6 +107,7 @@ trigger: - sdk/iot/Azure.ResourceManager.IotFirmwareDefense - sdk/iotcentral/Azure.ResourceManager.IotCentral - sdk/iothub/Azure.ResourceManager.IotHub + - sdk/iotoperations/Azure.ResourceManager.IotOperations - sdk/keyvault/Azure.ResourceManager.KeyVault - sdk/kubernetesconfiguration/Azure.ResourceManager.KubernetesConfiguration - sdk/kusto/Azure.ResourceManager.Kusto @@ -285,7 +285,6 @@ pr: - sdk/dnsresolver/Azure.ResourceManager.DnsResolver - sdk/dynatrace/Azure.ResourceManager.Dynatrace - sdk/edgeorder/Azure.ResourceManager.EdgeOrder - - sdk/iotoperations/Azure.ResourceManager.IotOperations - sdk/edgezones/Azure.ResourceManager.EdgeZones - sdk/elastic/Azure.ResourceManager.Elastic - sdk/elasticsan/Azure.ResourceManager.ElasticSan @@ -314,6 +313,7 @@ pr: - sdk/iot/Azure.ResourceManager.IotFirmwareDefense - sdk/iotcentral/Azure.ResourceManager.IotCentral - sdk/iothub/Azure.ResourceManager.IotHub + - sdk/iotoperations/Azure.ResourceManager.IotOperations - sdk/keyvault/Azure.ResourceManager.KeyVault - sdk/kubernetesconfiguration/Azure.ResourceManager.KubernetesConfiguration - sdk/kusto/Azure.ResourceManager.Kusto diff --git a/sdk/subscription/Azure.ResourceManager.Subscription/api/Azure.ResourceManager.Subscription.net8.0.cs b/sdk/subscription/Azure.ResourceManager.Subscription/api/Azure.ResourceManager.Subscription.net8.0.cs index bcbc72f7973b..683abcab8cbe 100644 --- a/sdk/subscription/Azure.ResourceManager.Subscription/api/Azure.ResourceManager.Subscription.net8.0.cs +++ b/sdk/subscription/Azure.ResourceManager.Subscription/api/Azure.ResourceManager.Subscription.net8.0.cs @@ -101,6 +101,8 @@ public static partial class SubscriptionExtensions public static System.Threading.Tasks.Task> GetSubscriptionAliasAsync(this Azure.ResourceManager.Resources.TenantResource tenantResource, string aliasName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } public static Azure.ResourceManager.Subscription.SubscriptionAliasCollection GetSubscriptionAliases(this Azure.ResourceManager.Resources.TenantResource tenantResource) { throw null; } public static Azure.ResourceManager.Subscription.SubscriptionAliasResource GetSubscriptionAliasResource(this Azure.ResourceManager.ArmClient client, Azure.Core.ResourceIdentifier id) { throw null; } + public static Azure.Response GetSubscriptionOperation(this Azure.ResourceManager.Resources.TenantResource tenantResource, string operationId, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } + public static System.Threading.Tasks.Task> GetSubscriptionOperationAsync(this Azure.ResourceManager.Resources.TenantResource tenantResource, string operationId, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } public static Azure.ResourceManager.Subscription.TenantPolicyResource GetTenantPolicy(this Azure.ResourceManager.Resources.TenantResource tenantResource) { throw null; } public static Azure.ResourceManager.Subscription.TenantPolicyResource GetTenantPolicyResource(this Azure.ResourceManager.ArmClient client, Azure.Core.ResourceIdentifier id) { throw null; } public static Azure.Response RenameSubscription(this Azure.ResourceManager.Resources.SubscriptionResource subscriptionResource, Azure.ResourceManager.Subscription.Models.SubscriptionName body, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } @@ -167,6 +169,8 @@ protected MockableSubscriptionTenantResource() { } public virtual Azure.Response GetSubscriptionAlias(string aliasName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } public virtual System.Threading.Tasks.Task> GetSubscriptionAliasAsync(string aliasName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } public virtual Azure.ResourceManager.Subscription.SubscriptionAliasCollection GetSubscriptionAliases() { throw null; } + public virtual Azure.Response GetSubscriptionOperation(string operationId, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } + public virtual System.Threading.Tasks.Task> GetSubscriptionOperationAsync(string operationId, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } public virtual Azure.ResourceManager.Subscription.TenantPolicyResource GetTenantPolicy() { throw null; } } } @@ -263,6 +267,7 @@ public static partial class ArmSubscriptionModelFactory public static Azure.ResourceManager.Subscription.Models.ServiceTenant ServiceTenant(System.Guid? tenantId = default(System.Guid?), string tenantName = null) { throw null; } public static Azure.ResourceManager.Subscription.SubscriptionAliasData SubscriptionAliasData(Azure.Core.ResourceIdentifier id = null, string name = null, Azure.Core.ResourceType resourceType = default(Azure.Core.ResourceType), Azure.ResourceManager.Models.SystemData systemData = null, Azure.ResourceManager.Subscription.Models.SubscriptionAliasProperties properties = null) { throw null; } public static Azure.ResourceManager.Subscription.Models.SubscriptionAliasProperties SubscriptionAliasProperties(string subscriptionId = null, string displayName = null, Azure.ResourceManager.Subscription.Models.SubscriptionProvisioningState? provisioningState = default(Azure.ResourceManager.Subscription.Models.SubscriptionProvisioningState?), System.Uri acceptOwnershipUri = null, Azure.ResourceManager.Subscription.Models.AcceptOwnershipState? acceptOwnershipState = default(Azure.ResourceManager.Subscription.Models.AcceptOwnershipState?), string billingScope = null, Azure.ResourceManager.Subscription.Models.SubscriptionWorkload? workload = default(Azure.ResourceManager.Subscription.Models.SubscriptionWorkload?), string resellerId = null, string subscriptionOwnerId = null, string managementGroupId = null, System.DateTimeOffset? createdOn = default(System.DateTimeOffset?), System.Collections.Generic.IReadOnlyDictionary tags = null) { throw null; } + public static Azure.ResourceManager.Subscription.Models.SubscriptionCreationResult SubscriptionCreationResult(string subscriptionLink = null) { throw null; } public static Azure.ResourceManager.Subscription.TenantPolicyData TenantPolicyData(Azure.Core.ResourceIdentifier id = null, string name = null, Azure.Core.ResourceType resourceType = default(Azure.Core.ResourceType), Azure.ResourceManager.Models.SystemData systemData = null, Azure.ResourceManager.Subscription.Models.TenantPolicyProperties properties = null) { throw null; } public static Azure.ResourceManager.Subscription.Models.TenantPolicyProperties TenantPolicyProperties(string policyId = null, bool? blockSubscriptionsLeavingTenant = default(bool?), bool? blockSubscriptionsIntoTenant = default(bool?), System.Collections.Generic.IEnumerable exemptedPrincipals = null) { throw null; } } @@ -375,6 +380,17 @@ protected virtual void JsonModelWriteCore(System.Text.Json.Utf8JsonWriter writer string System.ClientModel.Primitives.IPersistableModel.GetFormatFromOptions(System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; } System.BinaryData System.ClientModel.Primitives.IPersistableModel.Write(System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; } } + public partial class SubscriptionCreationResult : System.ClientModel.Primitives.IJsonModel, System.ClientModel.Primitives.IPersistableModel + { + internal SubscriptionCreationResult() { } + public string SubscriptionLink { get { throw null; } } + protected virtual void JsonModelWriteCore(System.Text.Json.Utf8JsonWriter writer, System.ClientModel.Primitives.ModelReaderWriterOptions options) { } + Azure.ResourceManager.Subscription.Models.SubscriptionCreationResult System.ClientModel.Primitives.IJsonModel.Create(ref System.Text.Json.Utf8JsonReader reader, System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; } + void System.ClientModel.Primitives.IJsonModel.Write(System.Text.Json.Utf8JsonWriter writer, System.ClientModel.Primitives.ModelReaderWriterOptions options) { } + Azure.ResourceManager.Subscription.Models.SubscriptionCreationResult System.ClientModel.Primitives.IPersistableModel.Create(System.BinaryData data, System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; } + string System.ClientModel.Primitives.IPersistableModel.GetFormatFromOptions(System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; } + System.BinaryData System.ClientModel.Primitives.IPersistableModel.Write(System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; } + } public partial class SubscriptionName : System.ClientModel.Primitives.IJsonModel, System.ClientModel.Primitives.IPersistableModel { public SubscriptionName() { } diff --git a/sdk/subscription/Azure.ResourceManager.Subscription/api/Azure.ResourceManager.Subscription.netstandard2.0.cs b/sdk/subscription/Azure.ResourceManager.Subscription/api/Azure.ResourceManager.Subscription.netstandard2.0.cs index bcbc72f7973b..683abcab8cbe 100644 --- a/sdk/subscription/Azure.ResourceManager.Subscription/api/Azure.ResourceManager.Subscription.netstandard2.0.cs +++ b/sdk/subscription/Azure.ResourceManager.Subscription/api/Azure.ResourceManager.Subscription.netstandard2.0.cs @@ -101,6 +101,8 @@ public static partial class SubscriptionExtensions public static System.Threading.Tasks.Task> GetSubscriptionAliasAsync(this Azure.ResourceManager.Resources.TenantResource tenantResource, string aliasName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } public static Azure.ResourceManager.Subscription.SubscriptionAliasCollection GetSubscriptionAliases(this Azure.ResourceManager.Resources.TenantResource tenantResource) { throw null; } public static Azure.ResourceManager.Subscription.SubscriptionAliasResource GetSubscriptionAliasResource(this Azure.ResourceManager.ArmClient client, Azure.Core.ResourceIdentifier id) { throw null; } + public static Azure.Response GetSubscriptionOperation(this Azure.ResourceManager.Resources.TenantResource tenantResource, string operationId, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } + public static System.Threading.Tasks.Task> GetSubscriptionOperationAsync(this Azure.ResourceManager.Resources.TenantResource tenantResource, string operationId, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } public static Azure.ResourceManager.Subscription.TenantPolicyResource GetTenantPolicy(this Azure.ResourceManager.Resources.TenantResource tenantResource) { throw null; } public static Azure.ResourceManager.Subscription.TenantPolicyResource GetTenantPolicyResource(this Azure.ResourceManager.ArmClient client, Azure.Core.ResourceIdentifier id) { throw null; } public static Azure.Response RenameSubscription(this Azure.ResourceManager.Resources.SubscriptionResource subscriptionResource, Azure.ResourceManager.Subscription.Models.SubscriptionName body, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } @@ -167,6 +169,8 @@ protected MockableSubscriptionTenantResource() { } public virtual Azure.Response GetSubscriptionAlias(string aliasName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } public virtual System.Threading.Tasks.Task> GetSubscriptionAliasAsync(string aliasName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } public virtual Azure.ResourceManager.Subscription.SubscriptionAliasCollection GetSubscriptionAliases() { throw null; } + public virtual Azure.Response GetSubscriptionOperation(string operationId, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } + public virtual System.Threading.Tasks.Task> GetSubscriptionOperationAsync(string operationId, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } public virtual Azure.ResourceManager.Subscription.TenantPolicyResource GetTenantPolicy() { throw null; } } } @@ -263,6 +267,7 @@ public static partial class ArmSubscriptionModelFactory public static Azure.ResourceManager.Subscription.Models.ServiceTenant ServiceTenant(System.Guid? tenantId = default(System.Guid?), string tenantName = null) { throw null; } public static Azure.ResourceManager.Subscription.SubscriptionAliasData SubscriptionAliasData(Azure.Core.ResourceIdentifier id = null, string name = null, Azure.Core.ResourceType resourceType = default(Azure.Core.ResourceType), Azure.ResourceManager.Models.SystemData systemData = null, Azure.ResourceManager.Subscription.Models.SubscriptionAliasProperties properties = null) { throw null; } public static Azure.ResourceManager.Subscription.Models.SubscriptionAliasProperties SubscriptionAliasProperties(string subscriptionId = null, string displayName = null, Azure.ResourceManager.Subscription.Models.SubscriptionProvisioningState? provisioningState = default(Azure.ResourceManager.Subscription.Models.SubscriptionProvisioningState?), System.Uri acceptOwnershipUri = null, Azure.ResourceManager.Subscription.Models.AcceptOwnershipState? acceptOwnershipState = default(Azure.ResourceManager.Subscription.Models.AcceptOwnershipState?), string billingScope = null, Azure.ResourceManager.Subscription.Models.SubscriptionWorkload? workload = default(Azure.ResourceManager.Subscription.Models.SubscriptionWorkload?), string resellerId = null, string subscriptionOwnerId = null, string managementGroupId = null, System.DateTimeOffset? createdOn = default(System.DateTimeOffset?), System.Collections.Generic.IReadOnlyDictionary tags = null) { throw null; } + public static Azure.ResourceManager.Subscription.Models.SubscriptionCreationResult SubscriptionCreationResult(string subscriptionLink = null) { throw null; } public static Azure.ResourceManager.Subscription.TenantPolicyData TenantPolicyData(Azure.Core.ResourceIdentifier id = null, string name = null, Azure.Core.ResourceType resourceType = default(Azure.Core.ResourceType), Azure.ResourceManager.Models.SystemData systemData = null, Azure.ResourceManager.Subscription.Models.TenantPolicyProperties properties = null) { throw null; } public static Azure.ResourceManager.Subscription.Models.TenantPolicyProperties TenantPolicyProperties(string policyId = null, bool? blockSubscriptionsLeavingTenant = default(bool?), bool? blockSubscriptionsIntoTenant = default(bool?), System.Collections.Generic.IEnumerable exemptedPrincipals = null) { throw null; } } @@ -375,6 +380,17 @@ protected virtual void JsonModelWriteCore(System.Text.Json.Utf8JsonWriter writer string System.ClientModel.Primitives.IPersistableModel.GetFormatFromOptions(System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; } System.BinaryData System.ClientModel.Primitives.IPersistableModel.Write(System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; } } + public partial class SubscriptionCreationResult : System.ClientModel.Primitives.IJsonModel, System.ClientModel.Primitives.IPersistableModel + { + internal SubscriptionCreationResult() { } + public string SubscriptionLink { get { throw null; } } + protected virtual void JsonModelWriteCore(System.Text.Json.Utf8JsonWriter writer, System.ClientModel.Primitives.ModelReaderWriterOptions options) { } + Azure.ResourceManager.Subscription.Models.SubscriptionCreationResult System.ClientModel.Primitives.IJsonModel.Create(ref System.Text.Json.Utf8JsonReader reader, System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; } + void System.ClientModel.Primitives.IJsonModel.Write(System.Text.Json.Utf8JsonWriter writer, System.ClientModel.Primitives.ModelReaderWriterOptions options) { } + Azure.ResourceManager.Subscription.Models.SubscriptionCreationResult System.ClientModel.Primitives.IPersistableModel.Create(System.BinaryData data, System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; } + string System.ClientModel.Primitives.IPersistableModel.GetFormatFromOptions(System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; } + System.BinaryData System.ClientModel.Primitives.IPersistableModel.Write(System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; } + } public partial class SubscriptionName : System.ClientModel.Primitives.IJsonModel, System.ClientModel.Primitives.IPersistableModel { public SubscriptionName() { } diff --git a/sdk/subscription/Azure.ResourceManager.Subscription/samples/Generated/Samples/Sample_TenantResourceExtensions.cs b/sdk/subscription/Azure.ResourceManager.Subscription/samples/Generated/Samples/Sample_TenantResourceExtensions.cs index 194568a20e6b..ca3c05127743 100644 --- a/sdk/subscription/Azure.ResourceManager.Subscription/samples/Generated/Samples/Sample_TenantResourceExtensions.cs +++ b/sdk/subscription/Azure.ResourceManager.Subscription/samples/Generated/Samples/Sample_TenantResourceExtensions.cs @@ -71,5 +71,26 @@ public async Task GetAcceptOwnershipStatus_AcceptOwnershipStatus() Console.WriteLine($"Succeeded: {result}"); } + + [Test] + [Ignore("Only validating compilation of examples")] + public async Task GetSubscriptionOperation_GetPendingSubscriptionOperations() + { + // Generated from example definition: specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/getSubscriptionOperation.json + // this example is just showing the usage of "SubscriptionOperation_Get" operation, for the dependent resources, they will have to be created separately. + + // get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line + TokenCredential cred = new DefaultAzureCredential(); + // authenticate your client + ArmClient client = new ArmClient(cred); + + TenantResource tenantResource = client.GetTenants().GetAllAsync().GetAsyncEnumerator().Current; + + // invoke the operation + string operationId = "e4b8d068-f574-462a-a76f-6fa0afc613c9"; + SubscriptionCreationResult result = await tenantResource.GetSubscriptionOperationAsync(operationId); + + Console.WriteLine($"Succeeded: {result}"); + } } } diff --git a/sdk/subscription/Azure.ResourceManager.Subscription/src/Generated/ArmSubscriptionModelFactory.cs b/sdk/subscription/Azure.ResourceManager.Subscription/src/Generated/ArmSubscriptionModelFactory.cs index 79a0f4825059..7a8630b5dffe 100644 --- a/sdk/subscription/Azure.ResourceManager.Subscription/src/Generated/ArmSubscriptionModelFactory.cs +++ b/sdk/subscription/Azure.ResourceManager.Subscription/src/Generated/ArmSubscriptionModelFactory.cs @@ -40,6 +40,14 @@ public static EnabledSubscriptionId EnabledSubscriptionId(string subscriptionId return new EnabledSubscriptionId(subscriptionId, serializedAdditionalRawData: null); } + /// Initializes a new instance of . + /// The link to the new subscription. Use this link to check the status of subscription creation operation. + /// A new instance for mocking. + public static SubscriptionCreationResult SubscriptionCreationResult(string subscriptionLink = null) + { + return new SubscriptionCreationResult(subscriptionLink, serializedAdditionalRawData: null); + } + /// Initializes a new instance of . /// The id. /// The name. diff --git a/sdk/subscription/Azure.ResourceManager.Subscription/src/Generated/Extensions/MockableSubscriptionTenantResource.cs b/sdk/subscription/Azure.ResourceManager.Subscription/src/Generated/Extensions/MockableSubscriptionTenantResource.cs index 3baf69e3dab9..176436f1430d 100644 --- a/sdk/subscription/Azure.ResourceManager.Subscription/src/Generated/Extensions/MockableSubscriptionTenantResource.cs +++ b/sdk/subscription/Azure.ResourceManager.Subscription/src/Generated/Extensions/MockableSubscriptionTenantResource.cs @@ -19,6 +19,8 @@ public partial class MockableSubscriptionTenantResource : ArmResource { private ClientDiagnostics _subscriptionClientDiagnostics; private SubscriptionRestOperations _subscriptionRestClient; + private ClientDiagnostics _subscriptionOperationClientDiagnostics; + private SubscriptionOperationRestOperations _subscriptionOperationRestClient; /// Initializes a new instance of the class for mocking. protected MockableSubscriptionTenantResource() @@ -34,6 +36,8 @@ internal MockableSubscriptionTenantResource(ArmClient client, ResourceIdentifier private ClientDiagnostics SubscriptionClientDiagnostics => _subscriptionClientDiagnostics ??= new ClientDiagnostics("Azure.ResourceManager.Subscription", ProviderConstants.DefaultProviderNamespace, Diagnostics); private SubscriptionRestOperations SubscriptionRestClient => _subscriptionRestClient ??= new SubscriptionRestOperations(Pipeline, Diagnostics.ApplicationId, Endpoint); + private ClientDiagnostics SubscriptionOperationClientDiagnostics => _subscriptionOperationClientDiagnostics ??= new ClientDiagnostics("Azure.ResourceManager.Subscription", ProviderConstants.DefaultProviderNamespace, Diagnostics); + private SubscriptionOperationRestOperations SubscriptionOperationRestClient => _subscriptionOperationRestClient ??= new SubscriptionOperationRestOperations(Pipeline, Diagnostics.ApplicationId, Endpoint); private string GetApiVersionOrNull(ResourceType resourceType) { @@ -353,5 +357,83 @@ public virtual Response GetAcceptOwnershipStatus(string s throw; } } + + /// + /// Get the status of the pending Microsoft.Subscription API operations. + /// + /// + /// Request Path + /// /providers/Microsoft.Subscription/subscriptionOperations/{operationId} + /// + /// + /// Operation Id + /// SubscriptionOperation_Get + /// + /// + /// Default Api Version + /// 2021-10-01 + /// + /// + /// + /// The operation ID, which can be found from the Location field in the generate recommendation response header. + /// The cancellation token to use. + /// is an empty string, and was expected to be non-empty. + /// is null. + public virtual async Task> GetSubscriptionOperationAsync(string operationId, CancellationToken cancellationToken = default) + { + Argument.AssertNotNullOrEmpty(operationId, nameof(operationId)); + + using var scope = SubscriptionOperationClientDiagnostics.CreateScope("MockableSubscriptionTenantResource.GetSubscriptionOperation"); + scope.Start(); + try + { + var response = await SubscriptionOperationRestClient.GetAsync(operationId, cancellationToken).ConfigureAwait(false); + return response; + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// + /// Get the status of the pending Microsoft.Subscription API operations. + /// + /// + /// Request Path + /// /providers/Microsoft.Subscription/subscriptionOperations/{operationId} + /// + /// + /// Operation Id + /// SubscriptionOperation_Get + /// + /// + /// Default Api Version + /// 2021-10-01 + /// + /// + /// + /// The operation ID, which can be found from the Location field in the generate recommendation response header. + /// The cancellation token to use. + /// is an empty string, and was expected to be non-empty. + /// is null. + public virtual Response GetSubscriptionOperation(string operationId, CancellationToken cancellationToken = default) + { + Argument.AssertNotNullOrEmpty(operationId, nameof(operationId)); + + using var scope = SubscriptionOperationClientDiagnostics.CreateScope("MockableSubscriptionTenantResource.GetSubscriptionOperation"); + scope.Start(); + try + { + var response = SubscriptionOperationRestClient.Get(operationId, cancellationToken); + return response; + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } } } diff --git a/sdk/subscription/Azure.ResourceManager.Subscription/src/Generated/Extensions/SubscriptionExtensions.cs b/sdk/subscription/Azure.ResourceManager.Subscription/src/Generated/Extensions/SubscriptionExtensions.cs index c232b66cc6d8..52ef4f2a73b4 100644 --- a/sdk/subscription/Azure.ResourceManager.Subscription/src/Generated/Extensions/SubscriptionExtensions.cs +++ b/sdk/subscription/Azure.ResourceManager.Subscription/src/Generated/Extensions/SubscriptionExtensions.cs @@ -616,5 +616,71 @@ public static Response GetAcceptOwnershipStatus(this Tena return GetMockableSubscriptionTenantResource(tenantResource).GetAcceptOwnershipStatus(subscriptionId, cancellationToken); } + + /// + /// Get the status of the pending Microsoft.Subscription API operations. + /// + /// + /// Request Path + /// /providers/Microsoft.Subscription/subscriptionOperations/{operationId} + /// + /// + /// Operation Id + /// SubscriptionOperation_Get + /// + /// + /// Default Api Version + /// 2021-10-01 + /// + /// + /// + /// Mocking + /// To mock this method, please mock instead. + /// + /// + /// The instance the method will execute against. + /// The operation ID, which can be found from the Location field in the generate recommendation response header. + /// The cancellation token to use. + /// is an empty string, and was expected to be non-empty. + /// or is null. + public static async Task> GetSubscriptionOperationAsync(this TenantResource tenantResource, string operationId, CancellationToken cancellationToken = default) + { + Argument.AssertNotNull(tenantResource, nameof(tenantResource)); + + return await GetMockableSubscriptionTenantResource(tenantResource).GetSubscriptionOperationAsync(operationId, cancellationToken).ConfigureAwait(false); + } + + /// + /// Get the status of the pending Microsoft.Subscription API operations. + /// + /// + /// Request Path + /// /providers/Microsoft.Subscription/subscriptionOperations/{operationId} + /// + /// + /// Operation Id + /// SubscriptionOperation_Get + /// + /// + /// Default Api Version + /// 2021-10-01 + /// + /// + /// + /// Mocking + /// To mock this method, please mock instead. + /// + /// + /// The instance the method will execute against. + /// The operation ID, which can be found from the Location field in the generate recommendation response header. + /// The cancellation token to use. + /// is an empty string, and was expected to be non-empty. + /// or is null. + public static Response GetSubscriptionOperation(this TenantResource tenantResource, string operationId, CancellationToken cancellationToken = default) + { + Argument.AssertNotNull(tenantResource, nameof(tenantResource)); + + return GetMockableSubscriptionTenantResource(tenantResource).GetSubscriptionOperation(operationId, cancellationToken); + } } } diff --git a/sdk/subscription/Azure.ResourceManager.Subscription/src/Generated/Models/SubscriptionCreationResult.Serialization.cs b/sdk/subscription/Azure.ResourceManager.Subscription/src/Generated/Models/SubscriptionCreationResult.Serialization.cs new file mode 100644 index 000000000000..df4756be22da --- /dev/null +++ b/sdk/subscription/Azure.ResourceManager.Subscription/src/Generated/Models/SubscriptionCreationResult.Serialization.cs @@ -0,0 +1,129 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; +using System.Text.Json; +using Azure.Core; + +namespace Azure.ResourceManager.Subscription.Models +{ + public partial class SubscriptionCreationResult : IUtf8JsonSerializable, IJsonModel + { + void IUtf8JsonSerializable.Write(Utf8JsonWriter writer) => ((IJsonModel)this).Write(writer, ModelSerializationExtensions.WireOptions); + + void IJsonModel.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options) + { + writer.WriteStartObject(); + JsonModelWriteCore(writer, options); + writer.WriteEndObject(); + } + + /// The JSON writer. + /// The client options for reading and writing models. + protected virtual void JsonModelWriteCore(Utf8JsonWriter writer, ModelReaderWriterOptions options) + { + var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; + if (format != "J") + { + throw new FormatException($"The model {nameof(SubscriptionCreationResult)} does not support writing '{format}' format."); + } + + if (Optional.IsDefined(SubscriptionLink)) + { + writer.WritePropertyName("subscriptionLink"u8); + writer.WriteStringValue(SubscriptionLink); + } + if (options.Format != "W" && _serializedAdditionalRawData != null) + { + foreach (var item in _serializedAdditionalRawData) + { + writer.WritePropertyName(item.Key); +#if NET6_0_OR_GREATER + writer.WriteRawValue(item.Value); +#else + using (JsonDocument document = JsonDocument.Parse(item.Value)) + { + JsonSerializer.Serialize(writer, document.RootElement); + } +#endif + } + } + } + + SubscriptionCreationResult IJsonModel.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) + { + var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; + if (format != "J") + { + throw new FormatException($"The model {nameof(SubscriptionCreationResult)} does not support reading '{format}' format."); + } + + using JsonDocument document = JsonDocument.ParseValue(ref reader); + return DeserializeSubscriptionCreationResult(document.RootElement, options); + } + + internal static SubscriptionCreationResult DeserializeSubscriptionCreationResult(JsonElement element, ModelReaderWriterOptions options = null) + { + options ??= ModelSerializationExtensions.WireOptions; + + if (element.ValueKind == JsonValueKind.Null) + { + return null; + } + string subscriptionLink = default; + IDictionary serializedAdditionalRawData = default; + Dictionary rawDataDictionary = new Dictionary(); + foreach (var property in element.EnumerateObject()) + { + if (property.NameEquals("subscriptionLink"u8)) + { + subscriptionLink = property.Value.GetString(); + continue; + } + if (options.Format != "W") + { + rawDataDictionary.Add(property.Name, BinaryData.FromString(property.Value.GetRawText())); + } + } + serializedAdditionalRawData = rawDataDictionary; + return new SubscriptionCreationResult(subscriptionLink, serializedAdditionalRawData); + } + + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) + { + var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; + + switch (format) + { + case "J": + return ModelReaderWriter.Write(this, options); + default: + throw new FormatException($"The model {nameof(SubscriptionCreationResult)} does not support writing '{options.Format}' format."); + } + } + + SubscriptionCreationResult IPersistableModel.Create(BinaryData data, ModelReaderWriterOptions options) + { + var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; + + switch (format) + { + case "J": + { + using JsonDocument document = JsonDocument.Parse(data); + return DeserializeSubscriptionCreationResult(document.RootElement, options); + } + default: + throw new FormatException($"The model {nameof(SubscriptionCreationResult)} does not support reading '{options.Format}' format."); + } + } + + string IPersistableModel.GetFormatFromOptions(ModelReaderWriterOptions options) => "J"; + } +} diff --git a/sdk/subscription/Azure.ResourceManager.Subscription/src/Generated/Models/SubscriptionCreationResult.cs b/sdk/subscription/Azure.ResourceManager.Subscription/src/Generated/Models/SubscriptionCreationResult.cs new file mode 100644 index 000000000000..a0fe6f726213 --- /dev/null +++ b/sdk/subscription/Azure.ResourceManager.Subscription/src/Generated/Models/SubscriptionCreationResult.cs @@ -0,0 +1,65 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.Collections.Generic; + +namespace Azure.ResourceManager.Subscription.Models +{ + /// The created subscription object. + public partial class SubscriptionCreationResult + { + /// + /// Keeps track of any properties unknown to the library. + /// + /// To assign an object to the value of this property use . + /// + /// + /// To assign an already formatted json string to this property use . + /// + /// + /// Examples: + /// + /// + /// BinaryData.FromObjectAsJson("foo") + /// Creates a payload of "foo". + /// + /// + /// BinaryData.FromString("\"foo\"") + /// Creates a payload of "foo". + /// + /// + /// BinaryData.FromObjectAsJson(new { key = "value" }) + /// Creates a payload of { "key": "value" }. + /// + /// + /// BinaryData.FromString("{\"key\": \"value\"}") + /// Creates a payload of { "key": "value" }. + /// + /// + /// + /// + private IDictionary _serializedAdditionalRawData; + + /// Initializes a new instance of . + internal SubscriptionCreationResult() + { + } + + /// Initializes a new instance of . + /// The link to the new subscription. Use this link to check the status of subscription creation operation. + /// Keeps track of any properties unknown to the library. + internal SubscriptionCreationResult(string subscriptionLink, IDictionary serializedAdditionalRawData) + { + SubscriptionLink = subscriptionLink; + _serializedAdditionalRawData = serializedAdditionalRawData; + } + + /// The link to the new subscription. Use this link to check the status of subscription creation operation. + public string SubscriptionLink { get; } + } +} diff --git a/sdk/subscription/Azure.ResourceManager.Subscription/src/Generated/RestOperations/SubscriptionOperationRestOperations.cs b/sdk/subscription/Azure.ResourceManager.Subscription/src/Generated/RestOperations/SubscriptionOperationRestOperations.cs new file mode 100644 index 000000000000..657c079ee1e2 --- /dev/null +++ b/sdk/subscription/Azure.ResourceManager.Subscription/src/Generated/RestOperations/SubscriptionOperationRestOperations.cs @@ -0,0 +1,119 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.Text.Json; +using System.Threading; +using System.Threading.Tasks; +using Azure.Core; +using Azure.Core.Pipeline; +using Azure.ResourceManager.Subscription.Models; + +namespace Azure.ResourceManager.Subscription +{ + internal partial class SubscriptionOperationRestOperations + { + private readonly TelemetryDetails _userAgent; + private readonly HttpPipeline _pipeline; + private readonly Uri _endpoint; + private readonly string _apiVersion; + + /// Initializes a new instance of SubscriptionOperationRestOperations. + /// The HTTP pipeline for sending and receiving REST requests and responses. + /// The application id to use for user agent. + /// server parameter. + /// Api Version. + /// or is null. + public SubscriptionOperationRestOperations(HttpPipeline pipeline, string applicationId, Uri endpoint = null, string apiVersion = default) + { + _pipeline = pipeline ?? throw new ArgumentNullException(nameof(pipeline)); + _endpoint = endpoint ?? new Uri("https://management.azure.com"); + _apiVersion = apiVersion ?? "2021-10-01"; + _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); + } + + internal RequestUriBuilder CreateGetRequestUri(string operationId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Subscription/subscriptionOperations/", false); + uri.AppendPath(operationId, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + + internal HttpMessage CreateGetRequest(string operationId) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Get; + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Subscription/subscriptionOperations/", false); + uri.AppendPath(operationId, true); + uri.AppendQuery("api-version", _apiVersion, true); + request.Uri = uri; + request.Headers.Add("Accept", "application/json"); + _userAgent.Apply(message); + return message; + } + + /// Get the status of the pending Microsoft.Subscription API operations. + /// The operation ID, which can be found from the Location field in the generate recommendation response header. + /// The cancellation token to use. + /// is null. + /// is an empty string, and was expected to be non-empty. + public async Task> GetAsync(string operationId, CancellationToken cancellationToken = default) + { + Argument.AssertNotNullOrEmpty(operationId, nameof(operationId)); + + using var message = CreateGetRequest(operationId); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 200: + { + SubscriptionCreationResult value = default; + using var document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, cancellationToken).ConfigureAwait(false); + value = SubscriptionCreationResult.DeserializeSubscriptionCreationResult(document.RootElement); + return Response.FromValue(value, message.Response); + } + case 202: + return Response.FromValue((SubscriptionCreationResult)null, message.Response); + default: + throw new RequestFailedException(message.Response); + } + } + + /// Get the status of the pending Microsoft.Subscription API operations. + /// The operation ID, which can be found from the Location field in the generate recommendation response header. + /// The cancellation token to use. + /// is null. + /// is an empty string, and was expected to be non-empty. + public Response Get(string operationId, CancellationToken cancellationToken = default) + { + Argument.AssertNotNullOrEmpty(operationId, nameof(operationId)); + + using var message = CreateGetRequest(operationId); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 200: + { + SubscriptionCreationResult value = default; + using var document = JsonDocument.Parse(message.Response.ContentStream); + value = SubscriptionCreationResult.DeserializeSubscriptionCreationResult(document.RootElement); + return Response.FromValue(value, message.Response); + } + case 202: + return Response.FromValue((SubscriptionCreationResult)null, message.Response); + default: + throw new RequestFailedException(message.Response); + } + } + } +} diff --git a/sdk/subscription/Azure.ResourceManager.Subscription/src/autorest.md b/sdk/subscription/Azure.ResourceManager.Subscription/src/autorest.md index ae6fe54d438e..6175920f1b45 100644 --- a/sdk/subscription/Azure.ResourceManager.Subscription/src/autorest.md +++ b/sdk/subscription/Azure.ResourceManager.Subscription/src/autorest.md @@ -8,7 +8,7 @@ azure-arm: true csharp: true library-name: Subscription namespace: Azure.ResourceManager.Subscription -require: https://github.com/Azure/azure-rest-api-specs/blob/2614c5038cb384e864c1608e76be61a5ee84cb02/specification/subscription/resource-manager/readme.md +require: /mnt/vss/_work/1/s/azure-rest-api-specs/specification/subscription/resource-manager/readme.md #tag: package-2021-10 output-folder: $(this-folder)/Generated clear-output-folder: true