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.Object
Builder 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 ForwardingRule
build()
ForwardingRule.Builder
setAction(java.lang.String action)
Possible values are:ForwardingRule.ACTION_ROUTE_TO_UNDERLAY
ForwardingRule.ACTION_ROUTE_TO_OVERLAY
ForwardingRule.ACTION_ROUTE_FROM_UNDERLAY
ForwardingRule.ACTION_ROUTE_FROM_OVERLAY
ForwardingRule.ACTION_NAT_FROM_UNDERLAY
ForwardingRule.ACTION_NAT_TO_UNDERLAY
The action to be applied to all the servicesForwardingRule.Builder
setChildren(java.util.List<com.vmware.vapi.bindings.Structure> children)
Subtree for this type within policy tree containing nested elements.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.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.ForwardingRule.Builder
setDescription(java.lang.String description)
Description of this resourceForwardingRule.Builder
setDestinationGroups(java.util.List<java.lang.String> destinationGroups)
We need paths as duplicate names may exist for groups under different domains.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.ForwardingRule.Builder
setDirection(java.lang.String direction)
Possible values are:ForwardingRule.DIRECTION_IN
ForwardingRule.DIRECTION_OUT
ForwardingRule.DIRECTION_IN_OUT
Define direction of traffic.ForwardingRule.Builder
setDisabled(java.lang.Boolean disabled)
Flag to deactivate the rule.ForwardingRule.Builder
setDisplayName(java.lang.String displayName)
Defaults to ID if not setForwardingRule.Builder
setId(java.lang.String id)
Unique identifier of this resourceForwardingRule.Builder
setIpProtocol(java.lang.String ipProtocol)
Possible values are:ForwardingRule.IP_PROTOCOL_IPV4
ForwardingRule.IP_PROTOCOL_IPV6
ForwardingRule.IP_PROTOCOL_IPV4_IPV6
Type of IP packet that should be matched while enforcing the rule.ForwardingRule.Builder
setIsDefault(java.lang.Boolean isDefault)
A flag to indicate whether rule is a default rule.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.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.ForwardingRule.Builder
setLinks(java.util.List<ResourceLink> links)
The server will populate this field when returing the resource.ForwardingRule.Builder
setLogged(java.lang.Boolean logged)
Flag to enable packet logging.ForwardingRule.Builder
setMarkedForDelete(java.lang.Boolean markedForDelete)
Intent objects are not directly deleted from the system when a delete is invoked on them.ForwardingRule.Builder
setNotes(java.lang.String notes)
Text for additional notes on changes.ForwardingRule.Builder
setOriginSiteId(java.lang.String originSiteId)
This is a UUID generated by the system for knowing which site owns an object.ForwardingRule.Builder
setOverridden(java.lang.Boolean overridden)
Global intent objects cannot be modified by the user.ForwardingRule.Builder
setOwnerId(java.lang.String ownerId)
This is a UUID generated by the system for knowing who owns this object.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.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.ForwardingRule.Builder
setProfiles(java.util.List<java.lang.String> profiles)
Holds the list of layer 7 service profile paths.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.ForwardingRule.Builder
setRealizationId(java.lang.String realizationId)
This is a UUID generated by the system for realizing the entity object.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.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.ForwardingRule.Builder
setResourceType(java.lang.String resourceType)
The type of this resource.ForwardingRule.Builder
setRevision(java.lang.Long revision)
The _revision property describes the current revision of the resource.ForwardingRule.Builder
setRuleId(java.lang.Long ruleId)
This is a unique 4 byte positive number that is assigned by the system.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.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.ForwardingRule.Builder
setSelf(SelfResourceLink self)
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.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.ForwardingRule.Builder
setServices(java.util.List<java.lang.String> services)
In order to specify all services, use the constant \"ANY\".ForwardingRule.Builder
setSourceGroups(java.util.List<java.lang.String> sourceGroups)
We need paths as duplicate names may exist for groups under different domains.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.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.ForwardingRule.Builder
setTag(java.lang.String tag)
User level field which will be printed in CLI and packet logs.ForwardingRule.Builder
setTags(java.util.List<Tag> tags)
Opaque identifiers meaningful to the API userForwardingRule.Builder
setUniqueId(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()
-
-