Search in sources :

Example 16 with InfoType

use of com.google.privacy.dlp.v2.InfoType in project java-docs-samples by GoogleCloudPlatform.

the class Templates method main.

// [END dlp_delete_inspect_template]
/**
 * Command line application to create, list and delete DLP inspect templates.
 */
public static void main(String[] args) throws Exception {
    OptionGroup optionsGroup = new OptionGroup();
    optionsGroup.setRequired(true);
    Option createOption = new Option("c", "create", false, "Create inspect template");
    optionsGroup.addOption(createOption);
    Option listOption = new Option("l", "list", false, "List inspect templates");
    optionsGroup.addOption(listOption);
    Option deleteOption = new Option("d", "delete", false, "Delete inspect template");
    optionsGroup.addOption(deleteOption);
    Options commandLineOptions = new Options();
    commandLineOptions.addOptionGroup(optionsGroup);
    Option projectIdOption = Option.builder("projectId").hasArg(true).required(false).build();
    commandLineOptions.addOption(projectIdOption);
    Option minLikelihoodOption = Option.builder("minLikelihood").hasArg(true).required(false).build();
    commandLineOptions.addOption(minLikelihoodOption);
    Option infoTypesOption = Option.builder("infoTypes").hasArg(true).required(false).build();
    infoTypesOption.setArgs(Option.UNLIMITED_VALUES);
    commandLineOptions.addOption(infoTypesOption);
    Option templateIdOption = Option.builder("templateId").hasArg(true).required(false).build();
    commandLineOptions.addOption(templateIdOption);
    Option templateDescription = Option.builder("description").hasArg(true).required(false).build();
    commandLineOptions.addOption(templateDescription);
    Option templateDisplayNameOption = Option.builder("displayName").hasArg(true).required(false).build();
    commandLineOptions.addOption(templateDisplayNameOption);
    Option includeQuoteOption = Option.builder("includeQuote").hasArg(true).required(false).build();
    commandLineOptions.addOption(includeQuoteOption);
    Option maxFindingsOption = Option.builder("maxFindings").hasArg(true).required(false).build();
    commandLineOptions.addOption(maxFindingsOption);
    CommandLineParser parser = new DefaultParser();
    HelpFormatter formatter = new HelpFormatter();
    CommandLine cmd;
    try {
        cmd = parser.parse(commandLineOptions, args);
    } catch (ParseException e) {
        System.out.println(e.getMessage());
        formatter.printHelp(Redact.class.getName(), commandLineOptions);
        System.exit(1);
        return;
    }
    String projectId = cmd.getOptionValue(projectIdOption.getOpt(), ServiceOptions.getDefaultProjectId());
    if (cmd.hasOption(createOption.getOpt())) {
        String templateId = cmd.getOptionValue(templateIdOption.getOpt());
        String displayName = cmd.getOptionValue(templateDisplayNameOption.getOpt());
        String description = cmd.getOptionValue(templateDescription.getOpt());
        Likelihood minLikelihood = Likelihood.valueOf(cmd.getOptionValue(minLikelihoodOption.getOpt(), Likelihood.LIKELIHOOD_UNSPECIFIED.name()));
        List<InfoType> infoTypesList = new ArrayList<>();
        String[] infoTypes = cmd.getOptionValues(infoTypesOption.getOpt());
        if (infoTypes != null) {
            for (String infoType : infoTypes) {
                infoTypesList.add(InfoType.newBuilder().setName(infoType).build());
            }
        }
        int maxFindings = Integer.valueOf(cmd.getOptionValue(maxFindingsOption.getOpt(), "0"));
        createInspectTemplate(displayName, templateId, description, projectId, infoTypesList, minLikelihood, maxFindings);
    } else if (cmd.hasOption(listOption.getOpt())) {
        listInspectTemplates(projectId);
    } else if (cmd.hasOption(deleteOption.getOpt())) {
        String templateId = cmd.getOptionValue(templateIdOption.getOpt());
        deleteInspectTemplate(projectId, templateId);
    }
}
Also used : Options(org.apache.commons.cli.Options) ServiceOptions(com.google.cloud.ServiceOptions) Likelihood(com.google.privacy.dlp.v2.Likelihood) ArrayList(java.util.ArrayList) HelpFormatter(org.apache.commons.cli.HelpFormatter) CommandLine(org.apache.commons.cli.CommandLine) OptionGroup(org.apache.commons.cli.OptionGroup) Option(org.apache.commons.cli.Option) CommandLineParser(org.apache.commons.cli.CommandLineParser) ParseException(org.apache.commons.cli.ParseException) InfoType(com.google.privacy.dlp.v2.InfoType) DefaultParser(org.apache.commons.cli.DefaultParser)

Example 17 with InfoType

use of com.google.privacy.dlp.v2.InfoType in project java-docs-samples by GoogleCloudPlatform.

the class Triggers method createTrigger.

// [START dlp_create_trigger]
/**
 * Schedule a DLP inspection trigger for a GCS location.
 *
 * @param triggerId (Optional) name of the trigger to be created
 * @param displayName (Optional) display name for the trigger to be created
 * @param description (Optional) description for the trigger to be created
 * @param scanPeriod How often to wait between scans, in days (minimum = 1 day)
 * @param infoTypes infoTypes of information to match eg. InfoType.PHONE_NUMBER,
 *     InfoType.EMAIL_ADDRESS
 * @param minLikelihood minimum likelihood required before returning a match
 * @param maxFindings maximum number of findings to report per request (0 = server maximum)
 * @param projectId The project ID to run the API call under
 */
private static void createTrigger(String triggerId, String displayName, String description, String bucketName, String fileName, int scanPeriod, List<InfoType> infoTypes, Likelihood minLikelihood, int maxFindings, String projectId) throws Exception {
    // instantiate a client
    DlpServiceClient dlpServiceClient = DlpServiceClient.create();
    try {
        CloudStorageOptions cloudStorageOptions = CloudStorageOptions.newBuilder().setFileSet(CloudStorageOptions.FileSet.newBuilder().setUrl("gs://" + bucketName + "/" + fileName)).build();
        StorageConfig storageConfig = StorageConfig.newBuilder().setCloudStorageOptions(cloudStorageOptions).build();
        InspectConfig.FindingLimits findingLimits = InspectConfig.FindingLimits.newBuilder().setMaxFindingsPerRequest(maxFindings).build();
        InspectConfig inspectConfig = InspectConfig.newBuilder().addAllInfoTypes(infoTypes).setMinLikelihood(minLikelihood).setLimits(findingLimits).build();
        InspectJobConfig inspectJobConfig = InspectJobConfig.newBuilder().setInspectConfig(inspectConfig).setStorageConfig(storageConfig).build();
        // Schedule scan of GCS bucket every scanPeriod number of days (minimum = 1 day)
        Duration duration = Duration.newBuilder().setSeconds(scanPeriod * 24 * 3600).build();
        Schedule schedule = Schedule.newBuilder().setRecurrencePeriodDuration(duration).build();
        JobTrigger.Trigger trigger = JobTrigger.Trigger.newBuilder().setSchedule(schedule).build();
        JobTrigger jobTrigger = JobTrigger.newBuilder().setInspectJob(inspectJobConfig).setName(triggerId).setDisplayName(displayName).setDescription(description).setStatus(JobTrigger.Status.HEALTHY).addTriggers(trigger).build();
        // Create scan request
        CreateJobTriggerRequest createJobTriggerRequest = CreateJobTriggerRequest.newBuilder().setParent(ProjectName.of(projectId).toString()).setJobTrigger(jobTrigger).build();
        JobTrigger createdJobTrigger = dlpServiceClient.createJobTrigger(createJobTriggerRequest);
        System.out.println("Created Trigger: " + createdJobTrigger.getName());
    } catch (Exception e) {
        System.out.println("Error creating trigger: " + e.getMessage());
    }
}
Also used : StorageConfig(com.google.privacy.dlp.v2.StorageConfig) DlpServiceClient(com.google.cloud.dlp.v2.DlpServiceClient) Schedule(com.google.privacy.dlp.v2.Schedule) CloudStorageOptions(com.google.privacy.dlp.v2.CloudStorageOptions) Duration(com.google.protobuf.Duration) InspectConfig(com.google.privacy.dlp.v2.InspectConfig) JobTrigger(com.google.privacy.dlp.v2.JobTrigger) ParseException(org.apache.commons.cli.ParseException) InspectJobConfig(com.google.privacy.dlp.v2.InspectJobConfig) CreateJobTriggerRequest(com.google.privacy.dlp.v2.CreateJobTriggerRequest)

Aggregations

ParseException (org.apache.commons.cli.ParseException)16 InfoType (com.google.privacy.dlp.v2.InfoType)13 DlpServiceClient (com.google.cloud.dlp.v2.DlpServiceClient)12 InspectConfig (com.google.privacy.dlp.v2.InspectConfig)11 ServiceOptions (com.google.cloud.ServiceOptions)10 CommandLine (org.apache.commons.cli.CommandLine)10 CommandLineParser (org.apache.commons.cli.CommandLineParser)10 DefaultParser (org.apache.commons.cli.DefaultParser)10 HelpFormatter (org.apache.commons.cli.HelpFormatter)10 Option (org.apache.commons.cli.Option)10 Options (org.apache.commons.cli.Options)10 Likelihood (com.google.privacy.dlp.v2.Likelihood)9 ByteString (com.google.protobuf.ByteString)9 ArrayList (java.util.ArrayList)9 OptionGroup (org.apache.commons.cli.OptionGroup)8 ByteContentItem (com.google.privacy.dlp.v2.ByteContentItem)7 ContentItem (com.google.privacy.dlp.v2.ContentItem)7 CloudStorageOptions (com.google.privacy.dlp.v2.CloudStorageOptions)6 Finding (com.google.privacy.dlp.v2.Finding)6 FindingLimits (com.google.privacy.dlp.v2.InspectConfig.FindingLimits)6