From daf9e3c570bd3769c6ad214a3bab63baef1abbb8 Mon Sep 17 00:00:00 2001 From: Vatsal Vora Date: Sun, 2 Mar 2025 19:27:49 +0530 Subject: [PATCH 1/4] feat(parametermanager): Added samples for delete, enable or disable pm or version in specified region --- .../DeleteRegionalParamTests.cs | 40 +++ .../DeleteRegionalParamVersionTests.cs | 40 +++ .../DisableRegionalParamVersionTests.cs | 40 +++ .../EnableRegionalParamVersionTests.cs | 40 +++ ...ameterManager.RegionalSamples.Tests.csproj | 28 ++ .../ParameterManagerRegionalFixture.cs | 296 ++++++++++++++++++ .../DeleteRegionalParam.cs | 52 +++ .../DeleteRegionalParamVersion.cs | 54 ++++ .../DisbleRegionalParamVersion.cs | 70 +++++ .../EnableRegionalParamVersion.cs | 70 +++++ .../ParameterManager.RegionalSamples.csproj | 15 + parametermanager/api/ParameterManager.sln | 48 +++ parametermanager/api/runTests.ps1 | 16 + 13 files changed, 809 insertions(+) create mode 100644 parametermanager/api/ParameterManager.RegionalSamples.Tests/DeleteRegionalParamTests.cs create mode 100644 parametermanager/api/ParameterManager.RegionalSamples.Tests/DeleteRegionalParamVersionTests.cs create mode 100644 parametermanager/api/ParameterManager.RegionalSamples.Tests/DisableRegionalParamVersionTests.cs create mode 100644 parametermanager/api/ParameterManager.RegionalSamples.Tests/EnableRegionalParamVersionTests.cs create mode 100644 parametermanager/api/ParameterManager.RegionalSamples.Tests/ParameterManager.RegionalSamples.Tests.csproj create mode 100644 parametermanager/api/ParameterManager.RegionalSamples.Tests/ParameterManagerRegionalFixture.cs create mode 100644 parametermanager/api/ParameterManager.RegionalSamples/DeleteRegionalParam.cs create mode 100644 parametermanager/api/ParameterManager.RegionalSamples/DeleteRegionalParamVersion.cs create mode 100644 parametermanager/api/ParameterManager.RegionalSamples/DisbleRegionalParamVersion.cs create mode 100644 parametermanager/api/ParameterManager.RegionalSamples/EnableRegionalParamVersion.cs create mode 100644 parametermanager/api/ParameterManager.RegionalSamples/ParameterManager.RegionalSamples.csproj create mode 100644 parametermanager/api/ParameterManager.sln create mode 100644 parametermanager/api/runTests.ps1 diff --git a/parametermanager/api/ParameterManager.RegionalSamples.Tests/DeleteRegionalParamTests.cs b/parametermanager/api/ParameterManager.RegionalSamples.Tests/DeleteRegionalParamTests.cs new file mode 100644 index 00000000000..3bfc61fb7c4 --- /dev/null +++ b/parametermanager/api/ParameterManager.RegionalSamples.Tests/DeleteRegionalParamTests.cs @@ -0,0 +1,40 @@ +/* + * Copyright 2025 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. + */ + +using Google.Cloud.ParameterManager.V1; + +[Collection(nameof(ParameterManagerRegionalFixture))] +public class DeleteRegionalParamTests +{ + private readonly ParameterManagerRegionalFixture _fixture; + private readonly DeleteRegionalParamSample _sample; + + public DeleteRegionalParamTests(ParameterManagerRegionalFixture fixture) + { + _fixture = fixture; + _sample = new DeleteRegionalParamSample(); + } + + [Fact] + public void DeleteRegionalParam() + { + ParameterName parameterName = _fixture.ParameterNameToDelete; + _sample.DeleteRegionalParam(projectId: parameterName.ProjectId, locationId: _fixture.LocationId, parameterId: parameterName.ParameterId); + + ParameterManagerClient client = ParameterManagerClient.Create(); + Assert.Throws(() => client.GetParameter(parameterName)); + } +} diff --git a/parametermanager/api/ParameterManager.RegionalSamples.Tests/DeleteRegionalParamVersionTests.cs b/parametermanager/api/ParameterManager.RegionalSamples.Tests/DeleteRegionalParamVersionTests.cs new file mode 100644 index 00000000000..b7c1afe7cb6 --- /dev/null +++ b/parametermanager/api/ParameterManager.RegionalSamples.Tests/DeleteRegionalParamVersionTests.cs @@ -0,0 +1,40 @@ +/* + * Copyright 2025 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. + */ + +using Google.Cloud.ParameterManager.V1; + +[Collection(nameof(ParameterManagerRegionalFixture))] +public class DeleteRegionalParamVersionTests +{ + private readonly ParameterManagerRegionalFixture _fixture; + private readonly DeleteRegionalParamVersionSample _sample; + + public DeleteRegionalParamVersionTests(ParameterManagerRegionalFixture fixture) + { + _fixture = fixture; + _sample = new DeleteRegionalParamVersionSample(); + } + + [Fact] + public void DeleteRegionalParamVersion() + { + ParameterVersionName parameterVersionName = _fixture.ParameterVersionNameToDelete; + _sample.DeleteRegionalParamVersion(projectId: parameterVersionName.ProjectId, locationId: _fixture.LocationId, parameterId: parameterVersionName.ParameterId, versionId: parameterVersionName.ParameterVersionId); + + ParameterManagerClient client = ParameterManagerClient.Create(); + Assert.Throws(() => client.GetParameterVersion(parameterVersionName)); + } +} diff --git a/parametermanager/api/ParameterManager.RegionalSamples.Tests/DisableRegionalParamVersionTests.cs b/parametermanager/api/ParameterManager.RegionalSamples.Tests/DisableRegionalParamVersionTests.cs new file mode 100644 index 00000000000..92b09fd3831 --- /dev/null +++ b/parametermanager/api/ParameterManager.RegionalSamples.Tests/DisableRegionalParamVersionTests.cs @@ -0,0 +1,40 @@ +/* + * Copyright 2025 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. + */ + +using Google.Cloud.ParameterManager.V1; + +[Collection(nameof(ParameterManagerRegionalFixture))] +public class DisableRegionalParamVersionTests +{ + private readonly ParameterManagerRegionalFixture _fixture; + private readonly DisableRegionalParamVersionSample _sample; + + public DisableRegionalParamVersionTests(ParameterManagerRegionalFixture fixture) + { + _fixture = fixture; + _sample = new DisableRegionalParamVersionSample(); + } + + [Fact] + public void DisableRegionalParamVersion() + { + ParameterVersion result = _sample.DisableRegionalParamVersion(projectId: _fixture.ProjectId, locationId: _fixture.LocationId, parameterId: _fixture.ParameterId, versionId: _fixture.ParameterVersionId); + + Assert.NotNull(result); + Assert.Equal(result.Name, _fixture.ParameterVersionToRender.Name); + Assert.True(result.Disabled); + } +} diff --git a/parametermanager/api/ParameterManager.RegionalSamples.Tests/EnableRegionalParamVersionTests.cs b/parametermanager/api/ParameterManager.RegionalSamples.Tests/EnableRegionalParamVersionTests.cs new file mode 100644 index 00000000000..f9ec09d3c61 --- /dev/null +++ b/parametermanager/api/ParameterManager.RegionalSamples.Tests/EnableRegionalParamVersionTests.cs @@ -0,0 +1,40 @@ +/* + * Copyright 2025 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. + */ + +using Google.Cloud.ParameterManager.V1; + +[Collection(nameof(ParameterManagerRegionalFixture))] +public class EnableRegionalParamVersionTests +{ + private readonly ParameterManagerRegionalFixture _fixture; + private readonly EnableRegionalParamVersionSample _sample; + + public EnableRegionalParamVersionTests(ParameterManagerRegionalFixture fixture) + { + _fixture = fixture; + _sample = new EnableRegionalParamVersionSample(); + } + + [Fact] + public void EnableRegionalParamVersion() + { + ParameterVersion result = _sample.EnableRegionalParamVersion(projectId: _fixture.ProjectId, locationId: _fixture.LocationId, parameterId: _fixture.ParameterId, versionId: _fixture.ParameterVersionId); + + Assert.NotNull(result); + Assert.Equal(result.Name, _fixture.ParameterVersionToRender.Name); + Assert.False(result.Disabled); + } +} diff --git a/parametermanager/api/ParameterManager.RegionalSamples.Tests/ParameterManager.RegionalSamples.Tests.csproj b/parametermanager/api/ParameterManager.RegionalSamples.Tests/ParameterManager.RegionalSamples.Tests.csproj new file mode 100644 index 00000000000..d4152246e38 --- /dev/null +++ b/parametermanager/api/ParameterManager.RegionalSamples.Tests/ParameterManager.RegionalSamples.Tests.csproj @@ -0,0 +1,28 @@ + + + + net9.0 + enable + enable + false + + + + + + + + + + + + + + + + + + + + + diff --git a/parametermanager/api/ParameterManager.RegionalSamples.Tests/ParameterManagerRegionalFixture.cs b/parametermanager/api/ParameterManager.RegionalSamples.Tests/ParameterManagerRegionalFixture.cs new file mode 100644 index 00000000000..14da47c0e2c --- /dev/null +++ b/parametermanager/api/ParameterManager.RegionalSamples.Tests/ParameterManagerRegionalFixture.cs @@ -0,0 +1,296 @@ +// Copyright(c) 2025 Google Inc. +// +// 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 +// +// http://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. + +using Google.Api.Gax.ResourceNames; +using Google.Cloud.Iam.V1; +using Google.Cloud.ParameterManager.V1; +using Google.Cloud.SecretManager.V1; +using Google.Protobuf; +using System.Text; + +[CollectionDefinition(nameof(ParameterManagerRegionalFixture))] +public class ParameterManagerRegionalFixture : IDisposable, ICollectionFixture +{ + public string ProjectId { get; } + public string LocationId = "us-central1"; + + public string Payload = "test123"; + public string JsonPayload = "{\"username\": \"test-user\", \"host\": \"localhost\"}"; + public string SecretReference { get; } + public string SecretId = "projects/project-id/secrets/secret-id/versions/latest"; + + public ParameterName ParameterName { get; } + public ParameterName ParameterNameWithFormat { get; } + + public string ParameterId { get; } + public Parameter Parameter { get; } + public ParameterVersionName ParameterVersionName { get; } + + public Parameter ParameterWithFormat { get; } + public ParameterVersionName ParameterVersionNameWithFormat { get; } + + public Parameter ParameterWithSecretReference { get; } + public ParameterVersionName ParameterVersionNameWithSecretReference { get; } + + public Parameter ParameterToDelete { get; } + public ParameterName ParameterNameToDelete { get; } + + public string ParameterVersionId { get; } + public Parameter ParameterToDeleteVersion { get; } + public ParameterVersion ParameterVersionToDelete { get; } + public ParameterVersionName ParameterVersionNameToDelete { get; } + + public ParameterName ParameterNameForQuickstart { get; } + public ParameterVersionName ParameterVersionNameForQuickstart { get; } + + public Parameter ParameterToRender { get; } + public ParameterVersion ParameterVersionToRender { get; } + public ParameterVersionName ParameterVersionNameToRender { get; } + public Secret Secret { get; } + public SecretVersion SecretVersion { get; } + public Policy Policy { get; } + + public ParameterManagerRegionalFixture() + { + ProjectId = Environment.GetEnvironmentVariable("GOOGLE_PROJECT_ID"); + if (String.IsNullOrEmpty(ProjectId)) + { + throw new Exception("missing GOOGLE_PROJECT_ID"); + } + + ParameterName = new ParameterName(ProjectId, LocationId, RandomId()); + ParameterNameWithFormat = new ParameterName(ProjectId, LocationId, RandomId()); + + ParameterId = RandomId(); + Parameter = CreateParameter(ParameterId, ParameterFormat.Unformatted); + ParameterVersionName = new ParameterVersionName(ProjectId, LocationId, ParameterId, RandomId()); + + ParameterId = RandomId(); + ParameterWithFormat = CreateParameter(ParameterId, ParameterFormat.Json); + ParameterVersionNameWithFormat = new ParameterVersionName(ProjectId, LocationId, ParameterId, RandomId()); + + ParameterId = RandomId(); + ParameterWithSecretReference = CreateParameter(ParameterId, ParameterFormat.Unformatted); + ParameterVersionNameWithSecretReference = new ParameterVersionName(ProjectId, LocationId, ParameterId, RandomId()); + + ParameterId = RandomId(); + ParameterToDelete = CreateParameter(ParameterId, ParameterFormat.Unformatted); + ParameterNameToDelete = new ParameterName(ProjectId, LocationId, ParameterId); + + ParameterId = RandomId(); + ParameterVersionId = RandomId(); + ParameterToDeleteVersion = CreateParameter(ParameterId, ParameterFormat.Unformatted); + ParameterVersionToDelete = CreateParameterVersion(ParameterId, ParameterVersionId, Payload); + ParameterVersionNameToDelete = new ParameterVersionName(ProjectId, LocationId, ParameterId, ParameterVersionId); + + ParameterId = RandomId(); + ParameterVersionId = RandomId(); + ParameterNameForQuickstart = new ParameterName(ProjectId, LocationId, ParameterId); + ParameterVersionNameForQuickstart = new ParameterVersionName(ProjectId, LocationId, ParameterId, ParameterVersionId); + + ParameterId = RandomId(); + ParameterVersionId = RandomId(); + ParameterToRender = CreateParameter(ParameterId, ParameterFormat.Json); + Secret = CreateSecret(RandomId()); + SecretVersion = AddSecretVersion(Secret); + SecretReference = $"{{\"username\": \"test-user\", \"password\": \"__REF__(//secretmanager.googleapis.com/{Secret.SecretName}/versions/latest)\"}}"; + ParameterVersionToRender = CreateParameterVersion(ParameterId, ParameterVersionId, SecretReference); + Policy = GrantIAMAccess(Secret.SecretName, ParameterToRender.PolicyMember.IamPolicyUidPrincipal.ToString()); + ParameterVersionNameToRender = new ParameterVersionName(ProjectId, LocationId, ParameterId, ParameterVersionId); + Thread.Sleep(120000); + } + + public void Dispose() + { + DeleteParameter(ParameterName); + DeleteParameter(ParameterNameWithFormat); + DeleteParameterVersion(ParameterVersionName); + DeleteParameter(Parameter.ParameterName); + DeleteParameterVersion(ParameterVersionNameWithFormat); + DeleteParameter(ParameterWithFormat.ParameterName); + DeleteParameterVersion(ParameterVersionNameWithSecretReference); + DeleteParameter(ParameterWithSecretReference.ParameterName); + DeleteParameter(ParameterNameToDelete); + DeleteParameterVersion(ParameterVersionNameToDelete); + DeleteParameter(ParameterToDeleteVersion.ParameterName); + DeleteParameterVersion(ParameterVersionNameForQuickstart); + DeleteParameter(ParameterNameForQuickstart); + DeleteParameterVersion(ParameterVersionNameToRender); + DeleteParameter(ParameterToRender.ParameterName); + DeleteSecret(Secret.SecretName); + } + + public String RandomId() + { + return $"csharp-{System.Guid.NewGuid()}"; + } + + public Parameter CreateParameter(string parameterId, ParameterFormat format) + { + // Define the regional endpoint + string regionalEndpoint = $"parametermanager.{LocationId}.rep.googleapis.com"; + + // Create the client with the regional endpoint + ParameterManagerClient client = new ParameterManagerClientBuilder + { + Endpoint = regionalEndpoint + }.Build(); + + LocationName parent = new LocationName(ProjectId, LocationId); + + Parameter parameter = new Parameter + { + Format = format + }; + + return client.CreateParameter(parent, parameter, parameterId); + } + + public ParameterVersion CreateParameterVersion(string parameterId, string versionId, string payload) + { + // Define the regional endpoint + string regionalEndpoint = $"parametermanager.{LocationId}.rep.googleapis.com"; + + // Create the client with the regional endpoint + ParameterManagerClient client = new ParameterManagerClientBuilder + { + Endpoint = regionalEndpoint + }.Build(); + + ParameterName parameterName = new ParameterName(ProjectId, LocationId, parameterId); + ParameterVersion parameterVersion = new ParameterVersion + { + Payload = new ParameterVersionPayload + { + Data = ByteString.CopyFrom(payload, Encoding.UTF8) + } + }; + + return client.CreateParameterVersion(parameterName.ToString(), parameterVersion, versionId); + } + + private void DeleteParameter(ParameterName name) + { + // Define the regional endpoint + string regionalEndpoint = $"parametermanager.{LocationId}.rep.googleapis.com"; + + // Create the client with the regional endpoint + ParameterManagerClient client = new ParameterManagerClientBuilder + { + Endpoint = regionalEndpoint + }.Build(); + try + { + client.DeleteParameter(name); + } + catch (Grpc.Core.RpcException e) when (e.StatusCode == Grpc.Core.StatusCode.NotFound) + { + // Ignore error - Parameter was already deleted + } + } + + private void DeleteParameterVersion(ParameterVersionName name) + { + // Define the regional endpoint + string regionalEndpoint = $"parametermanager.{LocationId}.rep.googleapis.com"; + + // Create the client with the regional endpoint + ParameterManagerClient client = new ParameterManagerClientBuilder + { + Endpoint = regionalEndpoint + }.Build(); + try + { + client.DeleteParameterVersion(name); + } + catch (Grpc.Core.RpcException e) when (e.StatusCode == Grpc.Core.StatusCode.NotFound) + { + // Ignore error - Parameter version was already deleted + } + } + + public Secret CreateSecret(string secretId) + { + string regionalEndpoint = $"secretmanager.{LocationId}.rep.googleapis.com"; + SecretManagerServiceClient client = new SecretManagerServiceClientBuilder + { + Endpoint = regionalEndpoint + }.Build(); + + LocationName parent = new LocationName(ProjectId, LocationId); + + Secret secret = new Secret(); + + return client.CreateSecret(parent, secretId, secret); + } + + public Policy GrantIAMAccess(SecretName secretName, string member) + { + string regionalEndpoint = $"secretmanager.{LocationId}.rep.googleapis.com"; + SecretManagerServiceClient client = new SecretManagerServiceClientBuilder + { + Endpoint = regionalEndpoint + }.Build(); + + // Get current policy. + Policy policy = client.GetIamPolicy(new GetIamPolicyRequest + { + ResourceAsResourceName = secretName, + }); + + // Add the user to the list of bindings. + policy.AddRoleMember("roles/secretmanager.secretAccessor", member); + + // Save the updated policy. + policy = client.SetIamPolicy(new SetIamPolicyRequest + { + ResourceAsResourceName = secretName, + Policy = policy, + }); + return policy; + } + private SecretVersion AddSecretVersion(Secret secret) + { + string regionalEndpoint = $"secretmanager.{LocationId}.rep.googleapis.com"; + SecretManagerServiceClient client = new SecretManagerServiceClientBuilder + { + Endpoint = regionalEndpoint + }.Build(); + + SecretPayload payload = new SecretPayload + { + Data = ByteString.CopyFrom("my super secret data", Encoding.UTF8), + }; + + return client.AddSecretVersion(secret.SecretName, payload); + } + + private void DeleteSecret(SecretName name) + { + string regionalEndpoint = $"secretmanager.{LocationId}.rep.googleapis.com"; + SecretManagerServiceClient client = new SecretManagerServiceClientBuilder + { + Endpoint = regionalEndpoint + }.Build(); + + try + { + client.DeleteSecret(name); + } + catch (Grpc.Core.RpcException e) when (e.StatusCode == Grpc.Core.StatusCode.NotFound) + { + // Ignore error - secret was already deleted + } + } +} diff --git a/parametermanager/api/ParameterManager.RegionalSamples/DeleteRegionalParam.cs b/parametermanager/api/ParameterManager.RegionalSamples/DeleteRegionalParam.cs new file mode 100644 index 00000000000..487841e1e93 --- /dev/null +++ b/parametermanager/api/ParameterManager.RegionalSamples/DeleteRegionalParam.cs @@ -0,0 +1,52 @@ +/* + * Copyright 2025 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. + */ + +// [START parametermanager_delete_regional_param] + +using Google.Cloud.ParameterManager.V1; + +/// +/// This function deletes a regional parameter using the Parameter Manager SDK for GCP. +/// +/// The ID of the project where the parameter is located. +/// The ID of the region where the parameter is located. +/// The ID of the parameter to be deleted. +public class DeleteRegionalParamSample +{ + public void DeleteRegionalParam( + string projectId, + string locationId, + string parameterId) + { + // Define the regional endpoint + string regionalEndpoint = $"parametermanager.{locationId}.rep.googleapis.com"; + + // Create the client with the regional endpoint + ParameterManagerClient client = new ParameterManagerClientBuilder + { + Endpoint = regionalEndpoint + }.Build(); + + // Build the resource name for the parameter in the specified regional locationId + ParameterName parameterName = new ParameterName(projectId, locationId, parameterId); + + // Call the API to delete the parameter + client.DeleteParameter(parameterName); + + Console.WriteLine($"Deleted regional parameter: {parameterName}"); + } +} +// [END parametermanager_delete_regional_param] diff --git a/parametermanager/api/ParameterManager.RegionalSamples/DeleteRegionalParamVersion.cs b/parametermanager/api/ParameterManager.RegionalSamples/DeleteRegionalParamVersion.cs new file mode 100644 index 00000000000..fb5be3813fc --- /dev/null +++ b/parametermanager/api/ParameterManager.RegionalSamples/DeleteRegionalParamVersion.cs @@ -0,0 +1,54 @@ +/* + * Copyright 2025 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. + */ + +// [START parametermanager_delete_regional_param_version] + +using Google.Cloud.ParameterManager.V1; + +/// +/// This function deletes a regional parameter version using the Parameter Manager SDK for GCP. +/// +/// The ID of the project where the parameter is located. +/// The ID of the region where the parameter is located. +/// The ID of the parameter for which the version is to be deleted. +/// The ID of the version to be deleted. +public class DeleteRegionalParamVersionSample +{ + public void DeleteRegionalParamVersion( + string projectId, + string locationId, + string parameterId, + string versionId) + { + // Define the regional endpoint + string regionalEndpoint = $"parametermanager.{locationId}.rep.googleapis.com"; + + // Create the client with the regional endpoint + ParameterManagerClient client = new ParameterManagerClientBuilder + { + Endpoint = regionalEndpoint + }.Build(); + + // Build the resource name for the parameter version in the specified regional locationId + ParameterVersionName parameterVersionName = new ParameterVersionName(projectId, locationId, parameterId, versionId); + + // Call the API to delete the parameter version + client.DeleteParameterVersion(parameterVersionName); + + Console.WriteLine($"Deleted regional parameter version: {parameterVersionName}"); + } +} +// [END parametermanager_delete_regional_param_version] diff --git a/parametermanager/api/ParameterManager.RegionalSamples/DisbleRegionalParamVersion.cs b/parametermanager/api/ParameterManager.RegionalSamples/DisbleRegionalParamVersion.cs new file mode 100644 index 00000000000..787badbda01 --- /dev/null +++ b/parametermanager/api/ParameterManager.RegionalSamples/DisbleRegionalParamVersion.cs @@ -0,0 +1,70 @@ +/* + * Copyright 2025 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. + */ + +// [START parametermanager_disable_regional_param_version] + +using Google.Cloud.ParameterManager.V1; +using Google.Protobuf.WellKnownTypes; + +/// +/// This function disables a regional parameter version using the Parameter Manager SDK for GCP. +/// +/// The ID of the project where the parameter is located. +/// The ID of the region where the parameter is located. +/// The ID of the parameter for which the version is to be disabled. +/// The ID of the version to be disabled. +public class DisableRegionalParamVersionSample +{ + public ParameterVersion DisableRegionalParamVersion( + string projectId, + string locationId, + string parameterId, + string versionId) + { + // Define the regional endpoint + string regionalEndpoint = $"parametermanager.{locationId}.rep.googleapis.com"; + + // Create the client with the regional endpoint + ParameterManagerClient client = new ParameterManagerClientBuilder + { + Endpoint = regionalEndpoint + }.Build(); + + // Build the resource name for the parameter version in the specified regional locationId + ParameterVersionName parameterVersionName = new ParameterVersionName(projectId, locationId, parameterId, versionId); + + UpdateParameterVersionRequest request = new UpdateParameterVersionRequest + { + ParameterVersion = new ParameterVersion + { + Name = parameterVersionName.ToString(), + Disabled = true + }, + UpdateMask = new FieldMask + { + Paths = { "disabled" } + } + }; + + // Call the API to update (disable) the parameter version. + ParameterVersion updatedParameterVersion = client.UpdateParameterVersion(request); + + Console.WriteLine($"Disabled regional parameter version {versionId} for parameter {parameterId}"); + + return updatedParameterVersion; + } +} +// [END parametermanager_disable_regional_param_version] diff --git a/parametermanager/api/ParameterManager.RegionalSamples/EnableRegionalParamVersion.cs b/parametermanager/api/ParameterManager.RegionalSamples/EnableRegionalParamVersion.cs new file mode 100644 index 00000000000..e6fa9a8ec05 --- /dev/null +++ b/parametermanager/api/ParameterManager.RegionalSamples/EnableRegionalParamVersion.cs @@ -0,0 +1,70 @@ +/* + * Copyright 2025 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. + */ + +// [START parametermanager_enable_regional_param_version] + +using Google.Cloud.ParameterManager.V1; +using Google.Protobuf.WellKnownTypes; + +/// +/// This function enables a regional parameter version using the Parameter Manager SDK for GCP. +/// +/// The ID of the project where the parameter is located. +/// The ID of the region where the parameter is located. +/// The ID of the parameter for which the version is to be enabled. +/// The ID of the version to be enabled. +public class EnableRegionalParamVersionSample +{ + public ParameterVersion EnableRegionalParamVersion( + string projectId, + string locationId, + string parameterId, + string versionId) + { + // Define the regional endpoint + string regionalEndpoint = $"parametermanager.{locationId}.rep.googleapis.com"; + + // Create the client with the regional endpoint + ParameterManagerClient client = new ParameterManagerClientBuilder + { + Endpoint = regionalEndpoint + }.Build(); + + // Build the resource name for the parameter version in the specified regional locationId + ParameterVersionName parameterVersionName = new ParameterVersionName(projectId, locationId, parameterId, versionId); + + UpdateParameterVersionRequest request = new UpdateParameterVersionRequest + { + ParameterVersion = new ParameterVersion + { + Name = parameterVersionName.ToString(), + Disabled = false + }, + UpdateMask = new FieldMask + { + Paths = { "disabled" } + } + }; + + // Call the API to update (disable) the parameter version. + ParameterVersion updatedParameterVersion = client.UpdateParameterVersion(request); + + Console.WriteLine($"Enabled regional parameter version {versionId} for parameter {parameterId}"); + + return updatedParameterVersion; + } +} +// [END parametermanager_enable_regional_param_version] diff --git a/parametermanager/api/ParameterManager.RegionalSamples/ParameterManager.RegionalSamples.csproj b/parametermanager/api/ParameterManager.RegionalSamples/ParameterManager.RegionalSamples.csproj new file mode 100644 index 00000000000..d1ad6d7b1fa --- /dev/null +++ b/parametermanager/api/ParameterManager.RegionalSamples/ParameterManager.RegionalSamples.csproj @@ -0,0 +1,15 @@ + + + + net9.0 + enable + enable + false + + + + + + + + diff --git a/parametermanager/api/ParameterManager.sln b/parametermanager/api/ParameterManager.sln new file mode 100644 index 00000000000..0a9d47dd0fe --- /dev/null +++ b/parametermanager/api/ParameterManager.sln @@ -0,0 +1,48 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.0.31903.59 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ParameterManager.RegionalSamples", "ParameterManager.RegionalSamples\ParameterManager.RegionalSamples.csproj", "{BBCD77C3-78A0-429F-BAF8-A09D09AC5ABC}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ParameterManager.RegionalSamples.Tests", "ParameterManager.RegionalSamples.Tests\ParameterManager.RegionalSamples.Tests.csproj", "{8C30DC02-1CDD-4309-8CDE-B8B10B2F88EE}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {BBCD77C3-78A0-429F-BAF8-A09D09AC5ABC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BBCD77C3-78A0-429F-BAF8-A09D09AC5ABC}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BBCD77C3-78A0-429F-BAF8-A09D09AC5ABC}.Debug|x64.ActiveCfg = Debug|Any CPU + {BBCD77C3-78A0-429F-BAF8-A09D09AC5ABC}.Debug|x64.Build.0 = Debug|Any CPU + {BBCD77C3-78A0-429F-BAF8-A09D09AC5ABC}.Debug|x86.ActiveCfg = Debug|Any CPU + {BBCD77C3-78A0-429F-BAF8-A09D09AC5ABC}.Debug|x86.Build.0 = Debug|Any CPU + {BBCD77C3-78A0-429F-BAF8-A09D09AC5ABC}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BBCD77C3-78A0-429F-BAF8-A09D09AC5ABC}.Release|Any CPU.Build.0 = Release|Any CPU + {BBCD77C3-78A0-429F-BAF8-A09D09AC5ABC}.Release|x64.ActiveCfg = Release|Any CPU + {BBCD77C3-78A0-429F-BAF8-A09D09AC5ABC}.Release|x64.Build.0 = Release|Any CPU + {BBCD77C3-78A0-429F-BAF8-A09D09AC5ABC}.Release|x86.ActiveCfg = Release|Any CPU + {BBCD77C3-78A0-429F-BAF8-A09D09AC5ABC}.Release|x86.Build.0 = Release|Any CPU + {8C30DC02-1CDD-4309-8CDE-B8B10B2F88EE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8C30DC02-1CDD-4309-8CDE-B8B10B2F88EE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8C30DC02-1CDD-4309-8CDE-B8B10B2F88EE}.Debug|x64.ActiveCfg = Debug|Any CPU + {8C30DC02-1CDD-4309-8CDE-B8B10B2F88EE}.Debug|x64.Build.0 = Debug|Any CPU + {8C30DC02-1CDD-4309-8CDE-B8B10B2F88EE}.Debug|x86.ActiveCfg = Debug|Any CPU + {8C30DC02-1CDD-4309-8CDE-B8B10B2F88EE}.Debug|x86.Build.0 = Debug|Any CPU + {8C30DC02-1CDD-4309-8CDE-B8B10B2F88EE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8C30DC02-1CDD-4309-8CDE-B8B10B2F88EE}.Release|Any CPU.Build.0 = Release|Any CPU + {8C30DC02-1CDD-4309-8CDE-B8B10B2F88EE}.Release|x64.ActiveCfg = Release|Any CPU + {8C30DC02-1CDD-4309-8CDE-B8B10B2F88EE}.Release|x64.Build.0 = Release|Any CPU + {8C30DC02-1CDD-4309-8CDE-B8B10B2F88EE}.Release|x86.ActiveCfg = Release|Any CPU + {8C30DC02-1CDD-4309-8CDE-B8B10B2F88EE}.Release|x86.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/parametermanager/api/runTests.ps1 b/parametermanager/api/runTests.ps1 new file mode 100644 index 00000000000..05d154e7749 --- /dev/null +++ b/parametermanager/api/runTests.ps1 @@ -0,0 +1,16 @@ +# Copyright 2025 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. + +dotnet restore --force +dotnet test --no-restore --test-adapter-path:. --logger:junit 2>&1 | %{ "$_" } From 1ee501f54cecb7552347f2a4dcea89f0d8fcc5b3 Mon Sep 17 00:00:00 2001 From: Vatsal Vora Date: Fri, 21 Mar 2025 12:55:41 +0530 Subject: [PATCH 2/4] chor(parametermanager): changed dotnet version to LTS --- .../ParameterManager.RegionalSamples.Tests.csproj | 2 +- .../ParameterManager.RegionalSamples.csproj | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/parametermanager/api/ParameterManager.RegionalSamples.Tests/ParameterManager.RegionalSamples.Tests.csproj b/parametermanager/api/ParameterManager.RegionalSamples.Tests/ParameterManager.RegionalSamples.Tests.csproj index d4152246e38..65f2e48c4cd 100644 --- a/parametermanager/api/ParameterManager.RegionalSamples.Tests/ParameterManager.RegionalSamples.Tests.csproj +++ b/parametermanager/api/ParameterManager.RegionalSamples.Tests/ParameterManager.RegionalSamples.Tests.csproj @@ -1,7 +1,7 @@  - net9.0 + net8.0 enable enable false diff --git a/parametermanager/api/ParameterManager.RegionalSamples/ParameterManager.RegionalSamples.csproj b/parametermanager/api/ParameterManager.RegionalSamples/ParameterManager.RegionalSamples.csproj index d1ad6d7b1fa..1af145f53fd 100644 --- a/parametermanager/api/ParameterManager.RegionalSamples/ParameterManager.RegionalSamples.csproj +++ b/parametermanager/api/ParameterManager.RegionalSamples/ParameterManager.RegionalSamples.csproj @@ -1,7 +1,7 @@  - net9.0 + net8.0 enable enable false From 16dc522d39bd57ab745f3d15c8ac5ae13f49431f Mon Sep 17 00:00:00 2001 From: Vatsal Vora Date: Thu, 3 Apr 2025 18:26:03 +0530 Subject: [PATCH 3/4] fix(parametermanager): update files & methods name and testcases --- ...sts.cs => DeleteRegionalParameterTests.cs} | 12 +- ...=> DeleteRegionalParameterVersionTests.cs} | 12 +- ...> DisableRegionalParameterVersionTests.cs} | 14 +- ...=> EnableRegionalParameterVersionTests.cs} | 14 +- .../ParameterManagerRegionalFixture.cs | 147 +----------------- ...nalParam.cs => DeleteRegionalParameter.cs} | 16 +- ...n.cs => DeleteRegionalParameterVersion.cs} | 18 +-- ...n.cs => DisbleRegionalParameterVersion.cs} | 18 +-- ...n.cs => EnableRegionalParameterVersion.cs} | 18 +-- 9 files changed, 67 insertions(+), 202 deletions(-) rename parametermanager/api/ParameterManager.RegionalSamples.Tests/{DeleteRegionalParamTests.cs => DeleteRegionalParameterTests.cs} (71%) rename parametermanager/api/ParameterManager.RegionalSamples.Tests/{DeleteRegionalParamVersionTests.cs => DeleteRegionalParameterVersionTests.cs} (66%) rename parametermanager/api/ParameterManager.RegionalSamples.Tests/{DisableRegionalParamVersionTests.cs => DisableRegionalParameterVersionTests.cs} (59%) rename parametermanager/api/ParameterManager.RegionalSamples.Tests/{EnableRegionalParamVersionTests.cs => EnableRegionalParameterVersionTests.cs} (59%) rename parametermanager/api/ParameterManager.RegionalSamples/{DeleteRegionalParam.cs => DeleteRegionalParameter.cs} (75%) rename parametermanager/api/ParameterManager.RegionalSamples/{DeleteRegionalParamVersion.cs => DeleteRegionalParameterVersion.cs} (72%) rename parametermanager/api/ParameterManager.RegionalSamples/{DisbleRegionalParamVersion.cs => DisbleRegionalParameterVersion.cs} (77%) rename parametermanager/api/ParameterManager.RegionalSamples/{EnableRegionalParamVersion.cs => EnableRegionalParameterVersion.cs} (77%) diff --git a/parametermanager/api/ParameterManager.RegionalSamples.Tests/DeleteRegionalParamTests.cs b/parametermanager/api/ParameterManager.RegionalSamples.Tests/DeleteRegionalParameterTests.cs similarity index 71% rename from parametermanager/api/ParameterManager.RegionalSamples.Tests/DeleteRegionalParamTests.cs rename to parametermanager/api/ParameterManager.RegionalSamples.Tests/DeleteRegionalParameterTests.cs index 3bfc61fb7c4..8cf3c0389fc 100644 --- a/parametermanager/api/ParameterManager.RegionalSamples.Tests/DeleteRegionalParamTests.cs +++ b/parametermanager/api/ParameterManager.RegionalSamples.Tests/DeleteRegionalParameterTests.cs @@ -17,22 +17,22 @@ using Google.Cloud.ParameterManager.V1; [Collection(nameof(ParameterManagerRegionalFixture))] -public class DeleteRegionalParamTests +public class DeleteRegionalParameterTests { private readonly ParameterManagerRegionalFixture _fixture; - private readonly DeleteRegionalParamSample _sample; + private readonly DeleteRegionalParameterSample _sample; - public DeleteRegionalParamTests(ParameterManagerRegionalFixture fixture) + public DeleteRegionalParameterTests(ParameterManagerRegionalFixture fixture) { _fixture = fixture; - _sample = new DeleteRegionalParamSample(); + _sample = new DeleteRegionalParameterSample(); } [Fact] - public void DeleteRegionalParam() + public void DeleteRegionalParameter() { ParameterName parameterName = _fixture.ParameterNameToDelete; - _sample.DeleteRegionalParam(projectId: parameterName.ProjectId, locationId: _fixture.LocationId, parameterId: parameterName.ParameterId); + _sample.DeleteRegionalParameter(projectId: parameterName.ProjectId, locationId: _fixture.LocationId, parameterId: parameterName.ParameterId); ParameterManagerClient client = ParameterManagerClient.Create(); Assert.Throws(() => client.GetParameter(parameterName)); diff --git a/parametermanager/api/ParameterManager.RegionalSamples.Tests/DeleteRegionalParamVersionTests.cs b/parametermanager/api/ParameterManager.RegionalSamples.Tests/DeleteRegionalParameterVersionTests.cs similarity index 66% rename from parametermanager/api/ParameterManager.RegionalSamples.Tests/DeleteRegionalParamVersionTests.cs rename to parametermanager/api/ParameterManager.RegionalSamples.Tests/DeleteRegionalParameterVersionTests.cs index b7c1afe7cb6..9afd86dcc5e 100644 --- a/parametermanager/api/ParameterManager.RegionalSamples.Tests/DeleteRegionalParamVersionTests.cs +++ b/parametermanager/api/ParameterManager.RegionalSamples.Tests/DeleteRegionalParameterVersionTests.cs @@ -17,22 +17,22 @@ using Google.Cloud.ParameterManager.V1; [Collection(nameof(ParameterManagerRegionalFixture))] -public class DeleteRegionalParamVersionTests +public class DeleteRegionalParameterVersionTests { private readonly ParameterManagerRegionalFixture _fixture; - private readonly DeleteRegionalParamVersionSample _sample; + private readonly DeleteRegionalParameterVersionSample _sample; - public DeleteRegionalParamVersionTests(ParameterManagerRegionalFixture fixture) + public DeleteRegionalParameterVersionTests(ParameterManagerRegionalFixture fixture) { _fixture = fixture; - _sample = new DeleteRegionalParamVersionSample(); + _sample = new DeleteRegionalParameterVersionSample(); } [Fact] - public void DeleteRegionalParamVersion() + public void DeleteRegionalParameterVersion() { ParameterVersionName parameterVersionName = _fixture.ParameterVersionNameToDelete; - _sample.DeleteRegionalParamVersion(projectId: parameterVersionName.ProjectId, locationId: _fixture.LocationId, parameterId: parameterVersionName.ParameterId, versionId: parameterVersionName.ParameterVersionId); + _sample.DeleteRegionalParameterVersion(projectId: parameterVersionName.ProjectId, locationId: _fixture.LocationId, parameterId: parameterVersionName.ParameterId, versionId: parameterVersionName.ParameterVersionId); ParameterManagerClient client = ParameterManagerClient.Create(); Assert.Throws(() => client.GetParameterVersion(parameterVersionName)); diff --git a/parametermanager/api/ParameterManager.RegionalSamples.Tests/DisableRegionalParamVersionTests.cs b/parametermanager/api/ParameterManager.RegionalSamples.Tests/DisableRegionalParameterVersionTests.cs similarity index 59% rename from parametermanager/api/ParameterManager.RegionalSamples.Tests/DisableRegionalParamVersionTests.cs rename to parametermanager/api/ParameterManager.RegionalSamples.Tests/DisableRegionalParameterVersionTests.cs index 92b09fd3831..c978f1f01ba 100644 --- a/parametermanager/api/ParameterManager.RegionalSamples.Tests/DisableRegionalParamVersionTests.cs +++ b/parametermanager/api/ParameterManager.RegionalSamples.Tests/DisableRegionalParameterVersionTests.cs @@ -17,24 +17,24 @@ using Google.Cloud.ParameterManager.V1; [Collection(nameof(ParameterManagerRegionalFixture))] -public class DisableRegionalParamVersionTests +public class DisableRegionalParameterVersionTests { private readonly ParameterManagerRegionalFixture _fixture; - private readonly DisableRegionalParamVersionSample _sample; + private readonly DisableRegionalParameterVersionSample _sample; - public DisableRegionalParamVersionTests(ParameterManagerRegionalFixture fixture) + public DisableRegionalParameterVersionTests(ParameterManagerRegionalFixture fixture) { _fixture = fixture; - _sample = new DisableRegionalParamVersionSample(); + _sample = new DisableRegionalParameterVersionSample(); } [Fact] - public void DisableRegionalParamVersion() + public void DisableRegionalParameterVersion() { - ParameterVersion result = _sample.DisableRegionalParamVersion(projectId: _fixture.ProjectId, locationId: _fixture.LocationId, parameterId: _fixture.ParameterId, versionId: _fixture.ParameterVersionId); + ParameterVersion result = _sample.DisableRegionalParameterVersion(projectId: _fixture.ProjectId, locationId: _fixture.LocationId, parameterId: _fixture.ParameterId, versionId: _fixture.ParameterVersionId); Assert.NotNull(result); - Assert.Equal(result.Name, _fixture.ParameterVersionToRender.Name); + Assert.Equal(result.Name, _fixture.ParameterVersionToDisableAndEnable.Name); Assert.True(result.Disabled); } } diff --git a/parametermanager/api/ParameterManager.RegionalSamples.Tests/EnableRegionalParamVersionTests.cs b/parametermanager/api/ParameterManager.RegionalSamples.Tests/EnableRegionalParameterVersionTests.cs similarity index 59% rename from parametermanager/api/ParameterManager.RegionalSamples.Tests/EnableRegionalParamVersionTests.cs rename to parametermanager/api/ParameterManager.RegionalSamples.Tests/EnableRegionalParameterVersionTests.cs index f9ec09d3c61..0651ffe1252 100644 --- a/parametermanager/api/ParameterManager.RegionalSamples.Tests/EnableRegionalParamVersionTests.cs +++ b/parametermanager/api/ParameterManager.RegionalSamples.Tests/EnableRegionalParameterVersionTests.cs @@ -17,24 +17,24 @@ using Google.Cloud.ParameterManager.V1; [Collection(nameof(ParameterManagerRegionalFixture))] -public class EnableRegionalParamVersionTests +public class EnableRegionalParameterVersionTests { private readonly ParameterManagerRegionalFixture _fixture; - private readonly EnableRegionalParamVersionSample _sample; + private readonly EnableRegionalParameterVersionSample _sample; - public EnableRegionalParamVersionTests(ParameterManagerRegionalFixture fixture) + public EnableRegionalParameterVersionTests(ParameterManagerRegionalFixture fixture) { _fixture = fixture; - _sample = new EnableRegionalParamVersionSample(); + _sample = new EnableRegionalParameterVersionSample(); } [Fact] - public void EnableRegionalParamVersion() + public void EnableRegionalParameterVersion() { - ParameterVersion result = _sample.EnableRegionalParamVersion(projectId: _fixture.ProjectId, locationId: _fixture.LocationId, parameterId: _fixture.ParameterId, versionId: _fixture.ParameterVersionId); + ParameterVersion result = _sample.EnableRegionalParameterVersion(projectId: _fixture.ProjectId, locationId: _fixture.LocationId, parameterId: _fixture.ParameterId, versionId: _fixture.ParameterVersionId); Assert.NotNull(result); - Assert.Equal(result.Name, _fixture.ParameterVersionToRender.Name); + Assert.Equal(result.Name, _fixture.ParameterVersionToDisableAndEnable.Name); Assert.False(result.Disabled); } } diff --git a/parametermanager/api/ParameterManager.RegionalSamples.Tests/ParameterManagerRegionalFixture.cs b/parametermanager/api/ParameterManager.RegionalSamples.Tests/ParameterManagerRegionalFixture.cs index 14da47c0e2c..dad2791263d 100644 --- a/parametermanager/api/ParameterManager.RegionalSamples.Tests/ParameterManagerRegionalFixture.cs +++ b/parametermanager/api/ParameterManager.RegionalSamples.Tests/ParameterManagerRegionalFixture.cs @@ -26,22 +26,8 @@ public class ParameterManagerRegionalFixture : IDisposable, ICollectionFixture

-/// This function deletes a regional parameter using the Parameter Manager SDK for GCP. -/// -/// The ID of the project where the parameter is located. -/// The ID of the region where the parameter is located. -/// The ID of the parameter to be deleted. -public class DeleteRegionalParamSample +public class DeleteRegionalParameterSample { - public void DeleteRegionalParam( + ///

+ /// This function deletes a regional parameter using the Parameter Manager SDK for GCP. + /// + /// The ID of the project where the parameter is located. + /// The ID of the region where the parameter is located. + /// The ID of the parameter to be deleted. + public void DeleteRegionalParameter( string projectId, string locationId, string parameterId) diff --git a/parametermanager/api/ParameterManager.RegionalSamples/DeleteRegionalParamVersion.cs b/parametermanager/api/ParameterManager.RegionalSamples/DeleteRegionalParameterVersion.cs similarity index 72% rename from parametermanager/api/ParameterManager.RegionalSamples/DeleteRegionalParamVersion.cs rename to parametermanager/api/ParameterManager.RegionalSamples/DeleteRegionalParameterVersion.cs index fb5be3813fc..7e7e901e298 100644 --- a/parametermanager/api/ParameterManager.RegionalSamples/DeleteRegionalParamVersion.cs +++ b/parametermanager/api/ParameterManager.RegionalSamples/DeleteRegionalParameterVersion.cs @@ -18,16 +18,16 @@ using Google.Cloud.ParameterManager.V1; -/// -/// This function deletes a regional parameter version using the Parameter Manager SDK for GCP. -/// -/// The ID of the project where the parameter is located. -/// The ID of the region where the parameter is located. -/// The ID of the parameter for which the version is to be deleted. -/// The ID of the version to be deleted. -public class DeleteRegionalParamVersionSample +public class DeleteRegionalParameterVersionSample { - public void DeleteRegionalParamVersion( + /// + /// This function deletes a regional parameter version using the Parameter Manager SDK for GCP. + /// + /// The ID of the project where the parameter is located. + /// The ID of the region where the parameter is located. + /// The ID of the parameter for which the version is to be deleted. + /// The ID of the version to be deleted. + public void DeleteRegionalParameterVersion( string projectId, string locationId, string parameterId, diff --git a/parametermanager/api/ParameterManager.RegionalSamples/DisbleRegionalParamVersion.cs b/parametermanager/api/ParameterManager.RegionalSamples/DisbleRegionalParameterVersion.cs similarity index 77% rename from parametermanager/api/ParameterManager.RegionalSamples/DisbleRegionalParamVersion.cs rename to parametermanager/api/ParameterManager.RegionalSamples/DisbleRegionalParameterVersion.cs index 787badbda01..661c8961d42 100644 --- a/parametermanager/api/ParameterManager.RegionalSamples/DisbleRegionalParamVersion.cs +++ b/parametermanager/api/ParameterManager.RegionalSamples/DisbleRegionalParameterVersion.cs @@ -19,16 +19,16 @@ using Google.Cloud.ParameterManager.V1; using Google.Protobuf.WellKnownTypes; -/// -/// This function disables a regional parameter version using the Parameter Manager SDK for GCP. -/// -/// The ID of the project where the parameter is located. -/// The ID of the region where the parameter is located. -/// The ID of the parameter for which the version is to be disabled. -/// The ID of the version to be disabled. -public class DisableRegionalParamVersionSample +public class DisableRegionalParameterVersionSample { - public ParameterVersion DisableRegionalParamVersion( + /// + /// This function disables a regional parameter version using the Parameter Manager SDK for GCP. + /// + /// The ID of the project where the parameter is located. + /// The ID of the region where the parameter is located. + /// The ID of the parameter for which the version is to be disabled. + /// The ID of the version to be disabled. + public ParameterVersion DisableRegionalParameterVersion( string projectId, string locationId, string parameterId, diff --git a/parametermanager/api/ParameterManager.RegionalSamples/EnableRegionalParamVersion.cs b/parametermanager/api/ParameterManager.RegionalSamples/EnableRegionalParameterVersion.cs similarity index 77% rename from parametermanager/api/ParameterManager.RegionalSamples/EnableRegionalParamVersion.cs rename to parametermanager/api/ParameterManager.RegionalSamples/EnableRegionalParameterVersion.cs index e6fa9a8ec05..289fcef9df4 100644 --- a/parametermanager/api/ParameterManager.RegionalSamples/EnableRegionalParamVersion.cs +++ b/parametermanager/api/ParameterManager.RegionalSamples/EnableRegionalParameterVersion.cs @@ -19,16 +19,16 @@ using Google.Cloud.ParameterManager.V1; using Google.Protobuf.WellKnownTypes; -/// -/// This function enables a regional parameter version using the Parameter Manager SDK for GCP. -/// -/// The ID of the project where the parameter is located. -/// The ID of the region where the parameter is located. -/// The ID of the parameter for which the version is to be enabled. -/// The ID of the version to be enabled. -public class EnableRegionalParamVersionSample +public class EnableRegionalParameterVersionSample { - public ParameterVersion EnableRegionalParamVersion( + /// + /// This function enables a regional parameter version using the Parameter Manager SDK for GCP. + /// + /// The ID of the project where the parameter is located. + /// The ID of the region where the parameter is located. + /// The ID of the parameter for which the version is to be enabled. + /// The ID of the version to be enabled. + public ParameterVersion EnableRegionalParameterVersion( string projectId, string locationId, string parameterId, From d73ab5a1b5bc870ac1f0bc97bda61a2b88d0ab73 Mon Sep 17 00:00:00 2001 From: Vatsal Vora Date: Fri, 4 Apr 2025 11:39:43 +0530 Subject: [PATCH 4/4] fix(parametermanager): change variables to constants --- .../DeleteRegionalParameterTests.cs | 2 +- .../DeleteRegionalParameterVersionTests.cs | 2 +- .../DisableRegionalParameterVersionTests.cs | 2 +- .../EnableRegionalParameterVersionTests.cs | 2 +- .../ParameterManagerRegionalFixture.cs | 5 ++--- 5 files changed, 6 insertions(+), 7 deletions(-) diff --git a/parametermanager/api/ParameterManager.RegionalSamples.Tests/DeleteRegionalParameterTests.cs b/parametermanager/api/ParameterManager.RegionalSamples.Tests/DeleteRegionalParameterTests.cs index 8cf3c0389fc..b6e5298f81c 100644 --- a/parametermanager/api/ParameterManager.RegionalSamples.Tests/DeleteRegionalParameterTests.cs +++ b/parametermanager/api/ParameterManager.RegionalSamples.Tests/DeleteRegionalParameterTests.cs @@ -32,7 +32,7 @@ public DeleteRegionalParameterTests(ParameterManagerRegionalFixture fixture) public void DeleteRegionalParameter() { ParameterName parameterName = _fixture.ParameterNameToDelete; - _sample.DeleteRegionalParameter(projectId: parameterName.ProjectId, locationId: _fixture.LocationId, parameterId: parameterName.ParameterId); + _sample.DeleteRegionalParameter(projectId: parameterName.ProjectId, locationId: ParameterManagerRegionalFixture.LocationId, parameterId: parameterName.ParameterId); ParameterManagerClient client = ParameterManagerClient.Create(); Assert.Throws(() => client.GetParameter(parameterName)); diff --git a/parametermanager/api/ParameterManager.RegionalSamples.Tests/DeleteRegionalParameterVersionTests.cs b/parametermanager/api/ParameterManager.RegionalSamples.Tests/DeleteRegionalParameterVersionTests.cs index 9afd86dcc5e..28f1900cc42 100644 --- a/parametermanager/api/ParameterManager.RegionalSamples.Tests/DeleteRegionalParameterVersionTests.cs +++ b/parametermanager/api/ParameterManager.RegionalSamples.Tests/DeleteRegionalParameterVersionTests.cs @@ -32,7 +32,7 @@ public DeleteRegionalParameterVersionTests(ParameterManagerRegionalFixture fixtu public void DeleteRegionalParameterVersion() { ParameterVersionName parameterVersionName = _fixture.ParameterVersionNameToDelete; - _sample.DeleteRegionalParameterVersion(projectId: parameterVersionName.ProjectId, locationId: _fixture.LocationId, parameterId: parameterVersionName.ParameterId, versionId: parameterVersionName.ParameterVersionId); + _sample.DeleteRegionalParameterVersion(projectId: parameterVersionName.ProjectId, locationId: ParameterManagerRegionalFixture.LocationId, parameterId: parameterVersionName.ParameterId, versionId: parameterVersionName.ParameterVersionId); ParameterManagerClient client = ParameterManagerClient.Create(); Assert.Throws(() => client.GetParameterVersion(parameterVersionName)); diff --git a/parametermanager/api/ParameterManager.RegionalSamples.Tests/DisableRegionalParameterVersionTests.cs b/parametermanager/api/ParameterManager.RegionalSamples.Tests/DisableRegionalParameterVersionTests.cs index c978f1f01ba..7bf2175f2d3 100644 --- a/parametermanager/api/ParameterManager.RegionalSamples.Tests/DisableRegionalParameterVersionTests.cs +++ b/parametermanager/api/ParameterManager.RegionalSamples.Tests/DisableRegionalParameterVersionTests.cs @@ -31,7 +31,7 @@ public DisableRegionalParameterVersionTests(ParameterManagerRegionalFixture fixt [Fact] public void DisableRegionalParameterVersion() { - ParameterVersion result = _sample.DisableRegionalParameterVersion(projectId: _fixture.ProjectId, locationId: _fixture.LocationId, parameterId: _fixture.ParameterId, versionId: _fixture.ParameterVersionId); + ParameterVersion result = _sample.DisableRegionalParameterVersion(projectId: _fixture.ProjectId, locationId: ParameterManagerRegionalFixture.LocationId, parameterId: _fixture.ParameterId, versionId: _fixture.ParameterVersionId); Assert.NotNull(result); Assert.Equal(result.Name, _fixture.ParameterVersionToDisableAndEnable.Name); diff --git a/parametermanager/api/ParameterManager.RegionalSamples.Tests/EnableRegionalParameterVersionTests.cs b/parametermanager/api/ParameterManager.RegionalSamples.Tests/EnableRegionalParameterVersionTests.cs index 0651ffe1252..0198f318171 100644 --- a/parametermanager/api/ParameterManager.RegionalSamples.Tests/EnableRegionalParameterVersionTests.cs +++ b/parametermanager/api/ParameterManager.RegionalSamples.Tests/EnableRegionalParameterVersionTests.cs @@ -31,7 +31,7 @@ public EnableRegionalParameterVersionTests(ParameterManagerRegionalFixture fixtu [Fact] public void EnableRegionalParameterVersion() { - ParameterVersion result = _sample.EnableRegionalParameterVersion(projectId: _fixture.ProjectId, locationId: _fixture.LocationId, parameterId: _fixture.ParameterId, versionId: _fixture.ParameterVersionId); + ParameterVersion result = _sample.EnableRegionalParameterVersion(projectId: _fixture.ProjectId, locationId: ParameterManagerRegionalFixture.LocationId, parameterId: _fixture.ParameterId, versionId: _fixture.ParameterVersionId); Assert.NotNull(result); Assert.Equal(result.Name, _fixture.ParameterVersionToDisableAndEnable.Name); diff --git a/parametermanager/api/ParameterManager.RegionalSamples.Tests/ParameterManagerRegionalFixture.cs b/parametermanager/api/ParameterManager.RegionalSamples.Tests/ParameterManagerRegionalFixture.cs index dad2791263d..5cd7546f6b9 100644 --- a/parametermanager/api/ParameterManager.RegionalSamples.Tests/ParameterManagerRegionalFixture.cs +++ b/parametermanager/api/ParameterManager.RegionalSamples.Tests/ParameterManagerRegionalFixture.cs @@ -23,9 +23,8 @@ public class ParameterManagerRegionalFixture : IDisposable, ICollectionFixture { public string ProjectId { get; } - public string LocationId = "us-central1"; - - public string Payload = "test123"; + public const string LocationId = "us-central1"; + public const string Payload = "test123"; public string ParameterId { get; }