v1

package
v0.19.0 Latest Latest
Warning

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

Go to latest
Published: Dec 24, 2024 License: MPL-2.0 Imports: 23 Imported by: 1

Documentation

Index

Constants

View Source
const (
	FirewallGroupDynamicSecurityGroupModelCriteriaRuleTypeVMName FirewallGroupDynamicSecurityGroupModelCriteriaRuleType = "VM_NAME"
	FirewallGroupDynamicSecurityGroupModelCriteriaRuleTypeVMTag  FirewallGroupDynamicSecurityGroupModelCriteriaRuleType = "VM_TAG"

	FirewallGroupDynamicSecurityGroupModelCriteriaRuleOperatorEquals   FirewallGroupDynamicSecurityGroupModelCriteriaRuleOperator = "EQUALS"
	FirewallGroupDynamicSecurityGroupModelCriteriaRuleOperatorContains FirewallGroupDynamicSecurityGroupModelCriteriaRuleOperator = "CONTAINS"
	FirewallGroupDynamicSecurityGroupModelCriteriaRuleOperatorStarts   FirewallGroupDynamicSecurityGroupModelCriteriaRuleOperator = "STARTS_WITH"
	FirewallGroupDynamicSecurityGroupModelCriteriaRuleOperatorEnds     FirewallGroupDynamicSecurityGroupModelCriteriaRuleOperator = "ENDS_WITH"

	FirewallGroupAppPortProfileModelPortProtocolICMPv4 FirewallGroupAppPortProfileModelPortProtocol = "ICMPv4"
	FirewallGroupAppPortProfileModelPortProtocolICMPv6 FirewallGroupAppPortProfileModelPortProtocol = "ICMPv6"
	FirewallGroupAppPortProfileModelPortProtocolTCP    FirewallGroupAppPortProfileModelPortProtocol = "TCP"
	FirewallGroupAppPortProfileModelPortProtocolUDP    FirewallGroupAppPortProfileModelPortProtocol = "UDP"

	FirewallGroupAppPortProfileModelScopeTenant   FirewallGroupAppPortProfileModelScope = govcdtypes.ApplicationPortProfileScopeTenant
	FirewallGroupAppPortProfileModelScopeProvider FirewallGroupAppPortProfileModelScope = govcdtypes.ApplicationPortProfileScopeProvider
	FirewallGroupAppPortProfileModelScopeSystem   FirewallGroupAppPortProfileModelScope = govcdtypes.ApplicationPortProfileScopeSystem
)
View Source
const (
	VDCGroupFirewallTypeRuleDirectionInOut VDCGroupFirewallTypeRuleDirection = "IN_OUT"
	VDCGroupFirewallTypeRuleDirectionOut   VDCGroupFirewallTypeRuleDirection = "OUT"
	VDCGroupFirewallTypeRuleDirectionIn    VDCGroupFirewallTypeRuleDirection = "IN"

	VDCGroupFirewallTypeRuleIPProtocolIPv4     VDCGroupFirewallTypeRuleIPProtocol = "IPV4"
	VDCGroupFirewallTypeRuleIPProtocolIPv6     VDCGroupFirewallTypeRuleIPProtocol = "IPV6"
	VDCGroupFirewallTypeRuleIPProtocolIPv4IPv6 VDCGroupFirewallTypeRuleIPProtocol = "IPV4_IPV6"

	// Permits traffic to go through the firewall.
	VDCGroupFirewallTypeRuleActionAllow VDCGroupFirewallTypeRuleAction = "ALLOW"
	// Blocks the traffic at the firewall. No response is sent back to the source.
	VDCGroupFirewallTypeRuleActionDrop VDCGroupFirewallTypeRuleAction = "DROP"
	// Blocks the traffic at the firewall. A response is sent back to the source.
	VDCGroupFirewallTypeRuleActionReject VDCGroupFirewallTypeRuleAction = "REJECT"
)

Variables

View Source
var (
	FirewallGroupDynamicSecurityGroupModelCriteriaRuleTypes = []struct {
		Type        FirewallGroupDynamicSecurityGroupModelCriteriaRuleType
		Description string
	}{
		{FirewallGroupDynamicSecurityGroupModelCriteriaRuleTypeVMName, "The criteria is based on the VM name."},
		{FirewallGroupDynamicSecurityGroupModelCriteriaRuleTypeVMTag, "The criteria is based on the VM tag."},
	}

	FirewallGroupDynamicSecurityGroupModelCriteriaRuleTypeVMTagOperator = []struct {
		Operator    FirewallGroupDynamicSecurityGroupModelCriteriaRuleOperator
		Description string
	}{
		{FirewallGroupDynamicSecurityGroupModelCriteriaRuleOperatorEquals, "The VM name must be equal to the `value`."},
		{FirewallGroupDynamicSecurityGroupModelCriteriaRuleOperatorContains, "The `value` must be contained in the VM name."},
		{FirewallGroupDynamicSecurityGroupModelCriteriaRuleOperatorStarts, "The VM name must start with the `value`."},
		{FirewallGroupDynamicSecurityGroupModelCriteriaRuleOperatorEnds, "The VM name must end with the `value`."},
	}

	FirewallGroupDynamicSecurityGroupModelCriteriaRuleTypeVMNameOperator = []struct {
		Operator    FirewallGroupDynamicSecurityGroupModelCriteriaRuleOperator
		Description string
	}{
		{FirewallGroupDynamicSecurityGroupModelCriteriaRuleOperatorStarts, "The VM tag must start with the `value`."},
		{FirewallGroupDynamicSecurityGroupModelCriteriaRuleOperatorContains, "The `value` must be contained in the VM tag."},
	}

	FirewallGroupAppPortProfileModelPortProtocols = []FirewallGroupAppPortProfileModelPortProtocol{
		FirewallGroupAppPortProfileModelPortProtocolICMPv4,
		FirewallGroupAppPortProfileModelPortProtocolICMPv6,
		FirewallGroupAppPortProfileModelPortProtocolTCP,
		FirewallGroupAppPortProfileModelPortProtocolUDP,
	}

	FirewallGroupAppPortProfileModelScopes = []FirewallGroupAppPortProfileModelScope{
		FirewallGroupAppPortProfileModelScopeTenant,
		FirewallGroupAppPortProfileModelScopeProvider,
		FirewallGroupAppPortProfileModelScopeSystem,
	}
)
View Source
var (
	ErrEmptyVDCNameProvided    = fmt.Errorf("empty VDC name provided")
	ErrRetrievingOrg           = fmt.Errorf("error retrieving org")
	ErrRetrievingOrgAdmin      = fmt.Errorf("error retrieving org admin")
	ErrRetrievingVDC           = fmt.Errorf("error retrieving VDC")
	ErrRetrievingVDCGroup      = fmt.Errorf("error retrieving VDC Group")
	ErrRetrievingVDCOrVDCGroup = fmt.Errorf("error retrieving VDC or VDC Group")
)

! Errors

View Source
var EdgeGatewayALBVirtualServiceModelApplicationProfiles = []struct {
	Value       EdgeGatewayALBVirtualServiceModelApplicationProfile
	Description string
}{
	{EdgeGatewayALBVirtualServiceModelApplicationProfileHTTP, `If you choose "HTTP" you don't need to set the "port_type" and "ssl_enabled" attribute in "service_ports".`},
	{EdgeGatewayALBVirtualServiceModelApplicationProfileHTTPS, `If you choose "HTTPS", you must provide a certificate ID and you don't need to set the "port_type" attribute in "service_ports".`},
	{EdgeGatewayALBVirtualServiceModelApplicationProfileL4, `If you choose "L4", you can set a service "port_type" attribute in "service_ports.`},
	{EdgeGatewayALBVirtualServiceModelApplicationProfileL4TLS, `If you choose "L4_TLS", you must provide a certificate ID and you can set a service "port_type" attribute in "service_ports.`},
}

Functions

This section is empty.

Types

type AdminOrg added in v0.12.7

type AdminOrg struct {
	*govcd.AdminOrg
}

func (*AdminOrg) GetOrgVAppLeaseSettings added in v0.12.7

func (ao *AdminOrg) GetOrgVAppLeaseSettings() *govcdtypes.VAppLeaseSettings

GetOrgVAppLeaseSettings retrieves the lease settings for a vApp in the specified organization.

func (*AdminOrg) ListCatalogs added in v0.12.7

func (ao *AdminOrg) ListCatalogs() *govcdtypes.CatalogsList

ListCatalogs

Get the catalogs list from the admin org.

type AdminVDC added in v0.12.7

type AdminVDC struct {
	*govcd.AdminVdc
}

type BMS added in v0.12.0

type BMS struct {
	BMSNetworks []BMSNetwork `json:"network"`
	BMSDetails  []BMSDetail  `json:"bms"`
}

func (*BMS) GetBMS added in v0.12.0

func (v *BMS) GetBMS() []BMSDetail

func (*BMS) GetBMSByHostname added in v0.12.1

func (v *BMS) GetBMSByHostname(hostname string) (response *BMSDetail, err error)

func (*BMS) GetNetworks added in v0.12.0

func (v *BMS) GetNetworks() []BMSNetwork

func (*BMS) List added in v0.12.0

func (v *BMS) List() (response *[]BMS, err error)

! BMS Return a Slice of BMS struct

type BMSDetail added in v0.12.0

type BMSDetail struct {
	BMSType           string     `json:"bmsType"`
	Hostname          string     `json:"hostname"`
	OS                string     `json:"os"`
	BiosConfiguration string     `json:"biosConfiguration"`
	Storages          BMSStorage `json:"storage"`
}

func (*BMSDetail) GetStorages added in v0.12.0

func (v *BMSDetail) GetStorages() BMSStorage

type BMSNetwork added in v0.12.0

type BMSNetwork struct {
	VLANID string `json:"vlanid"`
	Subnet string `json:"subnet"`
	Prefix string `json:"prefix"`
}

func (*BMSNetwork) GetPrefix added in v0.12.0

func (v *BMSNetwork) GetPrefix() string

func (*BMSNetwork) GetSubnet added in v0.12.0

func (v *BMSNetwork) GetSubnet() string

func (*BMSNetwork) GetVLANID added in v0.12.0

func (v *BMSNetwork) GetVLANID() string

type BMSStorage added in v0.12.0

type BMSStorage struct {
	Local  []BMSStorageDetail `json:"local,omitempty"`
	Shared []BMSStorageDetail `json:"shared,omitempty"`
	System []BMSStorageDetail `json:"system,omitempty"`
	Data   []BMSStorageDetail `json:"data,omitempty"`
}

func (*BMSStorage) GetData added in v0.12.0

func (v *BMSStorage) GetData() []BMSStorageDetail

func (*BMSStorage) GetLocal added in v0.12.0

func (v *BMSStorage) GetLocal() []BMSStorageDetail

func (*BMSStorage) GetShared added in v0.12.0

func (v *BMSStorage) GetShared() []BMSStorageDetail

func (*BMSStorage) GetSystem added in v0.12.0

func (v *BMSStorage) GetSystem() []BMSStorageDetail

type BMSStorageDetail added in v0.12.0

type BMSStorageDetail struct {
	StorageClass string `json:"storageClass"`
	Size         string `json:"size"`
}

func (*BMSStorageDetail) GetSize added in v0.12.0

func (v *BMSStorageDetail) GetSize() string

func (*BMSStorageDetail) GetStorageClass added in v0.12.0

func (v *BMSStorageDetail) GetStorageClass() string

type Bandwidth

type Bandwidth int

type CAVAdminVDC added in v0.12.7

type CAVAdminVDC struct{}

func (CAVAdminVDC) Get added in v0.12.7

func (v CAVAdminVDC) Get(vdcName string) (*AdminVDC, error)

GetAdminVdc return the admin vdc using the name provided in the provider.

type CAVVdc added in v0.6.0

type CAVVdc struct{}

func (*CAVVdc) GetVDC added in v0.6.0

func (v *CAVVdc) GetVDC(vdcName string) (*VDC, error)

Get retrieves the VDC (Virtual Data Center) by its name. It returns a pointer to the VDC and an error if any. The function performs concurrent requests to retrieve the VDC from both the VMware and the infrapi. It uses goroutines and channels to handle the concurrent requests and waits for all goroutines to finish using a WaitGroup. The function returns the VDC that was successfully retrieved from either the VMware or the infrapi.

func (*CAVVdc) GetVDCGroup added in v0.6.0

func (v *CAVVdc) GetVDCGroup(vdcGroupNameOrID string) (*VDCGroup, error)

GetVDCGroup retrieves the VDC Group by name or ID. It returns a pointer to the VDC Group and an error if any.

func (*CAVVdc) GetVDCOrVDCGroup added in v0.6.0

func (v *CAVVdc) GetVDCOrVDCGroup(vdcOrVDCGroupName string) (VDCOrVDCGroupInterface, error)

GetVDCOrVDCGroup returns the VDC or VDC Group by its name. It returns a pointer to the VDC or VDC Group and an error if any.

func (*CAVVdc) List added in v0.6.0

func (v *CAVVdc) List() (*infrapi.VDCs, error)

List returns the list of VDCs. TODO - refacto to return a slice of VDC

func (*CAVVdc) New added in v0.6.0

func (v *CAVVdc) New(ctx context.Context, object *infrapi.CAVVirtualDataCenter) (*VDC, error)

New creates a new VDC. For the context use contet.withTimeout to set a timeout.

type ClassService

type ClassService string
const (
	// ClassServiceVRFStandard - VRF Standard
	ClassServiceVRFStandard ClassService = "VRF_STANDARD"
	// ClassServiceVRFPremium - VRF Premium
	ClassServiceVRFPremium ClassService = "VRF_PREMIUM"
	// ClassServiceVRFDedicatedMedium - VRF Dedicated Medium
	ClassServiceVRFDedicatedMedium ClassService = "VRF_DEDICATED_MEDIUM"
	// ClassServiceVRFDedicatedLarge - VRF Dedicated Large
	ClassServiceVRFDedicatedLarge ClassService = "VRF_DEDICATED_LARGE"
)

func (ClassService) IsVRFDedicatedLarge added in v0.10.0

func (c ClassService) IsVRFDedicatedLarge() bool

IsVRFDedicatedLarge - Returns true if the ClassService is VRFDedicatedLarge

func (ClassService) IsVRFDedicatedMedium added in v0.10.0

func (c ClassService) IsVRFDedicatedMedium() bool

IsVRFDedicatedMedium - Returns true if the ClassService is VRFDedicatedMedium

func (ClassService) IsVRFPremium

func (c ClassService) IsVRFPremium() bool

IsVRFPremium - Returns true if the ClassService is VRFPremium

func (ClassService) IsVRFStandard

func (c ClassService) IsVRFStandard() bool

IsVRFStandard - Returns true if the ClassService is VRFStandard

type EdgeClient added in v0.13.0

type EdgeClient struct {
	EdgeVCDInterface
	*EdgeGatewayType
	// contains filtered or unexported fields
}

func (*EdgeClient) CreateALBVirtualService added in v0.15.0

CreateAlbVirtualService creates an ALB (Advanced Load Balancer) Virtual Service. It returns an EdgeGatewayALBVirtualService instance containing the ALB Virtual Service model, or an error if the ALB Virtual Service is not created.

func (*EdgeClient) CreateFirewallAppPortProfile added in v0.19.0

func (e *EdgeClient) CreateFirewallAppPortProfile(appPortProfileConfig *FirewallGroupAppPortProfileModel) (*FirewallGroupAppPortProfile, error)

CreateFirewallAppPortProfile allow creating a new application port profile for the Edge Gateway.

func (*EdgeClient) CreateFirewallIPSet added in v0.18.0

func (e *EdgeClient) CreateFirewallIPSet(ipSetConfig *FirewallGroupIPSetModel) (*FirewallGroupIPSet, error)

CreateFirewallIPSet allow creating a new IPSet group.

func (*EdgeClient) CreateFirewallSecurityGroup added in v0.17.1

func (e *EdgeClient) CreateFirewallSecurityGroup(securityGroupConfig *FirewallGroupSecurityGroupModel) (*FirewallGroupSecurityGroup, error)

CreateFirewallSecurityGroup allow creating a new security group. T

func (*EdgeClient) FindFirewallAppPortProfile added in v0.19.0

func (e *EdgeClient) FindFirewallAppPortProfile(nameOrID string) (*FirewallGroupAppPortProfiles, error)

FindFirewallAppPortProfile retrieves the application port profile configuration for the VDC Group. This function retrieves the application port profile created by the user, cloudavenue provider or the system.

func (*EdgeClient) GetALBServiceEngineGroup added in v0.18.0

func (e *EdgeClient) GetALBServiceEngineGroup(nameOrID string) (*EdgeGatewayALBServiceEngineGroupModel, error)

GetALBServiceEngineGroup return an ALB Service Engine Group For an Edge Gateway The nameOrID can be either the name or the ID of the service engine group

func (*EdgeClient) GetALBVirtualService added in v0.15.0

func (e *EdgeClient) GetALBVirtualService(nameOrID string) (*EdgeGatewayALBVirtualService, error)

GetAlbVirtualService gets an ALB (Advanced Load Balancer) Virtual Service. It returns an EdgeGatewayALBVirtualService instance containing the ALB Virtual Service model, or an error if the ALB Virtual Service is not found.

func (*EdgeClient) GetFirewall added in v0.13.0

func (e *EdgeClient) GetFirewall() (*EdgeGatewayFirewall, error)

GetFirewall retrieves the firewall configuration for the Edge Gateway. It first fetches the VMware Edge Gateway associated with the EdgeGw instance, and then retrieves the firewall configuration from the Edge Gateway. Returns an EdgeGatewayFirewall instance containing the firewall configuration, or an error if any step in the process fails.

func (*EdgeClient) GetFirewallAppPortProfile added in v0.19.0

func (e *EdgeClient) GetFirewallAppPortProfile(nameOrID string) (*FirewallGroupAppPortProfile, error)

GetFirewallAppPortProfile retrieves the application port profile configuration for the VDC Group. This function retrieves the application port profile created by the user. For retrieving the application port profile created by the system, use FindFirewallAppPortProfile.

func (*EdgeClient) GetFirewallIPSet added in v0.18.0

func (e *EdgeClient) GetFirewallIPSet(nameOrID string) (*FirewallGroupIPSet, error)

GetFirewallIPSet retrieves the IPSet configuration for the Edge Gateway.

func (*EdgeClient) GetFirewallSecurityGroup added in v0.17.1

func (e *EdgeClient) GetFirewallSecurityGroup(nameOrID string) (*FirewallGroupSecurityGroup, error)

GetFirewallSecurityGroup retrieves the security group configuration for the Edge Gateway.

func (*EdgeClient) GetVmwareEdgeGateway added in v0.13.0

func (e *EdgeClient) GetVmwareEdgeGateway() (*govcd.NsxtEdgeGateway, error)

GetVmwareEdgeGateway - Returns the VMware Edge Gateway

func (*EdgeClient) ListALBServiceEngineGroups added in v0.18.0

func (e *EdgeClient) ListALBServiceEngineGroups() ([]*EdgeGatewayALBServiceEngineGroupModel, error)

GetALLALBServiceEngineGroups return an array of ALB Service Engine Group assignment For an Edge Gateway

type EdgeGateway

type EdgeGateway struct{}

func (*EdgeGateway) Get added in v0.13.0

func (v *EdgeGateway) Get(edgeGatewayNameOrID string) (edgeClient *EdgeClient, err error)

func (*EdgeGateway) GetAllowedBandwidthValues

func (v *EdgeGateway) GetAllowedBandwidthValues(t0VrfName string) (allowedValues []int, err error)

GetAllowedBandwidthValues - Returns the allowed rate limit value

func (*EdgeGateway) GetByID deprecated

func (v *EdgeGateway) GetByID(edgeGatewayID string) (edgeClient *EdgeClient, err error)

GetByID - Returns the edge gateway ID ID format is UUID

Deprecated: Use Get instead

func (*EdgeGateway) GetByName deprecated

func (v *EdgeGateway) GetByName(edgeGatewayName string) (edgeClient *EdgeClient, err error)

Get - Returns the edge gateway

Deprecated: Use Get instead

func (*EdgeGateway) List

func (v *EdgeGateway) List() (response *EdgeGateways, err error)

List - Returns the list of edge gateways

func (*EdgeGateway) New

func (v *EdgeGateway) New(vdcName, tier0VrfName string) (job *commoncloudavenue.JobStatus, err error)

New - Creates a new edge gateway

func (*EdgeGateway) NewFromVDCGroup

func (v *EdgeGateway) NewFromVDCGroup(vdcGroupName, tier0VrfName string) (job *commoncloudavenue.JobStatus, err error)

NewFromVDCGroup - Creates a new edge gateway from a VDC Group

type EdgeGatewayALBServiceEngineGroupModel added in v0.18.0

type EdgeGatewayALBServiceEngineGroupModel struct {
	ID string `json:"id,omitempty"` // urn format of the service engine group

	// Name of the service engine group
	Name string `json:"name,omitempty"`

	// GatewayRef contains reference to Edge Gateway
	GatewayRef *govcdtypes.OpenApiReference `json:"gatewayRef"`

	// MaxVirtualServices is the maximum number of virtual services that can be deployed
	MaxVirtualServices *int `json:"maxVirtualServices,omitempty"`

	// MinVirtualServices is the minimum number (reserved) of virtual services that can be deployed
	MinVirtualServices *int `json:"minVirtualServices,omitempty"`

	// NumDeployedVirtualServices is a read only value
	NumDeployedVirtualServices int `json:"numDeployedVirtualServices,omitempty"`
}

EdgeGatewayALBServiceEngineGroupModel represents an ALB Service Engine Group to an Edge Gateway

type EdgeGatewayALBVirtualService added in v0.15.0

type EdgeGatewayALBVirtualService struct {
	VirtualService *EdgeGatewayALBVirtualServiceModel
	// contains filtered or unexported fields
}

EdgeGatewayALBVirtualService represents a virtual service on an NSX-T Edge Gateway. It contains the Edge Gateway Object, the Virtual Service Model and the NSX-T ALB Virtual Service.

func (*EdgeGatewayALBVirtualService) Delete added in v0.15.0

func (e *EdgeGatewayALBVirtualService) Delete() error

Delete deletes an ALB (Advanced Load Balancer) Virtual Service. It returns an error if the ALB Virtual Service is not deleted.

func (*EdgeGatewayALBVirtualService) Update added in v0.15.0

Update updates an ALB (Advanced Load Balancer) Virtual Service. It returns an EdgeGatewayALBVirtualService instance containing the ALB Virtual Service model, or an error if the ALB Virtual Service is not updated.

type EdgeGatewayALBVirtualServiceModel added in v0.15.0

type EdgeGatewayALBVirtualServiceModel struct {
	ID string `json:"id,omitempty"`

	// Name contains meaningful name
	Name string `json:"name"`

	// Description is optional
	Description string `json:"description,omitempty"`

	// Enabled defines if the virtual service is enabled to accept traffic
	Enabled *bool `json:"enabled"`

	// ApplicationProfile sets protocol for load balancing by using NsxtAlbVirtualServiceApplicationProfile
	ApplicationProfile govcdtypes.NsxtAlbVirtualServiceApplicationProfile `json:"applicationProfile"`

	// LoadBalancerPoolRef contains Pool reference
	LoadBalancerPoolRef govcdtypes.OpenApiReference `json:"loadBalancerPoolRef"`

	// ServiceEngineGroupRef contains Service Engine Group reference to be used for the virtual service.
	// If not set and if more than one service engine group is assigned to the edge gateway: return an error.
	// If not set and if only one service engine group is assigned to the edge gateway it uses that service engine group.
	// If set it uses the provided service engine group.
	ServiceEngineGroupRef govcdtypes.OpenApiReference `json:"serviceEngineGroupRef,omitempty"`

	// CertificateRef contains certificate reference if serving encrypted traffic
	// If not set, the virtual service will not serve encrypted traffic (TLS/HTTPS).
	CertificateRef *govcdtypes.OpenApiReference `json:"certificateRef,omitempty"`

	// ServicePorts define one or more ports (or port ranges) of the virtual service
	ServicePorts []govcdtypes.NsxtAlbVirtualServicePort `json:"servicePorts"`

	// VirtualIpAddress to be used for exposing this virtual service
	VirtualIPAddress string `json:"virtualIpAddress"`

	// HealthStatus contains status of the Load Balancer Cloud. Possible values are:
	// UP - The cloud is healthy and ready to enable Load Balancer for an Edge Gateway.
	// DOWN - The cloud is in a failure state. Enabling Load balancer on an Edge Gateway may not be possible.
	// RUNNING - The cloud is currently processing. An example is if it's enabling a Load Balancer for an Edge Gateway.
	// UNAVAILABLE - The cloud is unavailable.
	// UNKNOWN - The cloud state is unknown.
	HealthStatus string `json:"healthStatus,omitempty"`

	// HealthMessage shows a pool health status (e.g. "The pool is unassigned.")
	HealthMessage string `json:"healthMessage,omitempty"`

	// DetailedHealthMessage contains a more in depth health message
	DetailedHealthMessage string `json:"detailedHealthMessage,omitempty"`
}

type EdgeGatewayALBVirtualServiceModelApplicationProfile added in v0.15.0

type EdgeGatewayALBVirtualServiceModelApplicationProfile string
const (
	// Application Profile Types
	EdgeGatewayALBVirtualServiceModelApplicationProfileHTTP  EdgeGatewayALBVirtualServiceModelApplicationProfile = "HTTP"
	EdgeGatewayALBVirtualServiceModelApplicationProfileHTTPS EdgeGatewayALBVirtualServiceModelApplicationProfile = "HTTPS"
	EdgeGatewayALBVirtualServiceModelApplicationProfileL4    EdgeGatewayALBVirtualServiceModelApplicationProfile = "L4"
	EdgeGatewayALBVirtualServiceModelApplicationProfileL4TLS EdgeGatewayALBVirtualServiceModelApplicationProfile = "L4_TLS"
)

type EdgeGatewayFirewall added in v0.13.0

type EdgeGatewayFirewall struct {
	*govcd.NsxtFirewall
	// contains filtered or unexported fields
}

func (*EdgeGatewayFirewall) DeleteFirewall added in v0.13.0

func (e *EdgeGatewayFirewall) DeleteFirewall() error

DeleteFirewall deletes the firewall configuration for the Edge Gateway.

func (*EdgeGatewayFirewall) UpdateFirewall added in v0.13.0

func (e *EdgeGatewayFirewall) UpdateFirewall(fwRules []*govcdtypes.NsxtFirewallRule) (err error)

UpdateFirewall updates the firewall configuration for the Edge Gateway. It first fetches the VMware Edge Gateway associated with the EdgeGw instance, and then updates the firewall configuration on the Edge Gateway. Returns an error if any step in the process fails.

type EdgeGatewayType added in v0.13.0

type EdgeGatewayType struct {
	Tier0VrfName string    `json:"tier0VrfId"`
	EdgeID       string    `json:"edgeId"`
	EdgeName     string    `json:"edgeName"`
	OwnerType    OwnerType `json:"ownerType"`
	OwnerName    string    `json:"ownerName"`
	Description  string    `json:"description"`
	Bandwidth    Bandwidth `json:"rateLimit"`
}

func (*EdgeGatewayType) Delete added in v0.13.0

func (e *EdgeGatewayType) Delete() (job *commoncloudavenue.JobStatus, err error)

Delete - Deletes the edge gateway

func (*EdgeGatewayType) GetBandwidth added in v0.13.0

func (e *EdgeGatewayType) GetBandwidth() Bandwidth

GetBandwidth - Returns the rate limit

func (*EdgeGatewayType) GetDescription added in v0.13.0

func (e *EdgeGatewayType) GetDescription() string

GetDescription - Returns the Description

func (*EdgeGatewayType) GetID added in v0.13.0

func (e *EdgeGatewayType) GetID() string

GetID - Returns the EdgeID

func (*EdgeGatewayType) GetName added in v0.13.0

func (e *EdgeGatewayType) GetName() string

GetName - Returns the EdgeName

func (*EdgeGatewayType) GetOwnerName added in v0.13.0

func (e *EdgeGatewayType) GetOwnerName() string

GetOwnerName - Returns the OwnerName

func (*EdgeGatewayType) GetOwnerType added in v0.13.0

func (e *EdgeGatewayType) GetOwnerType() OwnerType

GetOwnerType - Returns the OwnerType

func (*EdgeGatewayType) GetT0 added in v0.13.0

func (e *EdgeGatewayType) GetT0() string

GetT0 - Returns the Tier0VrfID (alias)

func (*EdgeGatewayType) GetTier0VrfID added in v0.13.0

func (e *EdgeGatewayType) GetTier0VrfID() string

GetTier0VrfID - Returns the Tier0VrfID

func (*EdgeGatewayType) ListNetworksType added in v0.13.0

func (e *EdgeGatewayType) ListNetworksType() (response *NetworkTypes, err error)

ListNetworksType - Returns the list of networks by type configured on the edge gateway

func (*EdgeGatewayType) UpdateBandwidth added in v0.13.0

func (e *EdgeGatewayType) UpdateBandwidth(rateLimit int) (job *commoncloudavenue.JobStatus, err error)

UpdateBandwidth - Updates the bandwidth

type EdgeGateways

type EdgeGateways []EdgeGatewayType

func (*EdgeGateways) GetBandwidthCapacityRemaining

func (e *EdgeGateways) GetBandwidthCapacityRemaining(t0VrfName string) (response int, err error)

GetBandwidthCapacityRemaining - Returns the bandwidth capacity remaining in Mbps

type EdgeVCDInterface added in v0.13.0

type EdgeVCDInterface interface {
	GetNsxtFirewall() (*govcd.NsxtFirewall, error)
	UpdateNsxtFirewall(firewallRules *govcdtypes.NsxtFirewallRuleContainer) (*govcd.NsxtFirewall, error)
}

This interface contains all methods for the edge gateway in the CloudAvenue environment. This list of methods are directly inherited from the go-vcloud-director/v2/govcd package.

type FirewallGroupAppPortProfile added in v0.19.0

type FirewallGroupAppPortProfile struct {
	*FirewallGroupAppPortProfileModelResponse
	// contains filtered or unexported fields
}

func (*FirewallGroupAppPortProfile) Delete added in v0.19.0

func (fwgap *FirewallGroupAppPortProfile) Delete() error

Delete removes the application port profile

func (*FirewallGroupAppPortProfile) Update added in v0.19.0

func (fwgap *FirewallGroupAppPortProfile) Update(appPortProfileConfig *FirewallGroupAppPortProfileModel) error

Update updates the application port profile

type FirewallGroupAppPortProfileModel added in v0.19.0

type FirewallGroupAppPortProfileModel struct {
	// ID contains App Port Profile ID (URN format)
	// e.g. urn:vcloud:applicationPortProfile::d7f4e0b4-b83f-4a07-9f22-d242c9c0987a
	ID string `json:"id,omitempty"`

	// Name contains App Port Profile name
	// Name must be unique by scope.
	Name        string `json:"name"`
	Description string `json:"description,omitempty"`

	// ApplicationPorts contains one or more protocol and port definitions
	ApplicationPorts FirewallGroupAppPortProfileModelPorts `json:"applicationPorts"`
}

func (*FirewallGroupAppPortProfileModel) Validate added in v0.19.0

func (appPortProfile *FirewallGroupAppPortProfileModel) Validate() error

validate validates the application port profile model

type FirewallGroupAppPortProfileModelPort added in v0.19.0

type FirewallGroupAppPortProfileModelPort struct {
	// Protocol can be one of the following:
	//  * "ICMPv4" - v1.FirewallGroupAppPortProfileModelPortProtocolICMPv4
	//  * "ICMPv6" - v1.FirewallGroupAppPortProfileModelPortProtocolICMPv6
	//  * "TCP" - v1.FirewallGroupAppPortProfileModelPortProtocolTCP
	//  * "UDP" - v1.FirewallGroupAppPortProfileModelPortProtocolUDP
	Protocol FirewallGroupAppPortProfileModelPortProtocol `json:"protocol"`

	// DestinationPorts is required when protocol is TCP or UDP , but can define list of ports ("1000", "1500") or port ranges ("1200-1400")
	DestinationPorts []string `json:"destinationPorts"`
}

type FirewallGroupAppPortProfileModelPortProtocol added in v0.19.0

type FirewallGroupAppPortProfileModelPortProtocol string

Protocol can be one of the following:

  • "ICMPv4" - v1.FirewallGroupAppPortProfileModelPortProtocolICMPv4
  • "ICMPv6" - v1.FirewallGroupAppPortProfileModelPortProtocolICMPv6
  • "TCP" - v1.FirewallGroupAppPortProfileModelPortProtocolTCP
  • "UDP" - v1.FirewallGroupAppPortProfileModelPortProtocolUDP

type FirewallGroupAppPortProfileModelPorts added in v0.19.0

type FirewallGroupAppPortProfileModelPorts []FirewallGroupAppPortProfileModelPort

type FirewallGroupAppPortProfileModelResponse added in v0.19.0

type FirewallGroupAppPortProfileModelResponse struct {
	FirewallGroupAppPortProfileModel

	// Scope can be one of the following:
	//  * "TENANT" - v1.FirewallGroupAppPortProfileModelScopeTenant
	//  * "PROVIDER" - v1.FirewallGroupAppPortProfileModelScopeProvider
	//  * "SYSTEM" - v1.FirewallGroupAppPortProfileModelScopeSystem
	Scope FirewallGroupAppPortProfileModelScope `json:"scope"`
}

type FirewallGroupAppPortProfileModelScope added in v0.19.0

type FirewallGroupAppPortProfileModelScope string

Scope can be one of the following:

  • "TENANT" - v1.FirewallGroupAppPortProfileModelScopeTenant
  • "PROVIDER" - v1.FirewallGroupAppPortProfileModelScopeProvider
  • "SYSTEM" - v1.FirewallGroupAppPortProfileModelScopeSystem

type FirewallGroupAppPortProfiles added in v0.19.0

type FirewallGroupAppPortProfiles struct {
	AppPortProfiles []*FirewallGroupAppPortProfileModelResponse
	// contains filtered or unexported fields
}

type FirewallGroupDynamicSecurityGroup added in v0.18.1

type FirewallGroupDynamicSecurityGroup struct {
	*FirewallGroupDynamicSecurityGroupModel
	// contains filtered or unexported fields
}

func (*FirewallGroupDynamicSecurityGroup) Delete added in v0.18.1

func (fwgdsg *FirewallGroupDynamicSecurityGroup) Delete() error

Delete removes the dynamic security group

func (*FirewallGroupDynamicSecurityGroup) Update added in v0.18.1

func (fwgdsg *FirewallGroupDynamicSecurityGroup) Update(dynamicSecurityGroupConfig *FirewallGroupDynamicSecurityGroupModel) error

Update updates the dynamic security group

type FirewallGroupDynamicSecurityGroupModel added in v0.17.1

type FirewallGroupDynamicSecurityGroupModel struct {
	FirewallGroupModel `json:",inline"`
	// VmCriteria defines list of dynamic criteria that determines whether a VM belongs
	// to a dynamic firewall group. A VM needs to meet at least one criteria to belong to the
	// firewall group. In other words, the logical AND is used for rules within a single criteria
	// and the logical OR is used in between each criteria.
	Criteria FirewallGroupDynamicSecurityGroupModelCriterias `json:"Criteria"`
}

FirewallGroupDynamicSecurityGroup contains the information of a DynamicSecurityGroup firewall group.

func (*FirewallGroupDynamicSecurityGroupModel) Validate added in v0.18.1

validate validates the firewall group model

type FirewallGroupDynamicSecurityGroupModelCriteria added in v0.18.1

type FirewallGroupDynamicSecurityGroupModelCriteria struct {
	Rules FirewallGroupDynamicSecurityGroupModelCriteriaRules `json:"rules"`
}

type FirewallGroupDynamicSecurityGroupModelCriteriaRule added in v0.18.1

type FirewallGroupDynamicSecurityGroupModelCriteriaRule struct {
	RuleType FirewallGroupDynamicSecurityGroupModelCriteriaRuleType
	Operator FirewallGroupDynamicSecurityGroupModelCriteriaRuleOperator
	Value    string
}

type FirewallGroupDynamicSecurityGroupModelCriteriaRuleOperator added in v0.18.1

type FirewallGroupDynamicSecurityGroupModelCriteriaRuleOperator string

type FirewallGroupDynamicSecurityGroupModelCriteriaRuleType added in v0.18.1

type FirewallGroupDynamicSecurityGroupModelCriteriaRuleType string

type FirewallGroupDynamicSecurityGroupModelCriteriaRules added in v0.18.1

type FirewallGroupDynamicSecurityGroupModelCriteriaRules []FirewallGroupDynamicSecurityGroupModelCriteriaRule

Allowed max length of Rules is 4.

type FirewallGroupDynamicSecurityGroupModelCriterias added in v0.18.1

type FirewallGroupDynamicSecurityGroupModelCriterias []FirewallGroupDynamicSecurityGroupModelCriteria

FirewallGroupDynamicSecurityGroupModelCriterias defines list of dynamic criteria that determines whether a VM belongs to a dynamic firewall group. A VM needs to meet at least one criteria to belong to the firewall group. In other words, the logical AND is used for rules within a single criteria and the logical OR is used in between each criteria. Allowed max length of Criteria is 3.

type FirewallGroupIPSet added in v0.18.0

type FirewallGroupIPSet struct {
	*FirewallGroupIPSetModel
	// contains filtered or unexported fields
}

func (*FirewallGroupIPSet) Delete added in v0.18.0

func (fwgip *FirewallGroupIPSet) Delete() error

Delete removes the IP set

func (*FirewallGroupIPSet) Update added in v0.18.0

func (fwgip *FirewallGroupIPSet) Update(ipSetConfig *FirewallGroupIPSetModel) error

Update updates the IP set

type FirewallGroupIPSetModel added in v0.17.1

type FirewallGroupIPSetModel struct {
	FirewallGroupModel `json:",inline"`
	// IP Addresses included in the group. This
	// can support IPv4 and IPv6 addresses in single, range, and CIDR formats.
	// E.g [
	//     "12.12.12.1",
	//     "10.10.10.0/24",
	//     "11.11.11.1-11.11.11.2",
	//     "2001:db8::/48",
	//	   "2001:db6:0:0:0:0:0:0-2001:db6:0:ffff:ffff:ffff:ffff:ffff",
	// ],
	IPAddresses []string `json:"ipAddresses"`
}

FirewallGroupIPSet contains the information of an IPSet firewall group.

type FirewallGroupInterface added in v0.17.1

type FirewallGroupInterface interface {
	// * Security Group
	CreateFirewallSecurityGroup(*FirewallGroupSecurityGroupModel) (*FirewallGroupSecurityGroup, error)
	GetFirewallSecurityGroup(nameOrID string) (*FirewallGroupSecurityGroup, error)

	// * IP Set
	CreateFirewallIPSet(*FirewallGroupIPSetModel) (*FirewallGroupIPSet, error)
	GetFirewallIPSet(nameOrID string) (*FirewallGroupIPSet, error)

	// * App Port Profile
	CreateFirewallAppPortProfile(*FirewallGroupAppPortProfileModel) (*FirewallGroupAppPortProfile, error)
	GetFirewallAppPortProfile(nameOrID string) (*FirewallGroupAppPortProfile, error)
	FindFirewallAppPortProfile(name string) (*FirewallGroupAppPortProfiles, error)
}

type FirewallGroupModel added in v0.17.1

type FirewallGroupModel struct {
	// ID contains Firewall Group ID (URN format)
	// e.g. urn:vcloud:firewallGroup:d7f4e0b4-b83f-4a07-9f22-d242c9c0987a
	ID string `json:"id,omitempty"`
	// Name contains Firewall Group name
	// Name must be unique.
	Name string `json:"name"`
	// Description contains Firewall Group description
	Description string `json:"description,omitempty"`
}

FirewallGroup contains the basic information of a firewall group.

type FirewallGroupSecurityGroup added in v0.17.1

type FirewallGroupSecurityGroup struct {
	*FirewallGroupSecurityGroupModel
	// contains filtered or unexported fields
}

func (*FirewallGroupSecurityGroup) Delete added in v0.17.1

func (fwgsg *FirewallGroupSecurityGroup) Delete() error

Delete removes the security group

func (*FirewallGroupSecurityGroup) Update added in v0.17.1

func (fwgsg *FirewallGroupSecurityGroup) Update(securityGroupConfig *FirewallGroupSecurityGroupModel) error

Update updates the security group

type FirewallGroupSecurityGroupModel added in v0.17.1

type FirewallGroupSecurityGroupModel struct {
	FirewallGroupModel `json:",inline"`
	// Members define list of Org VDC networks belonging to this Firewall Group
	Members []govcdtypes.OpenApiReference `json:"members"`
}

FirewallGroupSecurityGroup contains the information of a SecurityGroup firewall group.

type Get added in v0.7.0

type Get struct{}

func (*Get) EdgeGW added in v0.7.0

func (q *Get) EdgeGW(edgeGWName string) (*types.QueryResultEdgeGatewayRecordType, error)

EdgeGW get a edgegw informations by name

func (*Get) VAPP added in v0.7.0

func (q *Get) VAPP(vappName string) (*types.QueryResultVAppRecordType, error)

VAPP get a vapp informations by name

func (*Get) VDC added in v0.7.0

func (q *Get) VDC(vdcName string) (*types.QueryResultOrgVdcRecordType, error)

VDC get a vdc informations by name

func (*Get) VM added in v0.7.0

func (q *Get) VM(vmName, vAppName string) (*types.QueryResultVMRecordType, error)

VM get a vm informations by name

type IP

type IP struct {
	UplinkIP        string `json:"uplinkIp"`
	TranslatedIP    string `json:"translatedIp"`
	EdgeGatewayName string `json:"edgeGatewayName"`
}

func (*IP) Delete

func (i *IP) Delete() (job *commoncloudavenue.JobStatus, err error)

Delete - Deletes a public IP

func (*IP) GetIP

func (i *IP) GetIP() string

GetIP - Returns the public IP

type IPs

type IPs struct {
	InternalIP    string `json:"internalIp"`
	NetworkConfig []IP   `json:"networkConfig"`
}

type List added in v0.7.0

type List struct{}

func (*List) EdgeGW added in v0.7.0

func (q *List) EdgeGW() ([]*types.QueryResultEdgeGatewayRecordType, error)

EdgeGW list all edgegw informations

func (*List) VAPP added in v0.7.0

func (q *List) VAPP() ([]*types.QueryResultVAppRecordType, error)

VAPP list all vapp informations

func (*List) VDC added in v0.7.0

func (q *List) VDC() ([]*types.QueryResultOrgVdcRecordType, error)

VDC list all vdc informations

func (*List) VM added in v0.7.0

func (q *List) VM(vAppName string) ([]*types.QueryResultVMRecordType, error)

VM list all vm informations

type NetworkType

type NetworkType struct {
	Type         TypeOfNetwork `json:"networkType"`
	PrefixLength int           `json:"prefixLength"`
	StartAddress string        `json:"startAddress"`
}

func (NetworkType) GetEndAddress

func (n NetworkType) GetEndAddress() string

GetEndAddress - Returns the EndAddress

func (NetworkType) GetPrefixLength

func (n NetworkType) GetPrefixLength() int

GetPrefixLength - Returns the PrefixLength

func (NetworkType) GetStartAddress

func (n NetworkType) GetStartAddress() string

GetStartAddress - Returns the StartAddress

func (NetworkType) IsServiceZone

func (n NetworkType) IsServiceZone() bool

IsServiceZone - Returns true if the network type is ServiceZone

type NetworkTypes

type NetworkTypes []NetworkType

type OSEError added in v0.5.1

type OSEError struct {
	Status  OSEErrorStatus `json:"status"`
	Code    string         `json:"code"`
	Message string         `json:"message"`
}

func (*OSEError) Error added in v0.5.1

func (e *OSEError) Error() string

func (*OSEError) GetCode added in v0.5.1

func (e *OSEError) GetCode() string

func (*OSEError) GetMessage added in v0.5.1

func (e *OSEError) GetMessage() string

func (*OSEError) GetStatus added in v0.5.1

func (e *OSEError) GetStatus() OSEErrorStatus

func (*OSEError) IsNotFountError added in v0.5.1

func (e *OSEError) IsNotFountError() bool

IsNotFountError returns true if the error is a 404 error

type OSEErrorStatus added in v0.5.1

type OSEErrorStatus int

type Org

type Org struct {
	*govcd.Org
}

func (*Org) DeleteNetworkDHCP added in v0.12.7

func (o *Org) DeleteNetworkDHCP(orgNetworkID string) error

DeleteNetworkDHCP deletes the DHCP object for the org network provided in parameter.

func (*Org) GetID

func (o *Org) GetID() string

Returns the ID of the organization.

func (*Org) GetName

func (o *Org) GetName() string

Returns the name of the organization.

func (*Org) GetNetworkDHCP added in v0.12.7

func (o *Org) GetNetworkDHCP(orgNetworkID string) (*govcd.OpenApiOrgVdcNetworkDhcp, error)

TODO refacto GetNetworkDHCP returns the DHCP object for the org network provided in parameter.

func (*Org) UpdateNetworkDHCP added in v0.12.7

func (o *Org) UpdateNetworkDHCP(orgNetworkID string, dhcpParameters *govcdtypes.OpenApiOrgVdcNetworkDhcp) error

UpdateNetworkDHCP updates the DHCP object for the org network provided in parameter.

type OwnerType

type OwnerType string
const (
	OwnerVDC OwnerType = "vdc"
)

func (OwnerType) IsVDC

func (o OwnerType) IsVDC() bool

IsOwnerVDC - Returns true if the owner type is VDC

func (OwnerType) IsVDCGROUP

func (o OwnerType) IsVDCGROUP() bool

IsVDCGROUP - Returns true if the owner type is VDCGROUP

type PublicIP

type PublicIP struct{}

func (*PublicIP) GetIP

func (v *PublicIP) GetIP(publicIP string) (response *IP, err error)

GetIP - Returns the public IP by edge gateway

func (*PublicIP) GetIPByJob added in v0.7.1

func (v *PublicIP) GetIPByJob(job *commoncloudavenue.JobStatus) (response *IP, err error)

GetIPByJob - Returns the public IP by job

func (*PublicIP) GetIPs

func (v *PublicIP) GetIPs() (response *IPs, err error)

GetIPs - Returns the list of public IPs

func (*PublicIP) GetIPsByEdgeGateway

func (v *PublicIP) GetIPsByEdgeGateway(edgeGatewayName string) (response *IPs, err error)

GetIPsByEdgeGateway - Returns the list of public IPs by edge gateway

func (*PublicIP) New added in v0.5.6

func (v *PublicIP) New(edgeGatewayName string) (job *commoncloudavenue.JobStatus, err error)

New - Returns a new PublicIP

type Query added in v0.7.0

type Query struct{}

func (*Query) Get added in v0.7.0

func (v *Query) Get() *Get

func (*Query) List added in v0.7.0

func (v *Query) List() *List

type S3Client added in v0.4.0

type S3Client struct {
	*s3.S3
}

func (S3Client) GetUser added in v0.4.0

func (s S3Client) GetUser(username string) (resp *S3User, err *OSEError)

GetUser - Get a S3 user by username

func (S3Client) GetUsers added in v0.4.0

func (s S3Client) GetUsers() (resp *S3Users, err error)

GetUsers - Get all S3 users

func (S3Client) SyncBucket added in v0.4.1

func (s S3Client) SyncBucket(bucketName string) (err error)

SyncBucket - Syncs a bucket

type S3Credential added in v0.4.0

type S3Credential struct {
	TenantID        string    `json:"tenantId"`
	StorageTenantID string    `json:"storageTenantId"`
	Owner           string    `json:"owner"`
	OwnerID         string    `json:"ownerId"`
	StorageUserID   string    `json:"storageUserId"`
	Type            string    `json:"type"`
	Immutable       bool      `json:"immutable"`
	AccessKey       string    `json:"accessKey"`
	SecretKey       string    `json:"secretKey"`
	Active          bool      `json:"active"`
	CreatedDate     time.Time `json:"createdDate"`
	LastAccessDate  time.Time `json:"lastAccessDate"`
	AppName         string    `json:"appName"`
	AllowedBuckets  []string  `json:"allowedBuckets"`
	UsedK8SClusters []string  `json:"usedK8sClusters"`
	ProviderOwner   bool      `json:"providerOwner"`
}

func (*S3Credential) Delete added in v0.4.0

func (c *S3Credential) Delete() (err error)

DeleteCredential - Delete a credential

func (*S3Credential) GetAccessKey added in v0.4.0

func (c *S3Credential) GetAccessKey() string

func (*S3Credential) GetAllowedBuckets added in v0.4.0

func (c *S3Credential) GetAllowedBuckets() []string

func (*S3Credential) GetAppName added in v0.4.0

func (c *S3Credential) GetAppName() string

func (*S3Credential) GetCreatedDate added in v0.4.0

func (c *S3Credential) GetCreatedDate() time.Time

func (*S3Credential) GetLastAccessDate added in v0.4.0

func (c *S3Credential) GetLastAccessDate() time.Time

func (*S3Credential) GetOwner added in v0.4.0

func (c *S3Credential) GetOwner() string

func (*S3Credential) GetOwnerID added in v0.4.0

func (c *S3Credential) GetOwnerID() string

func (*S3Credential) GetSecretKey added in v0.4.0

func (c *S3Credential) GetSecretKey() string

func (*S3Credential) GetStorageTenantID added in v0.4.0

func (c *S3Credential) GetStorageTenantID() string

func (*S3Credential) GetStorageUserID added in v0.4.0

func (c *S3Credential) GetStorageUserID() string

func (*S3Credential) GetTenantID added in v0.4.0

func (c *S3Credential) GetTenantID() string

func (*S3Credential) GetType added in v0.4.0

func (c *S3Credential) GetType() string

func (*S3Credential) GetUsedK8SClusters added in v0.4.0

func (c *S3Credential) GetUsedK8SClusters() []string

func (*S3Credential) IsActive added in v0.4.0

func (c *S3Credential) IsActive() bool

func (*S3Credential) IsImmutable added in v0.4.0

func (c *S3Credential) IsImmutable() bool

func (*S3Credential) IsProviderOwner added in v0.4.0

func (c *S3Credential) IsProviderOwner() bool

type S3Credentials added in v0.4.0

type S3Credentials []S3Credential

type S3User added in v0.4.0

type S3User struct {
	Name             string   `json:"name"`
	ID               string   `json:"id"`
	FullName         string   `json:"fullName"`
	Role             string   `json:"role"`
	SubordinateRoles []string `json:"subordinateRoles"`
	Active           bool     `json:"active"`
	CurrentRegion    string   `json:"currentRegion"`
	Site             struct {
		ID           string `json:"id"`
		Name         string `json:"name"`
		RestEndpoint string `json:"restEndpoint"`
	} `json:"site"`
	Usage struct {
		Scope          string `json:"scope"`
		TotalBytes     int    `json:"totalBytes"`
		UsedBytes      int    `json:"usedBytes"`
		AvailableBytes int    `json:"availableBytes"`
		ObjectCount    int    `json:"objectCount"`
		BucketCount    int    `json:"bucketCount"`
	} `json:"usage"`
	ExistedOnStorage bool     `json:"existedOnStorage"`
	CanoncialID      string   `json:"storageCanonicalId"`
	PolicyArns       []string `json:"policyArns"`
	Remote           bool     `json:"remote"`
	PoseAsUser       bool     `json:"poseAsUser"`
	SourceTenant     string   `json:"sourceTenant"`
}

func (*S3User) GetAvailableBytes added in v0.4.0

func (s *S3User) GetAvailableBytes() int

func (*S3User) GetBucketCount added in v0.4.0

func (s *S3User) GetBucketCount() int

func (*S3User) GetCanonicalID added in v0.4.0

func (s *S3User) GetCanonicalID() (resp string, err error)

GetCanonicalID - Get a S3 user canonical ID by username

func (*S3User) GetCredential added in v0.4.0

func (s *S3User) GetCredential(accessKey string) (resp *S3Credential, err error)

GetCredential - Get a credential by access key

func (*S3User) GetCredentials added in v0.4.0

func (s *S3User) GetCredentials() (resp *S3Credentials, err error)

GetCredentials - Get a list of credentials

func (*S3User) GetCurrentRegion added in v0.4.0

func (s *S3User) GetCurrentRegion() string

func (*S3User) GetExistedOnStorage added in v0.4.0

func (s *S3User) GetExistedOnStorage() bool

func (*S3User) GetFullName added in v0.4.0

func (s *S3User) GetFullName() string

func (*S3User) GetID added in v0.4.0

func (s *S3User) GetID() string

func (*S3User) GetName added in v0.4.0

func (s *S3User) GetName() string

func (*S3User) GetObjectCount added in v0.4.0

func (s *S3User) GetObjectCount() int

func (*S3User) GetPolicyArns added in v0.4.0

func (s *S3User) GetPolicyArns() []string

func (*S3User) GetRole added in v0.4.0

func (s *S3User) GetRole() string

func (*S3User) GetSiteID added in v0.4.0

func (s *S3User) GetSiteID() string

func (*S3User) GetSiteName added in v0.4.0

func (s *S3User) GetSiteName() string

func (*S3User) GetSiteRestEndpoint added in v0.4.0

func (s *S3User) GetSiteRestEndpoint() string

func (*S3User) GetSourceTenant added in v0.4.0

func (s *S3User) GetSourceTenant() string

func (*S3User) GetSubordinateRoles added in v0.4.0

func (s *S3User) GetSubordinateRoles() []string

func (*S3User) GetTotalBytes added in v0.4.0

func (s *S3User) GetTotalBytes() int

func (*S3User) GetUsageScope added in v0.4.0

func (s *S3User) GetUsageScope() string

func (*S3User) GetUsedBytes added in v0.4.0

func (s *S3User) GetUsedBytes() int

func (*S3User) IsActive added in v0.4.0

func (s *S3User) IsActive() bool

func (*S3User) IsPoseAsUser added in v0.4.0

func (s *S3User) IsPoseAsUser() bool

func (*S3User) IsRemote added in v0.4.0

func (s *S3User) IsRemote() bool

func (*S3User) NewCredential added in v0.4.0

func (s *S3User) NewCredential() (resp *S3Credential, err error)

NewCredential - Create a new credential

type S3Users added in v0.4.0

type S3Users []S3User

func (*S3Users) UserExists added in v0.4.0

func (s *S3Users) UserExists(username string) (exist bool, user *S3User)

UserExists - Check if a user exists

type SyncBucketResponse added in v0.4.1

type SyncBucketResponse struct {
	ID               string    `json:"id"`
	VcdID            string    `json:"vcdId"`
	VcdAssociationID string    `json:"vcdAssociationId"`
	Description      string    `json:"description"`
	Status           string    `json:"status"`
	ResourceType     string    `json:"resourceType"`
	ResourceKey      string    `json:"resourceKey"`
	Progress         int       `json:"progress"`
	Tenant           string    `json:"tenant"`
	Owner            string    `json:"owner"`
	StartDate        time.Time `json:"startDate"`
	EndDate          time.Time `json:"endDate"`
	Reason           string    `json:"reason"`
	Metadata         struct {
		AdditionalProp1 string `json:"additionalProp1"`
		AdditionalProp2 string `json:"additionalProp2"`
		AdditionalProp3 string `json:"additionalProp3"`
	} `json:"metadata"`
}

type T0

type T0 struct {
	Tier0Vrf          string       `json:"tier0_vrf"`
	Tier0Provider     string       `json:"tier0_provider"`
	Tier0ClassService string       `json:"tier0_class_service"`
	ClassService      ClassService `json:"class_service"`
	Services          T0Services   `json:"services"`
}

func (*T0) GetBandwidthCapacity

func (t *T0) GetBandwidthCapacity() (bandwidthCapacity int, err error)

GetBandwidthCapacity - Returns the Bandwidth Capacity of the T0 in Mbps

func (*T0) GetClassService

func (t *T0) GetClassService() ClassService

GetClassService - Returns the ClassService

func (*T0) GetName

func (t *T0) GetName() string

GetName - Returns the Tier0Vrf

func (*T0) GetServices

func (t *T0) GetServices() T0Services

GetServices - Returns the Services

func (*T0) GetTier0ClassService

func (t *T0) GetTier0ClassService() string

GetTier0ClassService - Returns the Tier0ClassService

func (*T0) GetTier0Provider

func (t *T0) GetTier0Provider() string

GetTier0Provider - Returns the Tier0Provider

func (*T0) GetTier0Vrf

func (t *T0) GetTier0Vrf() string

GetTier0Vrf - Returns the Tier0Vrf

type T0Service

type T0Service struct {
	Service string `json:"service"`
	VLANID  any    `json:"vlanId"`
}

func (*T0Service) GetService

func (t *T0Service) GetService() string

GetService - Returns the Service

func (*T0Service) GetVLANID added in v0.6.0

func (t *T0Service) GetVLANID() any

GetVLANID - Returns the VLANID

type T0Services

type T0Services []T0Service

type T0s

type T0s []T0

type Tier0

type Tier0 struct{}

func (*Tier0) GetT0

func (t *Tier0) GetT0(t0 string) (response *T0, err error)

GetT0 - Returns the T0

func (*Tier0) GetT0s

func (t *Tier0) GetT0s() (listOfT0s *T0s, err error)

GetT0s - Returns the list of T0s

type TypeOfNetwork

type TypeOfNetwork string
const (
	NetworkTypeServiceZone TypeOfNetwork = "sv"
)

type V1

type V1 struct {
	Netbackup   netbackup.Netbackup
	PublicIP    PublicIP
	EdgeGateway EdgeGateway
	T0          Tier0
	VCDA        VCDA
	BMS         BMS
}

func (*V1) AdminOrg added in v0.12.7

func (v *V1) AdminOrg() (*AdminOrg, error)

func (*V1) AdminVDC added in v0.12.7

func (v *V1) AdminVDC() *CAVAdminVDC

func (*V1) Org added in v0.12.7

func (v *V1) Org() (*Org, error)

func (*V1) Querier added in v0.7.0

func (v *V1) Querier() *Query

func (*V1) S3 added in v0.3.0

func (v *V1) S3() S3Client

func (*V1) VDC

func (v *V1) VDC() *CAVVdc

func (*V1) Vmware added in v0.8.0

func (v *V1) Vmware() (*govcd.VCDClient, error)

type VAPP added in v0.12.6

type VAPP struct {
	*govcd.VApp
}

func (VAPP) GetDeploymentLeaseInSeconds added in v0.12.6

func (v VAPP) GetDeploymentLeaseInSeconds() int

GetDeploymentLeaseInSeconds retrieves the lease duration in seconds for a deployment.

func (VAPP) GetDescription added in v0.12.6

func (v VAPP) GetDescription() string

GetDescription give you the status code of the vApp.

func (VAPP) GetHREF added in v0.12.6

func (v VAPP) GetHREF() string

GetHREF give you the HREF of the vApp.

func (VAPP) GetID added in v0.12.6

func (v VAPP) GetID() string

GetID give you the ID of the vApp.

func (VAPP) GetName added in v0.12.6

func (v VAPP) GetName() string

GetName give you the name of the vApp.

func (VAPP) GetStatusCode added in v0.12.6

func (v VAPP) GetStatusCode() int

GetStatusCode give you the status code of the vApp.

func (VAPP) GetStorageLeaseInSeconds added in v0.12.6

func (v VAPP) GetStorageLeaseInSeconds() int

GetStorageLeaseInSeconds retrieves the lease duration in seconds for a storage resource.

func (VAPP) IsVAPPNetwork added in v0.12.6

func (v VAPP) IsVAPPNetwork(networkName string) (bool, error)

IsVAPPNetwork check if it is a vApp network (not vApp Org Network).

func (VAPP) IsVAPPOrgNetwork added in v0.12.6

func (v VAPP) IsVAPPOrgNetwork(networkName string) (bool, error)

IsVAPPOrgNetwork check if it is a vApp Org Network (not vApp network).

type VCDA

type VCDA struct{}

func (*VCDA) List

func (v *VCDA) List() (VDCAIps, error)

List of on premise IP addresses allowed for this organization's draas offer

func (*VCDA) RegisterIP added in v0.5.0

func (v *VCDA) RegisterIP(ip string) error

RegisterIP - Registers a new IP to the list

type VDC

type VDC struct {
	*govcd.Vdc
	// contains filtered or unexported fields
}

func (*VDC) AddStorageProfile added in v0.6.0

func (v *VDC) AddStorageProfile(storageProfile infrapi.StorageProfile)

AddStorageProfile add a storage profile to the VDC.

func (*VDC) CreateNetworkIsolated added in v0.16.0

func (v *VDC) CreateNetworkIsolated(model *VDCNetworkIsolatedModel) (*VDCNetworkIsolated, error)

CreateNetworkIsolated creates an isolated network.

func (VDC) CreateVAPP added in v0.12.6

func (v VDC) CreateVAPP(name, description string) (*VAPP, error)

CreateVAPP create new vApp.

func (*VDC) Delete added in v0.6.0

func (v *VDC) Delete(ctx context.Context) (err error)

Delete deletes the VDC.

func (*VDC) GetBillingModel added in v0.6.0

func (v *VDC) GetBillingModel() infrapi.BillingModel

GetBillingModel returns the billing model of the VDC.

func (*VDC) GetCPUAllocated added in v0.6.0

func (v *VDC) GetCPUAllocated() int

GetCPUAllocated returns the CPU allocated of the VDC.

func (VDC) GetDefaultPlacementPolicyID added in v0.12.6

func (v VDC) GetDefaultPlacementPolicyID() string

GetDefaultPlacementPolicyID give you the ID of the default placement policy.

func (*VDC) GetDescription added in v0.6.0

func (v *VDC) GetDescription() string

GetDescription returns the description of the VDC.

func (*VDC) GetDisponibilityClass added in v0.6.0

func (v *VDC) GetDisponibilityClass() infrapi.DisponibilityClass

GetDisponibilityClass returns the disponibility class of the VDC.

func (*VDC) GetID

func (v *VDC) GetID() string

GetID returns the ID of the VDC.

func (VDC) GetIPSetByID added in v0.12.6

func (v VDC) GetIPSetByID(id string) (*govcd.NsxtFirewallGroup, error)

GetIPSetByID return the NSX-T firewall group using the ID provided in the argument.

func (VDC) GetIPSetByName added in v0.12.6

func (v VDC) GetIPSetByName(name string) (*govcd.NsxtFirewallGroup, error)

GetIPSetByName return the NSX-T firewall group using the name provided in the argument.

func (VDC) GetIPSetByNameOrID added in v0.12.6

func (v VDC) GetIPSetByNameOrID(nameOrID string) (*govcd.NsxtFirewallGroup, error)

GetIPSetByNameOrId return the NSX-T firewall group using the name or ID provided in the argument.

func (*VDC) GetMemoryAllocated added in v0.6.0

func (v *VDC) GetMemoryAllocated() int

GetMemoryAllocated returns the memory allocated of the VDC.

func (*VDC) GetName

func (v *VDC) GetName() string

GetName returns the name of the VDC.

func (*VDC) GetNetworkIsolated added in v0.16.0

func (v *VDC) GetNetworkIsolated(nameOrID string) (*VDCNetworkIsolated, error)

GetNetworkIsolated returns the isolated network by its name or ID.

func (VDC) GetSecurityGroupByID added in v0.12.6

func (v VDC) GetSecurityGroupByID(nsxtFirewallGroupID string) (*govcd.NsxtFirewallGroup, error)

GetSecurityGroupByID return the NSX-T security group using the ID provided in the argument.

func (VDC) GetSecurityGroupByName added in v0.12.6

func (v VDC) GetSecurityGroupByName(nsxtFirewallGroupName string) (*govcd.NsxtFirewallGroup, error)

GetSecurityGroupByName return the NSX-T security group using the name provided in the argument.

func (VDC) GetSecurityGroupByNameOrID added in v0.12.6

func (v VDC) GetSecurityGroupByNameOrID(nsxtFirewallGroupNameOrID string) (*govcd.NsxtFirewallGroup, error)

GetSecurityGroupByNameOrID return the NSX-T security group using the name or ID provided in the argument.

func (*VDC) GetServiceClass added in v0.6.0

func (v *VDC) GetServiceClass() infrapi.ServiceClass

GetServiceClass returns the service class of the VDC.

func (*VDC) GetStorageBillingModel added in v0.6.0

func (v *VDC) GetStorageBillingModel() infrapi.BillingModel

GetStorageBillingModel returns the storage billing model of the VDC.

func (*VDC) GetStorageProfiles added in v0.6.0

func (v *VDC) GetStorageProfiles() []infrapi.StorageProfile

GetStorageProfiles returns the storage profiles of the VDC.

func (VDC) GetVAPP added in v0.12.6

func (v VDC) GetVAPP(nameOrID string, refresh bool) (*VAPP, error)

GetVAPP give you the vApp using the name provided in the argument.

func (*VDC) GetVCPUInMhz added in v0.6.0

func (v *VDC) GetVCPUInMhz() int

GetVCPUInMhz returns the VCPU in MHz of the VDC.

func (VDC) IsVDCGroup added in v0.12.6

func (v VDC) IsVDCGroup() bool

IsVDCGroup return true if the object is a VDC Group.

func (*VDC) IsValid added in v0.6.0

func (v *VDC) IsValid(isUpdate bool) error

IsValid returns true if the VDC is valid.

func (*VDC) RemoveStorageProfile added in v0.6.0

func (v *VDC) RemoveStorageProfile(storageProfileName infrapi.StorageProfile)

RemoveStorageProfile remove a storage profile from the VDC.

func (*VDC) Set added in v0.6.0

func (v *VDC) Set(vdc *infrapi.CAVVirtualDataCenter)

Set set the VDC.

func (*VDC) SetCPUAllocated added in v0.6.0

func (v *VDC) SetCPUAllocated(cpuAllocated int)

SetCPUAllocated set the CPU allocated of the VDC.

func (*VDC) SetDescription added in v0.6.0

func (v *VDC) SetDescription(description string)

SetDescription set the description of the VDC.

func (VDC) SetIPSet added in v0.12.6

func (v VDC) SetIPSet(ipSetConfig *govcdtypes.NsxtFirewallGroup) (*govcd.NsxtFirewallGroup, error)

SetIPSet set the NSX-T firewall group using the name provided in the argument.

func (*VDC) SetMemoryAllocated added in v0.6.0

func (v *VDC) SetMemoryAllocated(memoryAllocated int)

SetMemoryAllocated set the memory allocated of the VDC.

func (*VDC) SetName added in v0.6.0

func (v *VDC) SetName(name string) error

SetName set the name of the VDC. Name respects the following regex: ^[a-zA-Z0-9-_]{1,64}$

func (*VDC) SetStorageProfiles added in v0.6.0

func (v *VDC) SetStorageProfiles(storageProfiles []infrapi.StorageProfile)

SetStorageProfiles set the storage profiles of the VDC.

func (*VDC) SetVCPUInMhz added in v0.6.0

func (v *VDC) SetVCPUInMhz(vcpuInMhz int)

SetVCPUInMhz set the VCPU in MHz of the VDC.

func (*VDC) Update added in v0.6.0

func (v *VDC) Update(ctx context.Context) (err error)

Update updates the VDC.

func (*VDC) Vmware added in v0.6.0

func (v *VDC) Vmware() *govcd.Vdc

type VDCAIP

type VDCAIP string

type VDCAIps

type VDCAIps []string

func (*VDCAIps) DeleteAllIPs

func (v *VDCAIps) DeleteAllIPs() error

DeleteAllIPs - Deletes all IPs from the list

func (*VDCAIps) DeleteIP

func (v *VDCAIps) DeleteIP(ip string) error

DeleteIP - Deletes an IP from the list

func (*VDCAIps) IsIPExists

func (v *VDCAIps) IsIPExists(ip string) bool

IsIPExists - Returns true if the IP exists

type VDCGroup added in v0.6.0

type VDCGroup struct {

	// VdcGroup is a exported client for VDC Group
	VDCGroupInterface
	// contains filtered or unexported fields
}

func (VDCGroup) CreateFirewall added in v0.15.0

func (g VDCGroup) CreateFirewall(value VDCGroupFirewallType) (*VDCGroupFirewall, error)

CreateFirewall creates a Distributed Firewall for the VDC Group.

func (*VDCGroup) CreateFirewallAppPortProfile added in v0.19.0

func (g *VDCGroup) CreateFirewallAppPortProfile(appPortProfileConfig *FirewallGroupAppPortProfileModel) (*FirewallGroupAppPortProfile, error)

CreateFirewallAppPortProfile allow creating a new application port profile for the VDC Group.

func (VDCGroup) CreateFirewallDynamicSecurityGroup added in v0.18.1

func (g VDCGroup) CreateFirewallDynamicSecurityGroup(dynamicSecurityGroupConfig *FirewallGroupDynamicSecurityGroupModel) (*FirewallGroupDynamicSecurityGroup, error)

CreateFirewallDynamicSecurityGroup allow creating a new dynamic security group for the VDC Group.

func (VDCGroup) CreateFirewallIPSet added in v0.18.0

func (g VDCGroup) CreateFirewallIPSet(ipSetConfig *FirewallGroupIPSetModel) (*FirewallGroupIPSet, error)

CreateFirewallIPSet allow creating a new IP set for the VDC Group.

func (VDCGroup) CreateFirewallSecurityGroup added in v0.17.1

func (g VDCGroup) CreateFirewallSecurityGroup(securityGroupConfig *FirewallGroupSecurityGroupModel) (*FirewallGroupSecurityGroup, error)

CreateFirewallSecurityGroup allow creating a new security group for the VDC Group.

func (*VDCGroup) CreateNetworkIsolated added in v0.16.0

func (g *VDCGroup) CreateNetworkIsolated(model *VDCNetworkIsolatedModel) (*VDCNetworkIsolated, error)

CreateNetworkIsolated creates an isolated network.

func (*VDCGroup) FindFirewallAppPortProfile added in v0.19.0

func (g *VDCGroup) FindFirewallAppPortProfile(nameOrID string) (*FirewallGroupAppPortProfiles, error)

FindFirewallAppPortProfile retrieves the application port profile configuration for the VDC Group. This function retrieves the application port profile created by the user, cloudavenue provider or the system.

func (VDCGroup) GetDescription added in v0.6.0

func (g VDCGroup) GetDescription() string

GetDescription returns the description of the VDC Group.

func (VDCGroup) GetFirewall added in v0.15.0

func (g VDCGroup) GetFirewall() (*VDCGroupFirewall, error)

GetFirewall returns the Distributed Firewall for the VDC Group.

func (*VDCGroup) GetFirewallAppPortProfile added in v0.19.0

func (g *VDCGroup) GetFirewallAppPortProfile(nameOrID string) (*FirewallGroupAppPortProfile, error)

GetFirewallAppPortProfile retrieves the application port profile configuration for the VDC Group. This function retrieves the application port profile created by the user. For retrieving the application port profile created by the system, use FindFirewallAppPortProfile.

func (VDCGroup) GetFirewallDynamicSecurityGroup added in v0.18.1

func (g VDCGroup) GetFirewallDynamicSecurityGroup(nameOrID string) (*FirewallGroupDynamicSecurityGroup, error)

GetFirewallDynamicSecurityGroup retrieves the dynamic security group configuration for the VDC Group.

func (VDCGroup) GetFirewallIPSet added in v0.18.0

func (g VDCGroup) GetFirewallIPSet(nameOrID string) (*FirewallGroupIPSet, error)

GetFirewallIPSet retrieves the IP set configuration for the VDC Group.

func (VDCGroup) GetFirewallSecurityGroup added in v0.17.1

func (g VDCGroup) GetFirewallSecurityGroup(nameOrID string) (*FirewallGroupSecurityGroup, error)

GetFirewallSecurityGroup retrieves the security group configuration for the VDC Group.

func (VDCGroup) GetID added in v0.6.0

func (g VDCGroup) GetID() string

GetID returns the ID of the VDC Group.

func (VDCGroup) GetIPSetByID added in v0.12.6

func (g VDCGroup) GetIPSetByID(id string) (*govcd.NsxtFirewallGroup, error)

GetIPSetByID return the NSX-T firewall group using the ID provided in the argument.

func (VDCGroup) GetIPSetByName added in v0.12.6

func (g VDCGroup) GetIPSetByName(name string) (*govcd.NsxtFirewallGroup, error)

GetIPSetByName return the NSX-T firewall group using the name provided in the argument.

func (VDCGroup) GetIPSetByNameOrID added in v0.12.6

func (g VDCGroup) GetIPSetByNameOrID(nameOrID string) (*govcd.NsxtFirewallGroup, error)

GetIPSetByNameOrID return the NSX-T firewall group using the name or ID provided in the argument.

func (VDCGroup) GetName added in v0.6.0

func (g VDCGroup) GetName() string

GetName returns the name of the VDC Group.

func (*VDCGroup) GetNetworkIsolated added in v0.16.0

func (g *VDCGroup) GetNetworkIsolated(nameOrID string) (*VDCNetworkIsolated, error)

GetNetworkIsolated returns the isolated network by its name or ID.

func (VDCGroup) GetSecurityGroupByID added in v0.12.6

func (g VDCGroup) GetSecurityGroupByID(nsxtFirewallGroupID string) (*govcd.NsxtFirewallGroup, error)

GetSecurityGroupByID return the NSX-T security group using the ID provided in the argument.

func (VDCGroup) GetSecurityGroupByName added in v0.12.6

func (g VDCGroup) GetSecurityGroupByName(nsxtFirewallGroupName string) (*govcd.NsxtFirewallGroup, error)

GetSecurityGroupByName return the NSX-T security group using the name provided in the argument.

func (VDCGroup) GetSecurityGroupByNameOrID added in v0.12.6

func (g VDCGroup) GetSecurityGroupByNameOrID(nsxtFirewallGroupNameOrID string) (*govcd.NsxtFirewallGroup, error)

GetSecurityGroupByNameOrID return the NSX-T security group using the name or ID provided in the argument.

func (VDCGroup) IsVDCGroup added in v0.12.6

func (g VDCGroup) IsVDCGroup() bool

IsVDCGroup return true if the object is a VDC Group.

func (*VDCGroup) Refresh added in v0.15.0

func (g *VDCGroup) Refresh() error

Refresh refreshes the VDC Group.

func (VDCGroup) SetIPSet added in v0.12.6

func (g VDCGroup) SetIPSet(ipSetConfig *govcdtypes.NsxtFirewallGroup) (*govcd.NsxtFirewallGroup, error)

SetIPSet set the NSX-T firewall group using the name provided in the argument.

type VDCGroupFirewall added in v0.15.0

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

func (*VDCGroupFirewall) Delete added in v0.15.0

func (g *VDCGroupFirewall) Delete() error

Delete() deletes the Distributed Firewall for the VDC Group.

func (VDCGroupFirewall) GetRules added in v0.15.0

GetRules returns the Distributed Firewall rules for the VDC Group.

func (VDCGroupFirewall) IsEnabled added in v0.15.0

func (g VDCGroupFirewall) IsEnabled() (bool, error)

IsEnabled returns true if the Distributed Firewall is enabled for the VDC Group.

func (*VDCGroupFirewall) UpdateFirewall added in v0.15.0

func (g *VDCGroupFirewall) UpdateFirewall(value VDCGroupFirewallType) (err error)

UpdateFirewall updates the Distributed Firewall for the VDC Group.

type VDCGroupFirewallType added in v0.15.0

type VDCGroupFirewallType struct {
	Enabled bool

	// Rules contains a list of firewall rules.
	Rules VDCGroupFirewallTypeRules
}

type VDCGroupFirewallTypeRule added in v0.15.0

type VDCGroupFirewallTypeRule struct {
	// Required
	Name    string
	Enabled bool

	// Direction 'IN_OUT', 'OUT', 'IN'.
	//
	// Use helpers.ParseVDCGroupFirewallTypeRuleDirection to parse string to VDCGroupFirewallTypeRuleDirection
	Direction VDCGroupFirewallTypeRuleDirection

	// IpProtocol 'IPV4', 'IPV6', 'IPV4_IPV6'.
	//
	// Use helpers.ParseVDCGroupFirewallTypeRuleIPProtocol to parse string to VDCGroupFirewallTypeRuleIPProtocol
	IPProtocol VDCGroupFirewallTypeRuleIPProtocol

	// Action defines action to be applied to all the traffic that meets the firewall rule criteria.
	// It determines if the rule permits or blocks traffic.
	// Use helpers.ParseVDCGroupFirewallTypeRuleAction to parse string to VDCGroupFirewallTypeRuleAction
	//
	// - ALLOW permits traffic to go through the firewall.
	//
	// - DROP blocks the traffic at the firewall. No response is sent back to the source.
	//
	// - REJECT blocks the traffic at the firewall. A response is sent back to the source.
	Action VDCGroupFirewallTypeRuleAction

	// Optional
	ID          string
	Description string // Length cannot exceed 2048 characters.
	Logging     bool

	// ApplicationPortProfiles contains a list of references to Application Port Profiles. Empty
	// list means 'Any'
	ApplicationPortProfiles []govcdtypes.OpenApiReference

	// SourceFirewallGroups contains a list of references to Firewall Groups. Empty list means 'Any'
	SourceFirewallGroups []govcdtypes.OpenApiReference
	// DestinationFirewallGroups contains a list of references to Firewall Groups. Empty list means
	// 'Any'
	DestinationFirewallGroups []govcdtypes.OpenApiReference

	// SourceGroupsExcluded reverses the list specified in SourceFirewallGroups and the rule gets
	// applied on all the groups that are NOT part of the SourceFirewallGroups. If false, the rule
	// applies to the all the groups including the source groups.
	SourceGroupsExcluded *bool

	// DestinationGroupsExcluded reverses the list specified in DestinationFirewallGroups and the
	// rule gets applied on all the groups that are NOT part of the DestinationFirewallGroups. If
	// false, the rule applies to the all the groups in DestinationFirewallGroups.
	DestinationGroupsExcluded *bool
}

type VDCGroupFirewallTypeRuleAction added in v0.15.0

type VDCGroupFirewallTypeRuleAction string

type VDCGroupFirewallTypeRuleDirection added in v0.15.0

type VDCGroupFirewallTypeRuleDirection string

type VDCGroupFirewallTypeRuleIPProtocol added in v0.15.0

type VDCGroupFirewallTypeRuleIPProtocol string

type VDCGroupFirewallTypeRules added in v0.15.0

type VDCGroupFirewallTypeRules []*VDCGroupFirewallTypeRule

type VDCGroupInterface added in v0.15.0

type VDCGroupInterface interface {
	GetOpenApiOrgVdcNetworkByName(string) (*govcd.OpenApiOrgVdcNetwork, error)
}

type VDCNetwork added in v0.16.0

type VDCNetwork[T vdcNetworkModelInterface] struct {
	// contains filtered or unexported fields
}

func (*VDCNetwork[T]) Delete added in v0.16.0

func (n *VDCNetwork[T]) Delete() error

Delete deletes the network.

func (*VDCNetwork[T]) Update added in v0.16.0

func (n *VDCNetwork[T]) Update(model T) error

Update updates the network.

type VDCNetworkIsolated added in v0.16.0

type VDCNetworkIsolated struct {
	VDCNetwork[*VDCNetworkIsolatedModel]
	*VDCNetworkIsolatedModel
}

type VDCNetworkIsolatedModel added in v0.16.0

type VDCNetworkIsolatedModel = VDCNetworkModel

type VDCNetworkModel added in v0.16.0

type VDCNetworkModel struct {
	ID                      string                `json:"id,omitempty"`
	Name                    string                `json:"name"`
	Description             string                `json:"description"`
	Status                  string                `json:"status,omitempty"`
	Subnet                  VDCNetworkModelSubnet `json:"subnet"`
	GuestVLANTaggingAllowed *bool                 `json:"guestVlanTaggingAllowed"`
}

* Common Data structs

type VDCNetworkModelSubnet added in v0.16.0

type VDCNetworkModelSubnet struct {
	Gateway      string                        `json:"gateway"`
	PrefixLength int                           `json:"prefixLength"`
	DNSServer1   string                        `json:"dnsServer1"`
	DNSServer2   string                        `json:"dnsServer2"`
	DNSSuffix    string                        `json:"dnsSuffix"`
	IPRanges     VDCNetworkModelSubnetIPRanges `json:"ipRanges"`
}

type VDCNetworkModelSubnetIPRange added in v0.16.0

type VDCNetworkModelSubnetIPRange struct {
	StartAddress string `json:"startAddress"`
	EndAddress   string `json:"endAddress"`
}

type VDCNetworkModelSubnetIPRanges added in v0.16.0

type VDCNetworkModelSubnetIPRanges []VDCNetworkModelSubnetIPRange

func (VDCNetworkModelSubnetIPRanges) ToVcdIPRanges added in v0.16.0

func (ipr VDCNetworkModelSubnetIPRanges) ToVcdIPRanges() govcdtypes.OrgVdcNetworkSubnetIPRanges

type VDCOrVDCGroupInterface added in v0.12.6

type VDCOrVDCGroupInterface interface {
	// * Global Get
	// GetName returns the name of the VDC or VDC Group
	GetName() string
	// GetID returns the ID of the VDC or VDC Group
	GetID() string
	// GetDescription returns the description of the VDC or VDC Group
	GetDescription() string

	// * Global Is
	// IsVDCGroup returns true if the object is a VDC Group
	IsVDCGroup() bool

	// * NetworkOLD
	GetOpenApiOrgVdcNetworkByName(string) (*govcd.OpenApiOrgVdcNetwork, error)

	// * Security Group
	GetSecurityGroupByID(nsxtFirewallGroupID string) (*govcd.NsxtFirewallGroup, error)
	GetSecurityGroupByName(nsxtFirewallGroupName string) (*govcd.NsxtFirewallGroup, error)
	GetSecurityGroupByNameOrID(nsxtFirewallGroupNameOrID string) (*govcd.NsxtFirewallGroup, error)

	// * IP Set
	GetIPSetByID(id string) (*govcd.NsxtFirewallGroup, error)
	GetIPSetByName(name string) (*govcd.NsxtFirewallGroup, error)
	GetIPSetByNameOrID(nameOrID string) (*govcd.NsxtFirewallGroup, error)
	SetIPSet(ipSetConfig *govcdtypes.NsxtFirewallGroup) (*govcd.NsxtFirewallGroup, error)

	// * Network
	// ? Isolated
	GetNetworkIsolated(nameOrID string) (*VDCNetworkIsolated, error)
	CreateNetworkIsolated(*VDCNetworkIsolatedModel) (*VDCNetworkIsolated, error)
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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