## NMSettingOvsExternalIDs NMSettingOvsExternalIDs — External-IDs for OVS database |

## Functions

NMSetting * | nm_setting_ovs_external_ids_new ()
const char *const * | nm_setting_ovs_external_ids_get_data_keys ()
const char * | nm_setting_ovs_external_ids_get_data ()
void | nm_setting_ovs_external_ids_set_data ()
gboolean | nm_setting_ovs_external_ids_check_key ()
gboolean | nm_setting_ovs_external_ids_check_val ()

## Types and Values

#define | NM_SETTING_OVS_EXTERNAL_IDS_SETTING_NAME
#define | NM_SETTING_OVS_EXTERNAL_IDS_DATA

## Description

The NMSettingOvsExternalIDs object is a NMSetting subclass that allow to configure external ids for OVS.

## Functions

### nm_setting_ovs_external_ids_new ()

    NMSetting *
    nm_setting_ovs_external_ids_new (void);

Creates a new NMSettingOvsExternalIDs object with default values.

#### Returns

the new empty NMSettingOvsExternalIDs object.

[transfer full][type NMSettingOvsExternalIDs]

Since: 1.30

### nm_setting_ovs_external_ids_get_data_keys ()

    const char *const *
    nm_setting_ovs_external_ids_get_data_keys
                                   (NMSettingOvsExternalIDs *setting,
                                    guint *out_len);

#### Parameters

setting | the NMSettingOvsExternalIDs |
out_len | the length of the returned array. | [out]

#### Returns

a `NULL`-terminated array containing each key from the table.

[array length=out_len][transfer none]

Since: 1.30

### nm_setting_ovs_external_ids_get_data ()

    const char *
    nm_setting_ovs_external_ids_get_data (NMSettingOvsExternalIDs *setting,
                                          const char *key);

#### Parameters

setting | the NMSettingOvsExternalIDs instance |
key | the external-id to lookup |

#### Returns

the value associated with `key` or `NULL` if no such value exists.

[transfer none]

Since: 1.30

### nm_setting_ovs_external_ids_set_data ()

    void
    nm_setting_ovs_external_ids_set_data (NMSettingOvsExternalIDs *setting,
                                          const char *key,
                                          const char *val);

#### Parameters

setting | the NMSettingOvsExternalIDs instance |
key | the key to set |
val | the value to set or `NULL` to clear a key. | [allow-none]

Since: 1.30

### nm_setting_ovs_external_ids_check_key ()

    gboolean
    nm_setting_ovs_external_ids_check_key (const char *key,
                                           GError **error);

Checks whether `key` is a valid key for OVS' external-ids. This means, the key cannot be `NULL`, not too large and valid ASCII. Also, only digits and numbers are allowed with a few special characters. They key must also not start with "NM.".

#### Parameters

key | the key to check. | [allow-none]
error | a GError, `NULL` to ignore. |

#### Returns

`TRUE` if `key` is a valid user data key.

Since: 1.30

### nm_setting_ovs_external_ids_check_val ()

    gboolean
    nm_setting_ovs_external_ids_check_val (const char *val,
                                           GError **error);

Checks whether `val` is a valid user data value. This means, value is not `NULL`, not too large and valid UTF-8.

#### Parameters

val | the value to check. | [allow-none]
error | a GError, `NULL` to ignore. |

#### Returns

`TRUE` if `val` is a valid user data value.

Since: 1.30

## Types and Values

### NM_SETTING_OVS_EXTERNAL_IDS_SETTING_NAME

    #define NM_SETTING_OVS_EXTERNAL_IDS_SETTING_NAME "ovs-external-ids"

### NM_SETTING_OVS_EXTERNAL_IDS_DATA

    #define NM_SETTING_OVS_EXTERNAL_IDS_DATA "data"