Documentation ¶
Index ¶
- Constants
- Variables
- func Base64EncodeString(str string) string
- func Bool(v bool) *bool
- func BuildNewFormatByConfig(format string) string
- func BuildSysTags(enterpriseProjectID string) (enterpriseProjectTags []tags.ResourceTag)
- func CompareJsonTemplateAreEquivalent(tem1, tem2 string) (bool, error)
- func ConvertStructToMap(obj interface{}, nameMap map[string]string) (map[string]interface{}, error)
- func CreateResourceTags(client *golangsdk.ServiceClient, d *schema.ResourceData, ...) error
- func CreateResourceTagsWithKeys(client *golangsdk.ServiceClient, tagKeys []string, resourceType, id string) error
- func DecodeHashAndHexEncode(v interface{}) string
- func DeleteResourceTagsWithKeys(client *golangsdk.ServiceClient, tagKeys []string, resourceType, id string) error
- func ExpandResourceTags(tagMap map[string]interface{}) []tags.ResourceTag
- func ExpandResourceTagsMap(tagMap map[string]interface{}) []map[string]interface{}
- func ExpandResourceTagsString(tagMap map[string]interface{}) []interface{}
- func ExpandToInt32List(v []interface{}) []int32
- func ExpandToInt32ListPointer(v []interface{}) *[]int32
- func ExpandToIntList(v []interface{}) []int
- func ExpandToStringList(v []interface{}) []string
- func ExpandToStringListBySet(v *schema.Set) []string
- func ExpandToStringListPointer(v []interface{}) *[]string
- func FilterSliceWithField(all interface{}, filter map[string]interface{}) ([]interface{}, error)
- func FilterSliceWithZeroField(all interface{}, filter map[string]interface{}) ([]interface{}, error)
- func FlattenResponse(resp *http.Response) (interface{}, error)
- func FlattenTagsToMap(tags interface{}) map[string]interface{}
- func Float64(v float64) *float64
- func FormatTimeStampRFC3339(timestamp int64, isUTC bool, customFormat ...string) string
- func FormatTimeStampUTC(timestamp int64) string
- func FormatUTCTimeStamp(utcTime string) (int64, error)
- func GetDNSRecordSetTagType(zoneType string) (string, error)
- func GetDNSZoneTagType(zoneType string) (string, error)
- func GetTimezoneCode() int
- func HasMapContains(rawMap map[string]string, filterMap map[string]interface{}) bool
- func HashAndHexEncode(v interface{}) string
- func Int(v int) *int
- func Int32(v int32) *int32
- func Int32IgnoreEmpty(v int32) *int32
- func Int64IgnoreEmpty(v int64) *int64
- func IntIgnoreEmpty(v int) *int
- func IsDebugOrHigher() bool
- func IsIPv4Address(addr string) bool
- func IsResourceNotFound(err error) bool
- func IsStrContainsSliceElement(str string, sl []string, ignoreCase, isExcat bool) bool
- func JSONStringsEqual(s1, s2 string) bool
- func JsonMarshal(t interface{}) ([]byte, error)
- func MarshalValue(i interface{}) string
- func NormalizeJsonString(jsonString interface{}) (string, error)
- func ParseEnterpriseProjectIdFromSysTags(value []tags.ResourceTag) (enterpriseProjectId string)
- func PasswordEncrypt(password string) (string, error)
- func PathSearch(expression string, obj interface{}, defaultValue interface{}) interface{}
- func RandomString(n int, allowedChars ...[]rune) (result string)
- func RemoveDuplicateElem(s []string) []string
- func RemoveNil(data map[string]interface{}) map[string]interface{}
- func Reverse(s string) string
- func Salt(size int) ([]byte, error)
- func SetResourceTagsToState(d *schema.ResourceData, client *golangsdk.ServiceClient, ...) error
- func StrSliceContains(haystack []string, needle string) bool
- func StrSliceContainsAnother(b []string, s []string) bool
- func String(v string) *string
- func StringIgnoreEmpty(v string) *string
- func StringToBool(v interface{}) *bool
- func StringToInt(i *string) *int
- func StringValue(v *string) string
- func SuppressCaseDiffs(k, old, new string, d *schema.ResourceData) bool
- func SuppressDiffAll(k, old, new string, d *schema.ResourceData) bool
- func SuppressEquivalentAwsPolicyDiffs(k, old, new string, d *schema.ResourceData) bool
- func SuppressEquivilentTimeDiffs(k, old, new string, d *schema.ResourceData) bool
- func SuppressLBWhitelistDiffs(k, old, new string, d *schema.ResourceData) bool
- func SuppressMinDisk(k, old, new string, d *schema.ResourceData) bool
- func SuppressNewLineDiffs(k, old, new string, d *schema.ResourceData) bool
- func SuppressSnatFiplistDiffs(k, old, new string, d *schema.ResourceData) bool
- func SuppressUserData(k, old, new string, d *schema.ResourceData) bool
- func SuppressVersionDiffs(k, old, new string, d *schema.ResourceData) bool
- func TagsToMap(tags []tags.ResourceTag) map[string]string
- func TryBase64EncodeString(str string) string
- func TryPasswordEncrypt(password string) (string, error)
- func UpdateResourceTags(conn *golangsdk.ServiceClient, d *schema.ResourceData, resourceType, id string) error
- func ValidateCIDR(v interface{}, k string) (ws []string, errors []error)
- func ValidateIP(v interface{}, k string) (ws []string, errors []error)
- func ValidateIPRange(v interface{}, k string) (ws []string, errors []error)
- func ValidateJsonString(v interface{}, k string) (ws []string, errors []error)
- func ValidateName(v interface{}, k string) (ws []string, errors []error)
- func ValidateString64WithChinese(v interface{}, k string) (ws []string, errors []error)
- func ValidateTrueOnly(v interface{}, k string) (ws []string, errors []error)
- func ValidateVBSBackupDescription(v interface{}, k string) (ws []string, errors []error)
- func ValidateVBSBackupName(v interface{}, k string) (ws []string, errors []error)
- func ValidateVBSPolicyName(v interface{}, k string) (ws []string, errors []error)
- func ValidateVBSTagKey(v interface{}, k string) (ws []string, errors []error)
- func ValidateVBSTagValue(v interface{}, k string) (ws []string, errors []error)
- func ValueIgnoreEmpty(v interface{}) interface{}
- func WriteToPemFile(path, privateKey string) (err error)
Constants ¶
const REPLACE_REG = "(?i)huaweicloudstack"
const SysTagKeyEnterpriseProjectId = "_sys_enterprise_project_id"
Variables ¶
var PackageName string
var ValidateSubnetV2IPv6Mode = validation.StringInSlice([]string{ "slaac", "dhcpv6-stateful", "dhcpv6-stateless", }, false)
Functions ¶
func Base64EncodeString ¶
Base64EncodeString is used to encode a string by base64.
func BuildNewFormatByConfig ¶
func BuildSysTags ¶
func BuildSysTags(enterpriseProjectID string) (enterpriseProjectTags []tags.ResourceTag)
func ConvertStructToMap ¶
ConvertStructToMap converts an instance of struct to a map object, and changes each key of fileds to the value of 'nameMap' if the key in it or to its corresponding lowercase.
func CreateResourceTags ¶
func CreateResourceTags(client *golangsdk.ServiceClient, d *schema.ResourceData, resourceType, id string) error
CreateResourceTags is a helper to create the tags for a resource. It expects the schema name must be "tags"
func CreateResourceTagsWithKeys ¶
func CreateResourceTagsWithKeys(client *golangsdk.ServiceClient, tagKeys []string, resourceType, id string) error
CreateResourceTagsWithKeys is a helper to create the tags with tagKeys for a resource.
func DecodeHashAndHexEncode ¶
func DecodeHashAndHexEncode(v interface{}) string
DecodeHashAndHexEncode is one of the implementations of SchemaStateFunc. The function tries to decode v if it is in base64 format, then gets the hash of decode string and returns the hexadecimal encoding string. If the type of v is not string, just returns an empty string.
func DeleteResourceTagsWithKeys ¶
func DeleteResourceTagsWithKeys(client *golangsdk.ServiceClient, tagKeys []string, resourceType, id string) error
DeleteResourceTagsWithKeys is a helper to delete the tags with tagKeys for a resource.
func ExpandResourceTags ¶
func ExpandResourceTags(tagMap map[string]interface{}) []tags.ResourceTag
ExpandResourceTags returns the tags for the given map of data.
func ExpandResourceTagsMap ¶
ExpandResourceTagsMap returns the tags in format of list of maps for the given map of data.
func ExpandResourceTagsString ¶
func ExpandResourceTagsString(tagMap map[string]interface{}) []interface{}
func ExpandToInt32List ¶
func ExpandToInt32List(v []interface{}) []int32
ExpandToInt32List takes the result for an array of intgers and returns a []int32
func ExpandToInt32ListPointer ¶
func ExpandToInt32ListPointer(v []interface{}) *[]int32
ExpandToInt32ListPointer takes the result for an array of in32 and returns a pointer of the array
func ExpandToIntList ¶
func ExpandToIntList(v []interface{}) []int
ExpandToIntList takes the result for an array of intgers and returns a []int
func ExpandToStringList ¶
func ExpandToStringList(v []interface{}) []string
ExpandToStringList takes the result for an array of strings and returns a []string
func ExpandToStringListBySet ¶
ExpandToStringListBySet takes the result for a set of strings and returns a []string
func ExpandToStringListPointer ¶
func ExpandToStringListPointer(v []interface{}) *[]string
ExpandToStringListPointer takes the result for an array of strings and returns a pointer of the array
func FilterSliceWithField ¶
FilterSliceWithField can filter the slice all through a map filter. If the field is a nested value, using dot(.) to split them, e.g. "SubBlock.SubField". If value in the map is zero, it will be ignored.
func FilterSliceWithZeroField ¶
func FilterSliceWithZeroField(all interface{}, filter map[string]interface{}) ([]interface{}, error)
FilterSliceWithZeroField can filter the slice all through a map filter.
func FlattenResponse ¶
FlattenResponse returns the api response body if it's not empty
func FlattenTagsToMap ¶
func FlattenTagsToMap(tags interface{}) map[string]interface{}
FlattenTagsToMap returns the list of tags into a map.
func FormatTimeStampRFC3339 ¶
FormatTimeStampRFC3339 is used to unify the time format to RFC-3339 and return a time string. We can use "isUTC" parameter to reset the timezone. If omitted, the method will return local time. Parameter "customFormat" allows you to use a custom RFC3339 format, such as: "2006-01-02T15:04:05.000Z", this parameter can be omitted.
func FormatTimeStampUTC ¶
FormatTimeStampUTC is used to unify the unix second time to UTC time string, format: YYYY-MM-DD HH:MM:SS.
func FormatUTCTimeStamp ¶
FormatTimeStampUTC is used to unify the unix second time to UTC time string, format: YYYY-MM-DD HH:MM:SS.
func GetDNSRecordSetTagType ¶
GetDNSRecordSetTagType returns resource tag type of DNS record set by zoneType
func GetDNSZoneTagType ¶
GetDNSZoneTagType returns resource tag type of DNS zone by zoneType
func GetTimezoneCode ¶
func GetTimezoneCode() int
GetTimezoneCode calculates the time zone code and returns a signed number. For example, the time zone code for 'Asia/Shanghai' is 8, and the time zone code for 'America/Alaska' is -4.
func HasMapContains ¶
This function compares whether there is a containment relationship between two maps, that is, whether map A (rawMap) contains map B (filterMap).
Map A is {'foo': 'bar'} and filter map B is {'foo': 'bar'} or {'foo': 'bar,dor'} will return true. Map A is {'foo': 'bar'} and filter map B is {'foo': 'dor'} or {'foo1': 'bar'} will return false. Map A is {'foo': 'bar'} and filter map B is {'foo': ''} will return true. Map A is {'foo': 'bar'} and filter map B is {'': 'bar'} or {'': ''} will return false.
The value of filter map 'bar,for' means that the object value can be either 'bar' or 'dor'. Note: There is no spaces before and after the delimiter (,).
func HashAndHexEncode ¶
func HashAndHexEncode(v interface{}) string
HashAndHexEncode is one of the implementations of SchemaStateFunc. The function gets the hash of v then returns the hexadecimal encoding string. If the type of v is not string, just returns an empty string.
func Int32IgnoreEmpty ¶
Int32 returns a pointer to the int32 value. if v is empty, return nil
func Int64IgnoreEmpty ¶
Int32 returns a pointer to the int32 value
func IntIgnoreEmpty ¶
Int returns a pointer to the int value. if v is empty, return nil
func IsDebugOrHigher ¶
func IsDebugOrHigher() bool
func IsIPv4Address ¶
IsIPv4Address is used to check whether the addr string is IPv4 format
func IsResourceNotFound ¶
func IsStrContainsSliceElement ¶
IsStrContainsSliceElement returns true if the string exists in given slice or contains in one of slice elements when open exact flag. Also you can ignore case for this check.
func JSONStringsEqual ¶
JSONStringsEqual is the function for comparing the contents of two json strings regardless of their formatting. Tabs (\r \n \t) and the order of elements are not included in the comparison. These json strings are same: + "{\n\"key1\":\"value1\",\n\"key2\":\"value2\"\n}" + "{\"key1\":\"value1\",\"key2\":\"value2\"}" + "{\"key2\":\"value2\",\"key1\":\"value1\"}"
func JsonMarshal ¶
func MarshalValue ¶
func MarshalValue(i interface{}) string
MarshalValue is used to marshal the value of struct in huaweicloudstack-sdk-go-v3, like this: type Xxxx struct { value string }
func NormalizeJsonString ¶
Takes a value containing JSON string and passes it through the JSON parser to normalize it, returns either a parsing error or normalized JSON string.
func ParseEnterpriseProjectIdFromSysTags ¶
func ParseEnterpriseProjectIdFromSysTags(value []tags.ResourceTag) (enterpriseProjectId string)
func PasswordEncrypt ¶
PasswordEncrypt encrypts given password with sha512
func PathSearch ¶
func PathSearch(expression string, obj interface{}, defaultValue interface{}) interface{}
PathSearch evaluates a JMESPath expression against input data and returns the result.
func RandomString ¶
RandomString returns a random string with a fixed length. You can also define a custom random character set. Note: make sure the number is not a negative integer or a big integer.
func RemoveDuplicateElem ¶
RemoveDuplicateElem removes duplicate elements from slice
func Reverse ¶
Reverse is a function that used to reverse the order of the characters in the given string.
func SetResourceTagsToState ¶
func SetResourceTagsToState(d *schema.ResourceData, client *golangsdk.ServiceClient, resourceType, id string) error
SetResourceTagsToState is a helper to query tags of resource, then set to state. The schema argument name must be: tags
func StrSliceContains ¶
StrSliceContains checks if a given string is contained in a slice When anybody asks why Go needs generics, here you go.
func StrSliceContainsAnother ¶
StrSliceContainsAnother checks whether a string slice (b) contains another string slice (s).
func StringIgnoreEmpty ¶
returns a pointer to the string value. if v is empty, return nil
func StringToBool ¶
func StringToBool(v interface{}) *bool
StringToBool convert the string to boolean, and return the pointer of boolean value
func StringToInt ¶
StringToInt convert the string to int, and return the pointer of int value
func SuppressCaseDiffs ¶
func SuppressCaseDiffs(k, old, new string, d *schema.ResourceData) bool
Suppress changes if we get a string with or without cases
func SuppressDiffAll ¶
func SuppressDiffAll(k, old, new string, d *schema.ResourceData) bool
Suppress all changes
func SuppressEquivalentAwsPolicyDiffs ¶
func SuppressEquivalentAwsPolicyDiffs(k, old, new string, d *schema.ResourceData) bool
func SuppressEquivilentTimeDiffs ¶
func SuppressEquivilentTimeDiffs(k, old, new string, d *schema.ResourceData) bool
func SuppressLBWhitelistDiffs ¶
func SuppressLBWhitelistDiffs(k, old, new string, d *schema.ResourceData) bool
func SuppressMinDisk ¶
func SuppressMinDisk(k, old, new string, d *schema.ResourceData) bool
Suppress changes if we get a computed min_disk_gb if value is unspecified (default 0)
func SuppressNewLineDiffs ¶
func SuppressNewLineDiffs(k, old, new string, d *schema.ResourceData) bool
Suppress changes if we get a string with or without new line
func SuppressSnatFiplistDiffs ¶
func SuppressSnatFiplistDiffs(k, old, new string, d *schema.ResourceData) bool
func SuppressUserData ¶
func SuppressUserData(k, old, new string, d *schema.ResourceData) bool
Suppress changes if we get a base64 format or plaint text user_data
func SuppressVersionDiffs ¶
func SuppressVersionDiffs(k, old, new string, d *schema.ResourceData) bool
func TagsToMap ¶
func TagsToMap(tags []tags.ResourceTag) map[string]string
TagsToMap returns the list of tags into a map.
func TryBase64EncodeString ¶
TryBase64EncodeString will encode a string with base64. If the string is already base64 encoded, returns it directly.
func TryPasswordEncrypt ¶
TryPasswordEncrypt tries to encrypt given password if it's not encrypted
func UpdateResourceTags ¶
func UpdateResourceTags(conn *golangsdk.ServiceClient, d *schema.ResourceData, resourceType, id string) error
UpdateResourceTags is a helper to update the tags for a resource. It expects the tags field to be named "tags"
func ValidateCIDR ¶
func ValidateIP ¶
func ValidateIPRange ¶
func ValidateJsonString ¶
func ValidateName ¶
lintignore:V001
func ValidateString64WithChinese ¶
lintignore:V001
func ValidateTrueOnly ¶
func ValidateVBSBackupDescription ¶
lintignore:V001
func ValidateVBSBackupName ¶
lintignore:V001
func ValidateVBSPolicyName ¶
lintignore:V001
func ValidateVBSTagKey ¶
lintignore:V001
func ValidateVBSTagValue ¶
lintignore:V001
func ValueIgnoreEmpty ¶
func ValueIgnoreEmpty(v interface{}) interface{}
ValueIgnoreEmpty returns to the string value. if v is empty, return nil
func WriteToPemFile ¶
WriteToPemFile is used to write the keypair to Pem file.
Types ¶
This section is empty.