列出 CA 池

列出给定项目和位置中的所有 CA 池。

代码示例

Java

如需向 CA Service 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证


import com.google.cloud.security.privateca.v1.CaPool;
import com.google.cloud.security.privateca.v1.CertificateAuthorityServiceClient;
import com.google.cloud.security.privateca.v1.LocationName;
import java.io.IOException;

public class ListCaPools {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    // location: For a list of locations, see:
    // https://cloud.google.com/certificate-authority-service/docs/locations
    String project = "your-project-id";
    String location = "ca-location";
    listCaPools(project, location);
  }

  // List all CA pools present in the given project and location.
  public static void listCaPools(String project, String location) throws IOException {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the `certificateAuthorityServiceClient.close()` method on the client to safely
    // clean up any remaining background resources.
    try (CertificateAuthorityServiceClient certificateAuthorityServiceClient =
        CertificateAuthorityServiceClient.create()) {

      // Set the Location Name which contains project and location of the pool.
      LocationName locationName =
          LocationName.newBuilder().setProject(project).setLocation(location).build();

      String caPoolName = "";
      System.out.println("Available CA pools: ");

      // List the CA pools.
      for (CaPool caPool :
          certificateAuthorityServiceClient.listCaPools(locationName).iterateAll()) {
        caPoolName = caPool.getName();
        // caPoolName represents the full resource name of the
        // format 'projects/{project-id}/locations/{location}/ca-pools/{ca-pool-id}'.
        // Hence stripping it down to just CA pool id.
        System.out.println(
            caPoolName.substring(caPoolName.lastIndexOf("/") + 1) + " " + caPool.isInitialized());
      }
    }
  }
}

Python

如需向 CA Service 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证

import google.cloud.security.privateca_v1 as privateca_v1


def list_ca_pools(project_id: str, location: str) -> None:
    """
    List all CA pools present in the given project and location.

    Args:
        project_id: project ID or project number of the Cloud project you want to use.
        location: location you want to use. For a list of locations, see: https://cloud.google.com/certificate-authority-service/docs/locations.
    """

    caServiceClient = privateca_v1.CertificateAuthorityServiceClient()

    location_path = caServiceClient.common_location_path(project_id, location)

    request = privateca_v1.ListCaPoolsRequest(parent=location_path)

    print("Available CA pools:")

    for ca_pool in caServiceClient.list_ca_pools(request=request):
        ca_pool_name = ca_pool.name
        # ca_pool.name represents the full resource name of the
        # format 'projects/{project-id}/locations/{location}/ca-pools/{ca-pool-name}'.
        # Hence stripping it down to just pool name.
        print(caServiceClient.parse_ca_pool_path(ca_pool_name)["ca_pool"])

后续步骤

如需搜索和过滤其他 Google Cloud 产品的代码示例,请参阅 Google Cloud 示例浏览器