//private async Task<ProductSet> GetProductSets(ProductSearchClient client, int pageSize)
        //{
        //    var request = new ListProductSetsRequest
        //    {
        //        ParentAsLocationName = new LocationName(this.options.Value.ProjectId, this.options.Value.LocationId),
        //        PageSize = pageSize,
        //    };

        //    return await client.ListProductSets(request);
        //}

        private async Task <Product> CreateProduct(ProductSearchClient client, CreateProductOptions opts)
        {
            var request = new CreateProductRequest
            {
                // A resource that represents Google Cloud Platform location.
                ParentAsLocationName = new LocationName(opts.ProjectID, opts.ComputeRegion),
                // Set product category and product display name
                Product = new Product
                {
                    DisplayName     = opts.DisplayName,
                    ProductCategory = opts.ProductCategory,
                    Description     = opts.Description ?? string.Empty,
                },
                ProductId = opts.ProductID
            };

            foreach (var label in opts.ProductLabels)
            {
                request.Product.ProductLabels.Add(new KeyValue {
                    Key = label.Key, Value = label.Value
                });
            }

            // The response is the product with the `name` field populated.
            var product = await client.CreateProductAsync(request);

            return(product);
        }