internal LocalNetworkGateway(ArmResource options, LocalNetworkGatewayData resource) : base(options, new ResourceIdentifier(resource.Id)) { HasData = true; _data = resource; _clientDiagnostics = new ClientDiagnostics(ClientOptions); _localNetworkGatewaysRestClient = new LocalNetworkGatewaysRestOperations(_clientDiagnostics, Pipeline, ClientOptions, BaseUri); }
internal VirtualNetworkGatewayConnectionData(string id, string name, string type, string location, IDictionary <string, string> tags, string etag, string authorizationKey, VirtualNetworkGatewayData virtualNetworkGateway1, VirtualNetworkGatewayData virtualNetworkGateway2, LocalNetworkGatewayData localNetworkGateway2, IList <WritableSubResource> ingressNatRules, IList <WritableSubResource> egressNatRules, VirtualNetworkGatewayConnectionType connectionType, VirtualNetworkGatewayConnectionProtocol?connectionProtocol, int?routingWeight, int?dpdTimeoutSeconds, VirtualNetworkGatewayConnectionMode?connectionMode, string sharedKey, VirtualNetworkGatewayConnectionStatus?connectionStatus, IReadOnlyList <TunnelConnectionHealth> tunnelConnectionStatus, long?egressBytesTransferred, long?ingressBytesTransferred, WritableSubResource peer, bool?enableBgp, bool?useLocalAzureIpAddress, bool?usePolicyBasedTrafficSelectors, IList <IpsecPolicy> ipsecPolicies, IList <TrafficSelectorPolicy> trafficSelectorPolicies, string resourceGuid, ProvisioningState?provisioningState, bool?expressRouteGatewayBypass) : base(id, name, type, location, tags) { Etag = etag; AuthorizationKey = authorizationKey; VirtualNetworkGateway1 = virtualNetworkGateway1; VirtualNetworkGateway2 = virtualNetworkGateway2; LocalNetworkGateway2 = localNetworkGateway2; IngressNatRules = ingressNatRules; EgressNatRules = egressNatRules; ConnectionType = connectionType; ConnectionProtocol = connectionProtocol; RoutingWeight = routingWeight; DpdTimeoutSeconds = dpdTimeoutSeconds; ConnectionMode = connectionMode; SharedKey = sharedKey; ConnectionStatus = connectionStatus; TunnelConnectionStatus = tunnelConnectionStatus; EgressBytesTransferred = egressBytesTransferred; IngressBytesTransferred = ingressBytesTransferred; Peer = peer; EnableBgp = enableBgp; UseLocalAzureIpAddress = useLocalAzureIpAddress; UsePolicyBasedTrafficSelectors = usePolicyBasedTrafficSelectors; IpsecPolicies = ipsecPolicies; TrafficSelectorPolicies = trafficSelectorPolicies; ResourceGuid = resourceGuid; ProvisioningState = provisioningState; ExpressRouteGatewayBypass = expressRouteGatewayBypass; }
public async Task <Response <LocalNetworkGatewayData> > GetAsync(string subscriptionId, string resourceGroupName, string localNetworkGatewayName, CancellationToken cancellationToken = default) { if (subscriptionId == null) { throw new ArgumentNullException(nameof(subscriptionId)); } if (resourceGroupName == null) { throw new ArgumentNullException(nameof(resourceGroupName)); } if (localNetworkGatewayName == null) { throw new ArgumentNullException(nameof(localNetworkGatewayName)); } using var message = CreateGetRequest(subscriptionId, resourceGroupName, localNetworkGatewayName); await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); switch (message.Response.Status) { case 200: { LocalNetworkGatewayData value = default; using var document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, cancellationToken).ConfigureAwait(false); value = LocalNetworkGatewayData.DeserializeLocalNetworkGatewayData(document.RootElement); return(Response.FromValue(value, message.Response)); }
LocalNetworkGateway IOperationSource <LocalNetworkGateway> .CreateResult(Response response, CancellationToken cancellationToken) { using var document = JsonDocument.Parse(response.ContentStream); var data = LocalNetworkGatewayData.DeserializeLocalNetworkGatewayData(document.RootElement); return(new LocalNetworkGateway(_client, data)); }
internal LocalNetworkGateway(ArmResource options, LocalNetworkGatewayData resource) : base(options, resource.Id) { HasData = true; _data = resource; _clientDiagnostics = new ClientDiagnostics(ClientOptions); _restClient = new LocalNetworkGatewaysRestOperations(_clientDiagnostics, Pipeline, ClientOptions, Id.SubscriptionId, BaseUri); }
internal LocalNetworkGateway(ArmClient client, LocalNetworkGatewayData data) : this(client, new ResourceIdentifier(data.Id)) { HasData = true; _data = data; }
public async Task <Response> CreateOrUpdateAsync(string subscriptionId, string resourceGroupName, string localNetworkGatewayName, LocalNetworkGatewayData data, CancellationToken cancellationToken = default) { Argument.AssertNotNullOrEmpty(subscriptionId, nameof(subscriptionId)); Argument.AssertNotNullOrEmpty(resourceGroupName, nameof(resourceGroupName)); Argument.AssertNotNullOrEmpty(localNetworkGatewayName, nameof(localNetworkGatewayName)); Argument.AssertNotNull(data, nameof(data)); using var message = CreateCreateOrUpdateRequest(subscriptionId, resourceGroupName, localNetworkGatewayName, data); await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); switch (message.Response.Status) { case 200: case 201: return(message.Response); default: throw new RequestFailedException(message.Response); } }
internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string localNetworkGatewayName, LocalNetworkGatewayData data) { var message = _pipeline.CreateMessage(); var request = message.Request; request.Method = RequestMethod.Put; var uri = new RawRequestUriBuilder(); uri.Reset(_endpoint); uri.AppendPath("/subscriptions/", false); uri.AppendPath(subscriptionId, true); uri.AppendPath("/resourceGroups/", false); uri.AppendPath(resourceGroupName, true); uri.AppendPath("/providers/Microsoft.Network/localNetworkGateways/", false); uri.AppendPath(localNetworkGatewayName, true); uri.AppendQuery("api-version", _apiVersion, true); request.Uri = uri; request.Headers.Add("Accept", "application/json"); request.Headers.Add("Content-Type", "application/json"); var content = new Utf8JsonRequestContent(); content.JsonWriter.WriteObjectValue(data); request.Content = content; _userAgent.Apply(message); return(message); }
internal static VirtualNetworkGatewayConnectionData DeserializeVirtualNetworkGatewayConnectionData(JsonElement element) { Optional <ETag> etag = default; Optional <ResourceIdentifier> id = default; Optional <string> name = default; Optional <ResourceType> type = default; Optional <AzureLocation> location = default; Optional <IDictionary <string, string> > tags = default; Optional <string> authorizationKey = default; VirtualNetworkGatewayData virtualNetworkGateway1 = default; Optional <VirtualNetworkGatewayData> virtualNetworkGateway2 = default; Optional <LocalNetworkGatewayData> localNetworkGateway2 = default; Optional <IList <WritableSubResource> > ingressNatRules = default; Optional <IList <WritableSubResource> > egressNatRules = default; VirtualNetworkGatewayConnectionType connectionType = default; Optional <VirtualNetworkGatewayConnectionProtocol> connectionProtocol = default; Optional <int> routingWeight = default; Optional <int> dpdTimeoutSeconds = default; Optional <VirtualNetworkGatewayConnectionMode> connectionMode = default; Optional <string> sharedKey = default; Optional <VirtualNetworkGatewayConnectionStatus> connectionStatus = default; Optional <IReadOnlyList <TunnelConnectionHealth> > tunnelConnectionStatus = default; Optional <long> egressBytesTransferred = default; Optional <long> ingressBytesTransferred = default; Optional <WritableSubResource> peer = default; Optional <bool> enableBgp = default; Optional <bool> useLocalAzureIpAddress = default; Optional <bool> usePolicyBasedTrafficSelectors = default; Optional <IList <IPsecPolicy> > ipsecPolicies = default; Optional <IList <TrafficSelectorPolicy> > trafficSelectorPolicies = default; Optional <Guid> resourceGuid = default; Optional <NetworkProvisioningState> provisioningState = default; Optional <bool> expressRouteGatewayBypass = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("etag")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } etag = new ETag(property.Value.GetString()); continue; } if (property.NameEquals("id")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } id = new ResourceIdentifier(property.Value.GetString()); continue; } if (property.NameEquals("name")) { name = property.Value.GetString(); continue; } if (property.NameEquals("type")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } type = new ResourceType(property.Value.GetString()); continue; } if (property.NameEquals("location")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } location = new AzureLocation(property.Value.GetString()); continue; } if (property.NameEquals("tags")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } Dictionary <string, string> dictionary = new Dictionary <string, string>(); foreach (var property0 in property.Value.EnumerateObject()) { dictionary.Add(property0.Name, property0.Value.GetString()); } tags = dictionary; continue; } if (property.NameEquals("properties")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } foreach (var property0 in property.Value.EnumerateObject()) { if (property0.NameEquals("authorizationKey")) { authorizationKey = property0.Value.GetString(); continue; } if (property0.NameEquals("virtualNetworkGateway1")) { virtualNetworkGateway1 = VirtualNetworkGatewayData.DeserializeVirtualNetworkGatewayData(property0.Value); continue; } if (property0.NameEquals("virtualNetworkGateway2")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } virtualNetworkGateway2 = VirtualNetworkGatewayData.DeserializeVirtualNetworkGatewayData(property0.Value); continue; } if (property0.NameEquals("localNetworkGateway2")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } localNetworkGateway2 = LocalNetworkGatewayData.DeserializeLocalNetworkGatewayData(property0.Value); continue; } if (property0.NameEquals("ingressNatRules")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } List <WritableSubResource> array = new List <WritableSubResource>(); foreach (var item in property0.Value.EnumerateArray()) { array.Add(JsonSerializer.Deserialize <WritableSubResource>(item.ToString())); } ingressNatRules = array; continue; } if (property0.NameEquals("egressNatRules")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } List <WritableSubResource> array = new List <WritableSubResource>(); foreach (var item in property0.Value.EnumerateArray()) { array.Add(JsonSerializer.Deserialize <WritableSubResource>(item.ToString())); } egressNatRules = array; continue; } if (property0.NameEquals("connectionType")) { connectionType = new VirtualNetworkGatewayConnectionType(property0.Value.GetString()); continue; } if (property0.NameEquals("connectionProtocol")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } connectionProtocol = new VirtualNetworkGatewayConnectionProtocol(property0.Value.GetString()); continue; } if (property0.NameEquals("routingWeight")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } routingWeight = property0.Value.GetInt32(); continue; } if (property0.NameEquals("dpdTimeoutSeconds")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } dpdTimeoutSeconds = property0.Value.GetInt32(); continue; } if (property0.NameEquals("connectionMode")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } connectionMode = new VirtualNetworkGatewayConnectionMode(property0.Value.GetString()); continue; } if (property0.NameEquals("sharedKey")) { sharedKey = property0.Value.GetString(); continue; } if (property0.NameEquals("connectionStatus")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } connectionStatus = new VirtualNetworkGatewayConnectionStatus(property0.Value.GetString()); continue; } if (property0.NameEquals("tunnelConnectionStatus")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } List <TunnelConnectionHealth> array = new List <TunnelConnectionHealth>(); foreach (var item in property0.Value.EnumerateArray()) { array.Add(TunnelConnectionHealth.DeserializeTunnelConnectionHealth(item)); } tunnelConnectionStatus = array; continue; } if (property0.NameEquals("egressBytesTransferred")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } egressBytesTransferred = property0.Value.GetInt64(); continue; } if (property0.NameEquals("ingressBytesTransferred")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } ingressBytesTransferred = property0.Value.GetInt64(); continue; } if (property0.NameEquals("peer")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } peer = JsonSerializer.Deserialize <WritableSubResource>(property0.Value.ToString()); continue; } if (property0.NameEquals("enableBgp")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } enableBgp = property0.Value.GetBoolean(); continue; } if (property0.NameEquals("useLocalAzureIpAddress")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } useLocalAzureIpAddress = property0.Value.GetBoolean(); continue; } if (property0.NameEquals("usePolicyBasedTrafficSelectors")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } usePolicyBasedTrafficSelectors = property0.Value.GetBoolean(); continue; } if (property0.NameEquals("ipsecPolicies")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } List <IPsecPolicy> array = new List <IPsecPolicy>(); foreach (var item in property0.Value.EnumerateArray()) { array.Add(IPsecPolicy.DeserializeIPsecPolicy(item)); } ipsecPolicies = array; continue; } if (property0.NameEquals("trafficSelectorPolicies")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } List <TrafficSelectorPolicy> array = new List <TrafficSelectorPolicy>(); foreach (var item in property0.Value.EnumerateArray()) { array.Add(TrafficSelectorPolicy.DeserializeTrafficSelectorPolicy(item)); } trafficSelectorPolicies = array; continue; } if (property0.NameEquals("resourceGuid")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } resourceGuid = property0.Value.GetGuid(); continue; } if (property0.NameEquals("provisioningState")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } provisioningState = new NetworkProvisioningState(property0.Value.GetString()); continue; } if (property0.NameEquals("expressRouteGatewayBypass")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } expressRouteGatewayBypass = property0.Value.GetBoolean(); continue; } } continue; } } return(new VirtualNetworkGatewayConnectionData(id.Value, name.Value, Optional.ToNullable(type), Optional.ToNullable(location), Optional.ToDictionary(tags), Optional.ToNullable(etag), authorizationKey.Value, virtualNetworkGateway1, virtualNetworkGateway2.Value, localNetworkGateway2.Value, Optional.ToList(ingressNatRules), Optional.ToList(egressNatRules), connectionType, Optional.ToNullable(connectionProtocol), Optional.ToNullable(routingWeight), Optional.ToNullable(dpdTimeoutSeconds), Optional.ToNullable(connectionMode), sharedKey.Value, Optional.ToNullable(connectionStatus), Optional.ToList(tunnelConnectionStatus), Optional.ToNullable(egressBytesTransferred), Optional.ToNullable(ingressBytesTransferred), peer, Optional.ToNullable(enableBgp), Optional.ToNullable(useLocalAzureIpAddress), Optional.ToNullable(usePolicyBasedTrafficSelectors), Optional.ToList(ipsecPolicies), Optional.ToList(trafficSelectorPolicies), Optional.ToNullable(resourceGuid), Optional.ToNullable(provisioningState), Optional.ToNullable(expressRouteGatewayBypass))); }
public virtual async Task <ArmOperation <LocalNetworkGateway> > CreateOrUpdateAsync(WaitUntil waitUntil, string localNetworkGatewayName, LocalNetworkGatewayData parameters, CancellationToken cancellationToken = default) { Argument.AssertNotNullOrEmpty(localNetworkGatewayName, nameof(localNetworkGatewayName)); Argument.AssertNotNull(parameters, nameof(parameters)); using var scope = _localNetworkGatewayClientDiagnostics.CreateScope("LocalNetworkGatewayCollection.CreateOrUpdate"); scope.Start(); try { var response = await _localNetworkGatewayRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, localNetworkGatewayName, parameters, cancellationToken).ConfigureAwait(false); var operation = new NetworkArmOperation <LocalNetworkGateway>(new LocalNetworkGatewayOperationSource(Client), _localNetworkGatewayClientDiagnostics, Pipeline, _localNetworkGatewayRestClient.CreateCreateOrUpdateRequest(Id.SubscriptionId, Id.ResourceGroupName, localNetworkGatewayName, parameters).Request, response, OperationFinalStateVia.AzureAsyncOperation); if (waitUntil == WaitUntil.Completed) { await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); } return(operation); } catch (Exception e) { scope.Failed(e); throw; } }
public async virtual Task <LocalNetworkGatewayCreateOrUpdateOperation> CreateOrUpdateAsync(string localNetworkGatewayName, LocalNetworkGatewayData parameters, bool waitForCompletion = true, CancellationToken cancellationToken = default) { if (localNetworkGatewayName == null) { throw new ArgumentNullException(nameof(localNetworkGatewayName)); } if (parameters == null) { throw new ArgumentNullException(nameof(parameters)); } using var scope = _clientDiagnostics.CreateScope("LocalNetworkGatewayContainer.CreateOrUpdate"); scope.Start(); try { var response = await _restClient.CreateOrUpdateAsync(Id.ResourceGroupName, localNetworkGatewayName, parameters, cancellationToken).ConfigureAwait(false); var operation = new LocalNetworkGatewayCreateOrUpdateOperation(Parent, _clientDiagnostics, Pipeline, _restClient.CreateCreateOrUpdateRequest(Id.ResourceGroupName, localNetworkGatewayName, parameters).Request, response); if (waitForCompletion) { await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); } return(operation); } catch (Exception e) { scope.Failed(e); throw; } }
public virtual LocalNetworkGatewayCreateOrUpdateOperation CreateOrUpdate(string localNetworkGatewayName, LocalNetworkGatewayData parameters, bool waitForCompletion = true, CancellationToken cancellationToken = default) { if (localNetworkGatewayName == null) { throw new ArgumentNullException(nameof(localNetworkGatewayName)); } if (parameters == null) { throw new ArgumentNullException(nameof(parameters)); } using var scope = _clientDiagnostics.CreateScope("LocalNetworkGatewayCollection.CreateOrUpdate"); scope.Start(); try { var response = _localNetworkGatewaysRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, localNetworkGatewayName, parameters, cancellationToken); var operation = new LocalNetworkGatewayCreateOrUpdateOperation(Parent, _clientDiagnostics, Pipeline, _localNetworkGatewaysRestClient.CreateCreateOrUpdateRequest(Id.SubscriptionId, Id.ResourceGroupName, localNetworkGatewayName, parameters).Request, response); if (waitForCompletion) { operation.WaitForCompletion(cancellationToken); } return(operation); } catch (Exception e) { scope.Failed(e); throw; } }
public async Task <Response> CreateOrUpdateAsync(string subscriptionId, string resourceGroupName, string localNetworkGatewayName, LocalNetworkGatewayData parameters, CancellationToken cancellationToken = default) { if (subscriptionId == null) { throw new ArgumentNullException(nameof(subscriptionId)); } if (resourceGroupName == null) { throw new ArgumentNullException(nameof(resourceGroupName)); } if (localNetworkGatewayName == null) { throw new ArgumentNullException(nameof(localNetworkGatewayName)); } if (parameters == null) { throw new ArgumentNullException(nameof(parameters)); } using var message = CreateCreateOrUpdateRequest(subscriptionId, resourceGroupName, localNetworkGatewayName, parameters); await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); switch (message.Response.Status) { case 200: case 201: return(message.Response); default: throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); } }
public Response CreateOrUpdate(string subscriptionId, string resourceGroupName, string localNetworkGatewayName, LocalNetworkGatewayData parameters, CancellationToken cancellationToken = default) { Argument.AssertNotNullOrEmpty(subscriptionId, nameof(subscriptionId)); Argument.AssertNotNullOrEmpty(resourceGroupName, nameof(resourceGroupName)); Argument.AssertNotNullOrEmpty(localNetworkGatewayName, nameof(localNetworkGatewayName)); Argument.AssertNotNull(parameters, nameof(parameters)); using var message = CreateCreateOrUpdateRequest(subscriptionId, resourceGroupName, localNetworkGatewayName, parameters); _pipeline.Send(message, cancellationToken); switch (message.Response.Status) { case 200: case 201: return(message.Response); default: throw new RequestFailedException(message.Response); } }
internal LocalNetworkGatewayResource(ArmClient client, LocalNetworkGatewayData data) : this(client, data.Id) { HasData = true; _data = data; }
public Response CreateOrUpdate(string resourceGroupName, string localNetworkGatewayName, LocalNetworkGatewayData parameters, CancellationToken cancellationToken = default) { if (resourceGroupName == null) { throw new ArgumentNullException(nameof(resourceGroupName)); } if (localNetworkGatewayName == null) { throw new ArgumentNullException(nameof(localNetworkGatewayName)); } if (parameters == null) { throw new ArgumentNullException(nameof(parameters)); } using var message = CreateCreateOrUpdateRequest(resourceGroupName, localNetworkGatewayName, parameters); _pipeline.Send(message, cancellationToken); switch (message.Response.Status) { case 200: case 201: return(message.Response); default: throw _clientDiagnostics.CreateRequestFailedException(message.Response); } }