Skip to content

Commit

Permalink
feat: Add Secret Version Delayed Destroy changes for client libraries
Browse files Browse the repository at this point in the history
docs: Users can now enable secret version delayed destruction
PiperOrigin-RevId: 626820938

Source-Link: googleapis/googleapis@0345704

Source-Link: googleapis/googleapis-gen@2532a56
Copy-Tag: eyJwIjoiYXBpcy9Hb29nbGUuQ2xvdWQuU2VjcmV0TWFuYWdlci5WMS8uT3dsQm90LnlhbWwiLCJoIjoiMjUzMmE1NjdlYTQ3NDljNWY1ZTFjMGJiN2EzZjcxMGIwNjI3OTM5MCJ9
  • Loading branch information
gcf-owl-bot[bot] authored and jskeet committed Apr 21, 2024
1 parent 0606c35 commit 88109d4
Show file tree
Hide file tree
Showing 19 changed files with 1,607 additions and 317 deletions.
Expand Up @@ -16,7 +16,7 @@

namespace GoogleCSharpSnippets
{
// [START secretmanager_v1_generated_SecretManagerService_CreateSecret_async_flattened_resourceNames]
// [START secretmanager_v1_generated_SecretManagerService_CreateSecret_async_flattened_resourceNames1]
using Google.Api.Gax.ResourceNames;
using Google.Cloud.SecretManager.V1;
using System.Threading.Tasks;
Expand All @@ -31,7 +31,7 @@ public sealed partial class GeneratedSecretManagerServiceClientSnippets
/// - 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 CreateSecretResourceNamesAsync()
public async Task CreateSecretResourceNames1Async()
{
// Create client
SecretManagerServiceClient secretManagerServiceClient = await SecretManagerServiceClient.CreateAsync();
Expand All @@ -43,5 +43,5 @@ public async Task CreateSecretResourceNamesAsync()
Secret response = await secretManagerServiceClient.CreateSecretAsync(parent, secretId, secret);
}
}
// [END secretmanager_v1_generated_SecretManagerService_CreateSecret_async_flattened_resourceNames]
// [END secretmanager_v1_generated_SecretManagerService_CreateSecret_async_flattened_resourceNames1]
}
Expand Up @@ -16,7 +16,7 @@

namespace GoogleCSharpSnippets
{
// [START secretmanager_v1_generated_SecretManagerService_CreateSecret_sync_flattened_resourceNames]
// [START secretmanager_v1_generated_SecretManagerService_CreateSecret_sync_flattened_resourceNames1]
using Google.Api.Gax.ResourceNames;
using Google.Cloud.SecretManager.V1;

Expand All @@ -30,7 +30,7 @@ public sealed partial class GeneratedSecretManagerServiceClientSnippets
/// - 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 CreateSecretResourceNames()
public void CreateSecretResourceNames1()
{
// Create client
SecretManagerServiceClient secretManagerServiceClient = SecretManagerServiceClient.Create();
Expand All @@ -42,5 +42,5 @@ public void CreateSecretResourceNames()
Secret response = secretManagerServiceClient.CreateSecret(parent, secretId, secret);
}
}
// [END secretmanager_v1_generated_SecretManagerService_CreateSecret_sync_flattened_resourceNames]
// [END secretmanager_v1_generated_SecretManagerService_CreateSecret_sync_flattened_resourceNames1]
}
@@ -0,0 +1,47 @@
// 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 secretmanager_v1_generated_SecretManagerService_CreateSecret_async_flattened_resourceNames2]
using Google.Api.Gax.ResourceNames;
using Google.Cloud.SecretManager.V1;
using System.Threading.Tasks;

public sealed partial class GeneratedSecretManagerServiceClientSnippets
{
/// <summary>Snippet for CreateSecretAsync</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 CreateSecretResourceNames2Async()
{
// Create client
SecretManagerServiceClient secretManagerServiceClient = await SecretManagerServiceClient.CreateAsync();
// Initialize request argument(s)
LocationName parent = LocationName.FromProjectLocation("[PROJECT]", "[LOCATION]");
string secretId = "";
Secret secret = new Secret();
// Make the request
Secret response = await secretManagerServiceClient.CreateSecretAsync(parent, secretId, secret);
}
}
// [END secretmanager_v1_generated_SecretManagerService_CreateSecret_async_flattened_resourceNames2]
}
@@ -0,0 +1,46 @@
// 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 secretmanager_v1_generated_SecretManagerService_CreateSecret_sync_flattened_resourceNames2]
using Google.Api.Gax.ResourceNames;
using Google.Cloud.SecretManager.V1;

public sealed partial class GeneratedSecretManagerServiceClientSnippets
{
/// <summary>Snippet for CreateSecret</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 CreateSecretResourceNames2()
{
// Create client
SecretManagerServiceClient secretManagerServiceClient = SecretManagerServiceClient.Create();
// Initialize request argument(s)
LocationName parent = LocationName.FromProjectLocation("[PROJECT]", "[LOCATION]");
string secretId = "";
Secret secret = new Secret();
// Make the request
Secret response = secretManagerServiceClient.CreateSecret(parent, secretId, secret);
}
}
// [END secretmanager_v1_generated_SecretManagerService_CreateSecret_sync_flattened_resourceNames2]
}
Expand Up @@ -16,7 +16,7 @@

namespace GoogleCSharpSnippets
{
// [START secretmanager_v1_generated_SecretManagerService_ListSecrets_async_flattened_resourceNames]
// [START secretmanager_v1_generated_SecretManagerService_ListSecrets_async_flattened_resourceNames1]
using Google.Api.Gax;
using Google.Api.Gax.ResourceNames;
using Google.Cloud.SecretManager.V1;
Expand All @@ -34,7 +34,7 @@ public sealed partial class GeneratedSecretManagerServiceClientSnippets
/// - 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 ListSecretsResourceNamesAsync()
public async Task ListSecretsResourceNames1Async()
{
// Create client
SecretManagerServiceClient secretManagerServiceClient = await SecretManagerServiceClient.CreateAsync();
Expand Down Expand Up @@ -76,5 +76,5 @@ public async Task ListSecretsResourceNamesAsync()
string nextPageToken = singlePage.NextPageToken;
}
}
// [END secretmanager_v1_generated_SecretManagerService_ListSecrets_async_flattened_resourceNames]
// [END secretmanager_v1_generated_SecretManagerService_ListSecrets_async_flattened_resourceNames1]
}
Expand Up @@ -16,7 +16,7 @@

namespace GoogleCSharpSnippets
{
// [START secretmanager_v1_generated_SecretManagerService_ListSecrets_sync_flattened_resourceNames]
// [START secretmanager_v1_generated_SecretManagerService_ListSecrets_sync_flattened_resourceNames1]
using Google.Api.Gax;
using Google.Api.Gax.ResourceNames;
using Google.Cloud.SecretManager.V1;
Expand All @@ -32,7 +32,7 @@ public sealed partial class GeneratedSecretManagerServiceClientSnippets
/// - 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 ListSecretsResourceNames()
public void ListSecretsResourceNames1()
{
// Create client
SecretManagerServiceClient secretManagerServiceClient = SecretManagerServiceClient.Create();
Expand Down Expand Up @@ -74,5 +74,5 @@ public void ListSecretsResourceNames()
string nextPageToken = singlePage.NextPageToken;
}
}
// [END secretmanager_v1_generated_SecretManagerService_ListSecrets_sync_flattened_resourceNames]
// [END secretmanager_v1_generated_SecretManagerService_ListSecrets_sync_flattened_resourceNames1]
}
@@ -0,0 +1,80 @@
// 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 secretmanager_v1_generated_SecretManagerService_ListSecrets_async_flattened_resourceNames2]
using Google.Api.Gax;
using Google.Api.Gax.ResourceNames;
using Google.Cloud.SecretManager.V1;
using System;
using System.Linq;
using System.Threading.Tasks;

public sealed partial class GeneratedSecretManagerServiceClientSnippets
{
/// <summary>Snippet for ListSecretsAsync</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 ListSecretsResourceNames2Async()
{
// Create client
SecretManagerServiceClient secretManagerServiceClient = await SecretManagerServiceClient.CreateAsync();
// Initialize request argument(s)
LocationName parent = LocationName.FromProjectLocation("[PROJECT]", "[LOCATION]");
// Make the request
PagedAsyncEnumerable<ListSecretsResponse, Secret> response = secretManagerServiceClient.ListSecretsAsync(parent);

// Iterate over all response items, lazily performing RPCs as required
await response.ForEachAsync((Secret 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((ListSecretsResponse page) =>
{
// Do something with each page of items
Console.WriteLine("A page of results:");
foreach (Secret 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<Secret> 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 (Secret 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 secretmanager_v1_generated_SecretManagerService_ListSecrets_async_flattened_resourceNames2]
}
@@ -0,0 +1,78 @@
// 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 secretmanager_v1_generated_SecretManagerService_ListSecrets_sync_flattened_resourceNames2]
using Google.Api.Gax;
using Google.Api.Gax.ResourceNames;
using Google.Cloud.SecretManager.V1;
using System;

public sealed partial class GeneratedSecretManagerServiceClientSnippets
{
/// <summary>Snippet for ListSecrets</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 ListSecretsResourceNames2()
{
// Create client
SecretManagerServiceClient secretManagerServiceClient = SecretManagerServiceClient.Create();
// Initialize request argument(s)
LocationName parent = LocationName.FromProjectLocation("[PROJECT]", "[LOCATION]");
// Make the request
PagedEnumerable<ListSecretsResponse, Secret> response = secretManagerServiceClient.ListSecrets(parent);

// Iterate over all response items, lazily performing RPCs as required
foreach (Secret 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 (ListSecretsResponse page in response.AsRawResponses())
{
// Do something with each page of items
Console.WriteLine("A page of results:");
foreach (Secret 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<Secret> 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 (Secret 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 secretmanager_v1_generated_SecretManagerService_ListSecrets_sync_flattened_resourceNames2]
}

0 comments on commit 88109d4

Please sign in to comment.