Package com.vmware.nsx_policy.model
Class ForwardingRule.Builder
- java.lang.Object
-
- com.vmware.nsx_policy.model.ForwardingRule.Builder
-
- Enclosing class:
- ForwardingRule
public static final class ForwardingRule.Builder extends java.lang.ObjectBuilder class forForwardingRule.
-
-
Constructor Summary
Constructors Constructor Description Builder()Constructor with parameters for the required properties ofForwardingRule.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ForwardingRulebuild()ForwardingRule.BuildersetAction(java.lang.String action)Possible values are:ForwardingRule.ACTION_ROUTE_TO_UNDERLAYForwardingRule.ACTION_ROUTE_TO_OVERLAYForwardingRule.ACTION_ROUTE_FROM_UNDERLAYForwardingRule.ACTION_ROUTE_FROM_OVERLAYForwardingRule.ACTION_NAT_FROM_UNDERLAYForwardingRule.ACTION_NAT_TO_UNDERLAYThe action to be applied to all the servicesForwardingRule.BuildersetChildren(java.util.List<com.vmware.vapi.bindings.Structure> children)Subtree for this type within policy tree containing nested elements.ForwardingRule.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.ForwardingRule.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.ForwardingRule.BuildersetDescription(java.lang.String description)Description of this resourceForwardingRule.BuildersetDestinationGroups(java.util.List<java.lang.String> destinationGroups)We need paths as duplicate names may exist for groups under different domains.ForwardingRule.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.ForwardingRule.BuildersetDirection(java.lang.String direction)Possible values are:ForwardingRule.DIRECTION_INForwardingRule.DIRECTION_OUTForwardingRule.DIRECTION_IN_OUTDefine direction of traffic.ForwardingRule.BuildersetDisabled(java.lang.Boolean disabled)Flag to deactivate the rule.ForwardingRule.BuildersetDisplayName(java.lang.String displayName)Defaults to ID if not setForwardingRule.BuildersetId(java.lang.String id)Unique identifier of this resourceForwardingRule.BuildersetIpProtocol(java.lang.String ipProtocol)Possible values are:ForwardingRule.IP_PROTOCOL_IPV4ForwardingRule.IP_PROTOCOL_IPV6ForwardingRule.IP_PROTOCOL_IPV4_IPV6Type of IP packet that should be matched while enforcing the rule.ForwardingRule.BuildersetIsDefault(java.lang.Boolean isDefault)A flag to indicate whether rule is a default rule.ForwardingRule.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.ForwardingRule.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.ForwardingRule.BuildersetLinks(java.util.List<ResourceLink> links)The server will populate this field when returing the resource.ForwardingRule.BuildersetLogged(java.lang.Boolean logged)Flag to enable packet logging.ForwardingRule.BuildersetMarkedForDelete(java.lang.Boolean markedForDelete)Intent objects are not directly deleted from the system when a delete is invoked on them.ForwardingRule.BuildersetNotes(java.lang.String notes)Text for additional notes on changes.ForwardingRule.BuildersetOriginSiteId(java.lang.String originSiteId)This is a UUID generated by the system for knowing which site owns an object.ForwardingRule.BuildersetOverridden(java.lang.Boolean overridden)Global intent objects cannot be modified by the user.ForwardingRule.BuildersetOwnerId(java.lang.String ownerId)This is a UUID generated by the system for knowing who owns this object.ForwardingRule.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.ForwardingRule.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.ForwardingRule.BuildersetProfiles(java.util.List<java.lang.String> profiles)Holds the list of layer 7 service profile paths.ForwardingRule.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.ForwardingRule.BuildersetRealizationId(java.lang.String realizationId)This is a UUID generated by the system for realizing the entity object.ForwardingRule.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.ForwardingRule.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.ForwardingRule.BuildersetResourceType(java.lang.String resourceType)The type of this resource.ForwardingRule.BuildersetRevision(java.lang.Long revision)The _revision property describes the current revision of the resource.ForwardingRule.BuildersetRuleId(java.lang.Long ruleId)This is a unique 4 byte positive number that is assigned by the system.ForwardingRule.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.ForwardingRule.BuildersetScope(java.util.List<java.lang.String> scope)The list of policy paths where the rule is applied LR/Edge/T0/T1/LRP etc.ForwardingRule.BuildersetSelf(SelfResourceLink self)ForwardingRule.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.ForwardingRule.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.ForwardingRule.BuildersetServices(java.util.List<java.lang.String> services)In order to specify all services, use the constant \"ANY\".ForwardingRule.BuildersetSourceGroups(java.util.List<java.lang.String> sourceGroups)We need paths as duplicate names may exist for groups under different domains.ForwardingRule.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.ForwardingRule.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.ForwardingRule.BuildersetTag(java.lang.String tag)User level field which will be printed in CLI and packet logs.ForwardingRule.BuildersetTags(java.util.List<Tag> tags)Opaque identifiers meaningful to the API userForwardingRule.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 ofForwardingRule.
-
-
Method Detail
-
setLinks
public ForwardingRule.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 ForwardingRule.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 ForwardingRule.Builder setSelf(SelfResourceLink self)
- Parameters:
self- New value for the property.
-
setRevision
public ForwardingRule.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 ForwardingRule.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 ForwardingRule.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 ForwardingRule.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 ForwardingRule.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 ForwardingRule.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 ForwardingRule.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 ForwardingRule.Builder setDescription(java.lang.String description)
Description of this resource- Parameters:
description- New value for the property.
-
setDisplayName
public ForwardingRule.Builder setDisplayName(java.lang.String displayName)
Defaults to ID if not set- Parameters:
displayName- New value for the property.
-
setId
public ForwardingRule.Builder setId(java.lang.String id)
Unique identifier of this resource- Parameters:
id- New value for the property.
-
setResourceType
public ForwardingRule.Builder setResourceType(java.lang.String resourceType)
The type of this resource.- Parameters:
resourceType- New value for the property.
-
setTags
public ForwardingRule.Builder setTags(java.util.List<Tag> tags)
Opaque identifiers meaningful to the API user- Parameters:
tags- New value for the property.
-
setOriginSiteId
public ForwardingRule.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 ForwardingRule.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 ForwardingRule.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 ForwardingRule.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 ForwardingRule.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 ForwardingRule.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 ForwardingRule.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 ForwardingRule.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 ForwardingRule.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 ForwardingRule.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 ForwardingRule.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 ForwardingRule.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 ForwardingRule.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 ForwardingRule.Builder setDirection(java.lang.String direction)
Possible values are: Define direction of traffic.- Parameters:
direction- New value for the property.
-
setDisabled
public ForwardingRule.Builder setDisabled(java.lang.Boolean disabled)
Flag to deactivate the rule. Default is activated.- Parameters:
disabled- New value for the property.
-
setIpProtocol
public ForwardingRule.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 ForwardingRule.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 ForwardingRule.Builder setLogged(java.lang.Boolean logged)
Flag to enable packet logging. Default is deactivated.- Parameters:
logged- New value for the property.
-
setNotes
public ForwardingRule.Builder setNotes(java.lang.String notes)
Text for additional notes on changes.- Parameters:
notes- New value for the property.
-
setProfiles
public ForwardingRule.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 ForwardingRule.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 ForwardingRule.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 ForwardingRule.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 ForwardingRule.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 ForwardingRule.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 ForwardingRule.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 ForwardingRule.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 ForwardingRule.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.
-
setAction
public ForwardingRule.Builder setAction(java.lang.String action)
Possible values are: The action to be applied to all the services- Parameters:
action- New value for the property.
-
build
public ForwardingRule build()
-
-