Skip to content

Commit

Permalink
feat: add Network Connectivity Center APIs for PSC connection propaga…
Browse files Browse the repository at this point in the history
…tion through NCC

feat: add Network Connectivity Center APIs for star topology
feat: add Network Connectivity Center APIs for producer VPC spokes
feat: add Network Connectivity Center APIs for dynamic route exchange
feat: add Network Connectivity Center APIs for include export filters
feat: add Network Connectivity Center APIs for include import ranges on hybrid spokes
docs: update comment for `ListRoutes` method in service `HubService` to clarify that it lists routes in a route table
docs: update comment for `ListRouteTables` method in service `HubService` to clarify that it lists route tables in a hub
docs: update comment for field `location` in message `.google.cloud.networkconnectivity.v1.Route` to clarify that it's the origin location

PiperOrigin-RevId: 702422268

Source-Link: googleapis/googleapis@59254b4

Source-Link: googleapis/googleapis-gen@f199480
Copy-Tag: eyJwIjoiYXBpcy9Hb29nbGUuQ2xvdWQuTmV0d29ya0Nvbm5lY3Rpdml0eS5WMS8uT3dsQm90LnlhbWwiLCJoIjoiZjE5OTQ4MGQzMzQwMDJhZGE1M2MzODdmZGIxMTc1ZGUzYzU1MGY3YiJ9
  • Loading branch information
gcf-owl-bot[bot] authored and amanda-tarafa committed Dec 4, 2024
1 parent bc68dca commit 8c58bae
Show file tree
Hide file tree
Showing 17 changed files with 8,577 additions and 2,313 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
// Copyright 2024 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// Generated code. DO NOT EDIT!

namespace GoogleCSharpSnippets
{
// [START networkconnectivity_v1_generated_HubService_QueryHubStatus_async_flattened]
using Google.Api.Gax;
using Google.Cloud.NetworkConnectivity.V1;
using System;
using System.Linq;
using System.Threading.Tasks;

public sealed partial class GeneratedHubServiceClientSnippets
{
/// <summary>Snippet for QueryHubStatusAsync</summary>
/// <remarks>
/// This snippet has been automatically generated and should be regarded as a code template only.
/// It will require modifications to work:
/// - It may require correct/in-range values for request initialization.
/// - It may require specifying regional endpoints when creating the service client as shown in
/// https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
/// </remarks>
public async Task QueryHubStatusAsync()
{
// Create client
HubServiceClient hubServiceClient = await HubServiceClient.CreateAsync();
// Initialize request argument(s)
string name = "projects/[PROJECT]/locations/global/hubs/[HUB]";
// Make the request
PagedAsyncEnumerable<QueryHubStatusResponse, HubStatusEntry> response = hubServiceClient.QueryHubStatusAsync(name);

// Iterate over all response items, lazily performing RPCs as required
await response.ForEachAsync((HubStatusEntry item) =>
{
// Do something with each item
Console.WriteLine(item);
});

// Or iterate over pages (of server-defined size), performing one RPC per page
await response.AsRawResponses().ForEachAsync((QueryHubStatusResponse page) =>
{
// Do something with each page of items
Console.WriteLine("A page of results:");
foreach (HubStatusEntry item in page)
{
// Do something with each item
Console.WriteLine(item);
}
});

// Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required
int pageSize = 10;
Page<HubStatusEntry> singlePage = await response.ReadPageAsync(pageSize);
// Do something with the page of items
Console.WriteLine($"A page of {pageSize} results (unless it's the final page):");
foreach (HubStatusEntry item in singlePage)
{
// Do something with each item
Console.WriteLine(item);
}
// Store the pageToken, for when the next page is required.
string nextPageToken = singlePage.NextPageToken;
}
}
// [END networkconnectivity_v1_generated_HubService_QueryHubStatus_async_flattened]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
// Copyright 2024 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// Generated code. DO NOT EDIT!

namespace GoogleCSharpSnippets
{
// [START networkconnectivity_v1_generated_HubService_QueryHubStatus_async]
using Google.Api.Gax;
using Google.Cloud.NetworkConnectivity.V1;
using System;
using System.Linq;
using System.Threading.Tasks;

public sealed partial class GeneratedHubServiceClientSnippets
{
/// <summary>Snippet for QueryHubStatusAsync</summary>
/// <remarks>
/// This snippet has been automatically generated and should be regarded as a code template only.
/// It will require modifications to work:
/// - It may require correct/in-range values for request initialization.
/// - It may require specifying regional endpoints when creating the service client as shown in
/// https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
/// </remarks>
public async Task QueryHubStatusRequestObjectAsync()
{
// Create client
HubServiceClient hubServiceClient = await HubServiceClient.CreateAsync();
// Initialize request argument(s)
QueryHubStatusRequest request = new QueryHubStatusRequest
{
HubName = HubName.FromProjectHub("[PROJECT]", "[HUB]"),
Filter = "",
OrderBy = "",
GroupBy = "",
};
// Make the request
PagedAsyncEnumerable<QueryHubStatusResponse, HubStatusEntry> response = hubServiceClient.QueryHubStatusAsync(request);

// Iterate over all response items, lazily performing RPCs as required
await response.ForEachAsync((HubStatusEntry item) =>
{
// Do something with each item
Console.WriteLine(item);
});

// Or iterate over pages (of server-defined size), performing one RPC per page
await response.AsRawResponses().ForEachAsync((QueryHubStatusResponse page) =>
{
// Do something with each page of items
Console.WriteLine("A page of results:");
foreach (HubStatusEntry item in page)
{
// Do something with each item
Console.WriteLine(item);
}
});

// Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required
int pageSize = 10;
Page<HubStatusEntry> singlePage = await response.ReadPageAsync(pageSize);
// Do something with the page of items
Console.WriteLine($"A page of {pageSize} results (unless it's the final page):");
foreach (HubStatusEntry item in singlePage)
{
// Do something with each item
Console.WriteLine(item);
}
// Store the pageToken, for when the next page is required.
string nextPageToken = singlePage.NextPageToken;
}
}
// [END networkconnectivity_v1_generated_HubService_QueryHubStatus_async]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
// Copyright 2024 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// Generated code. DO NOT EDIT!

namespace GoogleCSharpSnippets
{
// [START networkconnectivity_v1_generated_HubService_QueryHubStatus_sync]
using Google.Api.Gax;
using Google.Cloud.NetworkConnectivity.V1;
using System;

public sealed partial class GeneratedHubServiceClientSnippets
{
/// <summary>Snippet for QueryHubStatus</summary>
/// <remarks>
/// This snippet has been automatically generated and should be regarded as a code template only.
/// It will require modifications to work:
/// - It may require correct/in-range values for request initialization.
/// - It may require specifying regional endpoints when creating the service client as shown in
/// https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
/// </remarks>
public void QueryHubStatusRequestObject()
{
// Create client
HubServiceClient hubServiceClient = HubServiceClient.Create();
// Initialize request argument(s)
QueryHubStatusRequest request = new QueryHubStatusRequest
{
HubName = HubName.FromProjectHub("[PROJECT]", "[HUB]"),
Filter = "",
OrderBy = "",
GroupBy = "",
};
// Make the request
PagedEnumerable<QueryHubStatusResponse, HubStatusEntry> response = hubServiceClient.QueryHubStatus(request);

// Iterate over all response items, lazily performing RPCs as required
foreach (HubStatusEntry item in response)
{
// Do something with each item
Console.WriteLine(item);
}

// Or iterate over pages (of server-defined size), performing one RPC per page
foreach (QueryHubStatusResponse page in response.AsRawResponses())
{
// Do something with each page of items
Console.WriteLine("A page of results:");
foreach (HubStatusEntry item in page)
{
// Do something with each item
Console.WriteLine(item);
}
}

// Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required
int pageSize = 10;
Page<HubStatusEntry> singlePage = response.ReadPage(pageSize);
// Do something with the page of items
Console.WriteLine($"A page of {pageSize} results (unless it's the final page):");
foreach (HubStatusEntry item in singlePage)
{
// Do something with each item
Console.WriteLine(item);
}
// Store the pageToken, for when the next page is required.
string nextPageToken = singlePage.NextPageToken;
}
}
// [END networkconnectivity_v1_generated_HubService_QueryHubStatus_sync]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
// Copyright 2024 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// Generated code. DO NOT EDIT!

namespace GoogleCSharpSnippets
{
// [START networkconnectivity_v1_generated_HubService_QueryHubStatus_async_flattened_resourceNames]
using Google.Api.Gax;
using Google.Cloud.NetworkConnectivity.V1;
using System;
using System.Linq;
using System.Threading.Tasks;

public sealed partial class GeneratedHubServiceClientSnippets
{
/// <summary>Snippet for QueryHubStatusAsync</summary>
/// <remarks>
/// This snippet has been automatically generated and should be regarded as a code template only.
/// It will require modifications to work:
/// - It may require correct/in-range values for request initialization.
/// - It may require specifying regional endpoints when creating the service client as shown in
/// https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
/// </remarks>
public async Task QueryHubStatusResourceNamesAsync()
{
// Create client
HubServiceClient hubServiceClient = await HubServiceClient.CreateAsync();
// Initialize request argument(s)
HubName name = HubName.FromProjectHub("[PROJECT]", "[HUB]");
// Make the request
PagedAsyncEnumerable<QueryHubStatusResponse, HubStatusEntry> response = hubServiceClient.QueryHubStatusAsync(name);

// Iterate over all response items, lazily performing RPCs as required
await response.ForEachAsync((HubStatusEntry item) =>
{
// Do something with each item
Console.WriteLine(item);
});

// Or iterate over pages (of server-defined size), performing one RPC per page
await response.AsRawResponses().ForEachAsync((QueryHubStatusResponse page) =>
{
// Do something with each page of items
Console.WriteLine("A page of results:");
foreach (HubStatusEntry item in page)
{
// Do something with each item
Console.WriteLine(item);
}
});

// Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required
int pageSize = 10;
Page<HubStatusEntry> singlePage = await response.ReadPageAsync(pageSize);
// Do something with the page of items
Console.WriteLine($"A page of {pageSize} results (unless it's the final page):");
foreach (HubStatusEntry item in singlePage)
{
// Do something with each item
Console.WriteLine(item);
}
// Store the pageToken, for when the next page is required.
string nextPageToken = singlePage.NextPageToken;
}
}
// [END networkconnectivity_v1_generated_HubService_QueryHubStatus_async_flattened_resourceNames]
}
Loading

0 comments on commit 8c58bae

Please sign in to comment.