// Copyright 2023 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 by the Codegen C++ plugin.
// If you make any local changes, they will be lost.
// source: google/cloud/securesourcemanager/v1/secure_source_manager.proto

#include "google/cloud/securesourcemanager/v1/secure_source_manager_connection_idempotency_policy.h"
#include <memory>

namespace google {
namespace cloud {
namespace securesourcemanager_v1 {
GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN

using ::google::cloud::Idempotency;

SecureSourceManagerConnectionIdempotencyPolicy::
    ~SecureSourceManagerConnectionIdempotencyPolicy() = default;

std::unique_ptr<SecureSourceManagerConnectionIdempotencyPolicy>
SecureSourceManagerConnectionIdempotencyPolicy::clone() const {
  return std::make_unique<SecureSourceManagerConnectionIdempotencyPolicy>(
      *this);
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::ListInstances(
    google::cloud::securesourcemanager::v1::ListInstancesRequest) {  // NOLINT
  return Idempotency::kIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::GetInstance(
    google::cloud::securesourcemanager::v1::GetInstanceRequest const&) {
  return Idempotency::kIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::CreateInstance(
    google::cloud::securesourcemanager::v1::CreateInstanceRequest const&) {
  return Idempotency::kNonIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::DeleteInstance(
    google::cloud::securesourcemanager::v1::DeleteInstanceRequest const&) {
  return Idempotency::kNonIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::ListRepositories(
    google::cloud::securesourcemanager::v1::
        ListRepositoriesRequest) {  // NOLINT
  return Idempotency::kIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::GetRepository(
    google::cloud::securesourcemanager::v1::GetRepositoryRequest const&) {
  return Idempotency::kIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::CreateRepository(
    google::cloud::securesourcemanager::v1::CreateRepositoryRequest const&) {
  return Idempotency::kNonIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::UpdateRepository(
    google::cloud::securesourcemanager::v1::UpdateRepositoryRequest const&) {
  return Idempotency::kNonIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::DeleteRepository(
    google::cloud::securesourcemanager::v1::DeleteRepositoryRequest const&) {
  return Idempotency::kNonIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::ListHooks(
    google::cloud::securesourcemanager::v1::ListHooksRequest) {  // NOLINT
  return Idempotency::kIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::GetHook(
    google::cloud::securesourcemanager::v1::GetHookRequest const&) {
  return Idempotency::kIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::CreateHook(
    google::cloud::securesourcemanager::v1::CreateHookRequest const&) {
  return Idempotency::kNonIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::UpdateHook(
    google::cloud::securesourcemanager::v1::UpdateHookRequest const&) {
  return Idempotency::kNonIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::DeleteHook(
    google::cloud::securesourcemanager::v1::DeleteHookRequest const&) {
  return Idempotency::kNonIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::GetIamPolicyRepo(
    google::iam::v1::GetIamPolicyRequest const&) {
  return Idempotency::kIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::SetIamPolicyRepo(
    google::iam::v1::SetIamPolicyRequest const& request) {
  return request.policy().etag().empty() ? Idempotency::kNonIdempotent
                                         : Idempotency::kIdempotent;
}

Idempotency
SecureSourceManagerConnectionIdempotencyPolicy::TestIamPermissionsRepo(
    google::iam::v1::TestIamPermissionsRequest const&) {
  return Idempotency::kNonIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::CreateBranchRule(
    google::cloud::securesourcemanager::v1::CreateBranchRuleRequest const&) {
  return Idempotency::kNonIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::ListBranchRules(
    google::cloud::securesourcemanager::v1::ListBranchRulesRequest) {  // NOLINT
  return Idempotency::kIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::GetBranchRule(
    google::cloud::securesourcemanager::v1::GetBranchRuleRequest const&) {
  return Idempotency::kIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::UpdateBranchRule(
    google::cloud::securesourcemanager::v1::UpdateBranchRuleRequest const&) {
  return Idempotency::kNonIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::DeleteBranchRule(
    google::cloud::securesourcemanager::v1::DeleteBranchRuleRequest const&) {
  return Idempotency::kNonIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::CreatePullRequest(
    google::cloud::securesourcemanager::v1::CreatePullRequestRequest const&) {
  return Idempotency::kNonIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::GetPullRequest(
    google::cloud::securesourcemanager::v1::GetPullRequestRequest const&) {
  return Idempotency::kIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::ListPullRequests(
    google::cloud::securesourcemanager::v1::
        ListPullRequestsRequest) {  // NOLINT
  return Idempotency::kIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::UpdatePullRequest(
    google::cloud::securesourcemanager::v1::UpdatePullRequestRequest const&) {
  return Idempotency::kNonIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::MergePullRequest(
    google::cloud::securesourcemanager::v1::MergePullRequestRequest const&) {
  return Idempotency::kNonIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::OpenPullRequest(
    google::cloud::securesourcemanager::v1::OpenPullRequestRequest const&) {
  return Idempotency::kNonIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::ClosePullRequest(
    google::cloud::securesourcemanager::v1::ClosePullRequestRequest const&) {
  return Idempotency::kNonIdempotent;
}

Idempotency
SecureSourceManagerConnectionIdempotencyPolicy::ListPullRequestFileDiffs(
    google::cloud::securesourcemanager::v1::
        ListPullRequestFileDiffsRequest) {  // NOLINT
  return Idempotency::kIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::FetchTree(
    google::cloud::securesourcemanager::v1::FetchTreeRequest) {  // NOLINT
  return Idempotency::kIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::FetchBlob(
    google::cloud::securesourcemanager::v1::FetchBlobRequest const&) {
  return Idempotency::kIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::CreateIssue(
    google::cloud::securesourcemanager::v1::CreateIssueRequest const&) {
  return Idempotency::kNonIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::GetIssue(
    google::cloud::securesourcemanager::v1::GetIssueRequest const&) {
  return Idempotency::kIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::ListIssues(
    google::cloud::securesourcemanager::v1::ListIssuesRequest) {  // NOLINT
  return Idempotency::kIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::UpdateIssue(
    google::cloud::securesourcemanager::v1::UpdateIssueRequest const&) {
  return Idempotency::kNonIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::DeleteIssue(
    google::cloud::securesourcemanager::v1::DeleteIssueRequest const&) {
  return Idempotency::kNonIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::OpenIssue(
    google::cloud::securesourcemanager::v1::OpenIssueRequest const&) {
  return Idempotency::kNonIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::CloseIssue(
    google::cloud::securesourcemanager::v1::CloseIssueRequest const&) {
  return Idempotency::kNonIdempotent;
}

Idempotency
SecureSourceManagerConnectionIdempotencyPolicy::GetPullRequestComment(
    google::cloud::securesourcemanager::v1::
        GetPullRequestCommentRequest const&) {
  return Idempotency::kIdempotent;
}

Idempotency
SecureSourceManagerConnectionIdempotencyPolicy::ListPullRequestComments(
    google::cloud::securesourcemanager::v1::
        ListPullRequestCommentsRequest) {  // NOLINT
  return Idempotency::kIdempotent;
}

Idempotency
SecureSourceManagerConnectionIdempotencyPolicy::CreatePullRequestComment(
    google::cloud::securesourcemanager::v1::
        CreatePullRequestCommentRequest const&) {
  return Idempotency::kNonIdempotent;
}

Idempotency
SecureSourceManagerConnectionIdempotencyPolicy::UpdatePullRequestComment(
    google::cloud::securesourcemanager::v1::
        UpdatePullRequestCommentRequest const&) {
  return Idempotency::kNonIdempotent;
}

Idempotency
SecureSourceManagerConnectionIdempotencyPolicy::DeletePullRequestComment(
    google::cloud::securesourcemanager::v1::
        DeletePullRequestCommentRequest const&) {
  return Idempotency::kNonIdempotent;
}

Idempotency
SecureSourceManagerConnectionIdempotencyPolicy::BatchCreatePullRequestComments(
    google::cloud::securesourcemanager::v1::
        BatchCreatePullRequestCommentsRequest const&) {
  return Idempotency::kNonIdempotent;
}

Idempotency
SecureSourceManagerConnectionIdempotencyPolicy::ResolvePullRequestComments(
    google::cloud::securesourcemanager::v1::
        ResolvePullRequestCommentsRequest const&) {
  return Idempotency::kNonIdempotent;
}

Idempotency
SecureSourceManagerConnectionIdempotencyPolicy::UnresolvePullRequestComments(
    google::cloud::securesourcemanager::v1::
        UnresolvePullRequestCommentsRequest const&) {
  return Idempotency::kNonIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::CreateIssueComment(
    google::cloud::securesourcemanager::v1::CreateIssueCommentRequest const&) {
  return Idempotency::kNonIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::GetIssueComment(
    google::cloud::securesourcemanager::v1::GetIssueCommentRequest const&) {
  return Idempotency::kIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::ListIssueComments(
    google::cloud::securesourcemanager::v1::
        ListIssueCommentsRequest) {  // NOLINT
  return Idempotency::kIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::UpdateIssueComment(
    google::cloud::securesourcemanager::v1::UpdateIssueCommentRequest const&) {
  return Idempotency::kNonIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::DeleteIssueComment(
    google::cloud::securesourcemanager::v1::DeleteIssueCommentRequest const&) {
  return Idempotency::kNonIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::ListLocations(
    google::cloud::location::ListLocationsRequest) {  // NOLINT
  return Idempotency::kIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::GetLocation(
    google::cloud::location::GetLocationRequest const&) {
  return Idempotency::kIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::SetIamPolicy(
    google::iam::v1::SetIamPolicyRequest const& request) {
  return request.policy().etag().empty() ? Idempotency::kNonIdempotent
                                         : Idempotency::kIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::GetIamPolicy(
    google::iam::v1::GetIamPolicyRequest const&) {
  return Idempotency::kIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::TestIamPermissions(
    google::iam::v1::TestIamPermissionsRequest const&) {
  return Idempotency::kIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::ListOperations(
    google::longrunning::ListOperationsRequest) {  // NOLINT
  return Idempotency::kIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::GetOperation(
    google::longrunning::GetOperationRequest const&) {
  return Idempotency::kIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::DeleteOperation(
    google::longrunning::DeleteOperationRequest const&) {
  return Idempotency::kNonIdempotent;
}

Idempotency SecureSourceManagerConnectionIdempotencyPolicy::CancelOperation(
    google::longrunning::CancelOperationRequest const&) {
  return Idempotency::kNonIdempotent;
}

std::unique_ptr<SecureSourceManagerConnectionIdempotencyPolicy>
MakeDefaultSecureSourceManagerConnectionIdempotencyPolicy() {
  return std::make_unique<SecureSourceManagerConnectionIdempotencyPolicy>();
}

GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END
}  // namespace securesourcemanager_v1
}  // namespace cloud
}  // namespace google
