Package com.vmware.nsx_policy.model
Class PolicyVpcNatRule.Builder
- java.lang.Object
-
- com.vmware.nsx_policy.model.PolicyVpcNatRule.Builder
-
- Enclosing class:
- PolicyVpcNatRule
public static final class PolicyVpcNatRule.Builder extends java.lang.Object
Builder class forPolicyVpcNatRule
.
-
-
Constructor Summary
Constructors Constructor Description Builder()
Constructor with parameters for the required properties ofPolicyVpcNatRule
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PolicyVpcNatRule
build()
PolicyVpcNatRule.Builder
setAction(java.lang.String action)
Possible values are:PolicyVpcNatRule.ACTION_SNAT
PolicyVpcNatRule.ACTION_DNAT
PolicyVpcNatRule.ACTION_REFLEXIVE
Source NAT(SNAT) - translates a source IP address into an outbound packet so that the packet appears to originate from a different network.PolicyVpcNatRule.Builder
setChildren(java.util.List<com.vmware.vapi.bindings.Structure> children)
Subtree for this type within policy tree containing nested elements.PolicyVpcNatRule.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.PolicyVpcNatRule.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.PolicyVpcNatRule.Builder
setDescription(java.lang.String description)
Description of this resourcePolicyVpcNatRule.Builder
setDestinationNetwork(java.lang.String destinationNetwork)
This supports single IP address and it does not support IP range or IP sets.PolicyVpcNatRule.Builder
setDisplayName(java.lang.String displayName)
Defaults to ID if not setPolicyVpcNatRule.Builder
setEnabled(java.lang.Boolean enabled)
The flag, which suggests whether the NAT rule is enabled or disabled.PolicyVpcNatRule.Builder
setFirewallMatch(java.lang.String firewallMatch)
Possible values are:PolicyVpcNatRule.FIREWALL_MATCH_MATCH_EXTERNAL_ADDRESS
PolicyVpcNatRule.FIREWALL_MATCH_MATCH_INTERNAL_ADDRESS
PolicyVpcNatRule.FIREWALL_MATCH_BYPASS
It indicates how the firewall matches the address after NATing if firewall stage is not skipped.PolicyVpcNatRule.Builder
setId(java.lang.String id)
Unique identifier of this resourcePolicyVpcNatRule.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.PolicyVpcNatRule.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.PolicyVpcNatRule.Builder
setLinks(java.util.List<ResourceLink> links)
The server will populate this field when returing the resource.PolicyVpcNatRule.Builder
setLogging(java.lang.Boolean logging)
The flag, which suggests whether the logging of NAT rule is enabled or disabled.PolicyVpcNatRule.Builder
setMarkedForDelete(java.lang.Boolean markedForDelete)
Intent objects are not directly deleted from the system when a delete is invoked on them.PolicyVpcNatRule.Builder
setOriginSiteId(java.lang.String originSiteId)
This is a UUID generated by the system for knowing which site owns an object.PolicyVpcNatRule.Builder
setOverridden(java.lang.Boolean overridden)
Global intent objects cannot be modified by the user.PolicyVpcNatRule.Builder
setOwnerId(java.lang.String ownerId)
This is a UUID generated by the system for knowing who owns this object.PolicyVpcNatRule.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.PolicyVpcNatRule.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.PolicyVpcNatRule.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.PolicyVpcNatRule.Builder
setRealizationId(java.lang.String realizationId)
This is a UUID generated by the system for realizing the entity object.PolicyVpcNatRule.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.PolicyVpcNatRule.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.PolicyVpcNatRule.Builder
setResourceType(java.lang.String resourceType)
The type of this resource.PolicyVpcNatRule.Builder
setRevision(java.lang.Long revision)
The _revision property describes the current revision of the resource.PolicyVpcNatRule.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.PolicyVpcNatRule.Builder
setSelf(SelfResourceLink self)
PolicyVpcNatRule.Builder
setSequenceNumber(java.lang.Long sequenceNumber)
The sequence_number decides the rule_priority of a NAT rule.PolicyVpcNatRule.Builder
setSourceNetwork(java.lang.String sourceNetwork)
This supports single IP address or comma separated list of single IP addresses or CIDR.PolicyVpcNatRule.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.PolicyVpcNatRule.Builder
setTags(java.util.List<Tag> tags)
Opaque identifiers meaningful to the API userPolicyVpcNatRule.Builder
setTranslatedNetwork(java.lang.String translatedNetwork)
This supports single IP address or comma separated list of single IP addresses or CIDR.PolicyVpcNatRule.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 ofPolicyVpcNatRule
.
-
-
Method Detail
-
setLinks
public PolicyVpcNatRule.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 PolicyVpcNatRule.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 PolicyVpcNatRule.Builder setSelf(SelfResourceLink self)
- Parameters:
self
- New value for the property.
-
setRevision
public PolicyVpcNatRule.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 PolicyVpcNatRule.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 PolicyVpcNatRule.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 PolicyVpcNatRule.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 PolicyVpcNatRule.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 PolicyVpcNatRule.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 PolicyVpcNatRule.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 PolicyVpcNatRule.Builder setDescription(java.lang.String description)
Description of this resource- Parameters:
description
- New value for the property.
-
setDisplayName
public PolicyVpcNatRule.Builder setDisplayName(java.lang.String displayName)
Defaults to ID if not set- Parameters:
displayName
- New value for the property.
-
setId
public PolicyVpcNatRule.Builder setId(java.lang.String id)
Unique identifier of this resource- Parameters:
id
- New value for the property.
-
setResourceType
public PolicyVpcNatRule.Builder setResourceType(java.lang.String resourceType)
The type of this resource.- Parameters:
resourceType
- New value for the property.
-
setTags
public PolicyVpcNatRule.Builder setTags(java.util.List<Tag> tags)
Opaque identifiers meaningful to the API user- Parameters:
tags
- New value for the property.
-
setOriginSiteId
public PolicyVpcNatRule.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 PolicyVpcNatRule.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 PolicyVpcNatRule.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 PolicyVpcNatRule.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 PolicyVpcNatRule.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 PolicyVpcNatRule.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 PolicyVpcNatRule.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 PolicyVpcNatRule.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 PolicyVpcNatRule.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 PolicyVpcNatRule.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 PolicyVpcNatRule.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.
-
setAction
public PolicyVpcNatRule.Builder setAction(java.lang.String action)
Possible values are: Source NAT(SNAT) - translates a source IP address into an outbound packet so that the packet appears to originate from a different network. Destination NAT(DNAT) - translates the destination IP address of inbound packets so that packets are delivered to a target address into another network. Reflexive NAT(REFLEXIVE) - one-to-one mapping of source and destination IP addresses.- Parameters:
action
- New value for the property.
-
setDestinationNetwork
public PolicyVpcNatRule.Builder setDestinationNetwork(java.lang.String destinationNetwork)
This supports single IP address and it does not support IP range or IP sets. For DNAT rules, this is a mandatory field, and represents the destination network for the incoming packets. For other type of rules, optionally it can contain destination network of outgoing packets. NULL value for this field represents ANY network. In case of DNAT NATRule, destination network address should be IPv4 address allocated from External Block associated with VPC. format: list-of-address-or-block-or-range- Parameters:
destinationNetwork
- New value for the property.
-
setEnabled
public PolicyVpcNatRule.Builder setEnabled(java.lang.Boolean enabled)
The flag, which suggests whether the NAT rule is enabled or disabled. The default is True.- Parameters:
enabled
- New value for the property.
-
setFirewallMatch
public PolicyVpcNatRule.Builder setFirewallMatch(java.lang.String firewallMatch)
Possible values are: It indicates how the firewall matches the address after NATing if firewall stage is not skipped. MATCH_EXTERNAL_ADDRESS indicates the firewall will be applied to external address of a NAT rule. For SNAT, the external address is the translated source address after NAT is done. For DNAT, the external address is the original destination address before NAT is done. For REFLEXIVE, to egress traffic, the firewall will be applied to the translated source address after NAT is done; To ingress traffic, the firewall will be applied to the original destination address before NAT is done. MATCH_INTERNAL_ADDRESS indicates the firewall will be applied to internal address of a NAT rule. For SNAT, the internal address is the original source address before NAT is done. For DNAT, the internal address is the translated destination address after NAT is done. For REFLEXIVE, to egress traffic, the firewall will be applied to the original source address before NAT is done; To ingress traffic, the firewall will be applied to the translated destination address after NAT is done. BYPASS indicates the firewall stage will be skipped.- Parameters:
firewallMatch
- New value for the property.
-
setLogging
public PolicyVpcNatRule.Builder setLogging(java.lang.Boolean logging)
The flag, which suggests whether the logging of NAT rule is enabled or disabled. The default is False.- Parameters:
logging
- New value for the property.
-
setSequenceNumber
public PolicyVpcNatRule.Builder setSequenceNumber(java.lang.Long sequenceNumber)
The sequence_number decides the rule_priority of a NAT rule. Sequence_number and rule_priority have 1:1 mapping.For each NAT section, there will be reserved rule_priority numbers.The valid range of rule_priority number is from 0 to 2147483647(MAX_INT). 1. INTERNAL section rule_priority reserved from 0 - 1023 (1024 rules) valid sequence_number range 0 - 1023 2. USER section rule_priority reserved from 1024 - 2147482623 (2147481600 rules) valid sequence_number range 0 - 2147481599 3. DEFAULT section rule_priority reserved from 2147482624 - 2147483647 (1024 rules) valid sequence_number range 0 - 1023 format: int32- Parameters:
sequenceNumber
- New value for the property.
-
setSourceNetwork
public PolicyVpcNatRule.Builder setSourceNetwork(java.lang.String sourceNetwork)
This supports single IP address or comma separated list of single IP addresses or CIDR. This does not support IP range or IP sets. For SNAT and REFLEXIVE rules, this is a mandatory field and represents the source network of the packets leaving the network. For DNAT rules, optionally it can contain source network of incoming packets. NULL value for this field represents ANY network. format: list-of-address-or-block-or-range- Parameters:
sourceNetwork
- New value for the property.
-
setTranslatedNetwork
public PolicyVpcNatRule.Builder setTranslatedNetwork(java.lang.String translatedNetwork)
This supports single IP address or comma separated list of single IP addresses or CIDR. If user specify the CIDR, this value is actually used as an IP pool that includes both the subnet and broadcast addresses as valid for NAT translations. This does not support IP range or IP sets. For SNAT, DNAT and REFLEXIVE rules, this ia a mandatory field, which represents the translated network address. In case of SNAT and Refelexive NATRule, translated network address should be single IPv4 address allocated from External Block associated with VPC. format: list-of-address-or-block-or-range- Parameters:
translatedNetwork
- New value for the property.
-
build
public PolicyVpcNatRule build()
-
-