util

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: Aug 27, 2024 License: Apache-2.0 Imports: 30 Imported by: 0

Documentation

Overview

Copyright © 2024. Citrix Systems, Inc.

Index

Constants

View Source
const ActiveDirectorySidRegex string = `^S-1-[0-59]-\d{2}-\d{8,10}-\d{8,10}-\d{8,10}-[1-9]\d{3}$`

Active Directory Sid

View Source
const AllScopeId string = "00000000-0000-0000-0000-000000000000"

ID of the All Scope

View Source
const AssignmentPriority = 0

GAC

View Source
const AwsAccessKeyIdRegex string = `^[\w]+$`

Aws Access Key Id Regex

View Source
const AwsAmiAndWsiRegex string = `^ami-[0-9a-f]{8,17}$|^wsi-[0-9a-z]{9,63}$`
View Source
const AwsAmiRegex string = `^ami-[0-9a-f]{8,17}$`

AWS Machine Image ID REGEX

View Source
const AwsDirectoryId = `^d-[a-zA-Z0-9]+$`

Aws Directory ID Regex

View Source
const AwsEc2InstanceTypeRegex string = `^[a-z0-9]{1,15}\.[a-z0-9]{1,15}$`

AWS EC2 Instance Type

View Source
const AwsNetworkNameRegex string = `^(\d{1,3}\.){3}\d{1,3}` + "`" + `/\d{1,3}\s\(vpc-.+\)\.network$`

AWS Network Name

View Source
const AwsRegionRegex string = `^[a-zA-Z0-9\-]+$`

Aws Region Regex

View Source
const AwsRoleArnRegex string = `^arn:aws(-us-gov)?:iam::[0-9]{12}:role\/[a-zA-Z0-9+=,.@\-_]{1,64}$`

AWS Role ARN Regex

View Source
const AwsSecurityGroupId = `^sg-[a-zA-Z0-9]+$`

Aws Security Group ID Regex

View Source
const AwsSubnetIdFormat = `^subnet-[a-zA-Z0-9]+$`

Aws Directory ID Regex

View Source
const AwsWsiRegex string = `^wsi-[0-9a-z]{9,63}$`

AWS Workspace Image ID REGEX

View Source
const AzureEphemeralOSDisk = "Azure_Ephemeral_OS_Disk"
View Source
const CitrixGatewayConnections = "Citrix Gateway connections"
View Source
const CtxManagedScopeId string = "f71a1148-7030-467a-a6d3-4a6bcf6a6532"

ID of the Citrix Managed Users Scope

View Source
const DateRegex string = `^\d{4}-\d{2}-\d{2}$`

Date YYYY-MM-DD

View Source
const DefaultQcsAwsWorkspacesOffPeakBufferSizePercent int64 = 0
View Source
const DefaultQcsAwsWorkspacesOffPeakDisconnectTimeoutMinutes int64 = 15
View Source
const DefaultQcsAwsWorkspacesOffPeakLogOffTimeoutMinutes int64 = 5
View Source
const DefaultQcsAwsWorkspacesSessionIdleTimeoutMinutes int64 = 15

Default QuickCreateService AWS Workspaces Scale Settings

View Source
const DefaultSitePolicySetId string = "00000000-0000-0000-0000-000000000000"

ID of the Default Site Policy Set

View Source
const DomainFqdnRegex string = `^(([a-zA-Z0-9-_]){1,63}\.)+[a-zA-Z]{2,63}$`

Domain FQDN

View Source
const GacAppName = "Workspace"
View Source
const GuidRegex string = `^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}[}]?$`

GUID

View Source
const HostResourceType = "Host"
View Source
const IPv4Regex string = `^((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)\.?\b){4}$`

IPv4

View Source
const IPv4RegexWithProtocol string = `^(http|https)://((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)\.?\b){4}$`

IPv4 with https

View Source
const ImageVersionResourceType string = "ImageVersion"

Resource Types

View Source
const MissingProviderClientIdAndSecretErrorMsg = "client_id and client_secret fields must be set in the provider configuration to manage this resource via terraform."
View Source
const NOT_EXIST string = "NOT_EXIST"

NOT_EXIST error code

View Source
const NUTANIX_PLUGIN_ID string = "AcropolisFactory"
View Source
const NetworkResourceType string = "Network"
View Source
const NonCitrixGatewayConnections = "Non-Citrix Gateway Connections"
View Source
const OuPathFormat string = `^OU=.+,DC=.+$`

OU Path

View Source
const Premium_LRS = "Premium_LRS"
View Source
const ProviderInitializationErrorMsg = "Provider initialization error"
View Source
const RegionResourceType string = "Region"
View Source
const SamAndUpnRegex string = `^[a-zA-Z][a-zA-Z0-9\-_]{0,61}[a-zA-Z0-9]\\\w[\w\.\- ]+$|^[^@]+@\b(([a-zA-Z0-9-_]){1,63}\.)+[a-zA-Z]{2,63}$`
View Source
const SamRegex string = `^[a-zA-Z][a-zA-Z0-9\-_]{0,61}[a-zA-Z0-9]\\\w[\w\.\- ]+$`

SAM

View Source
const SecurityGroupResourceType = "SecurityGroup"
View Source
const SensitiveFieldMaskedValue = "*****"
View Source
const ServiceOfferingResourceType string = "ServiceOffering"
View Source
const SnapshotResourceType string = "Snapshot"
View Source
const SslThumbprintRegex string = `^([0-9a-fA-F]{40}|[0-9a-fA-F]{64})$`

SSL Thumbprint

View Source
const StandardLRS = "Standard_LRS"

Azure Storage Types

View Source
const StandardSSDLRS = "StandardSSD_LRS"
View Source
const StorageResourceType string = "Storage"
View Source
const StoreFrontServerIdRegex string = `^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}[0-9]+[}]?$`

GUID

View Source
const TemplateResourceType string = "Template"
View Source
const TimeRegex string = `^([0-1][0-9]|2[0-3]):[0-5][0-9]$`

Time HH:MM

View Source
const TimeSpanRegex string = `^(\d+)\.((\d)|(1\d)|(2[0-3])):((\d)|[1-5][0-9]):((\d)|[1-5][0-9])$`

TimeSpan dd.HH:MM:SS

View Source
const UpnRegex string = `^[^@]+@\b(([a-zA-Z0-9-_]){1,63}\.)+[a-zA-Z]{2,63}$`

UPN

View Source
const UsernameForDecoupledWorkspaces string = "[UNDEFINED]"

ID of the Citrix Managed Users Scope

View Source
const VhdResourceType string = "Vhd"
View Source
const VirtualMachineResourceType string = "Vm"
View Source
const VirtualPrivateCloudResourceType string = "VirtualPrivateCloud"
View Source
const WindowsClientLicenseType string = "Windows_Client"

Azure License Types

View Source
const WindowsServerLicenseType string = "Windows_Server"

Variables

View Source
var PlatformSettingsAssignedTo = []string{"AllUsersNoAuthentication"}

Functions

func AppendNameValueStringPair

func AppendNameValueStringPair(stringPairs *[]citrixorchestration.NameValueStringPairModel, name string, appendValue string)

<summary> Helper function to append new name value pairs to an array of NameValueStringPairModel in place </summary> <param name="stringPairs">Original string pair array to append to</param> <param name="name">Name of the new string pair to be added</param> <param name="appendValue">Value of the new string pair to be added</param>

func AttributeMapFromObject added in v0.6.1

func AttributeMapFromObject(m ModelWithAttributes) (map[string]attr.Type, error)

<summary> Helper function to convert a model to a map of attribute types. Used when converting back to a types.Object </summary> <param name="m">Model to convert, must implement the ModelWithSchema interface</param> <returns>Map of attribute types</returns>

func AwsEdcWorkspaceImageIngestionProcessEnumToString added in v1.0.0

func AwsEdcWorkspaceImageIngestionProcessEnumToString(ingestionProcess quickcreateservice.AwsEdcWorkspaceImageIngestionProcess) string

func AwsEdcWorkspaceImageStateEnumToString added in v1.0.0

func AwsEdcWorkspaceImageStateEnumToString(imageState quickcreateservice.AwsEdcWorkspaceImageState) string

func AwsEdcWorkspaceImageTenancyEnumToString added in v1.0.0

func AwsEdcWorkspaceImageTenancyEnumToString(imageTenancy quickcreateservice.AwsEdcWorkspaceImageTenancy) string

func CheckIfFieldIsSensitive added in v0.6.2

func CheckIfFieldIsSensitive(ctx context.Context, diags *diag.Diagnostics, attribute schema.Attribute) (map[string]bool, bool)

func CheckProductVersion added in v0.6.0

func CheckProductVersion(client *citrixdaasclient.CitrixDaasClient, diagnostics *diag.Diagnostics, requiredOrchestrationApiVersion int32, requiredProductMajorVersion int, requiredProductMinorVersion int, errorSummary, feature string) bool

<summary> Helper function to check the version requirement for DDC. </summary>

func CheckStoreFrontVersion added in v0.6.2

func CheckStoreFrontVersion(client *citrixstorefrontclient.STFVersion, ctx context.Context, diagnostic *diag.Diagnostics, requiredMajorVersion int, requiredMinorVersion int) bool

<summary> Helper function to check the version requirement for StoreFront. </summary>

func ComputeTypeEnumToString added in v1.0.0

func ComputeTypeEnumToString(os quickcreateservice.AwsEdcWorkspaceCompute) string

func ConvertBaseStringArrayToPrimitiveStringArray

func ConvertBaseStringArrayToPrimitiveStringArray(v []types.String) []string

<summary> Helper function to convert array of terraform strings to array of golang primitive strings Deprecated: Remove after we fully move to types.List </summary> <param name="v">Array of terraform stringsArray of golang primitive strings</param> <returns>Array of golang primitive strings</returns>

func ConvertPrimitiveInterfaceArrayToStringList added in v0.6.2

func ConvertPrimitiveInterfaceArrayToStringList(ctx context.Context, diagnostics *diag.Diagnostics, v []interface{}) (types.List, string)

<summary> Helper function to convert array of golang primitive interface to native terraform list of strings </summary> <param name="v">Array of golang primitive interface</param> <returns>Terraform list of strings</returns>

func ConvertToString added in v0.3.4

func ConvertToString(model any) (string, error)

<summary> Helper function to serialize any struct value into a string </summary> <param name="model">Input struct value</param> <returns>Serialized string value of the struct</returns>

func FetchScopeIdsByNames added in v0.6.1

func FetchScopeIdsByNames(ctx context.Context, diagnostics diag.Diagnostics, client *citrixdaasclient.CitrixDaasClient, scopeNames []string) ([]string, error)

<summary> Helper function to fetch scope ids from scope names </summary>

func FetchScopeNamesByIds added in v0.6.1

func FetchScopeNamesByIds(ctx context.Context, diagnostics diag.Diagnostics, client *citrixdaasclient.CitrixDaasClient, scopeIds []string) ([]string, error)

<summary> Helper function to fetch scope names from scope ids </summary>

func GetAllResourcePathList

func GetAllResourcePathList(ctx context.Context, client *citrixdaasclient.CitrixDaasClient, hypervisorId, folderPath, resourceType string) []string

func GetAllowedFunctionalLevelValues added in v0.6.0

func GetAllowedFunctionalLevelValues() []string

<summary> Helper function to get the allowed functional level values for setting the minimum functional level for machine catalog and deliver group. </summary>

func GetAttributeValues added in v0.6.2

func GetAttributeValues(ctx context.Context, diags *diag.Diagnostics, attribute attr.Value, sensitiveFields map[string]bool) interface{}

func GetConfigValuesForMap added in v0.6.2

func GetConfigValuesForMap(ctx context.Context, diags *diag.Diagnostics, configMap types.Map) map[string]interface{}

func GetConfigValuesForObject added in v0.6.2

func GetConfigValuesForObject(ctx context.Context, diags *diag.Diagnostics, obj types.Object, sensitiveFields map[string]bool) map[string]interface{}

func GetConfigValuesForSchema added in v0.6.2

func GetConfigValuesForSchema(ctx context.Context, diags *diag.Diagnostics, m ModelWithAttributes) (string, map[string]interface{})

func GetFilteredResourcePathList

func GetFilteredResourcePathList(ctx context.Context, client *citrixdaasclient.CitrixDaasClient, hypervisorId, folderPath, resourceType string, filter []string, connectionType citrixorchestration.HypervisorConnectionType, pluginId string) ([]string, error)

func GetHypervisor added in v0.3.6

Gets the hypervisor and logs any errors

func GetHypervisorResourcePool added in v0.3.6

func GetHypervisorResourcePool(ctx context.Context, client *citrixdaasclient.CitrixDaasClient, diagnostics *diag.Diagnostics, hypervisorId, hypervisorResourcePoolId string) (*citrixorchestration.HypervisorResourcePoolDetailResponseModel, error)

func GetIdsForOrchestrationObjects added in v0.6.1

func GetIdsForOrchestrationObjects[objType any](slice []objType) []string

<summary> Extract Ids from a list of objects </summary> <param name="slice">Input list of objects</param> <returns>List of Ids extracted from input list</returns>

func GetIdsForScopeObjects added in v0.6.1

func GetIdsForScopeObjects[objType any](slice []objType) []string

<summary> Extract Ids from a list of scope objects </summary> <param name="slice">Input list of objects</param> <returns>List of Ids extracted from input list</returns>

func GetMachineCatalog added in v0.3.6

func GetMachineCatalog(ctx context.Context, client *citrixdaasclient.CitrixDaasClient, diagnostics *diag.Diagnostics, machineCatalogId string, addErrorToDiagnostics bool) (*citrixorchestration.MachineCatalogDetailResponseModel, error)

func GetMachineCatalogMachines added in v0.3.6

func GetMachineCatalogMachines(ctx context.Context, client *citrixdaasclient.CitrixDaasClient, diagnostics *diag.Diagnostics, machineCatalogId string) (*citrixorchestration.MachineResponseModelCollection, error)

func GetOrchestrationAccessPolicyKey added in v1.0.1

func GetOrchestrationAccessPolicyKey(remote citrixorchestration.AdvancedAccessPolicyResponseModel) string

func GetOrchestrationDesktopKey added in v0.6.1

func GetOrchestrationDesktopKey(r citrixorchestration.DesktopResponseModel) string

func GetOrchestrationHypervisorStorageKey added in v0.6.1

func GetOrchestrationHypervisorStorageKey(remote citrixorchestration.HypervisorStorageResourceResponseModel) string

func GetOrchestrationNetworkMappingKey added in v0.6.1

func GetOrchestrationNetworkMappingKey(remote citrixorchestration.NetworkMapResponseModel) string

func GetOrchestrationRebootScheduleKey added in v0.6.1

func GetOrchestrationRebootScheduleKey(r citrixorchestration.RebootScheduleResponseModel) string

These functions are used by RefreshListProperties

func GetOrchestrationRemotePcOuKey added in v0.6.1

func GetOrchestrationRemotePcOuKey(remote citrixorchestration.RemotePCEnrollmentScopeResponseModel) string

func GetOrchestrationSmartAccessTagKey added in v1.0.1

func GetOrchestrationSmartAccessTagKey(remote citrixorchestration.SmartAccessTagResponseModel) string

func GetProductMajorAndMinorVersion added in v0.6.3

func GetProductMajorAndMinorVersion(client *citrixdaasclient.CitrixDaasClient) (int, int, error)

func GetQcsAwsWorkspacesWithUsernameKey added in v1.0.0

func GetQcsAwsWorkspacesWithUsernameKey(remote citrixquickcreate.AwsEdcDeploymentMachine) string

func GetSTFFarmSetKey added in v0.6.1

func GetSTFFarmSetKey(remote citrixstorefront.STFFarmSetResponseModel) string

func GetSTFGroupMemberKey added in v0.6.1

func GetSTFGroupMemberKey(remote citrixstorefront.STFGroupMemberResponseModel) string

func GetSensitiveFieldsForAttribute added in v0.6.2

func GetSensitiveFieldsForAttribute(ctx context.Context, diags *diag.Diagnostics, attributes map[string]schema.Attribute) map[string]bool

func GetSingleHypervisorResource added in v0.3.6

func GetSingleHypervisorResource(ctx context.Context, client *citrixdaasclient.CitrixDaasClient, hypervisorId, folderPath, resourceName, resourceType, resourceGroupName string, hypervisor *citrixorchestration.HypervisorDetailResponseModel) (*citrixorchestration.HypervisorResourceResponseModel, *http.Response, error)

func GetSingleResourceFromHypervisor added in v0.5.3

func GetSingleResourceFromHypervisor(ctx context.Context, client *citrixdaasclient.CitrixDaasClient, hypervisorName, hypervisorPoolName, folderPath, resourceName, resourceType, resourceGroupName string) (*citrixorchestration.HypervisorResourceResponseModel, *http.Response, error)

func GetSingleResourcePathFromHypervisor

func GetSingleResourcePathFromHypervisor(ctx context.Context, client *citrixdaasclient.CitrixDaasClient, hypervisorName, hypervisorPoolName, folderPath, resourceName, resourceType, resourceGroupName string) (string, *http.Response, error)

func GetUserIdsUsingIdentity added in v0.6.1

func GetUserIdsUsingIdentity(ctx context.Context, client *citrixdaasclient.CitrixDaasClient, users []string) ([]string, *http.Response, error)

func GetUsersUsingIdentity added in v0.6.1

func GetValidatorFromEnum

func GetValidatorFromEnum[V ~string, T []V](enum T) validator.String

<summary> Helper function for generating string validator for an enum value in Terraform schema. Only works when all eligible values for the enum type are supported by provider. When the eligible values are only partially supported, use custom string validator in schema. </summary> <param name="enum">Enum from citrix-daas-rest-go package</param> <returns>String validator for terraform schema</returns>

func IsValidUUID

func IsValidUUID(u string) bool

<summary> Helper function to validate if a string is a valid UUID </summary> <param name="u">String to validate</param> <returns>True if string is a valid UUID. False if otherwise.</returns>

func IsValidUUIDorNull

func IsValidUUIDorNull(u basetypes.StringValue) bool

<summary> Helper function to validate if a string is a valid UUID or null </summary> <param name="u">String to validate</param> <returns>True if string is a valid UUID, or is null. False if otherwise.</returns>

func ObjectListToTypedArray added in v0.6.1

func ObjectListToTypedArray[objTyp any](ctx context.Context, diagnostics *diag.Diagnostics, v types.List) []objTyp

<summary> Helper function to convert a native terraform list of objects to a golang slice of the specified type Use TypedArrayToObjectList to go the other way. </summary> <param name="ctx">context</param> <param name="diagnostics">Any issues will be appended to these diagnostics</param> <param name="v">List of object in the native terraform types.List wrapper</param> <returns>Array of the specified type</returns>

func ObjectSetToTypedArray added in v0.6.2

func ObjectSetToTypedArray[objTyp any](ctx context.Context, diagnostics *diag.Diagnostics, v types.Set) []objTyp

<summary> Helper function to convert a native terraform list of objects to a golang slice of the specified type Use TypedArrayToObjectSet to go the other way. </summary> <param name="ctx">context</param> <param name="diagnostics">Any issues will be appended to these diagnostics</param> <param name="v">Set of object in the native terraform types.Set wrapper</param> <returns>Array of the specified type</returns>

func ObjectValueToTypedObject added in v0.6.1

func ObjectValueToTypedObject[objTyp any](ctx context.Context, diagnostics *diag.Diagnostics, v types.Object) objTyp

<summary> Helper function to convert a native terraform object to a golang object of the specified type. Use TypedObjectToObjectValue to go the other way. </summary> <param name="ctx">context</param> <param name="diagnostics">Any issues will be appended to these diagnostics</param> <param name="v">Object in the native terraform types.Object wrapper</param> <returns>Object of the specified type</returns>

func OperatingSystemTypeEnumToString added in v1.0.0

func OperatingSystemTypeEnumToString(os quickcreateservice.OperatingSystemType) string

func PanicHandler added in v0.3.6

func PanicHandler(diagnostics *diag.Diagnostics)

<summary> Global panic handler to catch all unexpected errors to prevent provider from crashing. Writes crash stack into local txt file for troubleshooting, and displays error message in Terrafor Diagnostics. </summary> <param name="diagnostics">Terraform Diagnostics from context</param>

func ParseNameValueStringPairToClientModel

func ParseNameValueStringPairToClientModel(stringPairs []NameValueStringPairModel) []citrixorchestration.NameValueStringPairModel

<summary> Helper function to parse an array of name value pairs in terraform model to an array of name value pairs in client model </summary> <param name="stringPairs">Original string pair array in terraform model</param> <returns>String pair array in client model</returns>

func PollQcsTask added in v1.0.0

func PollQcsTask(ctx context.Context, client *citrixdaasclient.CitrixDaasClient, diagnostics *diag.Diagnostics, taskId string, pollIntervalSeconds int, maxWaitTimeSeconds int) (*citrixquickcreate.GetTaskAsync200Response, *http.Response, error)

<summary> Helper function to poll the task until either the task completed or error out or timed out. </summary>

func ProcessAsyncJobResponse added in v0.3.6

func ProcessAsyncJobResponse(ctx context.Context, client *citrixdaasclient.CitrixDaasClient, jobResp *http.Response, errContext string, diagnostics *diag.Diagnostics, maxTimeout int, returnJobError bool) (err error)

<summary> Helper function to process async job response. Takes async job response and polls for result. </summary> <param name="ctx">Context from caller</param> <param name="client">Citrix DaaS client from provider context</param> <param name="jobResp">Job response from async API call</param> <param name="errContext">Context of the job to be use as Terraform diagnostic error message title</param> <param name="diagnostics">Terraform diagnostics from context</param> <param name="maxTimeout">Maximum timeout threashold for job status polling</param> <returns>Error if job polling failed or job itself ended in failed state</returns>

func ReadClientError

func ReadClientError(err error) string

<summary> Helper function to read inner error message from a generic error returned from citrix-daas-rest-go </summary> <param name="err">Generic error returned from citrix-daas-rest-go</param> <returns>Inner error message</returns>

func ReadQcsClientError added in v1.0.0

func ReadQcsClientError(err error) string

func ReadResource added in v0.3.3

func ReadResource[ResponseType any](request any, ctx context.Context, client *citrixdaasclient.CitrixDaasClient, resp *resource.ReadResponse, resourceType, resourceIdOrName string) (ResponseType, *http.Response, error)

<summary> Wrapper function for reading specific resource from remote with retries </summary> <param name="request">Request object for the GET call</param> <param name="ctx">Context from caller</param> <param name="client">Citrix DaaS client from provider context</param> <param name="resp">Response from the GET call</param> <param name="resourceType">Resource type that would be shown in error message if failed to read resource</param> <param name="resourceIdOrName">Resource ID or name that would be shown in error message if failed to read resource</param> <returns>Response of the Get call. Raw http response. Error if failed to read the resource.</returns>

func RefreshList added in v0.4.0

func RefreshList(state []string, remote []string) []string

<summary> Helper function for calculating the new state of a list of strings, while keeping the order of the elements in the array intact, and adds missing elements from remote to state. Can be used for refreshing list of strings. </summary> <param name="state">List of values in state</param> <param name="remote">List of values in remote</param>

func RefreshListValueProperties added in v0.6.1

func RefreshListValueProperties[tfType RefreshableListItemWithAttributes[clientType], clientType any](ctx context.Context, diagnostics *diag.Diagnostics, state types.List, remote []clientType, getClientKey func(clientType) string) types.List

<summary> Helper function for calculating the new state of a list of nested attribute, while keeping the order of the elements in the array intact, and adds missing elements from remote to state. Can be used for refreshing all list nested attributes. </summary> <param name="state">State values in Terraform model</param> <param name="remote">Remote values in client model</param> <param name="getClientKey">Function to get the Id from the client model</param> <returns>Terraform list for new state</returns>

func RefreshListValues added in v0.6.1

func RefreshListValues(ctx context.Context, diagnostics *diag.Diagnostics, state types.List, remote []string) types.List

<summary> Helper function for calculating the new state of a list of strings, while keeping the order of the elements in the array intact, and adds missing elements from remote to state. Can be used for refreshing all list of strings. </summary> <param name="state">State values in Terraform model</param> <param name="remote">Remote values in client model</param> <returns>Array in Terraform model for new state</returns>

func RefreshUsersList added in v0.6.1

func RefreshUsersList(ctx context.Context, diags *diag.Diagnostics, usersSet types.Set, usersInRemote []citrixorchestration.IdentityUserResponseModel) types.Set

</summary> Helper function to refresh user list. </summary>

func RunningModeEnumToString added in v1.0.0

func RunningModeEnumToString(os quickcreateservice.AwsEdcWorkspaceRunningMode) string

func SessionSupportEnumToString added in v1.0.0

func SessionSupportEnumToString(imageState quickcreateservice.SessionSupport) string

func StringArrayToStringList added in v0.6.1

func StringArrayToStringList(ctx context.Context, diagnostics *diag.Diagnostics, v []string) types.List

<summary> Helper function to convert a golang slice of string to a native terraform list of strings. Use StringListToStringArray to go the other way. </summary> <param name="diagnostics">Any issues will be appended to these diagnostics</param> <param name="v">Slice of strings</param> <returns>types.List</returns>

func StringArrayToStringSet added in v0.6.1

func StringArrayToStringSet(ctx context.Context, diagnostics *diag.Diagnostics, v []string) types.Set

<summary> Helper function to convert a golang slice of string to a native terraform set of strings. Use StringSetToStringArray to go the other way. </summary> <param name="diagnostics">Any issues will be appended to these diagnostics</param> <param name="v">Slice of strings</param> <returns>types.Set</returns>

func StringListToStringArray added in v0.6.1

func StringListToStringArray(ctx context.Context, diagnostics *diag.Diagnostics, v types.List) []string

<summary> Helper function to convert a terraform list of terraform strings to array of golang primitive strings. Use StringArrayToStringList to go the other way. </summary> <param name="v">List of terraform strings</param> <returns>Array of golang primitive strings</returns>

func StringSetToStringArray added in v0.6.1

func StringSetToStringArray(ctx context.Context, diagnostics *diag.Diagnostics, v types.Set) []string

<summary> Helper function to convert a terraform set of terraform strings to array of golang primitive strings. Use StringArrayToStringSet to go the other way. </summary> <param name="v">Set of terraform strings</param> <returns>Array of golang primitive strings</returns>

func StringToTypeBool

func StringToTypeBool(from string) types.Bool

<summary> Helper function to convert string to terraform boolean value </summary> <param name="from">Boolean value in string</param> <returns>Boolean value in terraform types.Bool</returns>

func TaskStateEnumToString added in v1.0.0

func TaskStateEnumToString(os quickcreateservice.TaskState) string

func TypeBoolToString

func TypeBoolToString(from types.Bool) string

<summary> Helper function to convert terraform bool value to string </summary> <param name="from">Boolean value in terraform bool</param> <returns>Boolean value in string</returns>

func TypedArrayToObjectList added in v0.6.1

func TypedArrayToObjectList[objTyp ModelWithAttributes](ctx context.Context, diagnostics *diag.Diagnostics, v []objTyp) types.List

<summary> Helper function to convert a golang slice to a native terraform list of objects. Use ObjectListToTypedArray to go the other way. </summary> <param name="diagnostics">Any issues will be appended to these diagnostics</param> <param name="v">Slice of objects</param> <returns>types.List</returns>

func TypedArrayToObjectSet added in v0.6.2

func TypedArrayToObjectSet[objTyp ModelWithAttributes](ctx context.Context, diagnostics *diag.Diagnostics, v []objTyp) types.Set

<summary> Helper function to convert a golang slice to a native terraform list of objects. Use ObjectSetToTypedArray to go the other way. </summary> <param name="diagnostics">Any issues will be appended to these diagnostics</param> <param name="v">Slice of objects</param> <returns>types.Set</returns>

func TypedObjectToObjectValue added in v0.6.1

func TypedObjectToObjectValue(ctx context.Context, diagnostics *diag.Diagnostics, v ModelWithAttributes) types.Object

<summary> Helper function to convert a golang object to a native terraform object. Use ObjectValueToTypedObject to go the other way. </summary> <param name="ctx">"context</param> <param name="diagnostics">Any issues will be appended to these diagnostics</param> <param name="v">Object of the specified type</param> <param name="s">Schema map of the object</param> <returns>Object in the native terraform types.Object wrapper</returns>

func ValidateHypervisorResource added in v0.6.0

func ValidateHypervisorResource(ctx context.Context, client *citrixdaasclient.CitrixDaasClient, hypervisorName, hypervisorPoolName, resourcePath string) (bool, string)

func VerifyIdentityUserListCompleteness added in v0.6.1

func VerifyIdentityUserListCompleteness(inputUserNames []string, remoteUsers []citrixorchestration.IdentityUserResponseModel) error

func WaitForQcsDeploymentTaskWithDiags added in v1.0.0

func WaitForQcsDeploymentTaskWithDiags(ctx context.Context, diagnostics *diag.Diagnostics, client *citrixdaasclient.CitrixDaasClient, maxWaitTimeInSeconds int, taskId string, taskName, deploymentName string, errorContext string) error

Types

type HttpErrorBody added in v0.5.0

type HttpErrorBody struct {
	ErrorMessage string `json:"errorMessage"`
	Detail       string `json:"detail"`
}

type ModelWithAttributes added in v0.6.1

type ModelWithAttributes interface {
	GetAttributes() map[string]schema.Attribute // workaround because NestedAttributeObject and SingleNestedAttribute do not share a base type
}

type NameValueStringPairModel

type NameValueStringPairModel struct {
	Name  types.String `tfsdk:"name"`
	Value types.String `tfsdk:"value"`
}

Terraform model for name value string pair

func ParseNameValueStringPairToPluginModel

func ParseNameValueStringPairToPluginModel(stringPairs []citrixorchestration.NameValueStringPairModel) []NameValueStringPairModel

<summary> Helper function to parse an array of name value pairs in client model to an array of name value pairs in terraform model </summary> <param name="stringPairs">Original string pair array in client model</param> <returns>String pair array in terraform model</returns>

func (NameValueStringPairModel) GetAttributes added in v0.6.1

func (NameValueStringPairModel) GetAttributes() map[string]schema.Attribute

func (NameValueStringPairModel) GetSchema added in v0.6.1

type RefreshableListItemWithAttributes added in v0.6.1

type RefreshableListItemWithAttributes[clientType any] interface {
	// Gets the key to compare the item with the client model
	GetKey() string

	// Refreshes the item with the client model and returns the updated item
	RefreshListItem(context.Context, *diag.Diagnostics, clientType) ModelWithAttributes

	// Has to implement the ModelWithAttributes interface for conversion back to a Terraform model
	ModelWithAttributes
}

Represents a list item which supports being refreshed from a client model

Jump to

Keyboard shortcuts

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