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