swagger

package
v0.0.0-...-57daf80 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 7, 2022 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ContextOAuth2 takes a oauth2.TokenSource as authentication for the request.
	ContextOAuth2 = contextKey("token")

	// ContextBasicAuth takes BasicAuth as authentication for the request.
	ContextBasicAuth = contextKey("basic")

	// ContextAccessToken takes a string oauth2 access token as authentication for the request.
	ContextAccessToken = contextKey("accesstoken")

	// ContextAPIKey takes an APIKey as authentication for the request
	ContextAPIKey = contextKey("apikey")
)

Functions

func CacheExpires

func CacheExpires(r *http.Response) time.Time

CacheExpires helper function to determine remaining time before repeating a request.

Types

type APIClient

type APIClient struct {
	CertificateLibraryApi *CertificateLibraryApiService

	EdgeGatewayApi *EdgeGatewayApiService

	EdgeGatewayLoadBalancerPoolApi *EdgeGatewayLoadBalancerPoolApiService

	EdgeGatewayLoadBalancerPoolsApi *EdgeGatewayLoadBalancerPoolsApiService

	EdgeGatewayLoadBalancerVirtualServiceApi *EdgeGatewayLoadBalancerVirtualServiceApiService

	EdgeGatewayLoadBalancerVirtualServicesApi *EdgeGatewayLoadBalancerVirtualServicesApiService

	EdgeGatewayNatRuleApi *EdgeGatewayNatRuleApiService

	EdgeGatewayNatRulesApi *EdgeGatewayNatRulesApiService

	LoadBalancerServiceEngineGroupAssignmentsApi *LoadBalancerServiceEngineGroupAssignmentsApiService

	OrgVdcNetworkApi *OrgVdcNetworkApiService

	OrgVdcNetworksApi *OrgVdcNetworksApiService

	DefinedEntityApi *DefinedEntityApiService
	// contains filtered or unexported fields
}

APIClient manages communication with the VMware Cloud Director OpenAPI API v36.0 In most cases there should be only one, shared, APIClient.

func NewAPIClient

func NewAPIClient(cfg *Configuration) *APIClient

NewAPIClient creates a new API client. Requires a userAgent string describing your application. optionally a custom http.Client to allow for advanced features such as caching.

func (*APIClient) ChangeBasePath

func (c *APIClient) ChangeBasePath(path string)

Change base path to allow switching to mocks

type APIKey

type APIKey struct {
	Key    string
	Prefix string
}

APIKey provides API key based authentication to a request passed via context using ContextAPIKey

type AllocatedIpAddress

type AllocatedIpAddress struct {
	// Unique identifier for record. This is to support UI operations.
	Id string `json:"id,omitempty"`
	// Id of the entity to which the IP address is allocated such as a VM.
	EntityId string `json:"entityId,omitempty"`
	// Name of the entity to which the IP address is allocated.
	EntityName string `json:"entityName,omitempty"`
	// Name of the vApp whose VM is using allocated IP address.
	VAppName string `json:"vAppName,omitempty"`
	// The allocated IP address.
	IpAddress string `json:"ipAddress,omitempty"`
	// Whether the entity using this IP address is currently deployed.
	Deployed bool `json:"deployed,omitempty"`
	// The possible allocation types for allocated network address like VSM allocated, VM allocated or NAT routed.
	AllocationType *AllocatedIpAddressAllocationType `json:"allocationType,omitempty"`
	// The vApp network or Org vDC network to which this entity is connected.
	NetworkRef *EntityReference `json:"networkRef,omitempty"`
	// The organization that this entity belongs to.
	OrgRef *EntityReference `json:"orgRef,omitempty"`
}

Describes an allocated IP address for a network. IP addresses can be allocated to a vApp VM, an edge gateway interface or may be used in a NAT routed environment. If the address is allocated to an edge gateway, the name of the entity will be 'Edge Gateway'.

type AllocatedIpAddressAllocationType

type AllocatedIpAddressAllocationType string

AllocatedIpAddressAllocationType : The possible allocation types for allocated network address. VM_ALLOCATED means that the IP address is allocated by a VM, NAT_ROUTED means that the IP address is used in a NAT routed environment and VSM_ALLOCATED means that the IP address is allocated to an NSX edge gateway interface.

const (
	VM_ALLOCATED_AllocatedIpAddressAllocationType  AllocatedIpAddressAllocationType = "VM_ALLOCATED"
	NAT_ROUTED_AllocatedIpAddressAllocationType    AllocatedIpAddressAllocationType = "NAT_ROUTED"
	VSM_ALLOCATED_AllocatedIpAddressAllocationType AllocatedIpAddressAllocationType = "VSM_ALLOCATED"
)

List of AllocatedIpAddressAllocationType

type AllocatedIpAddresses

type AllocatedIpAddresses struct {
	// How many results there are in total (i.e., considering all pages).
	ResultTotal int32 `json:"resultTotal,omitempty"`
	// How many pages there are in total.
	PageCount int32 `json:"pageCount,omitempty"`
	// The page that was fetched, 1-indexed.
	Page int32 `json:"page,omitempty"`
	// Result count for page that was fetched.
	PageSize int32 `json:"pageSize,omitempty"`
	// Association info for each result.
	Associations []Association        `json:"associations,omitempty"`
	Values       []AllocatedIpAddress `json:"values,omitempty"`
}

List of allocated IP addresses.

type Association

type Association struct {
	// ID of the entity.
	EntityId string `json:"entityId,omitempty"`
	// ID of the association.
	AssociationId string `json:"associationId,omitempty"`
}

Site association information for an entity

type BackingNetworkType

type BackingNetworkType string

BackingNetworkType : The backing network type.

const (
	DV_PORTGROUP_BackingNetworkType              BackingNetworkType = "DV_PORTGROUP"
	VIRTUAL_WIRE_BackingNetworkType              BackingNetworkType = "VIRTUAL_WIRE"
	IMPORTED_T_LOGICAL_SWITCH_BackingNetworkType BackingNetworkType = "IMPORTED_T_LOGICAL_SWITCH"
	OPAQUE_NETWORK_BackingNetworkType            BackingNetworkType = "OPAQUE_NETWORK"
	NSXT_FIXED_SEGMENT_BackingNetworkType        BackingNetworkType = "NSXT_FIXED_SEGMENT"
	NSXT_FLEXIBLE_SEGMENT_BackingNetworkType     BackingNetworkType = "NSXT_FLEXIBLE_SEGMENT"
)

List of BackingNetworkType

type BasicAuth

type BasicAuth struct {
	UserName string `json:"userName,omitempty"`
	Password string `json:"password,omitempty"`
}

BasicAuth provides basic http authentication to a request passed via context using ContextBasicAuth

type CertificateLibraryApiQueryCertLibraryItemConsumerRefsOpts

type CertificateLibraryApiQueryCertLibraryItemConsumerRefsOpts struct {
	Filter   optional.String
	SortAsc  optional.String
	SortDesc optional.String
}

type CertificateLibraryApiQueryCertificateLibraryOpts

type CertificateLibraryApiQueryCertificateLibraryOpts struct {
	Filter   optional.String
	SortAsc  optional.String
	SortDesc optional.String
}

type CertificateLibraryApiService

type CertificateLibraryApiService service

func (*CertificateLibraryApiService) AddCertificateLibraryItem

func (a *CertificateLibraryApiService) AddCertificateLibraryItem(ctx context.Context, newCertificateLibraryItem CertificateLibraryItem) (CertificateLibraryItem, *http.Response, error)

CertificateLibraryApiService Add an item to the certificate library Add an item to the certificate library

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param newCertificateLibraryItem

@return CertificateLibraryItem

func (*CertificateLibraryApiService) AddConsumerRefToCertLibraryItem

func (a *CertificateLibraryApiService) AddConsumerRefToCertLibraryItem(ctx context.Context, consumerReference EntityReference, certLibraryItemId string) (EntityReference, *http.Response, error)

CertificateLibraryApiService Adds the specified consumer reference to a library item. Adds the specified consumer reference to a library item.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param consumerReference
  • @param certLibraryItemId

@return EntityReference

func (*CertificateLibraryApiService) DeleteCertificateLibraryItem

func (a *CertificateLibraryApiService) DeleteCertificateLibraryItem(ctx context.Context, id string) (*http.Response, error)

CertificateLibraryApiService Remove certificate library item. Delete the specified certificate library item. Only items that are not in use can be deleted. Note: This API also supports a former (erroneously spelt) alternate path /cetificateLibrary/{id} as a Deprecated API (deprecated-in and removed after API version 36.0)

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param id

func (*CertificateLibraryApiService) GetCertificateLibraryItem

func (a *CertificateLibraryApiService) GetCertificateLibraryItem(ctx context.Context, id string) (CertificateLibraryItem, *http.Response, error)

CertificateLibraryApiService Get the specified certificate library item Retrieves the specified certificate library item. Note: This API also supports a former (erroneously spelt) alternate path /cetificateLibrary/{id} as a Deprecated API (deprecated-in and removed after API version 36.0)

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param id

@return CertificateLibraryItem

func (*CertificateLibraryApiService) QueryCertLibraryItemConsumerRefs

func (a *CertificateLibraryApiService) QueryCertLibraryItemConsumerRefs(ctx context.Context, page int32, pageSize int32, certLibraryItemId string, localVarOptionals *CertificateLibraryApiQueryCertLibraryItemConsumerRefsOpts) (EntityReferences, *http.Response, error)

func (*CertificateLibraryApiService) QueryCertificateLibrary

func (a *CertificateLibraryApiService) QueryCertificateLibrary(ctx context.Context, page int32, pageSize int32,
	localVarOptionals *CertificateLibraryApiQueryCertificateLibraryOpts,
	orgID string) (CertificateLibraryItems, *http.Response, error)

func (*CertificateLibraryApiService) ReplaceCertLibraryItemConsumerRefs

func (a *CertificateLibraryApiService) ReplaceCertLibraryItemConsumerRefs(ctx context.Context, consumerRefs EntityReferences, certLibraryItemId string) (EntityReferences, *http.Response, error)

CertificateLibraryApiService Replaces the existing consumer refs with the used by references supplied. Replaces the existing consumer refs with the consumer references supplied.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param consumerRefs
  • @param certLibraryItemId

@return EntityReferences

func (*CertificateLibraryApiService) UpdateCertificateLibraryItem

func (a *CertificateLibraryApiService) UpdateCertificateLibraryItem(ctx context.Context, modifiedCertificatLibraryItem CertificateLibraryItem, id string) (CertificateLibraryItem, *http.Response, error)

CertificateLibraryApiService Update the specified certificate library item. Updates the specified certificate library item. Only the alias and description fields may be edited Note: This API also supports a former (erroneously spelt) alternate path /cetificateLibrary/{id} as a Deprecated API (deprecated-in and removed after API version 36.0)

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param modifiedCertificatLibraryItem
  • @param id

@return CertificateLibraryItem

type CertificateLibraryItem

type CertificateLibraryItem struct {
	Id    string `json:"id,omitempty"`
	Alias string `json:"alias"`
	// PEM encoded private key. Required if providing a certificate chain
	PrivateKey string `json:"privateKey,omitempty"`
	// passphrase for the private key. Required if the private key is encrypted
	PrivateKeyPassphrase string `json:"privateKeyPassphrase,omitempty"`
	// PEM encoded certificate
	Certificate string `json:"certificate"`
	// Description of the certificate library item
	Description string `json:"description,omitempty"`
}

A certificate library item.

type CertificateLibraryItems

type CertificateLibraryItems struct {
	// How many results there are in total (i.e., considering all pages).
	ResultTotal int32 `json:"resultTotal,omitempty"`
	// How many pages there are in total.
	PageCount int32 `json:"pageCount,omitempty"`
	// The page that was fetched, 1-indexed.
	Page int32 `json:"page,omitempty"`
	// Result count for page that was fetched.
	PageSize int32 `json:"pageSize,omitempty"`
	// Association info for each result.
	Associations []Association `json:"associations,omitempty"`
	// The current page of certificate library items.
	Values []CertificateLibraryItem `json:"values,omitempty"`
}

A list of certificate library items.

type Configuration

type Configuration struct {
	BasePath      string            `json:"basePath,omitempty"`
	Host          string            `json:"host,omitempty"`
	Scheme        string            `json:"scheme,omitempty"`
	DefaultHeader map[string]string `json:"defaultHeader,omitempty"`
	UserAgent     string            `json:"userAgent,omitempty"`
	HTTPClient    *http.Client
}

func NewConfiguration

func NewConfiguration() *Configuration

func (*Configuration) AddDefaultHeader

func (c *Configuration) AddDefaultHeader(key string, value string)

type DefinedEntities

type DefinedEntities struct {
	// How many results there are in total (i.e., considering all pages).
	ResultTotal int32 `json:"resultTotal,omitempty"`
	// How many pages there are in total.
	PageCount int32 `json:"pageCount,omitempty"`
	// The page that was fetched, 1-indexed.
	Page int32 `json:"page,omitempty"`
	// Result count for page that was fetched.
	PageSize int32 `json:"pageSize,omitempty"`
	// Association info for each result.
	Associations []Association `json:"associations,omitempty"`
	// The current page of defined entities.
	Values []DefinedEntity `json:"values,omitempty"`
}

A list of defined entities.

type DefinedEntity

type DefinedEntity struct {
	// The id of the defined entity in URN format.
	Id string `json:"id,omitempty"`
	// The URN ID of the defined entity type that the entity is an instance of. This is a read-only field.
	EntityType string `json:"entityType,omitempty"`
	// The name of the defined entity.
	Name string `json:"name"`
	// An external entity's id that this entity may have a relation to.
	ExternalId string `json:"externalId,omitempty"`
	// A JSON value representation. The JSON will be validated against the schema of the entityType that the entity is an instance of.
	Entity map[string]interface{} `json:"entity"`
	// Every entity is created in the \"PRE_CREATED\" state. Once an entity is ready to be validated against its schema, it will transition in another state - RESOLVED, if the entity is valid according to the schema, or RESOLUTION_ERROR otherwise. If an entity in an \"RESOLUTION_ERROR\" state is updated, it will transition to the inital \"PRE_CREATED\" state without performing any validation. If its in the \"RESOLVED\" state, then it will be validated against the entity type schema and throw an exception if its invalid.
	State string `json:"state,omitempty"`
	// The owner of the defined entity.
	Owner *EntityReference `json:"owner,omitempty"`
	// The organization of the defined entity.
	Org *EntityReference `json:"org,omitempty"`
}

Describes what a defined entity should look like.

type DefinedEntityApiCreateDefinedEntityOpts

type DefinedEntityApiCreateDefinedEntityOpts struct {
	InvokeHooks optional.Interface
}

type DefinedEntityApiDeleteDefinedEntityOpts

type DefinedEntityApiDeleteDefinedEntityOpts struct {
	InvokeHooks optional.Interface
}

type DefinedEntityApiGetDefinedEntitiesByEntityTypeOpts

type DefinedEntityApiGetDefinedEntitiesByEntityTypeOpts struct {
	Filter   optional.String
	SortAsc  optional.String
	SortDesc optional.String
}

type DefinedEntityApiGetDefinedEntitiesByInterfaceOpts

type DefinedEntityApiGetDefinedEntitiesByInterfaceOpts struct {
	Filter   optional.String
	SortAsc  optional.String
	SortDesc optional.String
}

type DefinedEntityApiService

type DefinedEntityApiService service

func (*DefinedEntityApiService) CreateDefinedEntity

func (a *DefinedEntityApiService) CreateDefinedEntity(ctx context.Context, entity DefinedEntity, id string, localVarOptionals *DefinedEntityApiCreateDefinedEntityOpts) (*http.Response, error)

func (*DefinedEntityApiService) DeleteDefinedEntity

func (a *DefinedEntityApiService) DeleteDefinedEntity(ctx context.Context, id string, localVarOptionals *DefinedEntityApiDeleteDefinedEntityOpts) (*http.Response, error)

func (*DefinedEntityApiService) GetDefinedEntitiesByEntityType

func (a *DefinedEntityApiService) GetDefinedEntitiesByEntityType(ctx context.Context, vendor string, nss string, version string, page int32, pageSize int32, localVarOptionals *DefinedEntityApiGetDefinedEntitiesByEntityTypeOpts) (DefinedEntities, *http.Response, error)

func (*DefinedEntityApiService) GetDefinedEntitiesByInterface

func (a *DefinedEntityApiService) GetDefinedEntitiesByInterface(ctx context.Context, vendor string, nss string, version string, page int32, pageSize int32, localVarOptionals *DefinedEntityApiGetDefinedEntitiesByInterfaceOpts) (DefinedEntities, *http.Response, error)

func (*DefinedEntityApiService) GetDefinedEntity

DefinedEntityApiService Gets the defined entity with the unique identifier (URN) Gets the defined entity with the unique identifier (URN)

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param id

@return DefinedEntity

func (*DefinedEntityApiService) ResolveDefinedEntity

func (a *DefinedEntityApiService) ResolveDefinedEntity(ctx context.Context, id string) (EntityState, *http.Response, error)

DefinedEntityApiService Validates the defined entity against the entity type schema. Validates the defined entity against the entity type schema. If the validation is successful, the entity will transition to a \"RESOLVED\" state. Otherwise, it will transition to an \"ERROR\" state.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param id

@return EntityState

func (*DefinedEntityApiService) UpdateDefinedEntity

func (a *DefinedEntityApiService) UpdateDefinedEntity(ctx context.Context, entity DefinedEntity, etag string, id string, localVarOptionals *DefinedEntityApiUpdateDefinedEntityOpts) (DefinedEntity, *http.Response, error)

type DefinedEntityApiUpdateDefinedEntityOpts

type DefinedEntityApiUpdateDefinedEntityOpts struct {
	InvokeHooks optional.Interface
}

type EdgeGateway

type EdgeGateway struct {
	// Represents current status of the networking object.
	Status *NetworkingObjectStatusType `json:"status,omitempty"`
	// The unique identifier of the edge gateway.
	Id string `json:"id,omitempty"`
	// The name of the edge gateway.
	Name string `json:"name,omitempty"`
	// The description of the edge gateway(optional).
	Description string `json:"description,omitempty"`
	// The uplink connections for the edge gateway.
	EdgeGatewayUplinks []EdgeGatewayUplink `json:"edgeGatewayUplinks,omitempty"`
	// A flag indicating whether distributed routing is enabled or not. The default is false.
	DistributedRoutingEnabled bool `json:"distributedRoutingEnabled,omitempty"`
	// The number of Org vDC networks connected to the gateway.
	OrgVdcNetworkCount int32 `json:"orgVdcNetworkCount,omitempty"`
	// The backing details of the edge gateway; only required if importing an NSX-T router.
	GatewayBacking *EdgeGatewayBacking `json:"gatewayBacking,omitempty"`
	// The organization vDC which the gateway belongs to. Property is deprecated. Please use ownerRef.
	OrgVdc *EntityReference `json:"orgVdc,omitempty"`
	// The organization vDC or vDC Group that this edge gateway belongs to. If the ownerRef is set to a vDC Group, this gateway will be available across all the participating Organization vDCs in the vDC Group.
	OwnerRef *EntityReference `json:"ownerRef,omitempty"`
	// The organization to which the gateway belongs.
	OrgRef *EntityReference `json:"orgRef,omitempty"`
	// The network definition in CDIR form that DNS and DHCP service on an NSX-T edge will run on. The subnet prefix length must be 27. This property applies to creating or importing an NSX-T Edge. This is not supported for VMC. If nothing is set, the default is 192.168.255.225/27.  The DHCP listener IP network is on 192.168.255.225/30. The DNS listener IP network is on 192.168.255.228/32.  This field cannot be updated.
	ServiceNetworkDefinition string `json:"serviceNetworkDefinition,omitempty"`
	// The uplink network is the network that is used to connect the distributed router to the gateway. This is in CIDR form. This is not set if distributed routing is disabled. This field cannot be updated. This applies to NSX-V edges only.
	DistributedRouterUplinkNetworkDefinition string `json:"distributedRouterUplinkNetworkDefinition,omitempty"`
	// Edge Cluster Configuration for the Edge Gateway. Can be specified if a gateway needs to be placed on a specific set of Edge Clusters. For NSX-T Edges, user should specify the ID of the NSX-T edge cluster as the value of primaryEdgeCluster's backingId. The gateway defaults to the Edge Cluster of the connected External Network's backing Tier-0 router, if nothing is specified. The value of secondaryEdgeCluster will be set to NULL for NSX-T edge gateways. For NSX-V Edges, this is read-only and the legacy API must be used for edge specific placement.
	EdgeClusterConfig *GatewayEdgeClusterConfig `json:"edgeClusterConfig,omitempty"`
}

An edge gateway object

type EdgeGatewayApiDeleteEdgeGatewayOpts

type EdgeGatewayApiDeleteEdgeGatewayOpts struct {
	Force optional.Bool
}

type EdgeGatewayApiGetUsedIpAddressesOpts

type EdgeGatewayApiGetUsedIpAddressesOpts struct {
	Filter   optional.String
	SortAsc  optional.String
	SortDesc optional.String
}

type EdgeGatewayApiService

type EdgeGatewayApiService service

func (*EdgeGatewayApiService) DeleteEdgeGateway

func (a *EdgeGatewayApiService) DeleteEdgeGateway(ctx context.Context, gatewayId string, localVarOptionals *EdgeGatewayApiDeleteEdgeGatewayOpts) (*http.Response, error)

func (*EdgeGatewayApiService) GetEdgeGateway

func (a *EdgeGatewayApiService) GetEdgeGateway(ctx context.Context, gatewayId string) (EdgeGateway, *http.Response, error)

EdgeGatewayApiService Retrieves a specific Edge Gateway

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param gatewayId

@return EdgeGateway

func (*EdgeGatewayApiService) GetUsedIpAddresses

func (a *EdgeGatewayApiService) GetUsedIpAddresses(ctx context.Context, page int32, pageSize int32, gatewayId string, localVarOptionals *EdgeGatewayApiGetUsedIpAddressesOpts) (GatewayUsedIpAddresses, *http.Response, error)

func (*EdgeGatewayApiService) UpdateEdgeGateway

func (a *EdgeGatewayApiService) UpdateEdgeGateway(ctx context.Context, gateway EdgeGateway, gatewayId string) (*http.Response, error)

EdgeGatewayApiService Updates a specific Edge Gateway Update a specific Edge Gateway. Only NSX-T Edge Gateways can be created with this endpoint.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param gateway
  • @param gatewayId

type EdgeGatewayBacking

type EdgeGatewayBacking struct {
	// The identifier of the edge gateways backing router.
	BackingId string `json:"backingId,omitempty"`
	// The type of the gateway. Describes if this is an NSX-T edge gateway or an NSX-V edge gateway.
	GatewayType *EdgeGatewayType `json:"gatewayType,omitempty"`
	// The backing network provider, either NSX-T or NSX-V.
	NetworkProvider *EntityReference `json:"networkProvider,omitempty"`
}

The backing details of the edge gateway

type EdgeGatewayLoadBalancerConfig

type EdgeGatewayLoadBalancerConfig struct {
	// A flag indicating whether Load Balancer Service is enabled or not.
	Enabled bool `json:"enabled"`
	// The network definition in Gateway CIDR format which will be used by Load Balancer service on edge. All the load balancer service engines associated with the Service Engine Group will be attached to this network. The subnet prefix length must be 25. If nothing is set, the default is <code>192.168.255.1/25</code>. Default cidr can be configured. This field cannot be updated.
	ServiceNetworkDefinition string `json:"serviceNetworkDefinition,omitempty"`
	// Reference to the Load Balancer Cloud. This cloud is used by Edge Gateway's Load Balancer Virtual Services and Pools.
	LoadBalancerCloudRef *EntityReference `json:"loadBalancerCloudRef,omitempty"`
	// The license type of the backing Load Balancer Cloud. <ul> <li>BASIC - Basic edition of the NSX Advanced Load Balancer. <li>ENTERPRISE - Full featured edition of the NSX Advanced Load Balancer. </ul>
	LicenseType string `json:"licenseType,omitempty"`
}

Describes Load Balancer Service configuration on an Edge Gateway.

type EdgeGatewayLoadBalancerPoolApiService

type EdgeGatewayLoadBalancerPoolApiService service

func (*EdgeGatewayLoadBalancerPoolApiService) DeleteLoadBalancerPool

func (a *EdgeGatewayLoadBalancerPoolApiService) DeleteLoadBalancerPool(ctx context.Context, poolId string) (*http.Response, error)

EdgeGatewayLoadBalancerPoolApiService Deletes a specific Load Balancer Pool.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param poolId

func (*EdgeGatewayLoadBalancerPoolApiService) GetLoadBalancerPool

EdgeGatewayLoadBalancerPoolApiService Retrieves a specific Load Balancer Pool.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param poolId

@return EdgeLoadBalancerPool

func (*EdgeGatewayLoadBalancerPoolApiService) UpdateLoadBalancerPool

func (a *EdgeGatewayLoadBalancerPoolApiService) UpdateLoadBalancerPool(ctx context.Context, loadBalancerPool EdgeLoadBalancerPool, poolId string) (*http.Response, error)

EdgeGatewayLoadBalancerPoolApiService Updates a specific Load Balancer Pool.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param loadBalancerPool
  • @param poolId

type EdgeGatewayLoadBalancerPoolsApiGetPoolSummariesForGatewayOpts

type EdgeGatewayLoadBalancerPoolsApiGetPoolSummariesForGatewayOpts struct {
	Filter   optional.String
	SortAsc  optional.String
	SortDesc optional.String
}

type EdgeGatewayLoadBalancerPoolsApiService

type EdgeGatewayLoadBalancerPoolsApiService service

func (*EdgeGatewayLoadBalancerPoolsApiService) CreateLoadBalancerPool

func (a *EdgeGatewayLoadBalancerPoolsApiService) CreateLoadBalancerPool(ctx context.Context, loadBalancerPool EdgeLoadBalancerPool) (*http.Response, error)

EdgeGatewayLoadBalancerPoolsApiService Creates a Load Balancer Pool.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param loadBalancerPool

func (*EdgeGatewayLoadBalancerPoolsApiService) GetPoolSummariesForGateway

type EdgeGatewayLoadBalancerVirtualServiceApiService

type EdgeGatewayLoadBalancerVirtualServiceApiService service

func (*EdgeGatewayLoadBalancerVirtualServiceApiService) DeleteVirtualService

func (a *EdgeGatewayLoadBalancerVirtualServiceApiService) DeleteVirtualService(ctx context.Context, virtualServiceId string) (*http.Response, error)

EdgeGatewayLoadBalancerVirtualServiceApiService Delete the specified Virtual Service. Delete a Virtual Service.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param virtualServiceId

func (*EdgeGatewayLoadBalancerVirtualServiceApiService) GetVirtualService

EdgeGatewayLoadBalancerVirtualServiceApiService Get Virtual Service. Retrieves a specific Virtual Service.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param virtualServiceId

@return EdgeLoadBalancerVirtualService

func (*EdgeGatewayLoadBalancerVirtualServiceApiService) UpdateVirtualService

func (a *EdgeGatewayLoadBalancerVirtualServiceApiService) UpdateVirtualService(ctx context.Context, virtualServiceConfig EdgeLoadBalancerVirtualService, virtualServiceId string) (*http.Response, error)

EdgeGatewayLoadBalancerVirtualServiceApiService Update specified Virtual Service. Update a Virtual Service.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param virtualServiceConfig
  • @param virtualServiceId

type EdgeGatewayLoadBalancerVirtualServicesApiGetVirtualServiceSummariesForGatewayOpts

type EdgeGatewayLoadBalancerVirtualServicesApiGetVirtualServiceSummariesForGatewayOpts struct {
	Filter   optional.String
	SortAsc  optional.String
	SortDesc optional.String
}

type EdgeGatewayLoadBalancerVirtualServicesApiService

type EdgeGatewayLoadBalancerVirtualServicesApiService service

func (*EdgeGatewayLoadBalancerVirtualServicesApiService) CreateVirtualService

EdgeGatewayLoadBalancerVirtualServicesApiService Create a new Virtual Service for a specific Edge Gateway. Create a new Virtual Service for a specific Edge Gateway.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param virtualServiceConfig

func (*EdgeGatewayLoadBalancerVirtualServicesApiService) GetVirtualServiceSummariesForGateway

type EdgeGatewayNatRuleApiService

type EdgeGatewayNatRuleApiService service

func (*EdgeGatewayNatRuleApiService) DeleteNatRule

func (a *EdgeGatewayNatRuleApiService) DeleteNatRule(ctx context.Context, gatewayId string, ruleId string) (*http.Response, error)

EdgeGatewayNatRuleApiService Deletes a specific NAT Rule configuration of the edge gateway based on the rule id passed in.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param gatewayId
  • @param ruleId

func (*EdgeGatewayNatRuleApiService) GetNatRule

func (a *EdgeGatewayNatRuleApiService) GetNatRule(ctx context.Context, gatewayId string, ruleId string) (EdgeNatRule, *http.Response, error)

EdgeGatewayNatRuleApiService Retrieves a specific NAT Rule configuration of the edge gateway based on the rule id passed in.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param gatewayId
  • @param ruleId

@return EdgeNatRule

func (*EdgeGatewayNatRuleApiService) UpdateNatRule

func (a *EdgeGatewayNatRuleApiService) UpdateNatRule(ctx context.Context, edgeNatRule EdgeNatRule, gatewayId string, ruleId string) (*http.Response, error)

EdgeGatewayNatRuleApiService Update a specific NAT Rule configuration of the edge gateway based on the rule id passed in.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param edgeNatRule
  • @param gatewayId
  • @param ruleId

type EdgeGatewayNatRulesApiGetNatRulesOpts

type EdgeGatewayNatRulesApiGetNatRulesOpts struct {
	Cursor   optional.String
	SortAsc  optional.String
	SortDesc optional.String
}

type EdgeGatewayNatRulesApiService

type EdgeGatewayNatRulesApiService service

func (*EdgeGatewayNatRulesApiService) CreateNatRule

func (a *EdgeGatewayNatRulesApiService) CreateNatRule(ctx context.Context, edgeNatRule EdgeNatRule, gatewayId string) (*http.Response, error)

EdgeGatewayNatRulesApiService Creates a NAT Rule on the Edge Gateway.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param edgeNatRule
  • @param gatewayId

func (*EdgeGatewayNatRulesApiService) GetNatRules

func (a *EdgeGatewayNatRulesApiService) GetNatRules(ctx context.Context, pageSize int32, gatewayId string, localVarOptionals *EdgeGatewayNatRulesApiGetNatRulesOpts) (EdgeNatRules, *http.Response, error)

type EdgeGatewaySubnet

type EdgeGatewaySubnet struct {
	// The gateway for the subnet.
	Gateway string `json:"gateway"`
	// The prefix length of the subnet.
	PrefixLength int32 `json:"prefixLength"`
	// The DNS suffix that VMs attached to this network will use.
	DnsSuffix string `json:"dnsSuffix,omitempty"`
	// The first DNS server that VMs attached to this network will use.
	DnsServer1 string `json:"dnsServer1,omitempty"`
	// The second DNS server that VMs attached to this network will use.
	DnsServer2 string `json:"dnsServer2,omitempty"`
	// Range of IPs within the subnet that can be used in this network. A VM attached to this network is assigned one of these IPs.
	IpRanges *IpRanges `json:"ipRanges,omitempty"`
	// Indicates whether the external network subnet is currently enabled.
	Enabled bool `json:"enabled,omitempty"`
	// The number of IP addresses defined by the static IP ranges.
	TotalIpCount int32 `json:"totalIpCount,omitempty"`
	// The number of IP address used from the static IP ranges.
	UsedIpCount int32 `json:"usedIpCount,omitempty"`
	// The primary IP address allocated for this subnet. If not specified, this IP is auto-allocated.  This IP belongs to the external network and can be used for system-configured NAT rules such as DNS forwarder configuration.
	PrimaryIp string `json:"primaryIp,omitempty"`
	// Used for create and update api calls. If set to true, IP Ranges are automatically generated based on totalIpCount.
	AutoAllocateIpRanges bool `json:"autoAllocateIpRanges,omitempty"`
}

Subnet for edge gateway that contains the IPs from the external network that are allocated to the edge.

type EdgeGatewaySubnets

type EdgeGatewaySubnets struct {
	Values []EdgeGatewaySubnet `json:"values,omitempty"`
}

List of Subnets of an edge gateway

type EdgeGatewayType

type EdgeGatewayType string

EdgeGatewayType : The type of the edge gateway.

const (
	NSXV_BACKED_EdgeGatewayType   EdgeGatewayType = "NSXV_BACKED"
	NSXT_BACKED_EdgeGatewayType   EdgeGatewayType = "NSXT_BACKED"
	NSXT_IMPORTED_EdgeGatewayType EdgeGatewayType = "NSXT_IMPORTED"
)

List of EdgeGatewayType

type EdgeGatewayUplink struct {
	// The identifier of the external network this edge gateway is connected to.
	UplinkId string `json:"uplinkId,omitempty"`
	// The name of the external network this edge gateway is connected to.
	UplinkName string `json:"uplinkName,omitempty"`
	// Set of subnets this edge will have access to.
	Subnets *EdgeGatewaySubnets `json:"subnets,omitempty"`
	// Whether or not the gateway is connected to this uplink. This value defaults to true if it is not set. When filtering by this field, if the filter is false, all gateways that have 0 connected uplinks will be returned, while if it is true, all gateways with at least one connected uplink will be returned.
	Connected bool `json:"connected,omitempty"`
	// If set on create or update api calls, the specified number of IP addresses will be additionally allocated for this uplink. IPs will be allocated from multiple subnets if needed.
	QuickAddAllocatedIpCount int32 `json:"quickAddAllocatedIpCount,omitempty"`
	// If set to true, then the associated external network is exclusively used by this edge gateway.
	Dedicated bool `json:"dedicated,omitempty"`
	// Whether the associated external network is backed by a NSX-T VRF-Lite Tier-0.
	VrfLiteBacked bool `json:"vrfLiteBacked,omitempty"`
}

The uplink (i.e. external network) that the edge gateway is connected to. This also contains the external network IPs that are allocated to the edge.

type EdgeLoadBalancerApplicationProfile

type EdgeLoadBalancerApplicationProfile struct {
	// Name of the application profile. Name of the system defined monitors are prefixed with System for example 'System-HTTP'.
	Name string `json:"name,omitempty"`
	// The profile type of application that this Virtual Service is configured with. A value of \"-\" represents an unknown type. Such profile can still be removed from the Virtual Service on update but is not valid on create. Values are below. <ul> <li>HTTP - Virtual Service supports HTTP protocol. <li>HTTPS - Virtual Service supports HTTPS protocol. <li>L4 - Virtual Service supports Layer 4 (Transport) using UDP/TCP protocol. <li>L4_TLS - Virtual Service supports Layer 4 (Transport) using UDP/TCP protocol with TLS. </ul> L4_TLS is allowed only with additional licensing.
	Type_ string `json:"type"`
	// Whether the Application Profile is system defined.
	SystemDefined bool `json:"systemDefined,omitempty"`
}

Specifies the application profile for the virtual service such as whether it's HTTP, HTTPS, or TCP/UDP.

type EdgeLoadBalancerHealthMonitor

type EdgeLoadBalancerHealthMonitor struct {
	// Name of the Health monitor. Name of the system defined monitors are prefixed with System for example 'System-HTTP'.
	Name string `json:"name,omitempty"`
	// Type of the health monitors. A value of \"-\" represents an unknown type. Such monitor can still be removed from the Load Balancer Pool on update but is not valid on create. Supported values are: <ul> <li>HTTP - HTTP request/response is used to validate health. <li>HTTPS - Used against HTTPS encrypted web servers to validate health. <li>TCP - TCP connection is used to validate health. <li>UDP - A UDP datagram is used to validate health. <li>PING - An ICMP ping is used to validate health. </ul>
	Type_ string `json:"type"`
	// Whether the Health Monitor is system defined.
	SystemDefined bool `json:"systemDefined,omitempty"`
}

Specifies the health monitoring configuration for a Load Balancer Pool. Health monitors are used to monitor health of the Load Balancer Pool's member servers.

type EdgeLoadBalancerPersistenceProfile

type EdgeLoadBalancerPersistenceProfile struct {
	// Name of the Persistence profile.
	Name string `json:"name,omitempty"`
	// Type of persistence strategy to use. Supported values are: <ul> <li>CLIENT_IP - The client?s IP is used as the identifier and mapped to the server. <li>HTTP_COOKIE - Load Balancer inserts a cookie into HTTP responses. Cookie name must be provided as value. <li>CUSTOM_HTTP_HEADER - Custom, static mappings of header values to specific servers are used. Header name must be provided as value. <li>APP_COOKIE - Load Balancer reads existing server cookies or URI embedded data such as JSessionID. Cookie name must be provided as value. <li>TLS - Information is embedded in the client?s SSL/TLS ticket ID. This will use default system profile \"System-Persistence-TLS\". </ul> Using <em>CUSTOM_HTTP_HEADER</em>, <em>APP_COOKIE</em>, <em>TLS</em> persistence types may require additional licensing.
	Type_ string `json:"type"`
	// Value of attribute based on selected persistence type. This is required for HTTP_COOKIE, CUSTOM_HTTP_HEADER and APP_COOKIE persistence types. HTTP_COOKIE, APP_COOKIE must have cookie name set as the value and CUSTOM_HTTP_HEADER must have header name set as the value.
	Value string `json:"value,omitempty"`
}

Specifies the Persistence profile for a Load Balancer Pool. Persistence profile will ensure that the same user sticks to the same server for a desired duration of time. If the persistence profile is unmanaged by Cloud Director, updates that leave the values unchanged will continue to use the same unmanaged profile. Any changes made to the persistence profile will cause Cloud Director to switch the pool to a profile managed by Cloud Director.

type EdgeLoadBalancerPool

type EdgeLoadBalancerPool struct {
	// Represents current status of the networking object.
	Status *NetworkingObjectStatusType `json:"status,omitempty"`
	// The unique ID of this Load Balancer Pool. On updates, the ID is required for the pool, while for create a new ID will be generated.
	Id string `json:"id,omitempty"`
	// The description of the Load Balancer Pool.
	Description string `json:"description,omitempty"`
	// True if Load Balancer Pool is enabled.
	Enabled bool `json:"enabled,omitempty"`
	// Whether passive monitoring for this pool is enabled or not.
	PassiveMonitoringEnabled bool `json:"passiveMonitoringEnabled,omitempty"`
	// The current health status of the pool. Possible values are: <ul> <li> UP - The pool is operational. <li> RUNNING - The pool is operational, but less than 50% of the pool members are up. <li> DOWN - All members in the pool are down. <li> DISABLED - Either the pool is disabled or all of the members are disabled. <li> UNAVAILABLE - The pool is unavailable. Examples: pool has no members or pool is not assigned to any virtual service. <li> UNKNOWN - The pool state is unknown. </ul>
	HealthStatus string `json:"healthStatus,omitempty"`
	// The total number of members in the pool.
	MemberCount int32 `json:"memberCount,omitempty"`
	// The number of enabled members in the pool.
	EnabledMemberCount int32 `json:"enabledMemberCount,omitempty"`
	// The number of enabled members in the pool that are operational.
	UpMemberCount int32 `json:"upMemberCount,omitempty"`
	// The localized message on the health of the pool.
	HealthMessage string `json:"healthMessage,omitempty"`
	// Name for the Load Balancer Pool. Name is unique across all pools for an Edge Gateway.
	Name string `json:"name"`
	// The destination server port used by the traffic sent to the member.
	DefaultPort int32 `json:"defaultPort,omitempty"`
	// Maximum time (in minutes) to gracefully disable a member. Virtual service waits for the specified time before terminating the existing connections to the members that are disabled. <code>Special values: 0 represents 'Immediate', -1 represents 'Infinite'.</code>
	GracefulTimeoutPeriod int32 `json:"gracefulTimeoutPeriod,omitempty"`
	// The algorithm for choosing a member within the pool's list of available members for each new connection. Default value is \"LEAST_CONNECTIONS\". Supported algorithms are: <ul> <li>LEAST_CONNECTIONS <li>ROUND_ROBIN <li>CONSISTENT_HASH <li>FASTEST_RESPONSE <li>LEAST_LOAD <li>FEWEST_SERVERS <li>RANDOM <li>FEWEST_TASKS <li>CORE_AFFINITY </ul> <em>CONSISTENT_HASH</em> uses Source IP Address hash. Using <em>FASTEST_RESPONSE</em>, <em>LEAST_LOAD</em>, <em>FEWEST_SERVERS</em>, <em>RANDOM</em>, <em>FEWEST_TASKS</em>, <em>CORE_AFFINITY</em> algorithms may require additional licensing.
	Algorithm string `json:"algorithm,omitempty"`
	// Member server's health can be monitored by using one or more health monitors. Active monitors generate synthetic traffic and mark a server up or down based on the response.
	HealthMonitors []EdgeLoadBalancerHealthMonitor `json:"healthMonitors,omitempty"`
	// Selected persistence profile for the Load Balancer Pool.
	PersistenceProfile *EdgeLoadBalancerPersistenceProfile `json:"persistenceProfile,omitempty"`
	// The list of destination servers which are used by the Load Balancer Pool to direct load balanced traffic.
	Members []EdgeLoadBalancerPoolMember `json:"members,omitempty"`
	// The list of Load Balancer Virtual Services associated with this Load balancer Pool.
	VirtualServiceRefs []EntityReference `json:"virtualServiceRefs,omitempty"`
	// The Edge Gateway associated with this Load Balancer Pool.
	GatewayRef *EntityReference `json:"gatewayRef"`
	// The root certificates to use when validating certificates presented by the pool members.
	CaCertificateRefs []EntityReference `json:"caCertificateRefs,omitempty"`
	// Whether to check the common name of the certificate presented by the pool member. This cannot be enabled if no caCertificateRefs are specified.
	CommonNameCheckEnabled bool `json:"commonNameCheckEnabled,omitempty"`
	// A list of domain names which will be used to verify the common names or subject alternative names presented by the pool member certificates. It is performed only when common name check (commonNameCheckEnabled) is enabled. If common name check is enabled, but domain names are not specified then the incoming host header will be used to check the certificate.
	DomainNames []string `json:"domainNames,omitempty"`
}

Specifies the Load Balancer pool configuration.

type EdgeLoadBalancerPoolCommonProperties

type EdgeLoadBalancerPoolCommonProperties struct {
	// Represents current status of the networking object.
	Status *NetworkingObjectStatusType `json:"status,omitempty"`
	// The unique ID of this Load Balancer Pool. On updates, the ID is required for the pool, while for create a new ID will be generated.
	Id string `json:"id,omitempty"`
	// The description of the Load Balancer Pool.
	Description string `json:"description,omitempty"`
	// True if Load Balancer Pool is enabled.
	Enabled bool `json:"enabled,omitempty"`
	// Whether passive monitoring for this pool is enabled or not.
	PassiveMonitoringEnabled bool `json:"passiveMonitoringEnabled,omitempty"`
	// The current health status of the pool. Possible values are: <ul> <li> UP - The pool is operational. <li> RUNNING - The pool is operational, but less than 50% of the pool members are up. <li> DOWN - All members in the pool are down. <li> DISABLED - Either the pool is disabled or all of the members are disabled. <li> UNAVAILABLE - The pool is unavailable. Examples: pool has no members or pool is not assigned to any virtual service. <li> UNKNOWN - The pool state is unknown. </ul>
	HealthStatus string `json:"healthStatus,omitempty"`
	// The total number of members in the pool.
	MemberCount int32 `json:"memberCount,omitempty"`
	// The number of enabled members in the pool.
	EnabledMemberCount int32 `json:"enabledMemberCount,omitempty"`
	// The number of enabled members in the pool that are operational.
	UpMemberCount int32 `json:"upMemberCount,omitempty"`
	// The localized message on the health of the pool.
	HealthMessage string `json:"healthMessage,omitempty"`
}

Specifies common properties for Load Balancer Pool objects.

type EdgeLoadBalancerPoolMember

type EdgeLoadBalancerPoolMember struct {
	// The ip address of the Load Balancer Pool member.
	IpAddress string `json:"ipAddress"`
	// The port number of the Load Balancer Pool member. If unset, the port that the client used to connect will be used.
	Port int32 `json:"port,omitempty"`
	// The ratio of selecting eligible servers in the pool.
	Ratio int32 `json:"ratio,omitempty"`
	// Whether the Load Balancer Pool member is enabled or not.
	Enabled bool `json:"enabled,omitempty"`
	// The current health status of the pool member. Possible values are: <ul> <li> UP - The member is operational. <li> DOWN - The member is down. <li> DISABLED - The member is disabled <li> UNKNOWN - The state is unknown. </ul>
	HealthStatus string `json:"healthStatus,omitempty"`
	// When the member is DOWN, the value gives the names of the health monitors that marked the member as down. If a monitor cannot be determined, the value will be UNKNOWN.
	MarkedDownBy []string `json:"markedDownBy,omitempty"`
	// The non-localized detailed message on the health of the pool member.
	DetailedHealthMessage string `json:"detailedHealthMessage,omitempty"`
}

Defines a member (a destination server) in a Load Balancer Pool.

type EdgeLoadBalancerPoolSummaries

type EdgeLoadBalancerPoolSummaries struct {
	// How many results there are in total (i.e., considering all pages).
	ResultTotal int32 `json:"resultTotal,omitempty"`
	// How many pages there are in total.
	PageCount int32 `json:"pageCount,omitempty"`
	// The page that was fetched, 1-indexed.
	Page int32 `json:"page,omitempty"`
	// Result count for page that was fetched.
	PageSize int32 `json:"pageSize,omitempty"`
	// Association info for each result.
	Associations []Association `json:"associations,omitempty"`
	// The list of Load Balancer pool summaries.
	Values []EdgeLoadBalancerPoolSummary `json:"values,omitempty"`
}

List of Load Balancer pool summaries.

type EdgeLoadBalancerPoolSummary

type EdgeLoadBalancerPoolSummary struct {
	// Represents current status of the networking object.
	Status *NetworkingObjectStatusType `json:"status,omitempty"`
	// The unique ID of this Load Balancer Pool. On updates, the ID is required for the pool, while for create a new ID will be generated.
	Id string `json:"id,omitempty"`
	// The description of the Load Balancer Pool.
	Description string `json:"description,omitempty"`
	// True if Load Balancer Pool is enabled.
	Enabled bool `json:"enabled,omitempty"`
	// Whether passive monitoring for this pool is enabled or not.
	PassiveMonitoringEnabled bool `json:"passiveMonitoringEnabled,omitempty"`
	// The current health status of the pool. Possible values are: <ul> <li> UP - The pool is operational. <li> RUNNING - The pool is operational, but less than 50% of the pool members are up. <li> DOWN - All members in the pool are down. <li> DISABLED - Either the pool is disabled or all of the members are disabled. <li> UNAVAILABLE - The pool is unavailable. Examples: pool has no members or pool is not assigned to any virtual service. <li> UNKNOWN - The pool state is unknown. </ul>
	HealthStatus string `json:"healthStatus,omitempty"`
	// The total number of members in the pool.
	MemberCount int32 `json:"memberCount,omitempty"`
	// The number of enabled members in the pool.
	EnabledMemberCount int32 `json:"enabledMemberCount,omitempty"`
	// The number of enabled members in the pool that are operational.
	UpMemberCount int32 `json:"upMemberCount,omitempty"`
	// The localized message on the health of the pool.
	HealthMessage string `json:"healthMessage,omitempty"`
	// Name for the Load Balancer Pool. Name is unique across all pools for an Edge Gateway.
	Name string `json:"name,omitempty"`
	// Whether active monitoring for this pool is enabled or not.
	ActiveMonitoringEnabled bool `json:"activeMonitoringEnabled,omitempty"`
	// The list of Load Balancer Virtual Services associated with this Load balancer Pool. Only first 10 Virtual Services will be returned.
	VirtualServiceRefs []EntityReference `json:"virtualServiceRefs,omitempty"`
	// Whether SSL is enabled for communicatation between the Load Balancer Virtual Services and the pool members
	MemberSslEnabled bool `json:"memberSslEnabled,omitempty"`
}

Specifies a summary of a Load Balancer pool.

type EdgeLoadBalancerServicePort

type EdgeLoadBalancerServicePort struct {
	// Specifies the TCP/UDP profile for the service ports such as TCP_PROXY or TCP_FAST_PATH. If unset, a profile using the system-defined type of TCP_PROXY is used. This is valid for all Application Profiles. For L4 application profile type, user can set the profile to a different type such as TCP_FAST_PATH. For any other application profile type, the TCP/UDP profile type must be TCP_PROXY.
	TcpUdpProfile *EdgeLoadBalancerTcpUdpProfile `json:"tcpUdpProfile,omitempty"`
	// The starting port number in the port range of the Virtual Service. If a single port is desired, only this field needs to be specified. An example is that HTTP uses port 80.
	PortStart int32 `json:"portStart"`
	// The ending port number in the port range of the Virtual Service.  This is not required if a single port is desired.
	PortEnd int32 `json:"portEnd,omitempty"`
	// A flag indicating whether SSL termination is enabled at the port or not. This can only be enabled if HTTPS and L4_TLS Application Profile types are used. At least one service port must have ssl enabled when using HTTPS or L4_TLS Application Profile types. For HTTPS, if SSL is disabled for a specific port, traffic from that port will be redirected to the first SSL port specified. This allows for automatic HTTP to HTTPS redirects. Disabling SSL for HTTPS and L4_TLS is allowed only with additional licensing.
	SslEnabled bool `json:"sslEnabled,omitempty"`
}

A Virtual Service port configuration.

type EdgeLoadBalancerTcpUdpProfile

type EdgeLoadBalancerTcpUdpProfile struct {
	// Name of the TCP/UDP profile. Name of the system defined monitors are prefixed with System for example 'System-TCP-Proxy'.
	Name string `json:"name,omitempty"`
	// This property specifies the different ways in which TCP/UDP packets are sent to the destination server. A value of \"-\" represents an unknown type. Such profile can still be removed from the Virtual Service on update but is not valid on create. <ul> <li>TCP_PROXY - TCP connection is terminated at the Virtual Service and a new TCP connection is made to the destination server. <li>TCP_FAST_PATH - TCP packets are directly forwarded to the destination server. <li>UDP_FAST_PATH - UDP packets are directly forwarded to the destination server. </ul>
	Type_ string `json:"type"`
	// Whether the TCP/UDP profile is system defined.
	SystemDefined bool `json:"systemDefined,omitempty"`
}

Specifies the TCP/UDP profile for the service ports such as TCP_PROXY or TCP_FAST_PATH.

type EdgeLoadBalancerVirtualService

type EdgeLoadBalancerVirtualService struct {
	// Represents current status of the networking object.
	Status *NetworkingObjectStatusType `json:"status,omitempty"`
	// The identifier of the Virtual Service in URN format
	Id string `json:"id,omitempty"`
	// The name of the Virtual Service. Name is unique across all Virtual Services for an Edge Gateway.
	Name string `json:"name"`
	// The description of the Virtual Service.
	Description string `json:"description,omitempty"`
	// A flag indicating whether Virtual Service is enabled or not.
	Enabled bool `json:"enabled"`
	// The virtual IP Address (VIP) of the Virtual Service. This IP can be an allocated IP to the Gateway from the External Network or it can be an arbitrary internal IP address used for internal load balancing. It it's an internal IP Address, this IP cannot be part of any existing subnet attached to the Edge Gateway or any vDC Group network if the Edge Gateway is scoped accordingly.
	VirtualIpAddress string `json:"virtualIpAddress"`
	// The Load Balancer Pool associated with this Virtual Service.
	LoadBalancerPoolRef *EntityReference `json:"loadBalancerPoolRef"`
	// The Edge Gateway associated with this Virtual Service.
	GatewayRef *EntityReference `json:"gatewayRef"`
	// The Load Balancer Service Engine Group that is assigned to the Edge Gateway. This Virtual Service will be deployed to this Service Engine Group.
	ServiceEngineGroupRef *EntityReference `json:"serviceEngineGroupRef"`
	// The certificate used for SSL termination for the Virtual Service. This is required if the service port type is \"HTTPS\" or \"L4_TLS\".
	CertificateRef *EntityReference `json:"certificateRef,omitempty"`
	// A list of service ports supported by this Virtual Service.  Multiple service ports are allowed only with additional licensing.
	ServicePorts []EdgeLoadBalancerServicePort `json:"servicePorts"`
	// The current health status of the virtual service. Possible values are: <ul> <li> UP - The virtual service is healthy. <li> DOWN - The virtual service is down, inactive, or has failed. <li> DISABLED - The virtual service is disabled. <li> UNAVAILABLE - The virtual service is unavailable. <li> PENDING - The virtual service is being creating or resources are being allocated. <li> UNKNOWN - The virtual service state is unknown. </ul>
	HealthStatus string `json:"healthStatus,omitempty"`
	// The localized message on the health of the virtual service.
	HealthMessage string `json:"healthMessage,omitempty"`
	// The non-localized detailed message on the health of the virtual service.
	DetailedHealthMessage string `json:"detailedHealthMessage,omitempty"`
	// Specifies the application profile for the virtual service such as whether it's HTTP, HTTPS, or TCP/UDP.
	ApplicationProfile *EdgeLoadBalancerApplicationProfile `json:"applicationProfile"`
}

A Virtual Service for an Edge Gateway.

type EdgeLoadBalancerVirtualServiceCommonProperties

type EdgeLoadBalancerVirtualServiceCommonProperties struct {
	// Represents current status of the networking object.
	Status *NetworkingObjectStatusType `json:"status,omitempty"`
	// The identifier of the Virtual Service in URN format
	Id string `json:"id,omitempty"`
	// The name of the Virtual Service. Name is unique across all Virtual Services for an Edge Gateway.
	Name string `json:"name"`
	// The description of the Virtual Service.
	Description string `json:"description,omitempty"`
	// A flag indicating whether Virtual Service is enabled or not.
	Enabled bool `json:"enabled"`
	// The virtual IP Address (VIP) of the Virtual Service. This IP can be an allocated IP to the Gateway from the External Network or it can be an arbitrary internal IP address used for internal load balancing. It it's an internal IP Address, this IP cannot be part of any existing subnet attached to the Edge Gateway or any vDC Group network if the Edge Gateway is scoped accordingly.
	VirtualIpAddress string `json:"virtualIpAddress"`
	// The Load Balancer Pool associated with this Virtual Service.
	LoadBalancerPoolRef *EntityReference `json:"loadBalancerPoolRef"`
	// The Edge Gateway associated with this Virtual Service.
	GatewayRef *EntityReference `json:"gatewayRef"`
	// The Load Balancer Service Engine Group that is assigned to the Edge Gateway. This Virtual Service will be deployed to this Service Engine Group.
	ServiceEngineGroupRef *EntityReference `json:"serviceEngineGroupRef"`
	// The certificate used for SSL termination for the Virtual Service. This is required if the service port type is \"HTTPS\" or \"L4_TLS\".
	CertificateRef *EntityReference `json:"certificateRef,omitempty"`
	// A list of service ports supported by this Virtual Service.  Multiple service ports are allowed only with additional licensing.
	ServicePorts []EdgeLoadBalancerServicePort `json:"servicePorts"`
	// The current health status of the virtual service. Possible values are: <ul> <li> UP - The virtual service is healthy. <li> DOWN - The virtual service is down, inactive, or has failed. <li> DISABLED - The virtual service is disabled. <li> UNAVAILABLE - The virtual service is unavailable. <li> PENDING - The virtual service is being creating or resources are being allocated. <li> UNKNOWN - The virtual service state is unknown. </ul>
	HealthStatus string `json:"healthStatus,omitempty"`
	// The localized message on the health of the virtual service.
	HealthMessage string `json:"healthMessage,omitempty"`
	// The non-localized detailed message on the health of the virtual service.
	DetailedHealthMessage string `json:"detailedHealthMessage,omitempty"`
}

Specifies common properties for Virtual Service objects.

type EdgeLoadBalancerVirtualServiceSummaries

type EdgeLoadBalancerVirtualServiceSummaries struct {
	// How many results there are in total (i.e., considering all pages).
	ResultTotal int32 `json:"resultTotal,omitempty"`
	// How many pages there are in total.
	PageCount int32 `json:"pageCount,omitempty"`
	// The page that was fetched, 1-indexed.
	Page int32 `json:"page,omitempty"`
	// Result count for page that was fetched.
	PageSize int32 `json:"pageSize,omitempty"`
	// Association info for each result.
	Associations []Association                           `json:"associations,omitempty"`
	Values       []EdgeLoadBalancerVirtualServiceSummary `json:"values,omitempty"`
}

List of Virtual Service Summaries.

type EdgeLoadBalancerVirtualServiceSummary

type EdgeLoadBalancerVirtualServiceSummary struct {
	// Represents current status of the networking object.
	Status *NetworkingObjectStatusType `json:"status,omitempty"`
	// The identifier of the Virtual Service in URN format
	Id string `json:"id,omitempty"`
	// The name of the Virtual Service. Name is unique across all Virtual Services for an Edge Gateway.
	Name string `json:"name"`
	// The description of the Virtual Service.
	Description string `json:"description,omitempty"`
	// A flag indicating whether Virtual Service is enabled or not.
	Enabled bool `json:"enabled"`
	// The virtual IP Address (VIP) of the Virtual Service. This IP can be an allocated IP to the Gateway from the External Network or it can be an arbitrary internal IP address used for internal load balancing. It it's an internal IP Address, this IP cannot be part of any existing subnet attached to the Edge Gateway or any vDC Group network if the Edge Gateway is scoped accordingly.
	VirtualIpAddress string `json:"virtualIpAddress"`
	// The Load Balancer Pool associated with this Virtual Service.
	LoadBalancerPoolRef *EntityReference `json:"loadBalancerPoolRef"`
	// The Edge Gateway associated with this Virtual Service.
	GatewayRef *EntityReference `json:"gatewayRef"`
	// The Load Balancer Service Engine Group that is assigned to the Edge Gateway. This Virtual Service will be deployed to this Service Engine Group.
	ServiceEngineGroupRef *EntityReference `json:"serviceEngineGroupRef"`
	// The certificate used for SSL termination for the Virtual Service. This is required if the service port type is \"HTTPS\" or \"L4_TLS\".
	CertificateRef *EntityReference `json:"certificateRef,omitempty"`
	// A list of service ports supported by this Virtual Service.  Multiple service ports are allowed only with additional licensing.
	ServicePorts []EdgeLoadBalancerServicePort `json:"servicePorts"`
	// The current health status of the virtual service. Possible values are: <ul> <li> UP - The virtual service is healthy. <li> DOWN - The virtual service is down, inactive, or has failed. <li> DISABLED - The virtual service is disabled. <li> UNAVAILABLE - The virtual service is unavailable. <li> PENDING - The virtual service is being creating or resources are being allocated. <li> UNKNOWN - The virtual service state is unknown. </ul>
	HealthStatus string `json:"healthStatus,omitempty"`
	// The localized message on the health of the virtual service.
	HealthMessage string `json:"healthMessage,omitempty"`
	// The non-localized detailed message on the health of the virtual service.
	DetailedHealthMessage string `json:"detailedHealthMessage,omitempty"`
	// The profile type of application that this Virtual Service is configured with. A value of \"-\" represents an unknown type. <ul> <li>HTTP - Virtual Service supports HTTP protocol. <li>HTTPS - Virtual Service supports HTTPS protocol. <li>L4 - Virtual Service supports Layer 4 (Transport) using UDP/TCP protocol. <li>L4_TLS - Virtual Service supports Layer 4 (Transport) using UDP/TCP protocol with TLS. </ul>
	ApplicationProfileType string `json:"applicationProfileType,omitempty"`
}

A Virtual Service for an Edge Gateway.

type EdgeNatRule

type EdgeNatRule struct {
	// The unique id of the NAT Rule. This must be supplied when updating a given NAT Rule. On creation, an unique id is generated for the NAT Rule.
	Id string `json:"id,omitempty"`
	// User friendly name for the NAT Rule. Name must be provided.
	Name        string `json:"name"`
	Description string `json:"description,omitempty"`
	// A flag indicating whether the individual nat rule is enabled or not. The default is true.
	Enabled bool `json:"enabled,omitempty"`
	// Represents the type of NAT Rule. SNAT translates an internal IP to an external IP and is used for outbound traffic. DNAT translates the external IP to an internal IP and is used for inbound traffic. This property is now deprecated and replaced with type.
	RuleType *NatRuleType `json:"ruleType,omitempty"`
	// Represents the type of NAT Rule.  Below are valid values. <ul>   <li> <code> SNAT </code> - This translates an internal IP to an external IP and is used for outbound traffic.   <li> <code> DNAT </code> - This translates the external IP to an internal IP and is used for inbound traffic.   <li> <code> NO_SNAT </code> - No internal IP translation takes place.   <li> <code> NO_DNAT </code> - No external IP translation takes place.   <li> <code> REFLEXIVE </code> - Also known as Stateless NAT. This translates an internal IP to an external IP and vice versa.   The number of internal addresses should be exactly the same as that of external addresses. </ul>
	Type_ string `json:"type,omitempty"`
	// Represents the application ports on which the NAT Rule will be applied. An application port profile id in the form of URN format must be provided. If not provided then the port will be considered as \"ANY\". This should not be set for a REFLEXIVE Rule. For a DNAT Rule, the source port on the application port profile represents the port from which the traffic is originating from. For a DNAT rule, the destination port on the application port profile represents the internal port on the workloads where the traffic is terminating. For a SNAT rule, the source port on the application port profile represents the internal port on the workloads where the traffic is originating from. For a SNAT rule, the destination port application port profile represents the port where the traffic is terminating.
	ApplicationPortProfile *EntityReference `json:"applicationPortProfile,omitempty"`
	// The external addresses for the NAT Rule. This must be supplied as a single IP or Network CIDR. For a DNAT rule, this is the external facing IP Address for incoming traffic. For an SNAT rule, this is the external facing IP Address for outgoing traffic. These ips are typically allocated/suballocated IP Addresses on the Edge Gateway. For a REFLEXIVE rule, these are the external facing IPs.
	ExternalAddresses string `json:"externalAddresses"`
	// The internal addresses for the NAT Rule. This must be supplied as a single IP or Network CIDR. For a DNAT rule, this is the internal IP Address for incoming traffic. For an SNAT rule, this is the internal IP Address for outgoing traffic. For a REFLEXIVE rule, these are the internal IPs. These ips are typically the Private IPs that are allocated to workloads.
	InternalAddresses string `json:"internalAddresses"`
	// Port number or port range for incoming network traffic. If Any Traffic is selected for the Service, the default internal port is \"ANY\". Note that this field has been deprecated. Please use dnatExternalPort to set port forwarding for DNAT rules. This typically should not be set for SNAT rules as the rule would not be able to support IP Translation with multiple ports.
	InternalPort string `json:"internalPort,omitempty"`
	// This represents the external port number or port range when doing DNAT port forwarding from external to internal. The default dnatExternalPort is \"ANY\" meaning traffic on any port for the given IPs selected will be translated.
	DnatExternalPort string `json:"dnatExternalPort,omitempty"`
	// A flag indicating whether logging for the individual nat rule is enabled or not. The default is false.
	Logging bool `json:"logging,omitempty"`
	// A flag indicating whether this NAT rule is managed by the system. This is not user editable
	SystemRule bool `json:"systemRule,omitempty"`
	// The destination addresses to match in the SNAT Rule. This must be supplied as a single IP or Network CIDR. Providing no value for this field results in match with ANY destination network. These IPs are typically the Private IPs that are allocated to destination workloads.
	SnatDestinationAddresses string `json:"snatDestinationAddresses,omitempty"`
	// Determines how the firewall matches the address during NATing if firewall stage is not skipped.  Below are valid values. <ul>   <li> <code> MATCH_INTERNAL_ADDRESS </code> 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 internal address is the original source address before NAT is done; to ingress traffic, the internal address is        the translated destination address after NAT is done.   <li> <code> MATCH_EXTERNAL_ADDRESS </code> 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 external address is the translated internal address after NAT is done; to ingress traffic, the external address is        the original destination address before NAT is done.   <li> <code> BYPASS </code> firewall stage will be skipped. </ul> The default is MATCH_INTERNAL_ADDRESS.
	FirewallMatch string `json:"firewallMatch,omitempty"`
	// If an address has multiple NAT rules, the rule with the highest priority is applied. A lower value means a higher precedence for this rule.
	Priority int32          `json:"priority,omitempty"`
	Version  *ObjectVersion `json:"version,omitempty"`
}

The configuration for a given NAT Rule.

type EdgeNatRules

type EdgeNatRules struct {
	// Represents current status of the networking object.
	Status *NetworkingObjectStatusType `json:"status,omitempty"`
	// The list of NAT Rules.
	Values []EdgeNatRule `json:"values,omitempty"`
}

List of configured NAT Rules.

type EntityReference

type EntityReference struct {
	Name string `json:"name,omitempty"`
	Id   string `json:"id,omitempty"`
}

Entity reference used to describe VCD entities

type EntityReferences

type EntityReferences struct {
	// How many results there are in total (i.e., considering all pages).
	ResultTotal int32 `json:"resultTotal,omitempty"`
	// How many pages there are in total.
	PageCount int32 `json:"pageCount,omitempty"`
	// The page that was fetched, 1-indexed.
	Page int32 `json:"page,omitempty"`
	// Result count for page that was fetched.
	PageSize int32 `json:"pageSize,omitempty"`
	// Association info for each result.
	Associations []Association `json:"associations,omitempty"`
	// The current page of entity references.
	Values []EntityReference `json:"values,omitempty"`
}

A list of entity references.

type EntityState

type EntityState struct {
	// The id of the defined entity in URN format.
	Id string `json:"id,omitempty"`
	// A JSON entity. This entity will be validated against the provided entityType.
	Entity map[string]interface{} `json:"entity,omitempty"`
	// The current state of the entity
	State string `json:"state,omitempty"`
	// The error message(s), if the entity could not be resolved.
	Message string `json:"message,omitempty"`
}

Describes what the current state of the entity is.

type GatewayEdgeClusterConfig

type GatewayEdgeClusterConfig struct {
	// This represents the Primary Edge Cluster used for the gateway. For NSX-T Edges, this means the Edge Cluster the Tier 1 SR resides on. The user should specify the ID of the NSX-T edge cluster as the value of primaryEdgeCluster's backingId. For NSX-V Edges, this means the primary appliance for the gateway.
	PrimaryEdgeCluster *GatewayEdgeClusterReference `json:"primaryEdgeCluster"`
	// This represents the Secondary Edge Cluster used for the gateway. It is only applicable for NSX-V Edges when High Availability is enabled. If HA is enabled and no secondary edge cluster is specified, both appliances will be deployed on the primary edge cluster. If there is a specific secondary edge cluster, the standby/secondary appliance will be deployed on the secondary edge cluster. For NSX-T Edges, the value of secondaryEdgeCluster should be set to NULL.
	SecondaryEdgeCluster *GatewayEdgeClusterReference `json:"secondaryEdgeCluster,omitempty"`
}

Represents the Edge Cluster Configuration for a given Edge Gateway.

type GatewayEdgeClusterReference

type GatewayEdgeClusterReference struct {
	// The reference to VCD Edge Cluster.
	EdgeClusterRef *EntityReference `json:"edgeClusterRef,omitempty"`
	// The Id of the edge cluster in NSX-T manager. The user should specify the id of NSX-T edge cluster during edge gateway create/update. VCD will automatically create a corresponding VCD Edge cluster object referencing the specified NSX-T edge cluster. For NSX-V Edges, this is set to NULL.
	BackingId string `json:"backingId,omitempty"`
}

This represents the reference to an Edge Cluster used for the gateway.

type GatewayUsedIpAddress

type GatewayUsedIpAddress struct {
	// The external network that this IP Address belongs to.
	NetworkRef *EntityReference `json:"networkRef,omitempty"`
	// The IP address in used.
	IpAddress string `json:"ipAddress,omitempty"`
	// The catagory that an IP can be used for.
	Category *GatewayUsedIpAddressCategory `json:"category,omitempty"`
}

Describes an IP address currently be used by the edge gateway. The IP belongs to the IPs allocated to the edge.

type GatewayUsedIpAddressCategory

type GatewayUsedIpAddressCategory string

GatewayUsedIpAddressCategory : The categories that an IP can be used for.

const (
	SNAT_GatewayUsedIpAddressCategory          GatewayUsedIpAddressCategory = "SNAT"
	DNAT_GatewayUsedIpAddressCategory          GatewayUsedIpAddressCategory = "DNAT"
	LOAD_BALANCER_GatewayUsedIpAddressCategory GatewayUsedIpAddressCategory = "Load_Balancer"
	I_PSEC_VPN_GatewayUsedIpAddressCategory    GatewayUsedIpAddressCategory = "IPsec_VPN"
	SSL_VPN_GatewayUsedIpAddressCategory       GatewayUsedIpAddressCategory = "SSL_VPN"
	L2_VPN_GatewayUsedIpAddressCategory        GatewayUsedIpAddressCategory = "L2_VPN"
	PRIMARY_IP_GatewayUsedIpAddressCategory    GatewayUsedIpAddressCategory = "PRIMARY_IP"
)

List of GatewayUsedIpAddressCategory

type GatewayUsedIpAddresses

type GatewayUsedIpAddresses struct {
	// How many results there are in total (i.e., considering all pages).
	ResultTotal int32 `json:"resultTotal,omitempty"`
	// How many pages there are in total.
	PageCount int32 `json:"pageCount,omitempty"`
	// The page that was fetched, 1-indexed.
	Page int32 `json:"page,omitempty"`
	// Result count for page that was fetched.
	PageSize int32 `json:"pageSize,omitempty"`
	// Association info for each result.
	Associations []Association          `json:"associations,omitempty"`
	Values       []GatewayUsedIpAddress `json:"values,omitempty"`
}

List of IP addresses used by an edge gateway.

type GenericSwaggerError

type GenericSwaggerError struct {
	// contains filtered or unexported fields
}

GenericSwaggerError Provides access to the body, error and model on returned errors.

func (GenericSwaggerError) Body

func (e GenericSwaggerError) Body() []byte

Body returns the raw bytes of the response

func (GenericSwaggerError) Error

func (e GenericSwaggerError) Error() string

Error returns non-empty string if there was an error.

func (GenericSwaggerError) Model

func (e GenericSwaggerError) Model() interface{}

Model returns the unpacked model of the error

type IpRange

type IpRange struct {
	// Starting IP address in the range.
	StartAddress string `json:"startAddress,omitempty"`
	// Ending IP address in the range.
	EndAddress string `json:"endAddress,omitempty"`
}

An IpRange

type IpRanges

type IpRanges struct {
	Values []IpRange `json:"values,omitempty"`
}

List of IpRange

type LoadBalancerServiceEngineGroupAssignment

type LoadBalancerServiceEngineGroupAssignment struct {
	// The identifier of the Load Balancer Service Engine Groups in URN format.
	Id string `json:"id,omitempty"`
	// The maximum number of virtual services the Edge Gateway is allowed to use. This is required if the Load Balancer Service Engine Group has reservation type 'SHARED'. This must be unset if the Load Balancer Service Engine Group has reservation type 'DEDICATED'.
	MaxVirtualServices int32 `json:"maxVirtualServices,omitempty"`
	// The number of guaranteed virtual services available to the Edge Gateway. This is required if the Load Balancer Service Engine Group has reservation type 'SHARED'. This must be unset if the Load Balancer Service Engine Group has reservation type 'DEDICATED'.
	MinVirtualServices int32 `json:"minVirtualServices,omitempty"`
	// The current number of deployed virutal services.
	NumDeployedVirtualServices int32 `json:"numDeployedVirtualServices,omitempty"`
	// The associated Load Balancer Service Engine Group.
	ServiceEngineGroupRef *EntityReference `json:"serviceEngineGroupRef"`
	// The associated Edge Gateway.
	GatewayRef *EntityReference `json:"gatewayRef"`
	// The owner of the associated Edge Gateway. This can be a vDC or vDC Group.
	GatewayOwnerRef *EntityReference `json:"gatewayOwnerRef,omitempty"`
	// The organization of the associated Edge Gateway.
	GatewayOrgRef *EntityReference `json:"gatewayOrgRef,omitempty"`
}

An assignment of a Load Balancer Service Engine Group to an Edge Gateway

type LoadBalancerServiceEngineGroupAssignments

type LoadBalancerServiceEngineGroupAssignments struct {
	// How many results there are in total (i.e., considering all pages).
	ResultTotal int32 `json:"resultTotal,omitempty"`
	// How many pages there are in total.
	PageCount int32 `json:"pageCount,omitempty"`
	// The page that was fetched, 1-indexed.
	Page int32 `json:"page,omitempty"`
	// Result count for page that was fetched.
	PageSize int32 `json:"pageSize,omitempty"`
	// Association info for each result.
	Associations []Association                              `json:"associations,omitempty"`
	Values       []LoadBalancerServiceEngineGroupAssignment `json:"values,omitempty"`
}

List of Load Balancer Service Engine Group Assignments.

type LoadBalancerServiceEngineGroupAssignmentsApiGetServiceEngineGroupAssignmentsOpts

type LoadBalancerServiceEngineGroupAssignmentsApiGetServiceEngineGroupAssignmentsOpts struct {
	Filter   optional.String
	SortAsc  optional.String
	SortDesc optional.String
}

type LoadBalancerServiceEngineGroupAssignmentsApiService

type LoadBalancerServiceEngineGroupAssignmentsApiService service

func (*LoadBalancerServiceEngineGroupAssignmentsApiService) CreateServiceEngineGroupAssignment

LoadBalancerServiceEngineGroupAssignmentsApiService Create a new Load Balancer Service Engine Group Assignment. Create a new Load Balancer Service Engine Group Assignment. The assignment links a Load Balancer Service Engine Group with an Edge Gateway to provide load balancing resources to the Edge Gateway.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param assignment

type ModelError

type ModelError struct {
	MinorErrorCode string `json:"minorErrorCode"`
	Message        string `json:"message"`
	StackTrace     string `json:"stackTrace,omitempty"`
}

Error type format displayed to users for exceptions emerging from openapi endpoints.

type NatRuleType

type NatRuleType string

NatRuleType : The Nat Rule Type for a given NAT rule.

const (
	DNAT_NatRuleType    NatRuleType = "DNAT"
	SNAT_NatRuleType    NatRuleType = "SNAT"
	NO_DNAT_NatRuleType NatRuleType = "NO_DNAT"
	NO_SNAT_NatRuleType NatRuleType = "NO_SNAT"
)

List of NatRuleType

type NetworkingObjectStatusType

type NetworkingObjectStatusType string

NetworkingObjectStatusType : Represents status type of a networking entity. <ul> <li> PENDING - Desired entity configuration has been received by system and is pending realization. <li> CONFIGURING - The system is in process of realizing the entity. <li> REALIZED - The entity is successfully realized in the system. <li> REALIZATION_FAILED - There are some issues and the system is not able to realize the entity. <li> UNKNOWN - Current state of entity is unknown. </ul>

const (
	PENDING_NetworkingObjectStatusType            NetworkingObjectStatusType = "PENDING"
	CONFIGURING_NetworkingObjectStatusType        NetworkingObjectStatusType = "CONFIGURING"
	REALIZED_NetworkingObjectStatusType           NetworkingObjectStatusType = "REALIZED"
	REALIZATION_FAILED_NetworkingObjectStatusType NetworkingObjectStatusType = "REALIZATION_FAILED"
	UNKNOWN_NetworkingObjectStatusType            NetworkingObjectStatusType = "UNKNOWN"
)

List of NetworkingObjectStatusType

type ObjectVersion

type ObjectVersion struct {
	// version number for the given entity.
	Version int32 `json:"version"`
}

This property describes the current version of the entity. To prevent clients from overwriting each other's changes, update operations must include the version which can be obtained by issuing a GET operation. If the version number on an update call is missing, the operation will be rejected. This is only needed on update calls.

type OrgVdcNetworkApiDeleteNetworkOpts

type OrgVdcNetworkApiDeleteNetworkOpts struct {
	Force optional.Bool
}

type OrgVdcNetworkApiGetAllocatedIpAddressesOpts

type OrgVdcNetworkApiGetAllocatedIpAddressesOpts struct {
	Filter   optional.String
	SortAsc  optional.String
	SortDesc optional.String
}

type OrgVdcNetworkApiGetSecondaryAllocatedIpAddressesOpts

type OrgVdcNetworkApiGetSecondaryAllocatedIpAddressesOpts struct {
	Filter   optional.String
	SortAsc  optional.String
	SortDesc optional.String
}

type OrgVdcNetworkApiService

type OrgVdcNetworkApiService service

func (*OrgVdcNetworkApiService) DeleteNetwork

func (a *OrgVdcNetworkApiService) DeleteNetwork(ctx context.Context, vdcNetworkId string, localVarOptionals *OrgVdcNetworkApiDeleteNetworkOpts) (*http.Response, error)

func (*OrgVdcNetworkApiService) GetAllocatedIpAddresses

func (a *OrgVdcNetworkApiService) GetAllocatedIpAddresses(ctx context.Context, page int32, pageSize int32, vdcNetworkId string, localVarOptionals *OrgVdcNetworkApiGetAllocatedIpAddressesOpts) (AllocatedIpAddresses, *http.Response, error)

func (*OrgVdcNetworkApiService) GetOrgVdcNetwork

func (a *OrgVdcNetworkApiService) GetOrgVdcNetwork(ctx context.Context, vdcNetworkId string) (VdcNetwork, *http.Response, error)

OrgVdcNetworkApiService Retrieves a specific Org vDC network.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param vdcNetworkId

@return VdcNetwork

func (*OrgVdcNetworkApiService) GetSecondaryAllocatedIpAddresses

func (a *OrgVdcNetworkApiService) GetSecondaryAllocatedIpAddresses(ctx context.Context, page int32, pageSize int32, vdcNetworkId string, localVarOptionals *OrgVdcNetworkApiGetSecondaryAllocatedIpAddressesOpts) (AllocatedIpAddresses, *http.Response, error)

func (*OrgVdcNetworkApiService) ResetNetwork

func (a *OrgVdcNetworkApiService) ResetNetwork(ctx context.Context, vdcNetworkId string) (*http.Response, error)

OrgVdcNetworkApiService Reset a specific isolated Org vDC network. Reset a specific isolated Org vDC network. Reset involves redeploying the internal edge gateway of the isolated Org vDC Network if present. An error is returned if the network is not isolated.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param vdcNetworkId

func (*OrgVdcNetworkApiService) SyncOrgVdcNetwork

func (a *OrgVdcNetworkApiService) SyncOrgVdcNetwork(ctx context.Context, vdcNetworkId string) (*http.Response, error)

OrgVdcNetworkApiService Sync/repair a specific Org vDC network. Sync/repair the vDC Group Cross vDC network. An example usage is to realize a network in the participating vDC which was unreachable when the network was created. This operation is only allowed for VIRTUAL_WIRE backed cross vDC networks.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param vdcNetworkId

func (*OrgVdcNetworkApiService) SyncSyslogSettingsOfNetwork

func (a *OrgVdcNetworkApiService) SyncSyslogSettingsOfNetwork(ctx context.Context, vdcNetworkId string) (*http.Response, error)

OrgVdcNetworkApiService Synchronize syslog server settings for a Org vDC network. When the IP addresses of the primary or secondary syslog server are updated, this api can synchronize syslog server settings of an Isolated Org VDC Network against the vCD Syslog Settings. An error is returned if network is a direct network.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param vdcNetworkId

func (*OrgVdcNetworkApiService) UpdateNetwork

func (a *OrgVdcNetworkApiService) UpdateNetwork(ctx context.Context, vdcNetwork VdcNetwork, vdcNetworkId string) (*http.Response, error)

OrgVdcNetworkApiService Updates a specific Org vDC network.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param vdcNetwork
  • @param vdcNetworkId

type OrgVdcNetworkStatus

type OrgVdcNetworkStatus string

OrgVdcNetworkStatus : Represents status of a Org Vdc network. This value will be PENDING if the network has been recorded by VCD but has not been fully configured, CONFIGURING if the network is in transition, REALIZED if the existing state of the network has been fully realized, or REALIZED_FAILED if there was an error creating the network.

const (
	PENDING_OrgVdcNetworkStatus            OrgVdcNetworkStatus = "PENDING"
	CONFIGURING_OrgVdcNetworkStatus        OrgVdcNetworkStatus = "CONFIGURING"
	REALIZED_OrgVdcNetworkStatus           OrgVdcNetworkStatus = "REALIZED"
	REALIZATION_FAILED_OrgVdcNetworkStatus OrgVdcNetworkStatus = "REALIZATION_FAILED"
)

List of OrgVdcNetworkStatus

type OrgVdcNetworksApiGetAllVdcNetworksOpts

type OrgVdcNetworksApiGetAllVdcNetworksOpts struct {
	Filter   optional.String
	SortAsc  optional.String
	SortDesc optional.String
}

type OrgVdcNetworksApiService

type OrgVdcNetworksApiService service

func (*OrgVdcNetworksApiService) CreateNetwork

func (a *OrgVdcNetworksApiService) CreateNetwork(ctx context.Context, vdcNetwork VdcNetwork) (*http.Response, error)

OrgVdcNetworksApiService Create an organization vDC network.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param vdcNetwork

func (*OrgVdcNetworksApiService) GetAllVdcNetworks

func (a *OrgVdcNetworksApiService) GetAllVdcNetworks(ctx context.Context, page int32, pageSize int32, localVarOptionals *OrgVdcNetworksApiGetAllVdcNetworksOpts) (VdcNetworks, *http.Response, error)

type RouterConnection

type RouterConnection struct {
	// The edge gateway that this network is attached to.
	RouterRef *EntityReference `json:"routerRef,omitempty"`
	// How the network is connected to the edge gateway. This field is updatable to allow conversions between different types. If owner is a VDC group that is backed by a NSX-V network provider, this field does not need to be set. The organization VDC network will be automatically connected to the distributed router associated with the VDC group.
	ConnectionType *VdcNetworkConnectionType `json:"connectionType,omitempty"`
	// Whether network is marked as connected in NSX.
	Connected bool `json:"connected,omitempty"`
}

Describes the connection between a routed network and an edge gateway. This must be set if converting from an isolated to a routed network.

type Subnet

type Subnet struct {
	// The gateway for the subnet.
	Gateway string `json:"gateway"`
	// The prefix length of the subnet.
	PrefixLength int32 `json:"prefixLength"`
	// The DNS suffix that VMs attached to this network will use.
	DnsSuffix string `json:"dnsSuffix,omitempty"`
	// The first DNS server that VMs attached to this network will use.
	DnsServer1 string `json:"dnsServer1,omitempty"`
	// The second DNS server that VMs attached to this network will use.
	DnsServer2 string `json:"dnsServer2,omitempty"`
	// Range of IPs within the subnet that can be used in this network. A VM attached to this network is assigned one of these IPs.
	IpRanges *IpRanges `json:"ipRanges,omitempty"`
	// Indicates whether the external network subnet is currently enabled.
	Enabled bool `json:"enabled,omitempty"`
	// The number of IP addresses defined by the static IP ranges.
	TotalIpCount int32 `json:"totalIpCount,omitempty"`
	// The number of IP address used from the static IP ranges.
	UsedIpCount int32 `json:"usedIpCount,omitempty"`
}

A network subnet defined by its gateway,

type Subnets

type Subnets struct {
	Values []Subnet `json:"values,omitempty"`
}

List of Subnets of a network

type VdcNetwork

type VdcNetwork struct {
	// The unique ID for the network. This field is read-only.
	Id string `json:"id,omitempty"`
	// The name of the network.
	Name string `json:"name,omitempty"`
	// The description of the network.
	Description string `json:"description,omitempty"`
	// List of subnets configured for the network.
	Subnets *Subnets `json:"subnets,omitempty"`
	// The NSX id of the backing network.
	BackingNetworkId string `json:"backingNetworkId,omitempty"`
	// The object type of the backing network.
	BackingNetworkType *BackingNetworkType `json:"backingNetworkType,omitempty"`
	// The parent network if the network is a direct network, otherwise it will be null.
	ParentNetworkId *EntityReference `json:"parentNetworkId,omitempty"`
	// The type of network. Changing the network type allows converting between an isolated and routed network. Note that the \"connection\" field must also be set if converting from isolated to routed network.
	NetworkType *VdcNetworkFenceType `json:"networkType,omitempty"`
	// The organization vDC the network belongs to. This should be unset if the network is owned by a vDC Group. For API version 35.0 and above, this field will be treated as read only. Please use ownerRef for new network creation.
	OrgVdc *EntityReference `json:"orgVdc,omitempty"`
	// The org vDC or vDC Group that this network belongs to. If the ownerRef is set to a vDC Group, this network will be available across all the vDCs in the vDC Group. If the vDC Group is backed by a NSX-V network provider, the org vDC network is automatically connected to the distributed router associated with the vDC Group and the \"connection\" field does not need to be set. For API version 35.0 and above, this field should be set for network creation.
	OwnerRef *EntityReference `json:"ownerRef,omitempty"`
	// For an Org vDC network, whether the vDC is backed by NSX-T.
	OrgVdcIsNsxTBacked bool `json:"orgVdcIsNsxTBacked,omitempty"`
	// The organization to which the network belongs.
	OrgRef *EntityReference `json:"orgRef,omitempty"`
	// The edge gateway that the network is attached to.
	Connection *RouterConnection `json:"connection,omitempty"`
	// Deprecated unused field, this property will be removed in future release.
	IsDefaultNetwork bool `json:"isDefaultNetwork,omitempty"`
	// Whether this network is shared with other organization vDCs.
	Shared bool `json:"shared,omitempty"`
	// Whether or not this network will support two subnets
	EnableDualSubnetNetwork bool `json:"enableDualSubnetNetwork,omitempty"`
	// Description of the network's status.
	Status *OrgVdcNetworkStatus `json:"status,omitempty"`
	// Brief failure message if the last configuration task failed. Deprecated in Api 33.0, this property will be removed in next release.
	LastTaskFailureMessage string `json:"lastTaskFailureMessage,omitempty"`
	// Whether guest VLAN tagging is allowed.
	GuestVlanTaggingAllowed bool `json:"guestVlanTaggingAllowed,omitempty"`
	// Whether network resources such as IP/MAC Addresses are to be retained.
	RetainNicResources bool `json:"retainNicResources,omitempty"`
	// The id of the cross vdc network if this is a stretched network, otherwise it will be null.
	CrossVdcNetworkId string `json:"crossVdcNetworkId,omitempty"`
	// The id of the org from which this network can be managed if this is a stretched network, otherwise it will be null.
	CrossVdcNetworkLocationId string `json:"crossVdcNetworkLocationId,omitempty"`
	// Overlay connectivity ID for this Network. This field is used on creation during POST only and will not be displayed on an object returned through GET or PUT.
	OverlayId int32 `json:"overlayId,omitempty"`
	// The number of IP addresses defined by the static ip pools. If the network contains any IpV6 subnets, the total ip count will be null.
	TotalIpCount int32 `json:"totalIpCount,omitempty"`
	// The number of IP address used from the static ip pools.
	UsedIpCount int32 `json:"usedIpCount,omitempty"`
	// Whether this network is advertised so that it can be routed out to the external networks. This applies only to network backed by NSX-T. Value will be unset if route advertisement is not applicable.
	RouteAdvertised bool `json:"routeAdvertised,omitempty"`
	// The list of firewall groups of type SECURITY_GROUP/STATIC_MEMBERS that are assigned to the Org VDC Network. These groups can then be used in firewall rules to protect the Org VDC Network and allow/deny traffic.
	SecurityGroups []EntityReference `json:"securityGroups,omitempty"`
}

An organization vDC network.

type VdcNetworkConnectionType

type VdcNetworkConnectionType string

VdcNetworkConnectionType : Describes how a network is connected to a gateway.

const (
	DISTRIBUTED_VdcNetworkConnectionType  VdcNetworkConnectionType = "DISTRIBUTED"
	INTERNAL_VdcNetworkConnectionType     VdcNetworkConnectionType = "INTERNAL"
	SUBINTERFACE_VdcNetworkConnectionType VdcNetworkConnectionType = "SUBINTERFACE"
)

List of VdcNetworkConnectionType

type VdcNetworkFenceType

type VdcNetworkFenceType string

VdcNetworkFenceType : The network type.

const (
	DIRECT_VdcNetworkFenceType        VdcNetworkFenceType = "DIRECT"
	DIRECT_UPLINK_VdcNetworkFenceType VdcNetworkFenceType = "DIRECT_UPLINK"
	ISOLATED_VdcNetworkFenceType      VdcNetworkFenceType = "ISOLATED"
	OPAQUE_VdcNetworkFenceType        VdcNetworkFenceType = "OPAQUE"
	NAT_ROUTED_VdcNetworkFenceType    VdcNetworkFenceType = "NAT_ROUTED"
	CROSS_VDC_VdcNetworkFenceType     VdcNetworkFenceType = "CROSS_VDC"
)

List of VdcNetworkFenceType

type VdcNetworks

type VdcNetworks struct {
	// How many results there are in total (i.e., considering all pages).
	ResultTotal int32 `json:"resultTotal,omitempty"`
	// How many pages there are in total.
	PageCount int32 `json:"pageCount,omitempty"`
	// The page that was fetched, 1-indexed.
	Page int32 `json:"page,omitempty"`
	// Result count for page that was fetched.
	PageSize int32 `json:"pageSize,omitempty"`
	// Association info for each result.
	Associations []Association `json:"associations,omitempty"`
	Values       []VdcNetwork  `json:"values,omitempty"`
}

List of Org vDC networks

Source Files

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL