Class IdsPolicy.Builder

  • Enclosing class:
    IdsPolicy

    public static final class IdsPolicy.Builder
    extends java.lang.Object
    Builder class for IdsPolicy.
    • Constructor Summary

      Constructors 
      Constructor Description
      Builder()
      Constructor with parameters for the required properties of IdsPolicy.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      IdsPolicy build()  
      IdsPolicy.Builder setCategory​(java.lang.String category)
      - Distributed Firewall - Policy framework provides five pre-defined categories for classifying a security policy.
      IdsPolicy.Builder setChildren​(java.util.List<com.vmware.vapi.bindings.Structure> children)
      Subtree for this type within policy tree containing nested elements.
      IdsPolicy.Builder setComments​(java.lang.String comments)
      Comments for security policy lock/unlock.
      IdsPolicy.Builder setCreateTime​(java.lang.Long createTime)
      Timestamp of resource creation format: int64 This property may be present in responses from the server, but if it is present in a request to server it will be ignored.
      IdsPolicy.Builder setCreateUser​(java.lang.String createUser)
      ID of the user who created this resource This property may be present in responses from the server, but if it is present in a request to server it will be ignored.
      IdsPolicy.Builder setDescription​(java.lang.String description)
      Description of this resource
      IdsPolicy.Builder setDisplayName​(java.lang.String displayName)
      Defaults to ID if not set
      IdsPolicy.Builder setId​(java.lang.String id)
      Unique identifier of this resource
      IdsPolicy.Builder setInternalSequenceNumber​(java.lang.Long internalSequenceNumber)
      This field is to indicate the internal sequence number of a policy with respect to the policies across categories.
      IdsPolicy.Builder setIsDefault​(java.lang.Boolean isDefault)
      A flag to indicate whether policy is a default policy.
      IdsPolicy.Builder setLastModifiedTime​(java.lang.Long lastModifiedTime)
      Timestamp of last modification format: int64 This property may be present in responses from the server, but if it is present in a request to server it will be ignored.
      IdsPolicy.Builder setLastModifiedUser​(java.lang.String lastModifiedUser)
      ID of the user who last modified this resource This property may be present in responses from the server, but if it is present in a request to server it will be ignored.
      IdsPolicy.Builder setLinks​(java.util.List<ResourceLink> links)
      The server will populate this field when returing the resource.
      IdsPolicy.Builder setLocked​(java.lang.Boolean locked)
      Indicates whether a security policy should be locked.
      IdsPolicy.Builder setLockModifiedBy​(java.lang.String lockModifiedBy)
      ID of the user who last modified the lock for the secruity policy.
      IdsPolicy.Builder setLockModifiedTime​(java.lang.Long lockModifiedTime)
      SecurityPolicy locked/unlocked time in epoch milliseconds.
      IdsPolicy.Builder setMarkedForDelete​(java.lang.Boolean markedForDelete)
      Intent objects are not directly deleted from the system when a delete is invoked on them.
      IdsPolicy.Builder setOriginSiteId​(java.lang.String originSiteId)
      This is a UUID generated by the system for knowing which site owns an object.
      IdsPolicy.Builder setOverridden​(java.lang.Boolean overridden)
      Global intent objects cannot be modified by the user.
      IdsPolicy.Builder setOwnerId​(java.lang.String ownerId)
      This is a UUID generated by the system for knowing who owns this object.
      IdsPolicy.Builder setParentPath​(java.lang.String parentPath)
      Path of its parent This property may be present in responses from the server, but if it is present in a request to server it will be ignored.
      IdsPolicy.Builder setPath​(java.lang.String path)
      Absolute path of this object This property may be present in responses from the server, but if it is present in a request to server it will be ignored.
      IdsPolicy.Builder setProtection​(java.lang.String protection)
      Protection status is one of the following: PROTECTED - the client who retrieved the entity is not allowed to modify it.
      IdsPolicy.Builder setRealizationId​(java.lang.String realizationId)
      This is a UUID generated by the system for realizing the entity object.
      IdsPolicy.Builder setRelativePath​(java.lang.String relativePath)
      Path relative from its parent This property may be present in responses from the server, but if it is present in a request to server it will be ignored.
      IdsPolicy.Builder setRemotePath​(java.lang.String remotePath)
      This is the path of the object on the local managers when queried on the NSX+ service, and path of the object on NSX+ service when queried from the local managers.
      IdsPolicy.Builder setResourceType​(java.lang.String resourceType)
      The type of this resource.
      IdsPolicy.Builder setRevision​(java.lang.Long revision)
      The _revision property describes the current revision of the resource.
      IdsPolicy.Builder setRuleCount​(java.lang.Long ruleCount)
      The count of rules in the policy.
      IdsPolicy.Builder setRules​(java.util.List<IdsRule> rules)
      IDS Rules that are a part of this SecurityPolicy
      IdsPolicy.Builder setSchedulerPath​(java.lang.String schedulerPath)
      Provides a mechanism to apply the rules in this policy for a specified time duration.
      IdsPolicy.Builder setSchema​(java.lang.String schema)
      Schema for this resource This property may be present in responses from the server, but if it is present in a request to server it will be ignored.
      IdsPolicy.Builder setScope​(java.util.List<java.lang.String> scope)
      The list of group paths where the rules in this policy will get applied.
      IdsPolicy.Builder setSelf​(SelfResourceLink self)  
      IdsPolicy.Builder setSequenceNumber​(java.lang.Long sequenceNumber)
      This field is used to resolve conflicts between security policies across domains.
      IdsPolicy.Builder setStateful​(java.lang.Boolean stateful)
      Stateful or Stateless nature of security policy is enforced on all rules in this security policy.
      IdsPolicy.Builder setSystemOwned​(java.lang.Boolean systemOwned)
      Indicates system owned resource This property may be present in responses from the server, but if it is present in a request to server it will be ignored.
      IdsPolicy.Builder setTags​(java.util.List<Tag> tags)
      Opaque identifiers meaningful to the API user
      IdsPolicy.Builder setTcpStrict​(java.lang.Boolean tcpStrict)
      Ensures that a 3 way TCP handshake is done before the data packets are sent.
      IdsPolicy.Builder setUniqueId​(java.lang.String uniqueId)
      This is a UUID generated by the GM/LM to uniquely identify entities in a federated environment.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Builder

        public Builder()
        Constructor with parameters for the required properties of IdsPolicy.
    • Method Detail

      • setLinks

        public IdsPolicy.Builder setLinks​(java.util.List<ResourceLink> links)
        The server will populate this field when returing the resource. Ignored on PUT and POST. This property may be present in responses from the server, but if it is present in a request to server it will be ignored.
        Parameters:
        links - New value for the property.
      • setSchema

        public IdsPolicy.Builder setSchema​(java.lang.String schema)
        Schema for this resource This property may be present in responses from the server, but if it is present in a request to server it will be ignored.
        Parameters:
        schema - New value for the property.
      • setRevision

        public IdsPolicy.Builder setRevision​(java.lang.Long revision)
        The _revision property describes the current revision of the resource. To prevent clients from overwriting each other's changes, PUT operations must include the current _revision of the resource, which clients should obtain by issuing a GET operation. If the _revision provided in a PUT request is missing or stale, the operation will be rejected. format: int32
        Parameters:
        revision - New value for the property.
      • setCreateTime

        public IdsPolicy.Builder setCreateTime​(java.lang.Long createTime)
        Timestamp of resource creation format: int64 This property may be present in responses from the server, but if it is present in a request to server it will be ignored.
        Parameters:
        createTime - New value for the property.
      • setCreateUser

        public IdsPolicy.Builder setCreateUser​(java.lang.String createUser)
        ID of the user who created this resource This property may be present in responses from the server, but if it is present in a request to server it will be ignored.
        Parameters:
        createUser - New value for the property.
      • setLastModifiedTime

        public IdsPolicy.Builder setLastModifiedTime​(java.lang.Long lastModifiedTime)
        Timestamp of last modification format: int64 This property may be present in responses from the server, but if it is present in a request to server it will be ignored.
        Parameters:
        lastModifiedTime - New value for the property.
      • setLastModifiedUser

        public IdsPolicy.Builder setLastModifiedUser​(java.lang.String lastModifiedUser)
        ID of the user who last modified this resource This property may be present in responses from the server, but if it is present in a request to server it will be ignored.
        Parameters:
        lastModifiedUser - New value for the property.
      • setProtection

        public IdsPolicy.Builder setProtection​(java.lang.String protection)
        Protection status is one of the following: PROTECTED - the client who retrieved the entity is not allowed to modify it. NOT_PROTECTED - the client who retrieved the entity is allowed to modify it REQUIRE_OVERRIDE - the client who retrieved the entity is a super user and can modify it, but only when providing the request header X-Allow-Overwrite=true. UNKNOWN - the _protection field could not be determined for this entity. This property may be present in responses from the server, but if it is present in a request to server it will be ignored.
        Parameters:
        protection - New value for the property.
      • setSystemOwned

        public IdsPolicy.Builder setSystemOwned​(java.lang.Boolean systemOwned)
        Indicates system owned resource This property may be present in responses from the server, but if it is present in a request to server it will be ignored.
        Parameters:
        systemOwned - New value for the property.
      • setDescription

        public IdsPolicy.Builder setDescription​(java.lang.String description)
        Description of this resource
        Parameters:
        description - New value for the property.
      • setDisplayName

        public IdsPolicy.Builder setDisplayName​(java.lang.String displayName)
        Defaults to ID if not set
        Parameters:
        displayName - New value for the property.
      • setId

        public IdsPolicy.Builder setId​(java.lang.String id)
        Unique identifier of this resource
        Parameters:
        id - New value for the property.
      • setResourceType

        public IdsPolicy.Builder setResourceType​(java.lang.String resourceType)
        The type of this resource.
        Parameters:
        resourceType - New value for the property.
      • setTags

        public IdsPolicy.Builder setTags​(java.util.List<Tag> tags)
        Opaque identifiers meaningful to the API user
        Parameters:
        tags - New value for the property.
      • setOriginSiteId

        public IdsPolicy.Builder setOriginSiteId​(java.lang.String originSiteId)
        This is a UUID generated by the system for knowing which site owns an object. This is used in NSX+. This property may be present in responses from the server, but if it is present in a request to server it will be ignored.
        Parameters:
        originSiteId - New value for the property.
      • setOwnerId

        public IdsPolicy.Builder setOwnerId​(java.lang.String ownerId)
        This is a UUID generated by the system for knowing who owns this object. This is used in NSX+. This property may be present in responses from the server, but if it is present in a request to server it will be ignored.
        Parameters:
        ownerId - New value for the property.
      • setParentPath

        public IdsPolicy.Builder setParentPath​(java.lang.String parentPath)
        Path of its parent This property may be present in responses from the server, but if it is present in a request to server it will be ignored.
        Parameters:
        parentPath - New value for the property.
      • setPath

        public IdsPolicy.Builder setPath​(java.lang.String path)
        Absolute path of this object This property may be present in responses from the server, but if it is present in a request to server it will be ignored.
        Parameters:
        path - New value for the property.
      • setRealizationId

        public IdsPolicy.Builder setRealizationId​(java.lang.String realizationId)
        This is a UUID generated by the system for realizing the entity object. In most cases this should be same as 'unique_id' of the entity. However, in some cases this can be different because of entities have migrated their unique identifier to NSX Policy intent objects later in the timeline and did not use unique_id for realization. Realization id is helpful for users to debug data path to correlate the configuration with corresponding intent. This property may be present in responses from the server, but if it is present in a request to server it will be ignored.
        Parameters:
        realizationId - New value for the property.
      • setRelativePath

        public IdsPolicy.Builder setRelativePath​(java.lang.String relativePath)
        Path relative from its parent This property may be present in responses from the server, but if it is present in a request to server it will be ignored.
        Parameters:
        relativePath - New value for the property.
      • setRemotePath

        public IdsPolicy.Builder setRemotePath​(java.lang.String remotePath)
        This is the path of the object on the local managers when queried on the NSX+ service, and path of the object on NSX+ service when queried from the local managers. This property may be present in responses from the server, but if it is present in a request to server it will be ignored.
        Parameters:
        remotePath - New value for the property.
      • setUniqueId

        public IdsPolicy.Builder setUniqueId​(java.lang.String uniqueId)
        This is a UUID generated by the GM/LM to uniquely identify entities in a federated environment. For entities that are stretched across multiple sites, the same ID will be used on all the stretched sites. This property may be present in responses from the server, but if it is present in a request to server it will be ignored.
        Parameters:
        uniqueId - New value for the property.
      • setChildren

        public IdsPolicy.Builder setChildren​(java.util.List<com.vmware.vapi.bindings.Structure> children)
        Subtree for this type within policy tree containing nested elements. Note that this type is applicable to be used in Hierarchical API only.
        Parameters:
        children - New value for the property. When clients pass a value of this class as a parameter, the property must contain all the properties defined in ChildPolicyConfigResource. When methods return a value of this class as a return value, the property will contain all the properties defined in ChildPolicyConfigResource.
      • setMarkedForDelete

        public IdsPolicy.Builder setMarkedForDelete​(java.lang.Boolean markedForDelete)
        Intent objects are not directly deleted from the system when a delete is invoked on them. They are marked for deletion and only when all the realized entities for that intent object gets deleted, the intent object is deleted. Objects that are marked for deletion are not returned in GET call. One can use the search API to get these objects. This property may be present in responses from the server, but if it is present in a request to server it will be ignored.
        Parameters:
        markedForDelete - New value for the property.
      • setOverridden

        public IdsPolicy.Builder setOverridden​(java.lang.Boolean overridden)
        Global intent objects cannot be modified by the user. However, certain global intent objects can be overridden locally by use of this property. In such cases, the overridden local values take precedence over the globally defined values for the properties. This property may be present in responses from the server, but if it is present in a request to server it will be ignored.
        Parameters:
        overridden - New value for the property.
      • setCategory

        public IdsPolicy.Builder setCategory​(java.lang.String category)
        - Distributed Firewall - Policy framework provides five pre-defined categories for classifying a security policy. They are \"Ethernet\",\"Emergency\", \"Infrastructure\" \"Environment\" and \"Application\". There is a pre-determined order in which the policy framework manages the priority of these security policies. Ethernet category is for supporting layer 2 firewall rules. The other four categories are applicable for layer 3 rules. Amongst them, the Emergency category has the highest priority followed by Infrastructure, Environment and then Application rules. Administrator can choose to categorize a security policy into the above categories or can choose to leave it empty. If empty it will have the least precedence w.r.t the above four categories. - Edge Firewall - Policy Framework for Edge Firewall provides six pre-defined categories \"Emergency\", \"SystemRules\", \"SharedPreRules\", \"LocalGatewayRules\", \"AutoServiceRules\" and \"Default\", in order of priority of rules. All categories are allowed for Gatetway Policies that belong to 'default' Domain. However, for user created domains, category is restricted to \"SharedPreRules\" or \"LocalGatewayRules\" only. Also, the users can add/modify/delete rules from only the \"SharedPreRules\" and \"LocalGatewayRules\" categories. If user doesn't specify the category then defaulted to \"Rules\". System generated category is used by NSX created rules, for example BFD rules. Autoplumbed category used by NSX verticals to autoplumb data path rules. Finally, \"Default\" category is the placeholder default rules with lowest in the order of priority.
        Parameters:
        category - New value for the property.
      • setComments

        public IdsPolicy.Builder setComments​(java.lang.String comments)
        Comments for security policy lock/unlock.
        Parameters:
        comments - New value for the property.
      • setInternalSequenceNumber

        public IdsPolicy.Builder setInternalSequenceNumber​(java.lang.Long internalSequenceNumber)
        This field is to indicate the internal sequence number of a policy with respect to the policies across categories. format: int32 This property may be present in responses from the server, but if it is present in a request to server it will be ignored.
        Parameters:
        internalSequenceNumber - New value for the property.
      • setIsDefault

        public IdsPolicy.Builder setIsDefault​(java.lang.Boolean isDefault)
        A flag to indicate whether policy is a default policy. This property may be present in responses from the server, but if it is present in a request to server it will be ignored.
        Parameters:
        isDefault - New value for the property.
      • setLockModifiedBy

        public IdsPolicy.Builder setLockModifiedBy​(java.lang.String lockModifiedBy)
        ID of the user who last modified the lock for the secruity policy. This property may be present in responses from the server, but if it is present in a request to server it will be ignored.
        Parameters:
        lockModifiedBy - New value for the property.
      • setLockModifiedTime

        public IdsPolicy.Builder setLockModifiedTime​(java.lang.Long lockModifiedTime)
        SecurityPolicy locked/unlocked time in epoch milliseconds. format: int64 This property may be present in responses from the server, but if it is present in a request to server it will be ignored.
        Parameters:
        lockModifiedTime - New value for the property.
      • setLocked

        public IdsPolicy.Builder setLocked​(java.lang.Boolean locked)
        Indicates whether a security policy should be locked. If the security policy is locked by a user, then no other user would be able to modify this security policy. Once the user releases the lock, other users can update this security policy.
        Parameters:
        locked - New value for the property.
      • setRuleCount

        public IdsPolicy.Builder setRuleCount​(java.lang.Long ruleCount)
        The count of rules in the policy. format: int32 This property may be present in responses from the server, but if it is present in a request to server it will be ignored.
        Parameters:
        ruleCount - New value for the property.
      • setSchedulerPath

        public IdsPolicy.Builder setSchedulerPath​(java.lang.String schedulerPath)
        Provides a mechanism to apply the rules in this policy for a specified time duration.
        Parameters:
        schedulerPath - New value for the property.
      • setScope

        public IdsPolicy.Builder setScope​(java.util.List<java.lang.String> scope)
        The list of group paths where the rules in this policy will get applied. This scope will take precedence over rule level scope. Supported only for security and redirection policies. In case of RedirectionPolicy, it is expected only when the policy is NS and redirecting to service chain.
        Parameters:
        scope - New value for the property.
      • setSequenceNumber

        public IdsPolicy.Builder setSequenceNumber​(java.lang.Long sequenceNumber)
        This field is used to resolve conflicts between security policies across domains. In order to change the sequence number of a policy one can fire a POST request on the policy entity with a query parameter action=revise The sequence number field will reflect the value of the computed sequence number upon execution of the above mentioned POST request. For scenarios where the administrator is using a template to update several security policies, the only way to set the sequence number is to explicitly specify the sequence number for each security policy. If no sequence number is specified in the payload, a value of 0 is assigned by default. If there are multiple policies with the same sequence number then their order is not deterministic. If a specific order of policies is desired, then one has to specify unique sequence numbers or use the POST request on the policy entity with a query parameter action=revise to let the framework assign a sequence number. The value of sequence number must be between 0 and 999,999. format: int32
        Parameters:
        sequenceNumber - New value for the property.
      • setStateful

        public IdsPolicy.Builder setStateful​(java.lang.Boolean stateful)
        Stateful or Stateless nature of security policy is enforced on all rules in this security policy. When it is stateful, the state of the network connects are tracked and a stateful packet inspection is performed. Layer3 security policies can be stateful or stateless. By default, they are stateful. Layer2 security policies can only be stateless.
        Parameters:
        stateful - New value for the property.
      • setTcpStrict

        public IdsPolicy.Builder setTcpStrict​(java.lang.Boolean tcpStrict)
        Ensures that a 3 way TCP handshake is done before the data packets are sent. tcp_strict=true is supported only for stateful security policies. If the tcp_strict flag is not specified and the security policy is stateful, then tcp_strict will be set to true.
        Parameters:
        tcpStrict - New value for the property.
      • setRules

        public IdsPolicy.Builder setRules​(java.util.List<IdsRule> rules)
        IDS Rules that are a part of this SecurityPolicy
        Parameters:
        rules - New value for the property.