/// <inheritdoc />
        public CloudNetwork CreateNetwork(string cidr, string label, string region = null, CloudIdentity identity = null)
        {
            if (cidr == null)
            {
                throw new ArgumentNullException("cidr");
            }
            if (label == null)
            {
                throw new ArgumentNullException("label");
            }
            if (string.IsNullOrEmpty(cidr))
            {
                throw new ArgumentException("cidr cannot be empty");
            }
            if (string.IsNullOrEmpty(label))
            {
                throw new ArgumentException("label cannot be empty");
            }
            CheckIdentity(identity);

            var urlPath             = new Uri(string.Format("{0}/os-networksv2", GetServiceEndpoint(identity, region)));
            var cloudNetworkRequest = new CreateCloudNetworkRequest(new CreateCloudNetworksDetails(cidr, label));

            var response = ExecuteRESTRequest <CloudNetworkResponse>(identity, urlPath, HttpMethod.POST, cloudNetworkRequest);

            if (response == null || response.Data == null)
            {
                return(null);
            }

            return(response.Data.Network);
        }
        /// <inheritdoc />
        public CloudNetwork CreateNetwork(string cidr, string label, string region = null, CloudIdentity identity = null)
        {
            var urlPath             = new Uri(string.Format("{0}/os-networksv2", GetServiceEndpoint(identity, region)));
            var cloudNetworkRequest = new CreateCloudNetworkRequest {
                Details = new CreateCloudNetworksDetails {
                    Cidr = cidr, Label = label
                }
            };

            var response = ExecuteRESTRequest <CloudNetworkResponse>(identity, urlPath, HttpMethod.POST, cloudNetworkRequest);

            if (response == null || response.Data == null)
            {
                return(null);
            }

            return(response.Data.Network);
        }