All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.azure.sentinel.inputs.ThreatIntelligenceIndicatorState Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.

There is a newer version: 6.10.0-alpha.1731737215
Show newest version
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.azure.sentinel.inputs;

import com.pulumi.azure.sentinel.inputs.ThreatIntelligenceIndicatorExternalReferenceArgs;
import com.pulumi.azure.sentinel.inputs.ThreatIntelligenceIndicatorGranularMarkingArgs;
import com.pulumi.azure.sentinel.inputs.ThreatIntelligenceIndicatorKillChainPhaseArgs;
import com.pulumi.azure.sentinel.inputs.ThreatIntelligenceIndicatorParsedPatternArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class ThreatIntelligenceIndicatorState extends com.pulumi.resources.ResourceArgs {

    public static final ThreatIntelligenceIndicatorState Empty = new ThreatIntelligenceIndicatorState();

    /**
     * Confidence levels of the Threat Intelligence Indicator.
     * 
     */
    @Import(name="confidence")
    private @Nullable Output confidence;

    /**
     * @return Confidence levels of the Threat Intelligence Indicator.
     * 
     */
    public Optional> confidence() {
        return Optional.ofNullable(this.confidence);
    }

    /**
     * The creator of the Threat Intelligence Indicator.
     * 
     */
    @Import(name="createdBy")
    private @Nullable Output createdBy;

    /**
     * @return The creator of the Threat Intelligence Indicator.
     * 
     */
    public Optional> createdBy() {
        return Optional.ofNullable(this.createdBy);
    }

    /**
     * The date of this Threat Intelligence Indicator created.
     * 
     */
    @Import(name="createdOn")
    private @Nullable Output createdOn;

    /**
     * @return The date of this Threat Intelligence Indicator created.
     * 
     */
    public Optional> createdOn() {
        return Optional.ofNullable(this.createdOn);
    }

    /**
     * Whether the Threat Intelligence entity is defanged?
     * 
     */
    @Import(name="defanged")
    private @Nullable Output defanged;

    /**
     * @return Whether the Threat Intelligence entity is defanged?
     * 
     */
    public Optional> defanged() {
        return Optional.ofNullable(this.defanged);
    }

    /**
     * The description of the Threat Intelligence Indicator.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return The description of the Threat Intelligence Indicator.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * The display name of the Threat Intelligence Indicator.
     * 
     */
    @Import(name="displayName")
    private @Nullable Output displayName;

    /**
     * @return The display name of the Threat Intelligence Indicator.
     * 
     */
    public Optional> displayName() {
        return Optional.ofNullable(this.displayName);
    }

    /**
     * The extension config of the Threat Intelligence Indicator in JSON format.
     * 
     */
    @Import(name="extension")
    private @Nullable Output extension;

    /**
     * @return The extension config of the Threat Intelligence Indicator in JSON format.
     * 
     */
    public Optional> extension() {
        return Optional.ofNullable(this.extension);
    }

    /**
     * The external ID of the Threat Intelligence Indicator.
     * 
     */
    @Import(name="externalId")
    private @Nullable Output externalId;

    /**
     * @return The external ID of the Threat Intelligence Indicator.
     * 
     */
    public Optional> externalId() {
        return Optional.ofNullable(this.externalId);
    }

    /**
     * the External last updated time in UTC.
     * 
     */
    @Import(name="externalLastUpdatedTimeUtc")
    private @Nullable Output externalLastUpdatedTimeUtc;

    /**
     * @return the External last updated time in UTC.
     * 
     */
    public Optional> externalLastUpdatedTimeUtc() {
        return Optional.ofNullable(this.externalLastUpdatedTimeUtc);
    }

    /**
     * One or more `external_reference` blocks as defined below.
     * 
     */
    @Import(name="externalReferences")
    private @Nullable Output> externalReferences;

    /**
     * @return One or more `external_reference` blocks as defined below.
     * 
     */
    public Optional>> externalReferences() {
        return Optional.ofNullable(this.externalReferences);
    }

    /**
     * One or more `granular_marking` blocks as defined below.
     * 
     */
    @Import(name="granularMarkings")
    private @Nullable Output> granularMarkings;

    /**
     * @return One or more `granular_marking` blocks as defined below.
     * 
     */
    public Optional>> granularMarkings() {
        return Optional.ofNullable(this.granularMarkings);
    }

    /**
     * The guid of this Sentinel Threat Intelligence Indicator.
     * 
     */
    @Import(name="guid")
    private @Nullable Output guid;

    /**
     * @return The guid of this Sentinel Threat Intelligence Indicator.
     * 
     */
    public Optional> guid() {
        return Optional.ofNullable(this.guid);
    }

    /**
     * A list of indicator types of this Threat Intelligence Indicator.
     * 
     */
    @Import(name="indicatorTypes")
    private @Nullable Output> indicatorTypes;

    /**
     * @return A list of indicator types of this Threat Intelligence Indicator.
     * 
     */
    public Optional>> indicatorTypes() {
        return Optional.ofNullable(this.indicatorTypes);
    }

    /**
     * One or more `kill_chain_phase` blocks as defined below.
     * 
     */
    @Import(name="killChainPhases")
    private @Nullable Output> killChainPhases;

    /**
     * @return One or more `kill_chain_phase` blocks as defined below.
     * 
     */
    public Optional>> killChainPhases() {
        return Optional.ofNullable(this.killChainPhases);
    }

    /**
     * The language of the Threat Intelligence Indicator.
     * 
     */
    @Import(name="language")
    private @Nullable Output language;

    /**
     * @return The language of the Threat Intelligence Indicator.
     * 
     */
    public Optional> language() {
        return Optional.ofNullable(this.language);
    }

    /**
     * The last updated time of the Threat Intelligence Indicator in UTC.
     * 
     */
    @Import(name="lastUpdatedTimeUtc")
    private @Nullable Output lastUpdatedTimeUtc;

    /**
     * @return The last updated time of the Threat Intelligence Indicator in UTC.
     * 
     */
    public Optional> lastUpdatedTimeUtc() {
        return Optional.ofNullable(this.lastUpdatedTimeUtc);
    }

    /**
     * Specifies a list of Threat Intelligence marking references.
     * 
     */
    @Import(name="objectMarkingRefs")
    private @Nullable Output> objectMarkingRefs;

    /**
     * @return Specifies a list of Threat Intelligence marking references.
     * 
     */
    public Optional>> objectMarkingRefs() {
        return Optional.ofNullable(this.objectMarkingRefs);
    }

    /**
     * A `parsed_pattern` block as defined below.
     * 
     */
    @Import(name="parsedPatterns")
    private @Nullable Output> parsedPatterns;

    /**
     * @return A `parsed_pattern` block as defined below.
     * 
     */
    public Optional>> parsedPatterns() {
        return Optional.ofNullable(this.parsedPatterns);
    }

    /**
     * The pattern used by the Threat Intelligence Indicator. When `pattern_type` set to `file`, `pattern` must be specified with `<HashName>:<Value>` format, such as `MD5:78ecc5c05cd8b79af480df2f8fba0b9d`.
     * 
     */
    @Import(name="pattern")
    private @Nullable Output pattern;

    /**
     * @return The pattern used by the Threat Intelligence Indicator. When `pattern_type` set to `file`, `pattern` must be specified with `<HashName>:<Value>` format, such as `MD5:78ecc5c05cd8b79af480df2f8fba0b9d`.
     * 
     */
    public Optional> pattern() {
        return Optional.ofNullable(this.pattern);
    }

    /**
     * The type of pattern used by the Threat Intelligence Indicator. Possible values are `domain-name`, `file`, `ipv4-addr`, `ipv6-addr` and `url`.
     * 
     */
    @Import(name="patternType")
    private @Nullable Output patternType;

    /**
     * @return The type of pattern used by the Threat Intelligence Indicator. Possible values are `domain-name`, `file`, `ipv4-addr`, `ipv6-addr` and `url`.
     * 
     */
    public Optional> patternType() {
        return Optional.ofNullable(this.patternType);
    }

    /**
     * The version of a Threat Intelligence entity.
     * 
     */
    @Import(name="patternVersion")
    private @Nullable Output patternVersion;

    /**
     * @return The version of a Threat Intelligence entity.
     * 
     */
    public Optional> patternVersion() {
        return Optional.ofNullable(this.patternVersion);
    }

    /**
     * Whether the Threat Intelligence entity revoked.
     * 
     */
    @Import(name="revoked")
    private @Nullable Output revoked;

    /**
     * @return Whether the Threat Intelligence entity revoked.
     * 
     */
    public Optional> revoked() {
        return Optional.ofNullable(this.revoked);
    }

    /**
     * Source of the Threat Intelligence Indicator. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="source")
    private @Nullable Output source;

    /**
     * @return Source of the Threat Intelligence Indicator. Changing this forces a new resource to be created.
     * 
     */
    public Optional> source() {
        return Optional.ofNullable(this.source);
    }

    /**
     * Specifies a list of tags of the Threat Intelligence Indicator.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return Specifies a list of tags of the Threat Intelligence Indicator.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * Specifies a list of threat types of this Threat Intelligence Indicator.
     * 
     */
    @Import(name="threatTypes")
    private @Nullable Output> threatTypes;

    /**
     * @return Specifies a list of threat types of this Threat Intelligence Indicator.
     * 
     */
    public Optional>> threatTypes() {
        return Optional.ofNullable(this.threatTypes);
    }

    /**
     * The start of validate date in RFC3339.
     * 
     */
    @Import(name="validateFromUtc")
    private @Nullable Output validateFromUtc;

    /**
     * @return The start of validate date in RFC3339.
     * 
     */
    public Optional> validateFromUtc() {
        return Optional.ofNullable(this.validateFromUtc);
    }

    /**
     * The end of validate date of the Threat Intelligence Indicator in RFC3339 format.
     * 
     */
    @Import(name="validateUntilUtc")
    private @Nullable Output validateUntilUtc;

    /**
     * @return The end of validate date of the Threat Intelligence Indicator in RFC3339 format.
     * 
     */
    public Optional> validateUntilUtc() {
        return Optional.ofNullable(this.validateUntilUtc);
    }

    /**
     * The ID of the Log Analytics Workspace. Changing this forces a new Sentinel Threat Intelligence Indicator to be created.
     * 
     */
    @Import(name="workspaceId")
    private @Nullable Output workspaceId;

    /**
     * @return The ID of the Log Analytics Workspace. Changing this forces a new Sentinel Threat Intelligence Indicator to be created.
     * 
     */
    public Optional> workspaceId() {
        return Optional.ofNullable(this.workspaceId);
    }

    private ThreatIntelligenceIndicatorState() {}

    private ThreatIntelligenceIndicatorState(ThreatIntelligenceIndicatorState $) {
        this.confidence = $.confidence;
        this.createdBy = $.createdBy;
        this.createdOn = $.createdOn;
        this.defanged = $.defanged;
        this.description = $.description;
        this.displayName = $.displayName;
        this.extension = $.extension;
        this.externalId = $.externalId;
        this.externalLastUpdatedTimeUtc = $.externalLastUpdatedTimeUtc;
        this.externalReferences = $.externalReferences;
        this.granularMarkings = $.granularMarkings;
        this.guid = $.guid;
        this.indicatorTypes = $.indicatorTypes;
        this.killChainPhases = $.killChainPhases;
        this.language = $.language;
        this.lastUpdatedTimeUtc = $.lastUpdatedTimeUtc;
        this.objectMarkingRefs = $.objectMarkingRefs;
        this.parsedPatterns = $.parsedPatterns;
        this.pattern = $.pattern;
        this.patternType = $.patternType;
        this.patternVersion = $.patternVersion;
        this.revoked = $.revoked;
        this.source = $.source;
        this.tags = $.tags;
        this.threatTypes = $.threatTypes;
        this.validateFromUtc = $.validateFromUtc;
        this.validateUntilUtc = $.validateUntilUtc;
        this.workspaceId = $.workspaceId;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(ThreatIntelligenceIndicatorState defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private ThreatIntelligenceIndicatorState $;

        public Builder() {
            $ = new ThreatIntelligenceIndicatorState();
        }

        public Builder(ThreatIntelligenceIndicatorState defaults) {
            $ = new ThreatIntelligenceIndicatorState(Objects.requireNonNull(defaults));
        }

        /**
         * @param confidence Confidence levels of the Threat Intelligence Indicator.
         * 
         * @return builder
         * 
         */
        public Builder confidence(@Nullable Output confidence) {
            $.confidence = confidence;
            return this;
        }

        /**
         * @param confidence Confidence levels of the Threat Intelligence Indicator.
         * 
         * @return builder
         * 
         */
        public Builder confidence(Integer confidence) {
            return confidence(Output.of(confidence));
        }

        /**
         * @param createdBy The creator of the Threat Intelligence Indicator.
         * 
         * @return builder
         * 
         */
        public Builder createdBy(@Nullable Output createdBy) {
            $.createdBy = createdBy;
            return this;
        }

        /**
         * @param createdBy The creator of the Threat Intelligence Indicator.
         * 
         * @return builder
         * 
         */
        public Builder createdBy(String createdBy) {
            return createdBy(Output.of(createdBy));
        }

        /**
         * @param createdOn The date of this Threat Intelligence Indicator created.
         * 
         * @return builder
         * 
         */
        public Builder createdOn(@Nullable Output createdOn) {
            $.createdOn = createdOn;
            return this;
        }

        /**
         * @param createdOn The date of this Threat Intelligence Indicator created.
         * 
         * @return builder
         * 
         */
        public Builder createdOn(String createdOn) {
            return createdOn(Output.of(createdOn));
        }

        /**
         * @param defanged Whether the Threat Intelligence entity is defanged?
         * 
         * @return builder
         * 
         */
        public Builder defanged(@Nullable Output defanged) {
            $.defanged = defanged;
            return this;
        }

        /**
         * @param defanged Whether the Threat Intelligence entity is defanged?
         * 
         * @return builder
         * 
         */
        public Builder defanged(Boolean defanged) {
            return defanged(Output.of(defanged));
        }

        /**
         * @param description The description of the Threat Intelligence Indicator.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description The description of the Threat Intelligence Indicator.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param displayName The display name of the Threat Intelligence Indicator.
         * 
         * @return builder
         * 
         */
        public Builder displayName(@Nullable Output displayName) {
            $.displayName = displayName;
            return this;
        }

        /**
         * @param displayName The display name of the Threat Intelligence Indicator.
         * 
         * @return builder
         * 
         */
        public Builder displayName(String displayName) {
            return displayName(Output.of(displayName));
        }

        /**
         * @param extension The extension config of the Threat Intelligence Indicator in JSON format.
         * 
         * @return builder
         * 
         */
        public Builder extension(@Nullable Output extension) {
            $.extension = extension;
            return this;
        }

        /**
         * @param extension The extension config of the Threat Intelligence Indicator in JSON format.
         * 
         * @return builder
         * 
         */
        public Builder extension(String extension) {
            return extension(Output.of(extension));
        }

        /**
         * @param externalId The external ID of the Threat Intelligence Indicator.
         * 
         * @return builder
         * 
         */
        public Builder externalId(@Nullable Output externalId) {
            $.externalId = externalId;
            return this;
        }

        /**
         * @param externalId The external ID of the Threat Intelligence Indicator.
         * 
         * @return builder
         * 
         */
        public Builder externalId(String externalId) {
            return externalId(Output.of(externalId));
        }

        /**
         * @param externalLastUpdatedTimeUtc the External last updated time in UTC.
         * 
         * @return builder
         * 
         */
        public Builder externalLastUpdatedTimeUtc(@Nullable Output externalLastUpdatedTimeUtc) {
            $.externalLastUpdatedTimeUtc = externalLastUpdatedTimeUtc;
            return this;
        }

        /**
         * @param externalLastUpdatedTimeUtc the External last updated time in UTC.
         * 
         * @return builder
         * 
         */
        public Builder externalLastUpdatedTimeUtc(String externalLastUpdatedTimeUtc) {
            return externalLastUpdatedTimeUtc(Output.of(externalLastUpdatedTimeUtc));
        }

        /**
         * @param externalReferences One or more `external_reference` blocks as defined below.
         * 
         * @return builder
         * 
         */
        public Builder externalReferences(@Nullable Output> externalReferences) {
            $.externalReferences = externalReferences;
            return this;
        }

        /**
         * @param externalReferences One or more `external_reference` blocks as defined below.
         * 
         * @return builder
         * 
         */
        public Builder externalReferences(List externalReferences) {
            return externalReferences(Output.of(externalReferences));
        }

        /**
         * @param externalReferences One or more `external_reference` blocks as defined below.
         * 
         * @return builder
         * 
         */
        public Builder externalReferences(ThreatIntelligenceIndicatorExternalReferenceArgs... externalReferences) {
            return externalReferences(List.of(externalReferences));
        }

        /**
         * @param granularMarkings One or more `granular_marking` blocks as defined below.
         * 
         * @return builder
         * 
         */
        public Builder granularMarkings(@Nullable Output> granularMarkings) {
            $.granularMarkings = granularMarkings;
            return this;
        }

        /**
         * @param granularMarkings One or more `granular_marking` blocks as defined below.
         * 
         * @return builder
         * 
         */
        public Builder granularMarkings(List granularMarkings) {
            return granularMarkings(Output.of(granularMarkings));
        }

        /**
         * @param granularMarkings One or more `granular_marking` blocks as defined below.
         * 
         * @return builder
         * 
         */
        public Builder granularMarkings(ThreatIntelligenceIndicatorGranularMarkingArgs... granularMarkings) {
            return granularMarkings(List.of(granularMarkings));
        }

        /**
         * @param guid The guid of this Sentinel Threat Intelligence Indicator.
         * 
         * @return builder
         * 
         */
        public Builder guid(@Nullable Output guid) {
            $.guid = guid;
            return this;
        }

        /**
         * @param guid The guid of this Sentinel Threat Intelligence Indicator.
         * 
         * @return builder
         * 
         */
        public Builder guid(String guid) {
            return guid(Output.of(guid));
        }

        /**
         * @param indicatorTypes A list of indicator types of this Threat Intelligence Indicator.
         * 
         * @return builder
         * 
         */
        public Builder indicatorTypes(@Nullable Output> indicatorTypes) {
            $.indicatorTypes = indicatorTypes;
            return this;
        }

        /**
         * @param indicatorTypes A list of indicator types of this Threat Intelligence Indicator.
         * 
         * @return builder
         * 
         */
        public Builder indicatorTypes(List indicatorTypes) {
            return indicatorTypes(Output.of(indicatorTypes));
        }

        /**
         * @param indicatorTypes A list of indicator types of this Threat Intelligence Indicator.
         * 
         * @return builder
         * 
         */
        public Builder indicatorTypes(String... indicatorTypes) {
            return indicatorTypes(List.of(indicatorTypes));
        }

        /**
         * @param killChainPhases One or more `kill_chain_phase` blocks as defined below.
         * 
         * @return builder
         * 
         */
        public Builder killChainPhases(@Nullable Output> killChainPhases) {
            $.killChainPhases = killChainPhases;
            return this;
        }

        /**
         * @param killChainPhases One or more `kill_chain_phase` blocks as defined below.
         * 
         * @return builder
         * 
         */
        public Builder killChainPhases(List killChainPhases) {
            return killChainPhases(Output.of(killChainPhases));
        }

        /**
         * @param killChainPhases One or more `kill_chain_phase` blocks as defined below.
         * 
         * @return builder
         * 
         */
        public Builder killChainPhases(ThreatIntelligenceIndicatorKillChainPhaseArgs... killChainPhases) {
            return killChainPhases(List.of(killChainPhases));
        }

        /**
         * @param language The language of the Threat Intelligence Indicator.
         * 
         * @return builder
         * 
         */
        public Builder language(@Nullable Output language) {
            $.language = language;
            return this;
        }

        /**
         * @param language The language of the Threat Intelligence Indicator.
         * 
         * @return builder
         * 
         */
        public Builder language(String language) {
            return language(Output.of(language));
        }

        /**
         * @param lastUpdatedTimeUtc The last updated time of the Threat Intelligence Indicator in UTC.
         * 
         * @return builder
         * 
         */
        public Builder lastUpdatedTimeUtc(@Nullable Output lastUpdatedTimeUtc) {
            $.lastUpdatedTimeUtc = lastUpdatedTimeUtc;
            return this;
        }

        /**
         * @param lastUpdatedTimeUtc The last updated time of the Threat Intelligence Indicator in UTC.
         * 
         * @return builder
         * 
         */
        public Builder lastUpdatedTimeUtc(String lastUpdatedTimeUtc) {
            return lastUpdatedTimeUtc(Output.of(lastUpdatedTimeUtc));
        }

        /**
         * @param objectMarkingRefs Specifies a list of Threat Intelligence marking references.
         * 
         * @return builder
         * 
         */
        public Builder objectMarkingRefs(@Nullable Output> objectMarkingRefs) {
            $.objectMarkingRefs = objectMarkingRefs;
            return this;
        }

        /**
         * @param objectMarkingRefs Specifies a list of Threat Intelligence marking references.
         * 
         * @return builder
         * 
         */
        public Builder objectMarkingRefs(List objectMarkingRefs) {
            return objectMarkingRefs(Output.of(objectMarkingRefs));
        }

        /**
         * @param objectMarkingRefs Specifies a list of Threat Intelligence marking references.
         * 
         * @return builder
         * 
         */
        public Builder objectMarkingRefs(String... objectMarkingRefs) {
            return objectMarkingRefs(List.of(objectMarkingRefs));
        }

        /**
         * @param parsedPatterns A `parsed_pattern` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder parsedPatterns(@Nullable Output> parsedPatterns) {
            $.parsedPatterns = parsedPatterns;
            return this;
        }

        /**
         * @param parsedPatterns A `parsed_pattern` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder parsedPatterns(List parsedPatterns) {
            return parsedPatterns(Output.of(parsedPatterns));
        }

        /**
         * @param parsedPatterns A `parsed_pattern` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder parsedPatterns(ThreatIntelligenceIndicatorParsedPatternArgs... parsedPatterns) {
            return parsedPatterns(List.of(parsedPatterns));
        }

        /**
         * @param pattern The pattern used by the Threat Intelligence Indicator. When `pattern_type` set to `file`, `pattern` must be specified with `<HashName>:<Value>` format, such as `MD5:78ecc5c05cd8b79af480df2f8fba0b9d`.
         * 
         * @return builder
         * 
         */
        public Builder pattern(@Nullable Output pattern) {
            $.pattern = pattern;
            return this;
        }

        /**
         * @param pattern The pattern used by the Threat Intelligence Indicator. When `pattern_type` set to `file`, `pattern` must be specified with `<HashName>:<Value>` format, such as `MD5:78ecc5c05cd8b79af480df2f8fba0b9d`.
         * 
         * @return builder
         * 
         */
        public Builder pattern(String pattern) {
            return pattern(Output.of(pattern));
        }

        /**
         * @param patternType The type of pattern used by the Threat Intelligence Indicator. Possible values are `domain-name`, `file`, `ipv4-addr`, `ipv6-addr` and `url`.
         * 
         * @return builder
         * 
         */
        public Builder patternType(@Nullable Output patternType) {
            $.patternType = patternType;
            return this;
        }

        /**
         * @param patternType The type of pattern used by the Threat Intelligence Indicator. Possible values are `domain-name`, `file`, `ipv4-addr`, `ipv6-addr` and `url`.
         * 
         * @return builder
         * 
         */
        public Builder patternType(String patternType) {
            return patternType(Output.of(patternType));
        }

        /**
         * @param patternVersion The version of a Threat Intelligence entity.
         * 
         * @return builder
         * 
         */
        public Builder patternVersion(@Nullable Output patternVersion) {
            $.patternVersion = patternVersion;
            return this;
        }

        /**
         * @param patternVersion The version of a Threat Intelligence entity.
         * 
         * @return builder
         * 
         */
        public Builder patternVersion(String patternVersion) {
            return patternVersion(Output.of(patternVersion));
        }

        /**
         * @param revoked Whether the Threat Intelligence entity revoked.
         * 
         * @return builder
         * 
         */
        public Builder revoked(@Nullable Output revoked) {
            $.revoked = revoked;
            return this;
        }

        /**
         * @param revoked Whether the Threat Intelligence entity revoked.
         * 
         * @return builder
         * 
         */
        public Builder revoked(Boolean revoked) {
            return revoked(Output.of(revoked));
        }

        /**
         * @param source Source of the Threat Intelligence Indicator. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder source(@Nullable Output source) {
            $.source = source;
            return this;
        }

        /**
         * @param source Source of the Threat Intelligence Indicator. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder source(String source) {
            return source(Output.of(source));
        }

        /**
         * @param tags Specifies a list of tags of the Threat Intelligence Indicator.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags Specifies a list of tags of the Threat Intelligence Indicator.
         * 
         * @return builder
         * 
         */
        public Builder tags(List tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param tags Specifies a list of tags of the Threat Intelligence Indicator.
         * 
         * @return builder
         * 
         */
        public Builder tags(String... tags) {
            return tags(List.of(tags));
        }

        /**
         * @param threatTypes Specifies a list of threat types of this Threat Intelligence Indicator.
         * 
         * @return builder
         * 
         */
        public Builder threatTypes(@Nullable Output> threatTypes) {
            $.threatTypes = threatTypes;
            return this;
        }

        /**
         * @param threatTypes Specifies a list of threat types of this Threat Intelligence Indicator.
         * 
         * @return builder
         * 
         */
        public Builder threatTypes(List threatTypes) {
            return threatTypes(Output.of(threatTypes));
        }

        /**
         * @param threatTypes Specifies a list of threat types of this Threat Intelligence Indicator.
         * 
         * @return builder
         * 
         */
        public Builder threatTypes(String... threatTypes) {
            return threatTypes(List.of(threatTypes));
        }

        /**
         * @param validateFromUtc The start of validate date in RFC3339.
         * 
         * @return builder
         * 
         */
        public Builder validateFromUtc(@Nullable Output validateFromUtc) {
            $.validateFromUtc = validateFromUtc;
            return this;
        }

        /**
         * @param validateFromUtc The start of validate date in RFC3339.
         * 
         * @return builder
         * 
         */
        public Builder validateFromUtc(String validateFromUtc) {
            return validateFromUtc(Output.of(validateFromUtc));
        }

        /**
         * @param validateUntilUtc The end of validate date of the Threat Intelligence Indicator in RFC3339 format.
         * 
         * @return builder
         * 
         */
        public Builder validateUntilUtc(@Nullable Output validateUntilUtc) {
            $.validateUntilUtc = validateUntilUtc;
            return this;
        }

        /**
         * @param validateUntilUtc The end of validate date of the Threat Intelligence Indicator in RFC3339 format.
         * 
         * @return builder
         * 
         */
        public Builder validateUntilUtc(String validateUntilUtc) {
            return validateUntilUtc(Output.of(validateUntilUtc));
        }

        /**
         * @param workspaceId The ID of the Log Analytics Workspace. Changing this forces a new Sentinel Threat Intelligence Indicator to be created.
         * 
         * @return builder
         * 
         */
        public Builder workspaceId(@Nullable Output workspaceId) {
            $.workspaceId = workspaceId;
            return this;
        }

        /**
         * @param workspaceId The ID of the Log Analytics Workspace. Changing this forces a new Sentinel Threat Intelligence Indicator to be created.
         * 
         * @return builder
         * 
         */
        public Builder workspaceId(String workspaceId) {
            return workspaceId(Output.of(workspaceId));
        }

        public ThreatIntelligenceIndicatorState build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy