Package com.vmware.nsx_policy.model
Class BaseRule.Builder
- java.lang.Object
-
- com.vmware.nsx_policy.model.BaseRule.Builder
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description BaseRulebuild()BaseRule.BuildersetChildren(java.util.List<com.vmware.vapi.bindings.Structure> children)Subtree for this type within policy tree containing nested elements.BaseRule.BuildersetCreateTime(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.BaseRule.BuildersetCreateUser(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.BaseRule.BuildersetDescription(java.lang.String description)Description of this resourceBaseRule.BuildersetDestinationGroups(java.util.List<java.lang.String> destinationGroups)We need paths as duplicate names may exist for groups under different domains.BaseRule.BuildersetDestinationsExcluded(java.lang.Boolean destinationsExcluded)If set to true, the rule gets applied on all the groups that are NOT part of the destination groups.BaseRule.BuildersetDirection(java.lang.String direction)Possible values are:BaseRule.DIRECTION_INBaseRule.DIRECTION_OUTBaseRule.DIRECTION_IN_OUTDefine direction of traffic.BaseRule.BuildersetDisabled(java.lang.Boolean disabled)Flag to deactivate the rule.BaseRule.BuildersetDisplayName(java.lang.String displayName)Defaults to ID if not setBaseRule.BuildersetId(java.lang.String id)Unique identifier of this resourceBaseRule.BuildersetIpProtocol(java.lang.String ipProtocol)Possible values are:BaseRule.IP_PROTOCOL_IPV4BaseRule.IP_PROTOCOL_IPV6BaseRule.IP_PROTOCOL_IPV4_IPV6Type of IP packet that should be matched while enforcing the rule.BaseRule.BuildersetIsDefault(java.lang.Boolean isDefault)A flag to indicate whether rule is a default rule.BaseRule.BuildersetLastModifiedTime(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.BaseRule.BuildersetLastModifiedUser(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.BaseRule.BuildersetLinks(java.util.List<ResourceLink> links)The server will populate this field when returing the resource.BaseRule.BuildersetLogged(java.lang.Boolean logged)Flag to enable packet logging.BaseRule.BuildersetMarkedForDelete(java.lang.Boolean markedForDelete)Intent objects are not directly deleted from the system when a delete is invoked on them.BaseRule.BuildersetNotes(java.lang.String notes)Text for additional notes on changes.BaseRule.BuildersetOriginSiteId(java.lang.String originSiteId)This is a UUID generated by the system for knowing which site owns an object.BaseRule.BuildersetOverridden(java.lang.Boolean overridden)Global intent objects cannot be modified by the user.BaseRule.BuildersetOwnerId(java.lang.String ownerId)This is a UUID generated by the system for knowing who owns this object.BaseRule.BuildersetParentPath(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.BaseRule.BuildersetPath(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.BaseRule.BuildersetProfiles(java.util.List<java.lang.String> profiles)Holds the list of layer 7 service profile paths.BaseRule.BuildersetProtection(java.lang.String protection)Protection status is one of the following: PROTECTED - the client who retrieved the entity is not allowed to modify it.BaseRule.BuildersetRealizationId(java.lang.String realizationId)This is a UUID generated by the system for realizing the entity object.BaseRule.BuildersetRelativePath(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.BaseRule.BuildersetRemotePath(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.BaseRule.BuildersetResourceType(java.lang.String resourceType)The type of this resource.BaseRule.BuildersetRevision(java.lang.Long revision)The _revision property describes the current revision of the resource.BaseRule.BuildersetRuleId(java.lang.Long ruleId)This is a unique 4 byte positive number that is assigned by the system.BaseRule.BuildersetSchema(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.BaseRule.BuildersetScope(java.util.List<java.lang.String> scope)The list of policy paths where the rule is applied LR/Edge/T0/T1/LRP etc.BaseRule.BuildersetSelf(SelfResourceLink self)BaseRule.BuildersetSequenceNumber(java.lang.Long sequenceNumber)This field is used to resolve conflicts between multiple Rules under Security or Gateway Policy for a Domain If no sequence number is specified in the payload, a value of 0 is assigned by default.BaseRule.BuildersetServiceEntries(java.util.List<com.vmware.vapi.bindings.Structure> serviceEntries)In order to specify raw services this can be used, along with services which contains path to services.BaseRule.BuildersetServices(java.util.List<java.lang.String> services)In order to specify all services, use the constant \"ANY\".BaseRule.BuildersetSourceGroups(java.util.List<java.lang.String> sourceGroups)We need paths as duplicate names may exist for groups under different domains.BaseRule.BuildersetSourcesExcluded(java.lang.Boolean sourcesExcluded)If set to true, the rule gets applied on all the groups that are NOT part of the source groups.BaseRule.BuildersetSystemOwned(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.BaseRule.BuildersetTag(java.lang.String tag)User level field which will be printed in CLI and packet logs.BaseRule.BuildersetTags(java.util.List<Tag> tags)Opaque identifiers meaningful to the API userBaseRule.BuildersetUniqueId(java.lang.String uniqueId)This is a UUID generated by the GM/LM to uniquely identify entities in a federated environment.
-
-
-
Constructor Detail
-
Builder
public Builder()
Constructor with parameters for the required properties ofBaseRule.
-
-
Method Detail
-
setLinks
public BaseRule.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 BaseRule.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.
-
setSelf
public BaseRule.Builder setSelf(SelfResourceLink self)
- Parameters:
self- New value for the property.
-
setRevision
public BaseRule.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 BaseRule.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 BaseRule.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 BaseRule.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 BaseRule.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 BaseRule.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 BaseRule.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 BaseRule.Builder setDescription(java.lang.String description)
Description of this resource- Parameters:
description- New value for the property.
-
setDisplayName
public BaseRule.Builder setDisplayName(java.lang.String displayName)
Defaults to ID if not set- Parameters:
displayName- New value for the property.
-
setId
public BaseRule.Builder setId(java.lang.String id)
Unique identifier of this resource- Parameters:
id- New value for the property.
-
setResourceType
public BaseRule.Builder setResourceType(java.lang.String resourceType)
The type of this resource.- Parameters:
resourceType- New value for the property.
-
setTags
public BaseRule.Builder setTags(java.util.List<Tag> tags)
Opaque identifiers meaningful to the API user- Parameters:
tags- New value for the property.
-
setOriginSiteId
public BaseRule.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 BaseRule.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 BaseRule.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 BaseRule.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 BaseRule.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 BaseRule.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 BaseRule.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 BaseRule.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 BaseRule.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 inChildPolicyConfigResource. When methods return a value of this class as a return value, the property will contain all the properties defined inChildPolicyConfigResource.
-
setMarkedForDelete
public BaseRule.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 BaseRule.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.
-
setDestinationGroups
public BaseRule.Builder setDestinationGroups(java.util.List<java.lang.String> destinationGroups)
We need paths as duplicate names may exist for groups under different domains. Along with paths we support IP Address of type IPv4 and IPv6. IP Address can be in one of the format(CIDR, IP Address, Range of IP Address). In order to specify all groups, use the constant \"ANY\". This is case insensitive. If \"ANY\" is used, it should be the ONLY element in the group array. Error will be thrown if ANY is used in conjunction with other values.- Parameters:
destinationGroups- New value for the property.
-
setDestinationsExcluded
public BaseRule.Builder setDestinationsExcluded(java.lang.Boolean destinationsExcluded)
If set to true, the rule gets applied on all the groups that are NOT part of the destination groups. If false, the rule applies to the destination groups- Parameters:
destinationsExcluded- New value for the property.
-
setDirection
public BaseRule.Builder setDirection(java.lang.String direction)
Possible values are: Define direction of traffic.- Parameters:
direction- New value for the property.
-
setDisabled
public BaseRule.Builder setDisabled(java.lang.Boolean disabled)
Flag to deactivate the rule. Default is activated.- Parameters:
disabled- New value for the property.
-
setIpProtocol
public BaseRule.Builder setIpProtocol(java.lang.String ipProtocol)
Possible values are: Type of IP packet that should be matched while enforcing the rule. The value is set to IPV4_IPV6 for Layer3 rule if not specified. For Layer2/Ether rule the value must be null.- Parameters:
ipProtocol- New value for the property.
-
setIsDefault
public BaseRule.Builder setIsDefault(java.lang.Boolean isDefault)
A flag to indicate whether rule is a default rule. 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.
-
setLogged
public BaseRule.Builder setLogged(java.lang.Boolean logged)
Flag to enable packet logging. Default is deactivated.- Parameters:
logged- New value for the property.
-
setNotes
public BaseRule.Builder setNotes(java.lang.String notes)
Text for additional notes on changes.- Parameters:
notes- New value for the property.
-
setProfiles
public BaseRule.Builder setProfiles(java.util.List<java.lang.String> profiles)
Holds the list of layer 7 service profile paths. These profiles accept attributes and sub-attributes of various network services (e.g. L4 AppId, encryption algorithm, domain name, etc) as key value pairs. Instead of Layer 7 service profiles you can use a L7 access profile. One of either Layer 7 service profiles or L7 Access Profile can be used in firewall rule. In case of L7 access profile only one is allowed.- Parameters:
profiles- New value for the property.
-
setRuleId
public BaseRule.Builder setRuleId(java.lang.Long ruleId)
This is a unique 4 byte positive number that is assigned by the system. This rule id is passed all the way down to the data path. The first 1GB (1000 to 2^30) will be shared by GM and LM with zebra style striped number space. For E.g 1000 to (1Million -1) by LM, (1M - 2M-1) by GM and so on. 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:
ruleId- New value for the property.
-
setScope
public BaseRule.Builder setScope(java.util.List<java.lang.String> scope)
The list of policy paths where the rule is applied LR/Edge/T0/T1/LRP etc. Note that a given rule can be applied on multiple LRs/LRPs.- Parameters:
scope- New value for the property.
-
setSequenceNumber
public BaseRule.Builder setSequenceNumber(java.lang.Long sequenceNumber)
This field is used to resolve conflicts between multiple Rules under Security or Gateway Policy for a Domain If no sequence number is specified in the payload, a value of 0 is assigned by default. If there are multiple rules with the same sequence number then their order is not deterministic. If a specific order of rules is desired, then one has to specify unique sequence numbers or use the POST request on the rule entity with a query parameter action=revise to let the framework assign a sequence number format: int32- Parameters:
sequenceNumber- New value for the property.
-
setServiceEntries
public BaseRule.Builder setServiceEntries(java.util.List<com.vmware.vapi.bindings.Structure> serviceEntries)
In order to specify raw services this can be used, along with services which contains path to services. This can be empty or null.- Parameters:
serviceEntries- New value for the property. When clients pass a value of this class as a parameter, the property must contain all the properties defined inServiceEntry. When methods return a value of this class as a return value, the property will contain all the properties defined inServiceEntry.
-
setServices
public BaseRule.Builder setServices(java.util.List<java.lang.String> services)
In order to specify all services, use the constant \"ANY\". This is case insensitive. If \"ANY\" is used, it should be the ONLY element in the services array. Error will be thrown if ANY is used in conjunction with other values.- Parameters:
services- New value for the property.
-
setSourceGroups
public BaseRule.Builder setSourceGroups(java.util.List<java.lang.String> sourceGroups)
We need paths as duplicate names may exist for groups under different domains. Along with paths we support IP Address of type IPv4 and IPv6. IP Address can be in one of the format(CIDR, IP Address, Range of IP Address). In order to specify all groups, use the constant \"ANY\". This is case insensitive. If \"ANY\" is used, it should be the ONLY element in the group array. Error will be thrown if ANY is used in conjunction with other values.- Parameters:
sourceGroups- New value for the property.
-
setSourcesExcluded
public BaseRule.Builder setSourcesExcluded(java.lang.Boolean sourcesExcluded)
If set to true, the rule gets applied on all the groups that are NOT part of the source groups. If false, the rule applies to the source groups- Parameters:
sourcesExcluded- New value for the property.
-
setTag
public BaseRule.Builder setTag(java.lang.String tag)
User level field which will be printed in CLI and packet logs. Even though there is no limitation on length of a tag, internally tag will get truncated after 32 characters.- Parameters:
tag- New value for the property.
-
build
public BaseRule build()
-
-